#include <vulkan/vulkan.h>
#include <math.h>
-#define VKVG_SAMPLES VK_SAMPLE_COUNT_4_BIT
+#define VKVG_SAMPLES 4
typedef enum _vkvg_direction {
VKVG_HORIZONTAL = 0,
void vkvg_move_to (VkvgContext ctx, float x, float y);
void vkvg_arc (VkvgContext ctx, float xc, float yc, float radius, float a1, float a2);
void vkvg_curve_to (VkvgContext ctx, float x1, float y1, float x2, float y2, float x3, float y3);
+void vkvg_rectangle (VkvgContext ctx, float x, float y, float w, float h);
void vkvg_stroke (VkvgContext ctx);
void vkvg_stroke_preserve (VkvgContext ctx);
void vkvg_fill (VkvgContext ctx);
ctx->curPos.x = x;
ctx->curPos.y = y;
}
-
void vkvg_curve_to (VkvgContext ctx, float x1, float y1, float x2, float y2, float x3, float y3) {
_bezier (ctx, ctx->curPos.x, ctx->curPos.y, x1, y1, x2, y2, x3, y3);
}
+void vkvg_rectangle (VkvgContext ctx, float x, float y, float w, float h){
+ _finish_path (ctx);
+
+ //set start to current idx in point array
+ ctx->pathes[ctx->pathPtr] = ctx->pointCount;
+ _check_pathes_array(ctx);
+ ctx->pathPtr++;
+
+ _add_point (ctx, x, y);
+ _add_point (ctx, x + w, y);
+ _add_point (ctx, x + w, y + h);
+ _add_point (ctx, x, y + h);
+
+ vkvg_close_path (ctx);
+ ctx->curPos.x = x;
+ ctx->curPos.y = y;
+}
void vkvg_clip_preserve (VkvgContext ctx){
vkCmdBindPipeline(ctx->cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, ctx->pSurf->dev->pipelineClipping);
vkvg_fill_preserve(ctx);
vkvg_stroke (ctx);
}
-void vkvg_rectangle(VkvgContext ctx, float x, float y, float width, float height){
- vkvg_move_to(ctx,x,y);
- vkvg_line_to(ctx,x+width,y);
- vkvg_line_to(ctx,x+width,y+height);
- vkvg_line_to(ctx,x,y+height);
- vkvg_close_path(ctx);
-}
-
void vkvg_test_stroke(VkvgContext ctx){
vkvg_set_linewidth(ctx, 2);
vkvg_set_rgba(ctx,1,0,0,1);
VkvgSurface surf2 = vkvg_surface_create (device,1024,800);;
VkvgContext ctx = vkvg_create(surf);
- vkvg_set_rgba(ctx,0.01,0.01,0.1,1);
+ vkvg_set_rgba(ctx,0.02,0.02,0.1,1);
//vkvg_paint(ctx);
- vkvg_rectangle(ctx,0,0,1024,800);
+ vkvg_rectangle (ctx,0,0,1024,800);
vkvg_fill (ctx);
vkvg_test_fill(ctx);