VKVG_PATTERN_TYPE_RASTER_SOURCE,
} vkvg_pattern_type_t;
+typedef enum _vkvg_line_cap {
+ VKVG_LINE_CAP_BUTT,
+ VKVG_LINE_CAP_ROUND,
+ VKVG_LINE_CAP_SQUARE
+} vkvg_line_cap_t;
+
+typedef enum _vkvg_line_join {
+ VKVG_LINE_JOIN_MITER,
+ VKVG_LINE_JOIN_ROUND,
+ VKVG_LINE_JOIN_BEVEL
+} vkvg_line_join_t;
+
typedef struct _vkvg_color_t{
float r;
float g;
void vkvg_clip_preserve (VkvgContext ctx);
void vkvg_set_rgba (VkvgContext ctx, float r, float g, float b, float a);
void vkvg_set_linewidth (VkvgContext ctx, float width);
+void vkvg_set_line_cap (VkvgContext ctx, vkvg_line_cap_t cap);
+void vkvg_set_line_join (VkvgContext ctx, vkvg_line_join_t join);
void vkvg_set_source_surface(VkvgContext ctx, VkvgSurface surf, float x, float y);
void vkvg_set_source (VkvgContext ctx, VkvgPattern pat);
void vkvg_set_linewidth (VkvgContext ctx, float width){
ctx->lineWidth = width;
}
+void vkvg_set_line_cap (VkvgContext ctx, vkvg_line_cap_t cap){
+ ctx->lineCap = cap;
+}
+void vkvg_set_line_join (VkvgContext ctx, vkvg_line_join_t join){
+ ctx->lineJoint = join;
+}
+
void vkvg_select_font_face (VkvgContext ctx, const char* name){
sav->curPos = ctx->curPos;
sav->curRGBA = ctx->curRGBA;
sav->lineWidth = ctx->lineWidth;
+ sav->lineCap = ctx->lineCap;
+ sav->lineWidth = ctx->lineWidth;
+ sav->mat = ctx->pushConsts.mat;
+ sav->matInv = ctx->pushConsts.matInv;
sav->selectedFont = ctx->selectedFont;
sav->selectedFont.fontFile = (char*)calloc(FONT_FILE_NAME_MAX_SIZE,sizeof(char));
ctx->curPos = sav->curPos;
ctx->curRGBA = sav->curRGBA;
ctx->lineWidth = sav->lineWidth;
+ ctx->lineCap = sav->lineCap;
+ ctx->lineJoint = sav->lineJoint;
+ ctx->pushConsts.mat = sav->mat;
+ ctx->pushConsts.matInv = sav->matInv;
ctx->selectedFont.charSize = sav->selectedFont.charSize;
strcpy (ctx->selectedFont.fontFile, sav->selectedFont.fontFile);
vec4 curRGBA;
float lineWidth;
+ vkvg_line_cap_t lineCap;
+ vkvg_line_join_t lineJoint;
+ vkvg_matrix_t mat;
+ vkvg_matrix_t matInv;
+
_vkvg_font_t selectedFont; //hold current face and size before cache addition
_vkvg_font_t* currentFont; //font ready for lookup
vkvg_direction_t textDirection;
vec4 curRGBA;
float lineWidth;
+ vkvg_line_cap_t lineCap;
+ vkvg_line_join_t lineJoint;
+
_vkvg_font_t selectedFont; //hold current face and size before cache addition
_vkvg_font_t* currentFont; //font ready for lookup
vkvg_direction_t textDirection;