diff options
Diffstat (limited to 'src/cairo')
-rw-r--r-- | src/cairo/cdcairo.c | 24 | ||||
-rw-r--r-- | src/cairo/cdcairoctx.h | 1 | ||||
-rw-r--r-- | src/cairo/cdcairodbuf.c | 3 | ||||
-rw-r--r-- | src/cairo/cdcairoimg.c | 2 | ||||
-rw-r--r-- | src/cairo/cdcairoirgb.c | 2 | ||||
-rw-r--r-- | src/cairo/cdcaironative_gdk.c | 2 | ||||
-rw-r--r-- | src/cairo/cdcairopdf.c | 2 | ||||
-rw-r--r-- | src/cairo/cdcairops.c | 2 | ||||
-rw-r--r-- | src/cairo/cdcairosvg.c | 2 |
9 files changed, 11 insertions, 29 deletions
diff --git a/src/cairo/cdcairo.c b/src/cairo/cdcairo.c index 34fdef7..83cf088 100644 --- a/src/cairo/cdcairo.c +++ b/src/cairo/cdcairo.c @@ -14,14 +14,11 @@ #include "cdcairoctx.h" -#define HATCH_WIDTH 8 -#define HATCH_HEIGHT 8 #ifndef M_PI #define M_PI 3.14159265358979323846 #endif - static int StrIsAscii(const char* str) { while(*str) @@ -294,12 +291,12 @@ static void cdstipple(cdCtxCanvas *ctxcanvas, int n, int m, const unsigned char static int cdhatch(cdCtxCanvas *ctxcanvas, int style) { - int hsize = HATCH_WIDTH - 1; + int hsize = ctxcanvas->hatchboxsize; int hhalf = hsize / 2; cairo_surface_t* hatch_surface; cairo_t* cr; - hatch_surface = cairo_surface_create_similar(cairo_get_target(ctxcanvas->cr), CAIRO_CONTENT_COLOR_ALPHA, HATCH_WIDTH, HATCH_HEIGHT); + hatch_surface = cairo_surface_create_similar(cairo_get_target(ctxcanvas->cr), CAIRO_CONTENT_COLOR_ALPHA, hsize, hsize); cr = cairo_create(hatch_surface); @@ -366,21 +363,6 @@ static int cdhatch(cdCtxCanvas *ctxcanvas, int style) /* attributes */ /******************************************************/ -static int cdwritemode(cdCtxCanvas *ctxcanvas, int write_mode) -{ - switch (write_mode) - { - case CD_REPLACE: - cairo_set_operator (ctxcanvas->cr, CAIRO_OPERATOR_OVER); - break; - case CD_XOR: - cairo_set_operator (ctxcanvas->cr, CAIRO_OPERATOR_XOR); - break; - } - - return write_mode; -} - static int cdinteriorstyle (cdCtxCanvas* ctxcanvas, int style) { switch (style) @@ -1676,6 +1658,7 @@ cdCtxCanvas *cdcairoCreateCanvas(cdCanvas* canvas, cairo_t* cr) ctxcanvas->cr = cr; ctxcanvas->canvas = canvas; ctxcanvas->last_source = -1; + ctxcanvas->hatchboxsize = 8; canvas->ctxcanvas = ctxcanvas; canvas->invert_yaxis = 1; @@ -1735,7 +1718,6 @@ void cdcairoInitTable(cdCanvas* canvas) canvas->cxGetFontDim = cdgetfontdim; canvas->cxGetTextSize = cdgettextsize; canvas->cxTransform = cdtransform; - canvas->cxWriteMode = cdwritemode; canvas->cxForeground = cdforeground; canvas->cxGetImageRGB = cdgetimagergb; diff --git a/src/cairo/cdcairoctx.h b/src/cairo/cdcairoctx.h index 266cfb3..7516875 100644 --- a/src/cairo/cdcairoctx.h +++ b/src/cairo/cdcairoctx.h @@ -31,6 +31,7 @@ struct _cdCtxCanvas cairo_pattern_t *pattern, *solid; int last_source; + int hatchboxsize; char* cairoLastConvertUTF8; diff --git a/src/cairo/cdcairodbuf.c b/src/cairo/cdcairodbuf.c index 0e23f06..4861014 100644 --- a/src/cairo/cdcairodbuf.c +++ b/src/cairo/cdcairodbuf.c @@ -155,8 +155,7 @@ static void cdinittable(cdCanvas* canvas) static cdContext cdDBufferContext = { - CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | - CD_CAP_FPRIMTIVES ), + CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_WRITEMODE | CD_CAP_PALETTE ), 0, cdcreatecanvas, cdinittable, diff --git a/src/cairo/cdcairoimg.c b/src/cairo/cdcairoimg.c index 54c2fa7..4eda676 100644 --- a/src/cairo/cdcairoimg.c +++ b/src/cairo/cdcairoimg.c @@ -37,7 +37,7 @@ static void cdinittable(cdCanvas* canvas) static cdContext cdImageContext = { - CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_FPRIMTIVES ), + CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_WRITEMODE | CD_CAP_PALETTE ), 0, cdcreatecanvas, cdinittable, diff --git a/src/cairo/cdcairoirgb.c b/src/cairo/cdcairoirgb.c index 1bb9698..b326834 100644 --- a/src/cairo/cdcairoirgb.c +++ b/src/cairo/cdcairoirgb.c @@ -145,7 +145,7 @@ static void cdinittable(cdCanvas* canvas) static cdContext cdCairoImageRGBContext = { - CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_FPRIMTIVES), + CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_WRITEMODE | CD_CAP_PALETTE), 0, cdcreatecanvas, cdinittable, diff --git a/src/cairo/cdcaironative_gdk.c b/src/cairo/cdcaironative_gdk.c index 98face0..29be6c6 100644 --- a/src/cairo/cdcaironative_gdk.c +++ b/src/cairo/cdcaironative_gdk.c @@ -65,7 +65,7 @@ static void cdinittable(cdCanvas* canvas) static cdContext cdNativeWindowContext = { - CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_WRITEMODE | CD_CAP_PALETTE | CD_CAP_FPRIMTIVES), + CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_WRITEMODE | CD_CAP_PALETTE), 1, cdcreatecanvas, cdinittable, diff --git a/src/cairo/cdcairopdf.c b/src/cairo/cdcairopdf.c index 880a2e5..f17fff4 100644 --- a/src/cairo/cdcairopdf.c +++ b/src/cairo/cdcairopdf.c @@ -108,7 +108,7 @@ static void cdinittable(cdCanvas* canvas) static cdContext cdCairoPDFContext = { - CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_FPRIMTIVES), + CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_WRITEMODE | CD_CAP_PALETTE), 0, cdcreatecanvas, cdinittable, diff --git a/src/cairo/cdcairops.c b/src/cairo/cdcairops.c index ed58723..52268e5 100644 --- a/src/cairo/cdcairops.c +++ b/src/cairo/cdcairops.c @@ -155,7 +155,7 @@ static void cdinittable(cdCanvas* canvas) static cdContext cdCairoPSContext = { - CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_FPRIMTIVES), + CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_WRITEMODE | CD_CAP_PALETTE), 0, cdcreatecanvas, cdinittable, diff --git a/src/cairo/cdcairosvg.c b/src/cairo/cdcairosvg.c index ce36758..0f528fa 100644 --- a/src/cairo/cdcairosvg.c +++ b/src/cairo/cdcairosvg.c @@ -67,7 +67,7 @@ static void cdinittable(cdCanvas* canvas) static cdContext cdCairoSVGContext = { - CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_FPRIMTIVES), + CD_CAP_ALL & ~(CD_CAP_PLAY | CD_CAP_YAXIS | CD_CAP_REGION | CD_CAP_WRITEMODE | CD_CAP_PALETTE), 0, cdcreatecanvas, cdinittable, |