diff options
author | Carl Worth <cworth@cworth.org> | 2006-06-06 15:25:49 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2006-06-06 15:25:49 -0700 |
commit | 80b8deb1e4f9d0b856106031c6a7a629cca7552c (patch) | |
tree | 904372df192e3894d3418fd5adaaa0f41487a5f4 | |
parent | 28d47d332aafa81bcbc669603357298cb0a14322 (diff) |
Remove extraneous whitespace from "blank" lines.
This patch was produced with the following (GNU) sed script:
sed -i -r -e 's/^[ \t]+$//'
run on all *.[ch] files within cairo.
106 files changed, 1311 insertions, 1311 deletions
diff --git a/doc/tutorial/src/include/cairo-tutorial-gtk.h b/doc/tutorial/src/include/cairo-tutorial-gtk.h index cdf96e20..8a820f3d 100644 --- a/doc/tutorial/src/include/cairo-tutorial-gtk.h +++ b/doc/tutorial/src/include/cairo-tutorial-gtk.h @@ -128,6 +128,6 @@ main (int argc, char **argv) gtk_widget_show_all (window); gtk_main (); - + return 0; } diff --git a/doc/tutorial/src/include/cairo-tutorial-pdf.h b/doc/tutorial/src/include/cairo-tutorial-pdf.h index ac2341dc..c65b7e4a 100644 --- a/doc/tutorial/src/include/cairo-tutorial-pdf.h +++ b/doc/tutorial/src/include/cairo-tutorial-pdf.h @@ -58,7 +58,7 @@ main (int argc, char **argv) } surface = cairo_pdf_surface_create (filename, WIDTH, HEIGHT); - + cr = cairo_create (surface); draw (cr, WIDTH, HEIGHT); diff --git a/doc/tutorial/src/include/cairo-tutorial-png.h b/doc/tutorial/src/include/cairo-tutorial-png.h index a78551d5..837dc370 100644 --- a/doc/tutorial/src/include/cairo-tutorial-png.h +++ b/doc/tutorial/src/include/cairo-tutorial-png.h @@ -43,7 +43,7 @@ main (int argc, char **argv) surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, WIDTH, HEIGHT); - + cr = cairo_create (surface); draw (cr, WIDTH, HEIGHT); diff --git a/doc/tutorial/src/lca.c b/doc/tutorial/src/lca.c index 9aa2c130..0b131afa 100644 --- a/doc/tutorial/src/lca.c +++ b/doc/tutorial/src/lca.c @@ -19,14 +19,14 @@ draw (cairo_t *cr, int width, int height) cairo_move_to (cr, 0, 0); cairo_line_to (cr, 0, 80); cairo_line_to (cr, 50, 80); - + /* C */ cairo_move_to (cr, 110 + 40 * cos (M_PI / 3), 40 + 40 * sin(M_PI / 3)); cairo_arc (cr, 110, 40, 40, M_PI / 3, -M_PI / 3); - + /* A */ cairo_move_to (cr, 160, 80); cairo_curve_to (cr, 160, -30, 210, -30, 210, 80); - + cairo_stroke (cr); } diff --git a/pixman/src/fbcompose.c b/pixman/src/fbcompose.c index e316c6db..f8aa3a3e 100644 --- a/pixman/src/fbcompose.c +++ b/pixman/src/fbcompose.c @@ -3548,10 +3548,10 @@ static void fbFetchExternalAlpha(PicturePtr pict, int x, int y, int width, CARD3 fbFetchTransformed(pict, x, y, width, buffer, mask, maskBits); return; } - + if (width > SCANLINE_BUFFER_LENGTH) alpha_buffer = (CARD32 *) malloc(width*sizeof(CARD32)); - + fbFetchTransformed(pict, x, y, width, buffer, mask, maskBits); fbFetchTransformed(pict->alphaMap, x - pict->alphaOrigin.x, y - pict->alphaOrigin.y, width, alpha_buffer, @@ -3930,7 +3930,7 @@ pixman_compositeGeneral (pixman_operator_t op, CARD32 _scanline_buffer[SCANLINE_BUFFER_LENGTH*3]; CARD32 *scanline_buffer = _scanline_buffer; FbComposeData compose_data; - + if (pSrc->pDrawable) srcRepeat = pSrc->repeat == RepeatNormal && !pSrc->transform && (pSrc->pDrawable->width != 1 || pSrc->pDrawable->height != 1); diff --git a/pixman/src/fbedge.c b/pixman/src/fbedge.c index f1289b3f..58461589 100644 --- a/pixman/src/fbedge.c +++ b/pixman/src/fbedge.c @@ -127,7 +127,7 @@ fbRasterizeEdges8 (FbBits *buf, CARD8 *ap = (CARD8 *) line; xFixed lx, rx; int lxi, rxi; - + /* clip X */ lx = l->x; if (lx < 0) @@ -135,7 +135,7 @@ fbRasterizeEdges8 (FbBits *buf, rx = r->x; if (xFixedToInt (rx) >= width) rx = IntToxFixed (width); - + /* Skip empty (or backwards) sections */ if (rx > lx) { diff --git a/pixman/src/fbedgeimp.h b/pixman/src/fbedgeimp.h index aa9ca90f..121c2d76 100644 --- a/pixman/src/fbedgeimp.h +++ b/pixman/src/fbedgeimp.h @@ -34,14 +34,14 @@ rasterizeEdges (FbBits *buf, { xFixed y = t; FbBits *line; - + line = buf + xFixedToInt (y) * stride; - + for (;;) { xFixed lx, rx; int lxi, rxi; - + /* clip X */ lx = l->x; if (lx < 0) @@ -49,7 +49,7 @@ rasterizeEdges (FbBits *buf, rx = r->x; if (xFixedToInt (rx) >= width) rx = IntToxFixed (width); - + /* Skip empty (or backwards) sections */ if (rx > lx) { diff --git a/pixman/src/fbmmx.c b/pixman/src/fbmmx.c index 2ba7d8b1..1d3f7597 100644 --- a/pixman/src/fbmmx.c +++ b/pixman/src/fbmmx.c @@ -144,12 +144,12 @@ static __inline__ __m64 pix_multiply (__m64 a, __m64 b) { __m64 res; - + res = _mm_mullo_pi16 (a, b); res = _mm_adds_pu16 (res, MC(4x0080)); res = _mm_adds_pu16 (res, _mm_srli_pi16 (res, 8)); res = _mm_srli_pi16 (res, 8); - + return res; } @@ -185,7 +185,7 @@ static __inline__ __m64 expand_alpha (__m64 pixel) { __m64 t1, t2; - + t1 = shift (pixel, -48); t2 = shift (t1, 16); t1 = _mm_or_si64 (t1, t2); @@ -245,7 +245,7 @@ over_rev_non_pre (__m64 src, __m64 dest) { __m64 srca = expand_alpha (src); __m64 srcfaaa = _mm_or_si64 (srca, MC(full_alpha)); - + return over(pix_multiply(invert_colors(src), srcfaaa), srca, dest); } @@ -302,17 +302,17 @@ expand565 (__m64 pixel, int pos) { __m64 p = pixel; __m64 t1, t2; - + /* move pixel to low 16 bit and zero the rest */ p = shift (shift (p, (3 - pos) * 16), -48); - + t1 = shift (p, 36 - 11); t2 = shift (p, 16 - 5); - + p = _mm_or_si64 (t1, p); p = _mm_or_si64 (t2, p); p = _mm_and_si64 (p, MC(565_rgb)); - + pixel = _mm_mullo_pi16 (p, MC(565_unpack_multiplier)); return _mm_srli_pi16 (pixel, 8); } @@ -332,15 +332,15 @@ pack565 (__m64 pixel, __m64 target, int pos) __m64 p = pixel; __m64 t = target; __m64 r, g, b; - + r = _mm_and_si64 (p, MC(565_r)); g = _mm_and_si64 (p, MC(565_g)); b = _mm_and_si64 (p, MC(565_b)); - + r = shift (r, - (32 - 8) + pos * 16); g = shift (g, - (16 - 3) + pos * 16); b = shift (b, - (0 + 3) + pos * 16); - + if (pos == 0) t = _mm_and_si64 (t, MC(mask_0)); else if (pos == 1) @@ -349,10 +349,10 @@ pack565 (__m64 pixel, __m64 target, int pos) t = _mm_and_si64 (t, MC(mask_2)); else if (pos == 3) t = _mm_and_si64 (t, MC(mask_3)); - + p = _mm_or_si64 (r, t); p = _mm_or_si64 (g, p); - + return _mm_or_si64 (b, p); } @@ -636,9 +636,9 @@ mmxCombineOverC (CARD32 *dest, CARD32 *src, CARD32 *mask, int width) __m64 s = load8888(*src); __m64 d = load8888(*dest); __m64 sa = expand_alpha(s); - + *dest = store8888(in_over (s, sa, a, d)); - + ++src; ++dest; ++mask; @@ -657,7 +657,7 @@ mmxCombineOverReverseC (CARD32 *dest, CARD32 *src, CARD32 *mask, int width) __m64 da = expand_alpha(d); *dest = store8888(over (d, da, in (s, a))); - + ++src; ++dest; ++mask; @@ -885,62 +885,62 @@ fbCompositeSolid_nx8888mmx (pixman_operator_t op, CARD16 w; FbStride dstStride; __m64 vsrc, vsrca; - + CHECKPOINT(); - + fbComposeGetSolid(pSrc, pDst, src); - + if (src >> 24 == 0) return; - + fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); - + vsrc = load8888 (src); vsrca = expand_alpha (vsrc); - + while (height--) { dst = dstLine; dstLine += dstStride; w = width; - + CHECKPOINT(); - + while (w && (unsigned long)dst & 7) { *dst = store8888(over(vsrc, vsrca, load8888(*dst))); - + w--; dst++; } - + while (w >= 2) { __m64 vdest; __m64 dest0, dest1; - + vdest = *(__m64 *)dst; - + dest0 = over(vsrc, vsrca, expand8888(vdest, 0)); dest1 = over(vsrc, vsrca, expand8888(vdest, 1)); - + *(__m64 *)dst = pack8888(dest0, dest1); - + dst += 2; w -= 2; } - + CHECKPOINT(); - + while (w) { *dst = store8888(over(vsrc, vsrca, load8888(*dst))); - + w--; dst++; } } - + _mm_empty(); } @@ -963,69 +963,69 @@ fbCompositeSolid_nx0565mmx (pixman_operator_t op, CARD16 w; FbStride dstStride; __m64 vsrc, vsrca; - + CHECKPOINT(); - + fbComposeGetSolid(pSrc, pDst, src); - + if (src >> 24 == 0) return; - + fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1); - + vsrc = load8888 (src); vsrca = expand_alpha (vsrc); - + while (height--) { dst = dstLine; dstLine += dstStride; w = width; - + CHECKPOINT(); - + while (w && (unsigned long)dst & 7) { ullong d = *dst; __m64 vdest = expand565 ((__m64)d, 0); vdest = pack565(over(vsrc, vsrca, vdest), vdest, 0); *dst = (ullong)vdest; - + w--; dst++; } - + while (w >= 4) { __m64 vdest; - + vdest = *(__m64 *)dst; - + vdest = pack565 (over(vsrc, vsrca, expand565(vdest, 0)), vdest, 0); vdest = pack565 (over(vsrc, vsrca, expand565(vdest, 1)), vdest, 1); vdest = pack565 (over(vsrc, vsrca, expand565(vdest, 2)), vdest, 2); vdest = pack565 (over(vsrc, vsrca, expand565(vdest, 3)), vdest, 3); - + *(__m64 *)dst = vdest; - + dst += 4; w -= 4; } - + CHECKPOINT(); - + while (w) { ullong d = *dst; __m64 vdest = expand565 ((__m64)d, 0); vdest = pack565(over(vsrc, vsrca, vdest), vdest, 0); *dst = (ullong)vdest; - + w--; dst++; } } - + _mm_empty(); } @@ -1048,87 +1048,87 @@ fbCompositeSolidMask_nx8888x8888Cmmx (pixman_operator_t op, CARD32 *maskLine; FbStride dstStride, maskStride; __m64 vsrc, vsrca; - + CHECKPOINT(); - + fbComposeGetSolid(pSrc, pDst, src); - + srca = src >> 24; if (srca == 0) return; - + fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); fbComposeGetStart (pMask, xMask, yMask, CARD32, maskStride, maskLine, 1); - + vsrc = load8888(src); vsrca = expand_alpha(vsrc); - + while (height--) { int twidth = width; CARD32 *p = (CARD32 *)maskLine; CARD32 *q = (CARD32 *)dstLine; - + while (twidth && (unsigned long)q & 7) { CARD32 m = *(CARD32 *)p; - + if (m) { __m64 vdest = load8888(*q); vdest = in_over(vsrc, vsrca, load8888(m), vdest); *q = store8888(vdest); } - + twidth--; p++; q++; } - + while (twidth >= 2) { CARD32 m0, m1; m0 = *p; m1 = *(p + 1); - + if (m0 | m1) { __m64 dest0, dest1; __m64 vdest = *(__m64 *)q; - + dest0 = in_over(vsrc, vsrca, load8888(m0), expand8888 (vdest, 0)); dest1 = in_over(vsrc, vsrca, load8888(m1), expand8888 (vdest, 1)); - + *(__m64 *)q = pack8888(dest0, dest1); } - + p += 2; q += 2; twidth -= 2; } - + while (twidth) { CARD32 m = *(CARD32 *)p; - + if (m) { __m64 vdest = load8888(*q); vdest = in_over(vsrc, vsrca, load8888(m), vdest); *q = store8888(vdest); } - + twidth--; p++; q++; } - + dstLine += dstStride; maskLine += maskStride; } - + _mm_empty(); } @@ -1154,9 +1154,9 @@ fbCompositeSrc_8888x8x8888mmx (pixman_operator_t op, FbStride dstStride, srcStride, maskStride; CARD16 w; __m64 srca; - + CHECKPOINT(); - + fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); @@ -1164,7 +1164,7 @@ fbCompositeSrc_8888x8x8888mmx (pixman_operator_t op, mask = *maskLine << 24 | *maskLine << 16 | *maskLine << 8 | *maskLine; vmask = load8888 (mask); srca = MC(4x00ff); - + while (height--) { dst = dstLine; @@ -1177,9 +1177,9 @@ fbCompositeSrc_8888x8x8888mmx (pixman_operator_t op, { __m64 s = load8888 (*src); __m64 d = load8888 (*dst); - + *dst = store8888 (over (s, expand_alpha (s), d)); - + w--; dst++; src++; @@ -1195,19 +1195,19 @@ fbCompositeSrc_8888x8x8888mmx (pixman_operator_t op, *(__m64 *)dst = (__m64)pack8888 ( in_over (vsrc0, expand_alpha (vsrc0), vmask, expand8888 (vd, 0)), in_over (vsrc1, expand_alpha (vsrc1), vmask, expand8888 (vd, 1))); - + w -= 2; dst += 2; src += 2; } - + while (w) { __m64 s = load8888 (*src); __m64 d = load8888 (*dst); - + *dst = store8888 (in_over (s, expand_alpha (s), vmask, d)); - + w--; dst++; src++; @@ -1239,9 +1239,9 @@ fbCompositeSrc_x888x8x8888mmx (pixman_operator_t op, FbStride dstStride, srcStride, maskStride; CARD16 w; __m64 srca; - + CHECKPOINT(); - + fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); @@ -1249,7 +1249,7 @@ fbCompositeSrc_x888x8x8888mmx (pixman_operator_t op, mask = *maskLine << 24 | *maskLine << 16 | *maskLine << 8 | *maskLine; vmask = load8888 (mask); srca = MC(4x00ff); - + while (height--) { dst = dstLine; @@ -1262,9 +1262,9 @@ fbCompositeSrc_x888x8x8888mmx (pixman_operator_t op, { __m64 s = load8888 (*src); __m64 d = load8888 (*dst); - + *dst = store8888 (in_over (s, srca, vmask, d)); - + w--; dst++; src++; @@ -1293,35 +1293,35 @@ fbCompositeSrc_x888x8x8888mmx (pixman_operator_t op, vd0 = (__m64)pack8888 ( in_over (expand8888 (vs0, 0), srca, vmask, expand8888 (vd0, 0)), in_over (expand8888 (vs0, 1), srca, vmask, expand8888 (vd0, 1))); - + vd1 = (__m64)pack8888 ( in_over (expand8888 (vs1, 0), srca, vmask, expand8888 (vd1, 0)), in_over (expand8888 (vs1, 1), srca, vmask, expand8888 (vd1, 1))); - + vd2 = (__m64)pack8888 ( in_over (expand8888 (vs2, 0), srca, vmask, expand8888 (vd2, 0)), in_over (expand8888 (vs2, 1), srca, vmask, expand8888 (vd2, 1))); - + vd3 = (__m64)pack8888 ( in_over (expand8888 (vs3, 0), srca, vmask, expand8888 (vd3, 0)), in_over (expand8888 (vs3, 1), srca, vmask, expand8888 (vd3, 1))); - + vd4 = (__m64)pack8888 ( in_over (expand8888 (vs4, 0), srca, vmask, expand8888 (vd4, 0)), in_over (expand8888 (vs4, 1), srca, vmask, expand8888 (vd4, 1))); - + vd5 = (__m64)pack8888 ( in_over (expand8888 (vs5, 0), srca, vmask, expand8888 (vd5, 0)), in_over (expand8888 (vs5, 1), srca, vmask, expand8888 (vd5, 1))); - + vd6 = (__m64)pack8888 ( in_over (expand8888 (vs6, 0), srca, vmask, expand8888 (vd6, 0)), in_over (expand8888 (vs6, 1), srca, vmask, expand8888 (vd6, 1))); - + vd7 = (__m64)pack8888 ( in_over (expand8888 (vs7, 0), srca, vmask, expand8888 (vd7, 0)), in_over (expand8888 (vs7, 1), srca, vmask, expand8888 (vd7, 1))); - + *(__m64 *)(dst + 0) = vd0; *(__m64 *)(dst + 2) = vd1; *(__m64 *)(dst + 4) = vd2; @@ -1335,14 +1335,14 @@ fbCompositeSrc_x888x8x8888mmx (pixman_operator_t op, dst += 16; src += 16; } - + while (w) { __m64 s = load8888 (*src); __m64 d = load8888 (*dst); - + *dst = store8888 (in_over (s, srca, vmask, d)); - + w--; dst++; src++; @@ -1423,23 +1423,23 @@ fbCompositeSolidMask_nx8x8888mmx (pixman_operator_t op, CARD16 w; __m64 vsrc, vsrca; ullong srcsrc; - + CHECKPOINT(); - + fbComposeGetSolid(pSrc, pDst, src); - + srca = src >> 24; if (srca == 0) return; - + srcsrc = (unsigned long long)src << 32 | src; - + fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); - + vsrc = load8888 (src); vsrca = expand_alpha (vsrc); - + while (height--) { dst = dstLine; @@ -1447,32 +1447,32 @@ fbCompositeSolidMask_nx8x8888mmx (pixman_operator_t op, mask = maskLine; maskLine += maskStride; w = width; - + CHECKPOINT(); - + while (w && (unsigned long)dst & 7) { ullong m = *mask; - + if (m) { __m64 vdest = in_over(vsrc, vsrca, expand_alpha_rev ((__m64)m), load8888(*dst)); *dst = store8888(vdest); } - + w--; mask++; dst++; } - + CHECKPOINT(); - + while (w >= 2) { ullong m0, m1; m0 = *mask; m1 = *(mask + 1); - + if (srca == 0xff && (m0 & m1) == 0xff) { *(unsigned long long *)dst = srcsrc; @@ -1481,39 +1481,39 @@ fbCompositeSolidMask_nx8x8888mmx (pixman_operator_t op, { __m64 vdest; __m64 dest0, dest1; - + vdest = *(__m64 *)dst; - + dest0 = in_over(vsrc, vsrca, expand_alpha_rev ((__m64)m0), expand8888(vdest, 0)); dest1 = in_over(vsrc, vsrca, expand_alpha_rev ((__m64)m1), expand8888(vdest, 1)); - + *(__m64 *)dst = pack8888(dest0, dest1); } - + mask += 2; dst += 2; w -= 2; } - + CHECKPOINT(); - + while (w) { ullong m = *mask; - + if (m) { __m64 vdest = load8888(*dst); vdest = in_over(vsrc, vsrca, expand_alpha_rev ((__m64)m), vdest); *dst = store8888(vdest); } - + w--; mask++; dst++; } } - + _mm_empty(); } @@ -1538,26 +1538,26 @@ fbCompositeSolidMaskSrc_nx8x8888mmx (pixman_operator_t op, CARD16 w; __m64 vsrc, vsrca; ullong srcsrc; - + CHECKPOINT(); - + fbComposeGetSolid(pSrc, pDst, src); - + srca = src >> 24; if (srca == 0) { if (fbSolidFillmmx (pDst->pDrawable, xDst, yDst, width, height, 0)) return; } - + srcsrc = (unsigned long long)src << 32 | src; - + fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); - + vsrc = load8888 (src); vsrca = expand_alpha (vsrc); - + while (height--) { dst = dstLine; @@ -1565,13 +1565,13 @@ fbCompositeSolidMaskSrc_nx8x8888mmx (pixman_operator_t op, mask = maskLine; maskLine += maskStride; w = width; - + CHECKPOINT(); - + while (w && (unsigned long)dst & 7) { ullong m = *mask; - + if (m) { __m64 vdest = in(vsrc, expand_alpha_rev ((__m64)m)); @@ -1581,20 +1581,20 @@ fbCompositeSolidMaskSrc_nx8x8888mmx (pixman_operator_t op, { *dst = 0; } - + w--; mask++; dst++; } - + CHECKPOINT(); - + while (w >= 2) { ullong m0, m1; m0 = *mask; m1 = *(mask + 1); - + if (srca == 0xff && (m0 & m1) == 0xff) { *(unsigned long long *)dst = srcsrc; @@ -1603,30 +1603,30 @@ fbCompositeSolidMaskSrc_nx8x8888mmx (pixman_operator_t op, { __m64 vdest; __m64 dest0, dest1; - + vdest = *(__m64 *)dst; - + dest0 = in(vsrc, expand_alpha_rev ((__m64)m0)); dest1 = in(vsrc, expand_alpha_rev ((__m64)m1)); - + *(__m64 *)dst = pack8888(dest0, dest1); } else { *dst = 0; } - + mask += 2; dst += 2; w -= 2; } - + CHECKPOINT(); - + while (w) { ullong m = *mask; - + if (m) { __m64 vdest = load8888(*dst); @@ -1637,13 +1637,13 @@ fbCompositeSolidMaskSrc_nx8x8888mmx (pixman_operator_t op, { *dst = 0; } - + w--; mask++; dst++; } } - + _mm_empty(); } @@ -1669,26 +1669,26 @@ fbCompositeSolidMask_nx8x0565mmx (pixman_operator_t op, CARD16 w; __m64 vsrc, vsrca; unsigned long long srcsrcsrcsrc, src16; - + CHECKPOINT(); - + fbComposeGetSolid(pSrc, pDst, src); - + srca = src >> 24; if (srca == 0) return; - + fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1); fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); - + vsrc = load8888 (src); vsrca = expand_alpha (vsrc); - + src16 = (ullong)pack565(vsrc, _mm_setzero_si64(), 0); - + srcsrcsrcsrc = (ullong)src16 << 48 | (ullong)src16 << 32 | (ullong)src16 << 16 | (ullong)src16; - + while (height--) { dst = dstLine; @@ -1696,13 +1696,13 @@ fbCompositeSolidMask_nx8x0565mmx (pixman_operator_t op, mask = maskLine; maskLine += maskStride; w = width; - + CHECKPOINT(); - + while (w && (unsigned long)dst & 7) { ullong m = *mask; - + if (m) { ullong d = *dst; @@ -1710,14 +1710,14 @@ fbCompositeSolidMask_nx8x0565mmx (pixman_operator_t op, __m64 vdest = in_over(vsrc, vsrca, expand_alpha_rev ((__m64)m), expand565(vd, 0)); *dst = (ullong)pack565(vdest, _mm_setzero_si64(), 0); } - + w--; mask++; dst++; } - + CHECKPOINT(); - + while (w >= 4) { ullong m0, m1, m2, m3; @@ -1725,7 +1725,7 @@ fbCompositeSolidMask_nx8x0565mmx (pixman_operator_t op, m1 = *(mask + 1); m2 = *(mask + 2); m3 = *(mask + 3); - + if (srca == 0xff && (m0 & m1 & m2 & m3) == 0xff) { *(unsigned long long *)dst = srcsrcsrcsrc; @@ -1734,9 +1734,9 @@ fbCompositeSolidMask_nx8x0565mmx (pixman_operator_t op, { __m64 vdest; __m64 vm0, vm1, vm2, vm3; - + vdest = *(__m64 *)dst; - + vm0 = (__m64)m0; vdest = pack565(in_over(vsrc, vsrca, expand_alpha_rev(vm0), expand565(vdest, 0)), vdest, 0); vm1 = (__m64)m1; @@ -1745,21 +1745,21 @@ fbCompositeSolidMask_nx8x0565mmx (pixman_operator_t op, vdest = pack565(in_over(vsrc, vsrca, expand_alpha_rev(vm2), expand565(vdest, 2)), vdest, 2); vm3 = (__m64)m3; vdest = pack565(in_over(vsrc, vsrca, expand_alpha_rev(vm3), expand565(vdest, 3)), vdest, 3); - + *(__m64 *)dst = vdest; } - + w -= 4; mask += 4; dst += 4; } - + CHECKPOINT(); - + while (w) { ullong m = *mask; - + if (m) { ullong d = *dst; @@ -1767,13 +1767,13 @@ fbCompositeSolidMask_nx8x0565mmx (pixman_operator_t op, __m64 vdest = in_over(vsrc, vsrca, expand_alpha_rev ((__m64)m), expand565(vd, 0)); *dst = (ullong)pack565(vdest, _mm_setzero_si64(), 0); } - + w--; mask++; dst++; } } - + _mm_empty(); } @@ -1795,14 +1795,14 @@ fbCompositeSrc_8888RevNPx0565mmx (pixman_operator_t op, CARD32 *srcLine, *src; FbStride dstStride, srcStride; CARD16 w; - + CHECKPOINT(); - + fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1); fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); - + assert (pSrc->pDrawable == pMask->pDrawable); - + while (height--) { dst = dstLine; @@ -1810,41 +1810,41 @@ fbCompositeSrc_8888RevNPx0565mmx (pixman_operator_t op, src = srcLine; srcLine += srcStride; w = width; - + CHECKPOINT(); - + while (w && (unsigned long)dst & 7) { __m64 vsrc = load8888 (*src); ullong d = *dst; __m64 vdest = expand565 ((__m64)d, 0); - + vdest = pack565(over_rev_non_pre(vsrc, vdest), vdest, 0); - + *dst = (ullong)vdest; - + w--; dst++; src++; } - + CHECKPOINT(); - + while (w >= 4) { CARD32 s0, s1, s2, s3; unsigned char a0, a1, a2, a3; - + s0 = *src; s1 = *(src + 1); s2 = *(src + 2); s3 = *(src + 3); - + a0 = (s0 >> 24); a1 = (s1 >> 24); a2 = (s2 >> 24); a3 = (s3 >> 24); - + if ((a0 & a1 & a2 & a3) == 0xFF) { __m64 vdest; @@ -1852,44 +1852,44 @@ fbCompositeSrc_8888RevNPx0565mmx (pixman_operator_t op, vdest = pack565(invert_colors(load8888(s1)), vdest, 1); vdest = pack565(invert_colors(load8888(s2)), vdest, 2); vdest = pack565(invert_colors(load8888(s3)), vdest, 3); - + *(__m64 *)dst = vdest; } else if (a0 | a1 | a2 | a3) { __m64 vdest = *(__m64 *)dst; - + vdest = pack565(over_rev_non_pre(load8888(s0), expand565(vdest, 0)), vdest, 0); vdest = pack565(over_rev_non_pre(load8888(s1), expand565(vdest, 1)), vdest, 1); vdest = pack565(over_rev_non_pre(load8888(s2), expand565(vdest, 2)), vdest, 2); vdest = pack565(over_rev_non_pre(load8888(s3), expand565(vdest, 3)), vdest, 3); - + *(__m64 *)dst = vdest; } - + w -= 4; dst += 4; src += 4; } - + CHECKPOINT(); - + while (w) { __m64 vsrc = load8888 (*src); ullong d = *dst; __m64 vdest = expand565 ((__m64)d, 0); - + vdest = pack565(over_rev_non_pre(vsrc, vdest), vdest, 0); - + *dst = (ullong)vdest; - + w--; dst++; src++; } } - + _mm_empty(); } @@ -1913,14 +1913,14 @@ fbCompositeSrc_8888RevNPx8888mmx (pixman_operator_t op, CARD32 *srcLine, *src; FbStride dstStride, srcStride; CARD16 w; - + CHECKPOINT(); - + fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); - + assert (pSrc->pDrawable == pMask->pDrawable); - + while (height--) { dst = dstLine; @@ -1928,66 +1928,66 @@ fbCompositeSrc_8888RevNPx8888mmx (pixman_operator_t op, src = srcLine; srcLine += srcStride; w = width; - + while (w && (unsigned long)dst & 7) { __m64 s = load8888 (*src); __m64 d = load8888 (*dst); - + *dst = store8888 (over_rev_non_pre (s, d)); - + w--; dst++; src++; } - + while (w >= 2) { ullong s0, s1; unsigned char a0, a1; __m64 d0, d1; - + s0 = *src; s1 = *(src + 1); - + a0 = (s0 >> 24); a1 = (s1 >> 24); - + if ((a0 & a1) == 0xFF) { d0 = invert_colors(load8888(s0)); d1 = invert_colors(load8888(s1)); - + *(__m64 *)dst = pack8888 (d0, d1); } else if (a0 | a1) { __m64 vdest = *(__m64 *)dst; - + d0 = over_rev_non_pre (load8888(s0), expand8888 (vdest, 0)); d1 = over_rev_non_pre (load8888(s1), expand8888 (vdest, 1)); - + *(__m64 *)dst = pack8888 (d0, d1); } - + w -= 2; dst += 2; src += 2; } - + while (w) { __m64 s = load8888 (*src); __m64 d = load8888 (*dst); - + *dst = store8888 (over_rev_non_pre (s, d)); - + w--; dst++; src++; } } - + _mm_empty(); } @@ -2010,31 +2010,31 @@ fbCompositeSolidMask_nx8888x0565Cmmx (pixman_operator_t op, CARD32 *maskLine; FbStride dstStride, maskStride; __m64 vsrc, vsrca; - + CHECKPOINT(); - + fbComposeGetSolid(pSrc, pDst, src); - + srca = src >> 24; if (srca == 0) return; - + fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1); fbComposeGetStart (pMask, xMask, yMask, CARD32, maskStride, maskLine, 1); - + vsrc = load8888 (src); vsrca = expand_alpha (vsrc); - + while (height--) { int twidth = width; CARD32 *p = (CARD32 *)maskLine; CARD16 *q = (CARD16 *)dstLine; - + while (twidth && ((unsigned long)q & 7)) { CARD32 m = *(CARD32 *)p; - + if (m) { ullong d = *q; @@ -2042,41 +2042,41 @@ fbCompositeSolidMask_nx8888x0565Cmmx (pixman_operator_t op, vdest = pack565 (in_over (vsrc, vsrca, load8888 (m), vdest), vdest, 0); *q = (ullong)vdest; } - + twidth--; p++; q++; } - + while (twidth >= 4) { CARD32 m0, m1, m2, m3; - + m0 = *p; m1 = *(p + 1); m2 = *(p + 2); m3 = *(p + 3); - + if ((m0 | m1 | m2 | m3)) { __m64 vdest = *(__m64 *)q; - + vdest = pack565(in_over(vsrc, vsrca, load8888(m0), expand565(vdest, 0)), vdest, 0); vdest = pack565(in_over(vsrc, vsrca, load8888(m1), expand565(vdest, 1)), vdest, 1); vdest = pack565(in_over(vsrc, vsrca, load8888(m2), expand565(vdest, 2)), vdest, 2); vdest = pack565(in_over(vsrc, vsrca, load8888(m3), expand565(vdest, 3)), vdest, 3); - + *(__m64 *)q = vdest; } twidth -= 4; p += 4; q += 4; } - + while (twidth) { CARD32 m; - + m = *(CARD32 *)p; if (m) { @@ -2085,16 +2085,16 @@ fbCompositeSolidMask_nx8888x0565Cmmx (pixman_operator_t op, vdest = pack565 (in_over(vsrc, vsrca, load8888(m), vdest), vdest, 0); *q = (ullong)vdest; } - + twidth--; p++; q++; } - + maskLine += maskStride; dstLine += dstStride; } - + _mm_empty (); } @@ -2118,12 +2118,12 @@ fbCompositeSrcAdd_8000x8000mmx (pixman_operator_t op, CARD16 w; CARD8 s, d; CARD16 t; - + CHECKPOINT(); - + fbComposeGetStart (pSrc, xSrc, ySrc, CARD8, srcStride, srcLine, 1); fbComposeGetStart (pDst, xDst, yDst, CARD8, dstStride, dstLine, 1); - + while (height--) { dst = dstLine; @@ -2131,7 +2131,7 @@ fbCompositeSrcAdd_8000x8000mmx (pixman_operator_t op, src = srcLine; srcLine += srcStride; w = width; - + while (w && (unsigned long)dst & 7) { s = *src; @@ -2139,12 +2139,12 @@ fbCompositeSrcAdd_8000x8000mmx (pixman_operator_t op, t = d + s; s = t | (0 - (t >> 8)); *dst = s; - + dst++; src++; w--; } - + while (w >= 8) { *(__m64*)dst = _mm_adds_pu8(*(__m64*)src, *(__m64*)dst); @@ -2152,7 +2152,7 @@ fbCompositeSrcAdd_8000x8000mmx (pixman_operator_t op, src += 8; w -= 8; } - + while (w) { s = *src; @@ -2160,13 +2160,13 @@ fbCompositeSrcAdd_8000x8000mmx (pixman_operator_t op, t = d + s; s = t | (0 - (t >> 8)); *dst = s; - + dst++; src++; w--; } } - + _mm_empty(); } @@ -2188,12 +2188,12 @@ fbCompositeSrcAdd_8888x8888mmx (pixman_operator_t op, CARD32 *srcLine, *src; FbStride dstStride, srcStride; CARD16 w; - + CHECKPOINT(); - + fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); - + while (height--) { dst = dstLine; @@ -2201,7 +2201,7 @@ fbCompositeSrcAdd_8888x8888mmx (pixman_operator_t op, src = srcLine; srcLine += srcStride; w = width; - + while (w && (unsigned long)dst & 7) { *dst = _mm_cvtsi64_si32(_mm_adds_pu8(_mm_cvtsi32_si64(*src), @@ -2210,7 +2210,7 @@ fbCompositeSrcAdd_8888x8888mmx (pixman_operator_t op, src++; w--; } - + while (w >= 2) { *(ullong*)dst = (ullong) _mm_adds_pu8(*(__m64*)src, *(__m64*)dst); @@ -2218,15 +2218,15 @@ fbCompositeSrcAdd_8888x8888mmx (pixman_operator_t op, src += 2; w -= 2; } - + if (w) { *dst = _mm_cvtsi64_si32(_mm_adds_pu8(_mm_cvtsi32_si64(*src), _mm_cvtsi32_si64(*dst))); - + } } - + _mm_empty(); } @@ -2246,17 +2246,17 @@ fbSolidFillmmx (FbPixels *pDraw, CARD8 *byte_line; FbBits *bits; int xoff, yoff; - + CHECKPOINT(); - + fbGetDrawable(pDraw, bits, stride, bpp, xoff, yoff); - + if (bpp == 16 && (xor >> 16 != (xor & 0xffff))) return FALSE; - + if (bpp != 16 && bpp != 32) return FALSE; - + if (bpp == 16) { stride = stride * sizeof (FbBits) / 2; @@ -2271,32 +2271,32 @@ fbSolidFillmmx (FbPixels *pDraw, byte_width = 4 * width; stride *= 4; } - + fill = ((ullong)xor << 32) | xor; vfill = (__m64)fill; - + while (height--) { int w; CARD8 *d = byte_line; byte_line += stride; w = byte_width; - + while (w >= 2 && ((unsigned long)d & 3)) { *(CARD16 *)d = xor; w -= 2; d += 2; } - + while (w >= 4 && ((unsigned long)d & 7)) { *(CARD32 *)d = xor; - + w -= 4; d += 4; } - + while (w >= 64) { *(__m64*) (d + 0) = vfill; @@ -2307,14 +2307,14 @@ fbSolidFillmmx (FbPixels *pDraw, *(__m64*) (d + 40) = vfill; *(__m64*) (d + 48) = vfill; *(__m64*) (d + 56) = vfill; - + w -= 64; d += 64; } while (w >= 4) { *(CARD32 *)d = xor; - + w -= 4; d += 4; } @@ -2325,7 +2325,7 @@ fbSolidFillmmx (FbPixels *pDraw, d += 2; } } - + _mm_empty(); return TRUE; } @@ -2369,7 +2369,7 @@ fbCopyAreammx (FbPixels *pSrc, { return FALSE; } - + if (src_bpp == 16) { src_stride = src_stride * sizeof (FbBits) / 2; @@ -2399,7 +2399,7 @@ fbCopyAreammx (FbPixels *pSrc, src_bytes += src_stride; dst_bytes += dst_stride; w = byte_width; - + while (w >= 2 && ((unsigned long)d & 3)) { *(CARD16 *)d = *(CARD16 *)s; @@ -2407,16 +2407,16 @@ fbCopyAreammx (FbPixels *pSrc, s += 2; d += 2; } - + while (w >= 4 && ((unsigned int)d & 7)) { *(CARD32 *)d = *(CARD32 *)s; - + w -= 4; s += 4; d += 4; } - + while (w >= 64) { *(__m64 *)(d + 0) = *(__m64 *)(s + 0); @@ -2447,7 +2447,7 @@ fbCopyAreammx (FbPixels *pSrc, d += 2; } } - + _mm_empty(); return TRUE; } diff --git a/pixman/src/fbpict.c b/pixman/src/fbpict.c index bdf6a4cf..2cfbeb88 100644 --- a/pixman/src/fbpict.c +++ b/pixman/src/fbpict.c @@ -1362,7 +1362,7 @@ pixman_composite (pixman_operator_t op, mmx_setup = TRUE; } #endif - + xDst += pDst->pDrawable->x; yDst += pDst->pDrawable->y; if (pSrc->pDrawable) { @@ -1821,7 +1821,7 @@ pixman_composite (pixman_operator_t op, region = pixman_region_create(); pixman_region_union_rect (region, region, xDst, yDst, width, height); - + if (!FbComputeCompositeRegion (region, pSrc, pMask, @@ -1835,7 +1835,7 @@ pixman_composite (pixman_operator_t op, width, height)) return; - + n = pixman_region_num_rects (region); pbox = pixman_region_rects (region); while (n--) @@ -2009,7 +2009,7 @@ fbHaveMMX (void) mmx_present = (features & (MMX|MMX_Extensions)) == (MMX|MMX_Extensions); initialized = TRUE; } - + return mmx_present; } #endif /* USE_MMX && !amd64 */ diff --git a/pixman/src/fbpict.h b/pixman/src/fbpict.h index fbf00ed7..99977b7f 100644 --- a/pixman/src/fbpict.h +++ b/pixman/src/fbpict.h @@ -144,7 +144,7 @@ ((*((CARD16 *) (a)) = (CARD16) (v)),\ (*((a)+2) = (CARD8) ((v) >> 16)))) #endif - + /* The methods below use some tricks to be able to do two color components at the same time. diff --git a/pixman/src/fbtrap.c b/pixman/src/fbtrap.c index e23b97d3..2fbfbe49 100644 --- a/pixman/src/fbtrap.c +++ b/pixman/src/fbtrap.c @@ -46,14 +46,14 @@ fbAddTraps (PicturePtr pPicture, xFixed y_off_fixed; RenderEdge l, r; xFixed t, b; - + fbGetDrawable (pPicture->pDrawable, buf, stride, bpp, pxoff, pyoff); width = pPicture->pDrawable->width; height = pPicture->pDrawable->height; x_off += pxoff; y_off += pyoff; - + x_off_fixed = IntToxFixed(y_off); y_off_fixed = IntToxFixed(y_off); @@ -63,12 +63,12 @@ fbAddTraps (PicturePtr pPicture, if (t < 0) t = 0; t = RenderSampleCeilY (t, bpp); - + b = traps->bot.y + y_off_fixed; if (xFixedToInt (b) >= height) b = IntToxFixed (height) - 1; b = RenderSampleFloorY (b, bpp); - + if (b >= t) { /* initialize edge walkers */ @@ -77,13 +77,13 @@ fbAddTraps (PicturePtr pPicture, traps->top.y + y_off_fixed, traps->bot.l + x_off_fixed, traps->bot.y + y_off_fixed); - + RenderEdgeInit (&r, bpp, t, traps->top.r + x_off_fixed, traps->top.y + y_off_fixed, traps->bot.r + x_off_fixed, traps->bot.y + y_off_fixed); - + fbRasterizeEdges (buf, bpp, width, stride, &l, &r, t, b); } traps++; @@ -108,14 +108,14 @@ fbRasterizeTrapezoid (PicturePtr pPicture, xFixed y_off_fixed; RenderEdge l, r; xFixed t, b; - + fbGetDrawable (pPicture->pDrawable, buf, stride, bpp, pxoff, pyoff); width = pPicture->pDrawable->width; height = pPicture->pDrawable->height; x_off += pxoff; y_off += pyoff; - + x_off_fixed = IntToxFixed(x_off); y_off_fixed = IntToxFixed(y_off); t = trap->top + y_off_fixed; @@ -127,13 +127,13 @@ fbRasterizeTrapezoid (PicturePtr pPicture, if (xFixedToInt (b) >= height) b = IntToxFixed (height) - 1; b = RenderSampleFloorY (b, bpp); - + if (b >= t) { /* initialize edge walkers */ RenderLineFixedEdgeInit (&l, bpp, t, &trap->left, x_off, y_off); RenderLineFixedEdgeInit (&r, bpp, t, &trap->right, x_off, y_off); - + fbRasterizeEdges (buf, bpp, width, stride, &l, &r, t, b); } } @@ -190,7 +190,7 @@ fbAddTriangles (PicturePtr pPicture, if (_Clockwise (top, right, left)) { tmp = right; right = left; left = tmp; } - + /* * Two cases: * @@ -203,7 +203,7 @@ fbAddTriangles (PicturePtr pPicture, * / --- --- \ * +-- --+ */ - + trap.top = top->y; trap.left.p1 = *top; trap.left.p2 = *left; diff --git a/pixman/src/icblt.c b/pixman/src/icblt.c index ee92ba53..cbd33c38 100644 --- a/pixman/src/icblt.c +++ b/pixman/src/icblt.c @@ -40,18 +40,18 @@ void fbBlt (FbBits *srcLine, FbStride srcStride, int srcX, - + FbBits *dstLine, FbStride dstStride, int dstX, - + int width, int height, - + int alu, FbBits pm, int bpp, - + Bool reverse, Bool upsidedown) { @@ -63,7 +63,7 @@ fbBlt (FbBits *srcLine, Bool destInvarient; int startbyte, endbyte; FbDeclareMergeRop (); - + /* are we just copying multiples of 8 bits? if so, run, forrest, run! the memcpy()'s should be pluggable ala mplayer|xine - perhaps we can get one of the above to give up their code for us. @@ -84,10 +84,10 @@ fbBlt (FbBits *srcLine, else for(j=(height-1);j>=0;j--) memcpy(idst+j*dstride, isrc+j*sstride, width); - + return; } - + #ifdef FB_24BIT if (bpp == 24 && !FbCheck24Pix (pm)) { @@ -231,7 +231,7 @@ fbBlt (FbBits *srcLine, srcLine += srcStride; dst = dstLine; dstLine += dstStride; - + bits1 = 0; if (reverse) { @@ -360,7 +360,7 @@ fbBlt24Line (FbBits *src, int alu, FbBits pm, - + Bool reverse) { #ifdef DEBUG_BLT24 @@ -369,17 +369,17 @@ fbBlt24Line (FbBits *src, int origNlw = ((width + FB_MASK) >> FB_SHIFT) + 3; int origX = dstX / 24; #endif - + int leftShift, rightShift; FbBits startmask, endmask; int n; - + FbBits bits, bits1; FbBits mask; int rot; FbDeclareMergeRop (); - + FbInitializeMergeRop (alu, FB_ALLONES); FbMaskBits(dstX, width, startmask, n, endmask); #ifdef DEBUG_BLT24 @@ -472,7 +472,7 @@ fbBlt24Line (FbBits *src, rightShift = dstX - srcX; leftShift = FB_UNIT - rightShift; } - + bits1 = 0; if (reverse) { @@ -631,7 +631,7 @@ fbBltOdd (FbBits *srcLine, int leftShiftEven, rightShiftEven; FbBits startmaskEven, endmaskEven; int nmiddleEven; - + FbBits *dst; int leftShiftOdd, rightShiftOdd; FbBits startmaskOdd, endmaskOdd; @@ -640,12 +640,12 @@ fbBltOdd (FbBits *srcLine, int leftShift, rightShift; FbBits startmask, endmask; int nmiddle; - + int srcX, dstX; - + FbBits bits, bits1; int n; - + Bool destInvarient; Bool even; FbDeclareMergeRop (); @@ -662,7 +662,7 @@ fbBltOdd (FbBits *srcLine, FbMaskBits(dstXEven, width, startmaskEven, nmiddleEven, endmaskEven); FbMaskBits(dstXOdd, width, startmaskOdd, nmiddleOdd, endmaskOdd); - + even = TRUE; InitializeShifts(srcXEven, dstXEven, leftShiftEven, rightShiftEven); InitializeShifts(srcXOdd, dstXOdd, leftShiftOdd, rightShiftOdd); @@ -800,7 +800,7 @@ fbBltOdd24 (FbBits *srcLine, FbBits pm) { Bool even = TRUE; - + while (height--) { if (even) @@ -864,7 +864,7 @@ fbSetBltOdd (FbStip *stip, { *strideEven = FbStipStrideToBitsStride (stipStride); *strideOdd = FbStipStrideToBitsStride (stipStride + 1); - + *srcXEven = srcX; *srcXOdd = srcX + (strideAdjust << FB_STIP_SHIFT); } @@ -875,7 +875,7 @@ void fbBltStip (FbStip *src, FbStride srcStride, /* in FbStip units, not FbBits units */ int srcX, - + FbStip *dst, FbStride dstStride, /* in FbStip units, not FbBits units */ int dstX, @@ -897,22 +897,22 @@ fbBltStip (FbStip *src, int dstXEven, dstXOdd; FbBits *s, *d; int sx, dx; - + src += srcX >> FB_STIP_SHIFT; srcX &= FB_STIP_MASK; dst += dstX >> FB_STIP_SHIFT; dstX &= FB_STIP_MASK; - + fbSetBltOdd (src, srcStride, srcX, &s, &srcStrideEven, &srcStrideOdd, &srcXEven, &srcXOdd); - + fbSetBltOdd (dst, dstStride, dstX, &d, &dstStrideEven, &dstStrideOdd, &dstXEven, &dstXOdd); - + #ifdef FB_24BIT if (bpp == 24 && !FbCheck24Pix (pm)) { @@ -929,10 +929,10 @@ fbBltStip (FbStip *src, { fbBltOdd (s, srcStrideEven, srcStrideOdd, srcXEven, srcXOdd, - + d, dstStrideEven, dstStrideOdd, dstXEven, dstXOdd, - + width, height, alu, pm, bpp); } } diff --git a/pixman/src/icbltone.c b/pixman/src/icbltone.c index 30e64777..9f0a3917 100644 --- a/pixman/src/icbltone.c +++ b/pixman/src/icbltone.c @@ -54,9 +54,9 @@ } else \ bits = *src++; \ } - + #ifndef FBNOPIXADDR - + #define LaneCases1(n,a) case n: (void)FbLaneCase(n,a); break #define LaneCases2(n,a) LaneCases1(n,a); LaneCases1(n+1,a) #define LaneCases4(n,a) LaneCases2(n,a); LaneCases2(n+2,a) @@ -66,15 +66,15 @@ #define LaneCases64(n,a) LaneCases32(n,a); LaneCases32(n+32,a) #define LaneCases128(n,a) LaneCases64(n,a); LaneCases64(n+64,a) #define LaneCases256(n,a) LaneCases128(n,a); LaneCases128(n+128,a) - + #if FB_SHIFT == 6 #define LaneCases(a) LaneCases256(0,a) #endif - + #if FB_SHIFT == 5 #define LaneCases(a) LaneCases16(0,a) #endif - + #if FB_SHIFT == 6 static uint8_t const fb8Lane[256] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, @@ -182,7 +182,7 @@ fbBltOne (FbStip *src, return; } #endif - + /* * Number of destination units in FbBits == number of stipple pixels * used each time @@ -193,7 +193,7 @@ fbBltOne (FbStip *src, * Number of source stipple patterns in FbStip */ unitsPerSrc = FB_STIP_UNIT / pixelsPerDst; - + copy = FALSE; transparent = FALSE; if (bgand == 0 && fgand == 0) @@ -241,7 +241,7 @@ fbBltOne (FbStip *src, if (transparent && fgand == 0 && dstBpp >= 8) fbLane = fbLaneTable(dstBpp); #endif - + /* * Compute total number of destination words written, but * don't count endmask @@ -249,15 +249,15 @@ fbBltOne (FbStip *src, nDst = nmiddle; if (startmask) nDst++; - + dstStride -= nDst; /* * Compute total number of source words consumed */ - + srcinc = (nDst + unitsPerSrc - 1) / unitsPerSrc; - + if (srcX > dstS) srcinc++; if (endmask) @@ -268,7 +268,7 @@ fbBltOne (FbStip *src, } srcStride -= srcinc; - + /* * Copy rectangle */ @@ -278,7 +278,7 @@ fbBltOne (FbStip *src, n = unitsPerSrc; /* units avail in single stipple */ if (n > w) n = w; - + bitsLeft = 0; if (srcX > dstS) bitsLeft = *src++; @@ -549,7 +549,7 @@ static const FbBits fbStipple24Bits[3][1 << FbStip24Len] = { fbFirstStipBits(len,stip); \ stip = FbMergeStip24Bits (0, stip, len); \ } - + #define fbNextStipBits(rot,stip) {\ int __new = FbStip24New(rot); \ FbStip __right; \ @@ -593,23 +593,23 @@ fbBltOne24 (FbStip *srcLine, int firstlen; int rot0, rot; int nDst; - + srcLine += srcX >> FB_STIP_SHIFT; dst += dstX >> FB_SHIFT; srcX &= FB_STIP_MASK; dstX &= FB_MASK; rot0 = FbFirst24Rot (dstX); - + FbMaskBits (dstX, width, leftMask, nlMiddle, rightMask); - + dstS = (dstX + 23) / 24; firstlen = FbStip24Len - dstS; - + nDst = nlMiddle; if (leftMask) nDst++; dstStride -= nDst; - + /* opaque copy */ if (bgand == 0 && fgand == 0) { diff --git a/pixman/src/icformat.c b/pixman/src/icformat.c index 37d9bc54..7837aeaf 100644 --- a/pixman/src/icformat.c +++ b/pixman/src/icformat.c @@ -94,7 +94,7 @@ void pixman_format_init (pixman_format_t *format, int format_code) { memset (format, 0, sizeof (pixman_format_t)); - + /* XXX: What do we want to lodge in here? format->id = FakeClientID (0); */ @@ -102,45 +102,45 @@ pixman_format_init (pixman_format_t *format, int format_code) switch (PICT_FORMAT_TYPE(format_code)) { case PICT_TYPE_ARGB: - + format->alphaMask = Mask(PICT_FORMAT_A(format_code)); if (format->alphaMask) format->alpha = (PICT_FORMAT_R(format_code) + PICT_FORMAT_G(format_code) + PICT_FORMAT_B(format_code)); - + format->redMask = Mask(PICT_FORMAT_R(format_code)); format->red = (PICT_FORMAT_G(format_code) + PICT_FORMAT_B(format_code)); - + format->greenMask = Mask(PICT_FORMAT_G(format_code)); format->green = PICT_FORMAT_B(format_code); - + format->blueMask = Mask(PICT_FORMAT_B(format_code)); format->blue = 0; break; - + case PICT_TYPE_ABGR: - + format->alphaMask = Mask(PICT_FORMAT_A(format_code)); if (format->alphaMask) format->alpha = (PICT_FORMAT_B(format_code) + PICT_FORMAT_G(format_code) + PICT_FORMAT_R(format_code)); - + format->blueMask = Mask(PICT_FORMAT_B(format_code)); format->blue = (PICT_FORMAT_G(format_code) + PICT_FORMAT_R(format_code)); - + format->greenMask = Mask(PICT_FORMAT_G(format_code)); format->green = PICT_FORMAT_R(format_code); - + format->redMask = Mask(PICT_FORMAT_R(format_code)); format->red = 0; break; - + case PICT_TYPE_A: - + format->alpha = 0; format->alphaMask = Mask(PICT_FORMAT_A(format_code)); diff --git a/pixman/src/icimage.c b/pixman/src/icimage.c index c166cfbe..f4fd516d 100644 --- a/pixman/src/icimage.c +++ b/pixman/src/icimage.c @@ -34,7 +34,7 @@ pixman_image_create (pixman_format_t *format, pixels = FbPixelsCreate (width, height, format->depth); if (pixels == NULL) return NULL; - + image = pixman_image_createForPixels (pixels, format); if (image == NULL) { FbPixelsDestroy (pixels); @@ -382,7 +382,7 @@ pixman_image_set_transform (pixman_image_t *image, if (transform && memcmp (transform, &identity, sizeof (pixman_transform_t)) == 0) transform = NULL; - + if (transform) { if (!image->transform) @@ -481,7 +481,7 @@ pixman_image_destroy (pixman_image_t *image) pixman_region_destroy (image->pCompositeClip); image->pCompositeClip = NULL; } - + if (image->freeSourceClip) { pixman_region_destroy (image->pSourceClip); image->pSourceClip = NULL; @@ -537,7 +537,7 @@ pixman_image_set_clip_region (pixman_image_t *image, image->stateChanges |= CPClipMask; if (image->pSourcePict) return 0; - + if (image->freeCompClip) pixman_region_destroy (image->pCompositeClip); image->pCompositeClip = pixman_region_create(); @@ -555,7 +555,7 @@ pixman_image_set_clip_region (pixman_image_t *image, image->clipOrigin.x, image->clipOrigin.y); } - + return 0; } @@ -596,7 +596,7 @@ FbClipImageReg (pixman_region16_t *region, } return 1; } - + static __inline int FbClipImageSrc (pixman_region16_t *region, pixman_image_t *image, @@ -654,7 +654,7 @@ pixman_image_change (pixman_image_t *image, BITS32 index2; int error = 0; BITS32 maskQ; - + maskQ = vmask; while (vmask && !error) { @@ -679,7 +679,7 @@ pixman_image_change (pixman_image_t *image, case CPAlphaMap: { pixman_image_t *iAlpha; - + iAlpha = NEXT_PTR(pixman_image_t *); if (iAlpha) iAlpha->refcnt++; @@ -917,7 +917,7 @@ int miIsSolidAlpha (pixman_image_t *src) { char line[1]; - + /* Alpha-only */ if (PICT_FORMAT_TYPE (src->format_code) != PICT_TYPE_A) return 0; diff --git a/pixman/src/icimage.h b/pixman/src/icimage.h index cf65c7be..0d50e1f5 100644 --- a/pixman/src/icimage.h +++ b/pixman/src/icimage.h @@ -138,7 +138,7 @@ struct pixman_image { pixman_format_t image_format; int format_code; int refcnt; - + unsigned int repeat : 2; unsigned int graphicsExposures : 1; unsigned int subWindowMode : 1; @@ -164,7 +164,7 @@ struct pixman_image { pixman_region16_t *pCompositeClip; pixman_region16_t *pSourceClip; - + pixman_transform_t *transform; pixman_filter_t filter; @@ -306,7 +306,7 @@ struct _FbCompositeOperand { struct { pixman_bits_t *top_line; int left_offset; - + int start_offset; pixman_bits_t *line; uint32_t offset; diff --git a/pixman/src/icint.h b/pixman/src/icint.h index 81b2756f..f65e26fc 100644 --- a/pixman/src/icint.h +++ b/pixman/src/icint.h @@ -136,7 +136,7 @@ typedef pixman_triangle_t xTriangle; #define FB_HALFUNIT (1 << (FB_SHIFT-1)) #define FB_MASK (FB_UNIT - 1) #define FB_ALLONES ((pixman_bits_t) -1) - + /* whether to bother to include 24bpp support */ #ifndef ICNO24BIT #define FB_24BIT @@ -157,13 +157,13 @@ typedef pixman_triangle_t xTriangle; #define FB_STIP_UNIT (1 << FB_STIP_SHIFT) #define FB_STIP_MASK (FB_STIP_UNIT - 1) #define FB_STIP_ALLONES ((FbStip) -1) - + #define FB_STIP_ODDSTRIDE(s) (((s) & (FB_MASK >> FB_STIP_SHIFT)) != 0) #define FB_STIP_ODDPTR(p) ((((long) (p)) & (FB_MASK >> 3)) != 0) - + #define FbStipStrideToBitsStride(s) (((s) >> (FB_SHIFT - FB_STIP_SHIFT))) #define FbBitsStrideToStipStride(s) (((s) << (FB_SHIFT - FB_STIP_SHIFT))) - + #define FbFullMask(n) ((n) == FB_UNIT ? FB_ALLONES : ((((FbBits) 1) << n) - 1)) @@ -593,18 +593,18 @@ pixman_private void fbBlt (pixman_bits_t *src, FbStride srcStride, int srcX, - + FbBits *dst, FbStride dstStride, int dstX, - + int width, int height, - + int alu, FbBits pm, int bpp, - + Bool reverse, Bool upsidedown); @@ -625,12 +625,12 @@ fbBlt24 (pixman_bits_t *srcLine, Bool reverse, Bool upsidedown); - + pixman_private void fbBltStip (FbStip *src, FbStride srcStride, /* in FbStip units, not FbBits units */ int srcX, - + FbStip *dst, FbStride dstStride, /* in FbStip units, not FbBits units */ int dstX, @@ -641,7 +641,7 @@ fbBltStip (FbStip *src, int alu, FbBits pm, int bpp); - + /* * icbltone.c */ @@ -661,7 +661,7 @@ fbBltOne (FbStip *src, FbBits fbxor, FbBits bgand, FbBits bgxor); - + #ifdef FB_24BIT pixman_private void fbBltOne24 (FbStip *src, @@ -956,7 +956,7 @@ typedef struct _PictFormat *PictFormatPtr; #define PICT_b1g2r1 PICT_FORMAT(4,PICT_TYPE_ABGR,0,1,2,1) #define PICT_a1r1g1b1 PICT_FORMAT(4,PICT_TYPE_ARGB,1,1,1,1) #define PICT_a1b1g1r1 PICT_FORMAT(4,PICT_TYPE_ABGR,1,1,1,1) - + #define PICT_c4 PICT_FORMAT(4,PICT_TYPE_COLOR,0,0,0,0) #define PICT_g4 PICT_FORMAT(4,PICT_TYPE_GRAY,0,0,0,0) diff --git a/pixman/src/icrect.c b/pixman/src/icrect.c index 94ff1e40..959699a3 100644 --- a/pixman/src/icrect.c +++ b/pixman/src/icrect.c @@ -135,7 +135,7 @@ pixman_fill_rect_32bpp (pixman_image_t *dst, line = (char *)dst->pixels->data + xDst * 4 + yDst * dst->pixels->stride; - + int_pixel = *(uint32_t *)pixel; while (height-- > 0) { data = line; @@ -165,7 +165,7 @@ pixman_fill_rect_general (pixman_image_t *dst, line = (char *)dst->pixels->data + xDst * pixel_size + yDst * dst->pixels->stride; - + while (height-- > 0) { data = line; w = width; @@ -201,7 +201,7 @@ pixman_color_rects (pixman_image_t *dst, /* offset to the right place on the destination image */ xoff -= dst->pixels->x; yoff -= dst->pixels->y; - + clip = pixman_region_create(); pixman_region_union_rect (clip, clip, dst->pixels->x, dst->pixels->y, @@ -250,7 +250,7 @@ pixman_color_rects (pixman_image_t *dst, func = pixman_fill_rect_1bpp; else func = pixman_fill_rect_general; - + for (i = 0; i < n_clipped_rects; i++) { (*func) (dst, clipped_rects[i].x1, @@ -326,11 +326,11 @@ pixman_fill_rectangles (pixman_operator_t op, pixman_bits_t pixel; pixman_format_init (&rgbaFormat, PICT_a8r8g8b8); - + pixels = FbPixelsCreate (1, 1, rgbaFormat.depth); if (!pixels) goto bail1; - + pixman_color_to_pixel (&rgbaFormat, &color_s, &pixel); /* XXX: Originally, fb had the following: diff --git a/pixman/src/icrop.h b/pixman/src/icrop.h index 8f17547e..d65b5c4a 100644 --- a/pixman/src/icrop.h +++ b/pixman/src/icrop.h @@ -110,7 +110,7 @@ fbStippleTable(int bits); #define FbStippleRRopMask(dst, b, fa, fx, ba, bx, m) \ (FbDoMaskRRop(dst, fa, fx, m) & (b)) | (FbDoMaskRRop(dst, ba, bx, m) & ~(b)) - + #define FbDoLeftMaskByteStippleRRop(dst, b, fa, fx, ba, bx, lb, l) { \ FbBits __xor = ((fx) & (b)) | ((bx) & ~(b)); \ FbDoLeftMaskByteRRop(dst, lb, l, ((fa) & (b)) | ((ba) & ~(b)), __xor); \ @@ -122,7 +122,7 @@ fbStippleTable(int bits); } #define FbOpaqueStipple(b, fg, bg) (((fg) & (b)) | ((bg) & ~(b))) - + /* * Compute rop for using tile code for 1-bit dest stipples; modifies * existing rop to flip depending on pixel values diff --git a/pixman/src/icstipple.c b/pixman/src/icstipple.c index e077cbb0..8074d7a9 100644 --- a/pixman/src/icstipple.c +++ b/pixman/src/icstipple.c @@ -41,15 +41,15 @@ #define LaneCases64(c,a) LaneCases32(c,a); LaneCases32(c+32,a) #define LaneCases128(c,a) LaneCases64(c,a); LaneCases64(c+64,a) #define LaneCases256(c,a) LaneCases128(c,a); LaneCases128(c+128,a) - + #if FB_SHIFT == 6 #define LaneCases(a) LaneCases256(0,a) #endif - + #if FB_SHIFT == 5 #define LaneCases(a) LaneCases16(0,a) #endif - + /* * Repeat a transparent stipple across a scanline n times */ diff --git a/pixman/src/ictrap.c b/pixman/src/ictrap.c index 72616f31..68b47506 100644 --- a/pixman/src/ictrap.c +++ b/pixman/src/ictrap.c @@ -81,16 +81,16 @@ pixman_trapezoid_bounds (int ntrap, const pixman_trapezoid_t *traps, pixman_box1 y1 = xFixedToInt (traps->top); if (y1 < box->y1) box->y1 = y1; - + y2 = xFixedToInt (xFixedCeil (traps->bottom)); if (y2 > box->y2) box->y2 = y2; - + x1 = xFixedToInt (MIN (pixman_line_fixed_x (&traps->left, traps->top, 0), pixman_line_fixed_x (&traps->left, traps->bottom, 0))); if (x1 < box->x1) box->x1 = x1; - + x2 = xFixedToInt (xFixedCeil (MAX (pixman_line_fixed_x (&traps->right, traps->top, 1), pixman_line_fixed_x (&traps->right, traps->bottom, 1)))); if (x2 > box->x2) @@ -132,7 +132,7 @@ pixman_composite_trapezoids (pixman_operator_t op, xDst = traps[0].left.p1.x >> 16; yDst = traps[0].left.p1.y >> 16; - + pixman_trapezoid_bounds (ntraps, traps, &traps_bounds); traps_region = pixman_region_create_simple (&traps_bounds); diff --git a/pixman/src/ictri.c b/pixman/src/ictri.c index a3947ab5..f6129663 100644 --- a/pixman/src/ictri.c +++ b/pixman/src/ictri.c @@ -94,25 +94,25 @@ FbRasterizeTriangle (pixman_image_t *image, * / --- --- \ * +-- --+ */ - + trap[0].top = top->y; - + trap[0].left.p1.x = top->x; trap[0].left.p1.y = trap[0].top; trap[0].left.p2.x = left->x; trap[0].left.p2.y = left->y; - + trap[0].right.p1 = trap[0].left.p1; trap[0].right.p2.x = right->x; trap[0].right.p2.y = right->y; - + if (right->y < left->y) { trap[0].bottom = trap[0].right.p2.y; trap[1].top = trap[0].bottom; trap[1].bottom = trap[0].left.p2.y; - + trap[1].left = trap[0].left; trap[1].right.p1 = trap[0].right.p2; trap[1].right.p2 = trap[0].left.p2; @@ -120,10 +120,10 @@ FbRasterizeTriangle (pixman_image_t *image, else { trap[0].bottom = trap[0].left.p2.y; - + trap[1].top = trap[0].bottom; trap[1].bottom = trap[0].right.p2.y; - + trap[1].right = trap[0].right; trap[1].left.p1 = trap[0].left.p2; trap[1].left.p2 = trap[0].right.p2; @@ -148,12 +148,12 @@ pixman_composite_triangles (pixman_operator_t op, int xDst, yDst; int xRel, yRel; pixman_format_t *format; - + xDst = tris[0].p1.x >> 16; yDst = tris[0].p1.y >> 16; format = pixman_format_create (PIXMAN_FORMAT_NAME_A8); - + if (format) { pixman_triangle_bounds (ntris, tris, &bounds); @@ -223,12 +223,12 @@ pixman_composite_tri_strip (pixman_operator_t op, if (npoints < 3) return; - + xDst = points[0].x >> 16; yDst = points[0].y >> 16; format = pixman_format_create (PIXMAN_FORMAT_NAME_A8); - + if (format) { pixman_point_fixed_bounds (npoints, points, &bounds); @@ -298,7 +298,7 @@ pixman_composite_tri_fan (pixman_operator_t op, int xDst, yDst; int xRel, yRel; pixman_format_t *format; - + if (npoints < 3) return; @@ -306,7 +306,7 @@ pixman_composite_tri_fan (pixman_operator_t op, yDst = points[0].y >> 16; format = pixman_format_create (PIXMAN_FORMAT_NAME_A8); - + if (format) { pixman_point_fixed_bounds (npoints, points, &bounds); diff --git a/pixman/src/icutil.c b/pixman/src/icutil.c index f6119df7..0a4ba669 100644 --- a/pixman/src/icutil.c +++ b/pixman/src/icutil.c @@ -28,7 +28,7 @@ pixman_bits_t fbReplicatePixel (Pixel p, int bpp) { pixman_bits_t b = p; - + b &= FbFullMask (bpp); while (bpp < FB_UNIT) { diff --git a/pixman/src/pixregion.c b/pixman/src/pixregion.c index e5660969..bb2eb4fe 100644 --- a/pixman/src/pixregion.c +++ b/pixman/src/pixregion.c @@ -21,7 +21,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of The Open Group shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group. - + Copyright 1987, 1988, 1989 by Digital Equipment Corporation, Maynard, Massachusetts. @@ -244,7 +244,7 @@ pixman_region16_tsEqual(reg1, reg2) if (reg1->extents.y1 != reg2->extents.y1) return PIXMAN_REGION_STATUS_FAILURE; if (reg1->extents.y2 != reg2->extents.y2) return PIXMAN_REGION_STATUS_FAILURE; if (PIXREGION_NUM_RECTS(reg1) != PIXREGION_NUM_RECTS(reg2)) return PIXMAN_REGION_STATUS_FAILURE; - + rects1 = PIXREGION_RECTS(reg1); rects2 = PIXREGION_RECTS(reg2); for (i = 0; i != PIXREGION_NUM_RECTS(reg1); i++) { @@ -321,7 +321,7 @@ pixman_region16_t * pixman_region_create_simple (pixman_box16_t *extents) { pixman_region16_t *region; - + region = malloc (sizeof (pixman_region16_t)); if (region == NULL) return &pixman_brokenregion; @@ -393,7 +393,7 @@ static pixman_region_status_t pixman_rect_alloc(pixman_region16_t * region, int n) { pixman_region16_data_t *data; - + if (!region->data) { n++; @@ -690,7 +690,7 @@ pixman_op( */ if (PIXREGION_NAR (reg1) || PIXREGION_NAR(reg2)) return pixman_break (newReg); - + /* * Initialization: * set r1, r2, r1End and r2End appropriately, save the rectangles @@ -742,7 +742,7 @@ pixman_op( */ ybot = MIN(r1->y1, r2->y1); - + /* * prevBand serves to mark the start of the previous band so rectangles * can be coalesced into larger rectangles. qv. pixman_coalesce, above. @@ -753,7 +753,7 @@ pixman_op( * array of rectangles. */ prevBand = 0; - + do { /* * This algorithm proceeds one source-band (as opposed to a @@ -764,7 +764,7 @@ pixman_op( */ assert(r1 != r1End); assert(r2 != r2End); - + FindBand(r1, r1BandEnd, r1End, r1y1); FindBand(r2, r2BandEnd, r2End, r2y1); @@ -1141,7 +1141,7 @@ pixman_region_unionO ( MERGERECT(r2); } while (r2 != r2End); } - + /* Add current rectangle */ NEWRECT(region, pNextRect, x1, y1, x2, y2); @@ -1274,7 +1274,7 @@ pixman_region_append(dstrgn, rgn) if (PIXREGION_NAR(rgn)) return pixman_break (dstrgn); - + if (!rgn->data && (dstrgn->data == &pixman_region_emptyData)) { dstrgn->extents = rgn->extents; @@ -1349,7 +1349,7 @@ pixman_region_append(dstrgn, rgn) return PIXMAN_REGION_STATUS_SUCCESS; } - + #define ExchangeRects(a, b) \ { \ pixman_box16_t t; \ @@ -1758,7 +1758,7 @@ pixman_region_subtractO ( int x1; x1 = r1->x1; - + assert(y1<y2); assert(r1 != r1End && r2 != r2End); @@ -1852,7 +1852,7 @@ pixman_region_subtractO ( } return PIXMAN_REGION_STATUS_SUCCESS; } - + /*- *----------------------------------------------------------------------- * pixman_region_subtract -- @@ -1894,7 +1894,7 @@ pixman_region_subtract(regD, regM, regS) regD->data = &pixman_region_emptyData; return PIXMAN_REGION_STATUS_SUCCESS; } - + /* Add those rectangles in region 1 that aren't in region 2, do yucky substraction for overlaps, and just throw away rectangles in region 2 that aren't in region 1 */ @@ -2430,7 +2430,7 @@ pixman_region16_clip_spans( clipy1 = prgnDst->extents.y1; clipx2 = prgnDst->extents.x2; clipy2 = prgnDst->extents.y2; - + for (; ppt != pptLast; ppt++, pwidth++) { y = ppt->y; @@ -2468,7 +2468,7 @@ pixman_region16_clip_spans( pboxBandStart = PIXREGION_BOXPTR(prgnDst); pboxLast = pboxBandStart + numRects; - + NextBand(); for (; ppt != pptLast; ) diff --git a/pixman/src/renderedge.c b/pixman/src/renderedge.c index 56fcfb3e..42fa65fd 100644 --- a/pixman/src/renderedge.c +++ b/pixman/src/renderedge.c @@ -32,7 +32,7 @@ RenderSampleCeilY (xFixed y, int n) { xFixed f = xFixedFrac(y); xFixed i = xFixedFloor(y); - + f = ((f + Y_FRAC_FIRST(n)) / STEP_Y_SMALL(n)) * STEP_Y_SMALL(n) + Y_FRAC_FIRST(n); if (f > Y_FRAC_LAST(n)) { @@ -53,7 +53,7 @@ RenderSampleFloorY (xFixed y, int n) { xFixed f = xFixedFrac(y); xFixed i = xFixedFloor (y); - + f = _div(f - Y_FRAC_FIRST(n), STEP_Y_SMALL(n)) * STEP_Y_SMALL(n) + Y_FRAC_FIRST(n); if (f < Y_FRAC_FIRST(n)) { @@ -72,9 +72,9 @@ RenderEdgeStep (RenderEdge *e, int n) xFixed_48_16 ne; e->x += n * e->stepx; - + ne = e->e + n * (xFixed_48_16) e->dx; - + if (n >= 0) { if (ne > 0) @@ -104,7 +104,7 @@ _RenderEdgeMultiInit (RenderEdge *e, int n, xFixed *stepx_p, xFixed *dx_p) { xFixed stepx; xFixed_48_16 ne; - + ne = n * (xFixed_48_16) e->dx; stepx = n * e->stepx; if (ne > 0) @@ -153,7 +153,7 @@ RenderEdgeInit (RenderEdge *e, e->dx = -dx % dy; e->e = 0; } - + _RenderEdgeMultiInit (e, STEP_Y_SMALL(n), &e->stepx_small, &e->dx_small); _RenderEdgeMultiInit (e, STEP_Y_BIG(n), &e->stepx_big, &e->dx_big); } diff --git a/src/cairo-analysis-surface.c b/src/cairo-analysis-surface.c index fdcd17fd..d06e3fea 100644 --- a/src/cairo-analysis-surface.c +++ b/src/cairo-analysis-surface.c @@ -43,7 +43,7 @@ typedef struct { int height; cairo_surface_t *target; - + cairo_bool_t fallback; } cairo_analysis_surface_t; diff --git a/src/cairo-arc.c b/src/cairo-arc.c index 4b767f17..e65e381b 100644 --- a/src/cairo-arc.c +++ b/src/cairo-arc.c @@ -190,7 +190,7 @@ _cairo_arc_in_direction (cairo_t *cr, _cairo_arc_in_direction (cr, xc, yc, radius, angle_min, angle_mid, dir); - + _cairo_arc_in_direction (cr, xc, yc, radius, angle_mid, angle_max, dir); diff --git a/src/cairo-atsui-font.c b/src/cairo-atsui-font.c index 878eaf8b..4adeabdc 100644 --- a/src/cairo-atsui-font.c +++ b/src/cairo-atsui-font.c @@ -186,7 +186,7 @@ _cairo_atsui_font_set_metrics (cairo_atsui_font_t *font) if (err == noErr) { cairo_font_extents_t extents; - + extents.ascent = metrics.ascent; extents.descent = -metrics.descent; extents.height = metrics.capHeight; @@ -407,7 +407,7 @@ _line_to (const Float32Point *point, _cairo_path_fixed_line_to (path, _cairo_fixed_from_double(point->x), _cairo_fixed_from_double(point->y)); - + return noErr; } @@ -426,7 +426,7 @@ _curve_to (const Float32Point *point1, _cairo_fixed_from_double(point2->y), _cairo_fixed_from_double(point3->x), _cairo_fixed_from_double(point3->y)); - + return noErr; } @@ -553,7 +553,7 @@ _cairo_atsui_font_text_to_glyphs (void *abstract_font, kATSUDirectDataLayoutRecordATSLayoutRecordCurrent, (void *) &layoutRecords); ATSUDisposeTextLayout(textLayout); - + return CAIRO_STATUS_SUCCESS; } @@ -599,7 +599,7 @@ _cairo_atsui_font_old_show_glyphs (void *abstract_font, /* Create a CGBitmapContext for the dest surface for drawing into */ colorSpace = CGColorSpaceCreateDeviceRGB(); - + myBitmapContext = CGBitmapContextCreate(destImageSurface->data, destImageSurface->width, destImageSurface->height, @@ -658,23 +658,23 @@ _cairo_atsui_font_old_show_glyphs (void *abstract_font, rects = malloc (sizeof (CGRect) * num_boxes); else rects = stack_rects; - + for (i = 0; i < num_boxes; i++) { rects[i].origin.x = boxes[i].x1; rects[i].origin.y = boxes[i].y1; rects[i].size.width = boxes[i].x2 - boxes[i].x1; rects[i].size.height = boxes[i].y2 - boxes[i].y1; } - + CGContextClipToRects (drawingContext, rects, num_boxes); - + if (rects != stack_rects) free(rects); } } else { /* XXX: Need to get the text clipped */ } - + /* TODO - bold and italic text * * We could draw the text using ATSUI and get bold, italics @@ -682,10 +682,10 @@ _cairo_atsui_font_old_show_glyphs (void *abstract_font, * that we don't really need... */ - + for (i = 0; i < num_glyphs; i++) { CGGlyph theGlyph = glyphs[i].index; - + CGContextShowGlyphsAtPoint(drawingContext, glyphs[i].x, glyphs[i].y, @@ -695,7 +695,7 @@ _cairo_atsui_font_old_show_glyphs (void *abstract_font, if (!can_draw_directly) { CGColorSpaceRelease(colorSpace); CGContextRelease(myBitmapContext); - + _cairo_surface_release_dest_image(generic_surface, &rect, destImageSurface, diff --git a/src/cairo-base85-stream.c b/src/cairo-base85-stream.c index 1d4535a9..43401e68 100644 --- a/src/cairo-base85-stream.c +++ b/src/cairo-base85-stream.c @@ -49,7 +49,7 @@ _expand_four_tuple_to_five (unsigned char four_tuple[4], { uint32_t value; int digit, i; - + value = four_tuple[0] << 24 | four_tuple[1] << 16 | four_tuple[2] << 8 | four_tuple[3]; if (all_zero) *all_zero = TRUE; diff --git a/src/cairo-clip.c b/src/cairo-clip.c index 06c2abd0..b0d142b1 100644 --- a/src/cairo-clip.c +++ b/src/cairo-clip.c @@ -114,7 +114,7 @@ _cairo_clip_reset (cairo_clip_t *clip) _cairo_clip_path_destroy (clip->path); clip->path = NULL; - + return CAIRO_STATUS_SUCCESS; } @@ -133,11 +133,11 @@ _cairo_clip_intersect_to_rectangle (cairo_clip_t *clip, pixman_region16_t *intersection; cairo_status_t status = CAIRO_STATUS_SUCCESS; pixman_region_status_t pixman_status; - + intersection = _cairo_region_create_from_rectangle (rectangle); if (intersection == NULL) return CAIRO_STATUS_NO_MEMORY; - + pixman_status = pixman_region_intersect (intersection, clip->region, intersection); @@ -176,11 +176,11 @@ _cairo_clip_intersect_to_region (cairo_clip_t *clip, pixman_region16_t *clip_rect; pixman_region_status_t pixman_status; cairo_status_t status = CAIRO_STATUS_SUCCESS; - + clip_rect = _cairo_region_create_from_rectangle (&clip->surface_rect); if (clip_rect == NULL) return CAIRO_STATUS_NO_MEMORY; - + pixman_status = pixman_region_intersect (region, clip_rect, region); @@ -212,7 +212,7 @@ _cairo_clip_combine_to_surface (cairo_clip_t *clip, cairo_status_t status; _cairo_pattern_init_for_surface (&pattern.surface, clip->surface); - + status = _cairo_surface_composite (op, &pattern.base, NULL, @@ -223,7 +223,7 @@ _cairo_clip_combine_to_surface (cairo_clip_t *clip, extents->x - dst_x, extents->y - dst_y, extents->width, extents->height); - + _cairo_pattern_fini (&pattern.base); return status; @@ -298,11 +298,11 @@ _cairo_clip_intersect_region (cairo_clip_t *clip, if (clip->mode != CAIRO_CLIP_MODE_REGION) return CAIRO_INT_STATUS_UNSUPPORTED; - + status = _cairo_traps_extract_region (traps, ®ion); if (status) return status; - + if (region == NULL) return CAIRO_INT_STATUS_UNSUPPORTED; @@ -311,7 +311,7 @@ _cairo_clip_intersect_region (cairo_clip_t *clip, clip->region = region; } else { pixman_region16_t *intersection = pixman_region_create(); - + if (pixman_region_intersect (intersection, clip->region, region) == PIXMAN_REGION_STATUS_SUCCESS) { @@ -369,7 +369,7 @@ _cairo_clip_intersect_mask (cairo_clip_t *clip, _cairo_traps_translate (traps, -surface_rect.x, -surface_rect.y); _cairo_pattern_init_solid (&pattern.solid, CAIRO_COLOR_WHITE); - + status = _cairo_surface_composite_trapezoids (CAIRO_OPERATOR_IN, &pattern.base, surface, @@ -442,7 +442,7 @@ _cairo_clip_clip (cairo_clip_t *clip, _cairo_fixed_from_double (target->device_y_offset)); path = &path_transformed; } - + status = _cairo_clip_intersect_path (clip, path, fill_rule, tolerance, antialias); @@ -466,7 +466,7 @@ _cairo_clip_clip (cairo_clip_t *clip, goto bail; status = _cairo_clip_intersect_mask (clip, &traps, antialias, target); - + bail: _cairo_traps_fini (&traps); if (path == &path_transformed) diff --git a/src/cairo-directfb-surface.c b/src/cairo-directfb-surface.c index 0b13de16..8776581b 100644 --- a/src/cairo-directfb-surface.c +++ b/src/cairo-directfb-surface.c @@ -266,7 +266,7 @@ _cairo_directfb_surface_get_image (cairo_directfb_surface_t *surface, surface->buffer_data=NULL; } surface->buffer->Unlock(surface->buffer); - + surface->main_surface->GetSize(surface->main_surface,&width,&height); surface->main_surface->GetPixelFormat(surface->main_surface,&dfbformat); @@ -508,7 +508,7 @@ _cairo_directfb_surface_composite (cairo_operator_t op, if (src->base.backend != dst->base.backend){ return CAIRO_INT_STATUS_UNSUPPORTED; } - + integer_transform = _cairo_matrix_is_integer_translation (&src_pattern->matrix, &itx, &ity); if (!integer_transform) { return CAIRO_INT_STATUS_UNSUPPORTED; @@ -776,7 +776,7 @@ _cairo_directfb_surface_show_glyphs (cairo_scaled_font_t *scaled_font, surface->buffer->SetColor(surface->buffer,0,0xff,0xff,0xff); #endif surface->buffer->Blit(surface->buffer,tmpbuffer,NULL,x,y); - + } return CAIRO_INT_STATUS_UNSUPPORTED; } diff --git a/src/cairo-font-options.c b/src/cairo-font-options.c index 920e6edd..91d7a4db 100644 --- a/src/cairo-font-options.c +++ b/src/cairo-font-options.c @@ -54,7 +54,7 @@ _cairo_font_options_init_default (cairo_font_options_t *options) { if (options == (cairo_font_options_t *)&cairo_font_options_nil) return; - + options->antialias = CAIRO_ANTIALIAS_DEFAULT; options->subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT; options->hint_style = CAIRO_HINT_STYLE_DEFAULT; @@ -237,7 +237,7 @@ cairo_font_options_set_antialias (cairo_font_options_t *options, { if (options == (cairo_font_options_t *)&cairo_font_options_nil) return; - + options->antialias = antialias; } @@ -272,7 +272,7 @@ cairo_font_options_set_subpixel_order (cairo_font_options_t *options, { if (options == (cairo_font_options_t *)&cairo_font_options_nil) return; - + options->subpixel_order = subpixel_order; } @@ -307,7 +307,7 @@ cairo_font_options_set_hint_style (cairo_font_options_t *options, { if (options == (cairo_font_options_t *)&cairo_font_options_nil) return; - + options->hint_style = hint_style; } diff --git a/src/cairo-font-subset.c b/src/cairo-font-subset.c index c504f2e0..f96b2a4b 100644 --- a/src/cairo-font-subset.c +++ b/src/cairo-font-subset.c @@ -331,7 +331,7 @@ cairo_pdf_ft_font_write_generic_table (cairo_pdf_ft_font_t *font, status = cairo_pdf_ft_font_allocate_write_buffer (font, size, &buffer); /* XXX: Need to check status here. */ FT_Load_Sfnt_Table (font->face, tag, 0, buffer, &size); - + return 0; } @@ -371,7 +371,7 @@ cairo_pdf_ft_font_remap_composite_glyph (cairo_pdf_ft_font_t *font, glyph_data = (glyph_data_t *) buffer; if ((short)be16_to_cpu (glyph_data->num_contours) >= 0) return; - + composite_glyph = &glyph_data->glyph; do { flags = be16_to_cpu (composite_glyph->flags); @@ -573,7 +573,7 @@ cairo_pdf_ft_font_write_maxp_table (cairo_pdf_ft_font_t *font, TT_MaxProfile *maxp; maxp = FT_Get_Sfnt_Table (font->face, ft_sfnt_maxp); - + cairo_pdf_ft_font_write_be32 (font, maxp->version); cairo_pdf_ft_font_write_be16 (font, font->base.num_glyphs); cairo_pdf_ft_font_write_be16 (font, maxp->maxPoints); diff --git a/src/cairo-font.c b/src/cairo-font.c index 425021a1..40020a09 100644 --- a/src/cairo-font.c +++ b/src/cairo-font.c @@ -202,7 +202,7 @@ cairo_font_face_set_user_data (cairo_font_face_t *font_face, { if (font_face->ref_count == -1) return CAIRO_STATUS_NO_MEMORY; - + return _cairo_user_data_array_set_data (&font_face->user_data, key, user_data, destroy); } @@ -277,7 +277,7 @@ _cairo_toy_font_face_init_key (cairo_toy_font_face_t *key, hash = _cairo_hash_string (family); hash += ((unsigned long) slant) * 1607; hash += ((unsigned long) weight) * 1451; - + key->base.hash_entry.hash = hash; } @@ -350,7 +350,7 @@ _cairo_toy_font_face_create (const char *family, goto UNWIND; _cairo_toy_font_face_init_key (&key, family, slant, weight); - + /* Return existing font_face if it exists in the hash table. */ if (_cairo_hash_table_lookup (hash_table, &key.base.hash_entry, @@ -400,9 +400,9 @@ _cairo_toy_font_face_destroy (void *abstract_face) assert (hash_table != NULL); _cairo_hash_table_remove (hash_table, &font_face->base.hash_entry); - + _cairo_toy_font_face_hash_table_unlock (); - + _cairo_toy_font_face_fini (font_face); } diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c index d48cec7e..2a06eebb 100644 --- a/src/cairo-ft-font.c +++ b/src/cairo-ft-font.c @@ -96,7 +96,7 @@ struct _cairo_ft_unscaled_font { double x_scale; /* Extracted X scale factor */ double y_scale; /* Extracted Y scale factor */ cairo_bool_t have_shape; /* true if the current scale has a non-scale component*/ - + int lock; /* count of how many times this font has been locked */ cairo_ft_font_face_t *faces; /* Linked list of faces for this font */ @@ -276,7 +276,7 @@ _cairo_ft_unscaled_font_init_key (cairo_ft_unscaled_font_t *key, /* 1607 is just an arbitrary prime. */ hash = _cairo_hash_string (filename); hash += ((unsigned long) id) * 1607; - + key->base.hash_entry.hash = hash; } @@ -330,7 +330,7 @@ _cairo_ft_unscaled_font_init (cairo_ft_unscaled_font_t *unscaled, unscaled->have_scale = FALSE; unscaled->lock = 0; - + unscaled->faces = NULL; return CAIRO_STATUS_SUCCESS; @@ -387,14 +387,14 @@ _cairo_ft_unscaled_font_create_for_pattern (FcPattern *pattern) FcChar8 *fc_filename; char *filename; int id; - + if (FcPatternGetString (pattern, FC_FILE, 0, &fc_filename) != FcResultMatch) goto UNWIND; filename = (char *) fc_filename; if (FcPatternGetInteger (pattern, FC_INDEX, 0, &id) != FcResultMatch) goto UNWIND; - + font_map = _cairo_ft_unscaled_font_map_lock (); if (font_map == NULL) goto UNWIND; @@ -473,7 +473,7 @@ _cairo_ft_unscaled_font_destroy (void *abstract_font) cairo_font_face_destroy (&unscaled->faces->base); } else { cairo_ft_unscaled_font_map_t *font_map; - + font_map = _cairo_ft_unscaled_font_map_lock (); /* All created objects must have been mapped in the font map. */ assert (font_map != NULL); @@ -516,14 +516,14 @@ _cairo_ft_unscaled_font_lock_face (cairo_ft_unscaled_font_t *unscaled) /* If this unscaled font was created from an FT_Face then we just * returned it above. */ assert (!unscaled->from_face); - + font_map = _cairo_ft_unscaled_font_map_lock (); assert (font_map != NULL); - + while (font_map->num_open_faces >= MAX_OPEN_FACES) { cairo_ft_unscaled_font_t *entry; - + entry = _cairo_hash_table_random_entry (font_map->hash_table, _has_unlocked_face); if (entry == NULL) @@ -555,7 +555,7 @@ void _cairo_ft_unscaled_font_unlock_face (cairo_ft_unscaled_font_t *unscaled) { assert (unscaled->lock > 0); - + unscaled->lock--; } @@ -565,7 +565,7 @@ _compute_transform (cairo_ft_font_transform_t *sf, { cairo_matrix_t normalized = *scale; double tx, ty; - + /* The font matrix has x and y "scale" components which we extract and * use as character scale values. These influence the way freetype * chooses hints, as well as selecting different bitmaps in @@ -576,10 +576,10 @@ _compute_transform (cairo_ft_font_transform_t *sf, _cairo_matrix_compute_scale_factors (&normalized, &sf->x_scale, &sf->y_scale, /* XXX */ 1); - + if (sf->x_scale != 0 && sf->y_scale != 0) { cairo_matrix_scale (&normalized, 1.0 / sf->x_scale, 1.0 / sf->y_scale); - + _cairo_matrix_get_affine (&normalized, &sf->shape[0][0], &sf->shape[0][1], &sf->shape[1][0], &sf->shape[1][1], @@ -603,7 +603,7 @@ _cairo_ft_unscaled_font_set_scale (cairo_ft_unscaled_font_t *unscaled, FT_Error error; assert (unscaled->face != NULL); - + if (unscaled->have_scale && scale->xx == unscaled->current_scale.xx && scale->yx == unscaled->current_scale.yx && @@ -613,12 +613,12 @@ _cairo_ft_unscaled_font_set_scale (cairo_ft_unscaled_font_t *unscaled, unscaled->have_scale = TRUE; unscaled->current_scale = *scale; - + _compute_transform (&sf, scale); unscaled->x_scale = sf.x_scale; unscaled->y_scale = sf.y_scale; - + mat.xx = DOUBLE_TO_16_16(sf.shape[0][0]); mat.yx = - DOUBLE_TO_16_16(sf.shape[0][1]); mat.xy = - DOUBLE_TO_16_16(sf.shape[1][0]); @@ -628,7 +628,7 @@ _cairo_ft_unscaled_font_set_scale (cairo_ft_unscaled_font_t *unscaled, mat.yx != 0x00000 || mat.xy != 0x00000 || mat.yy != 0x10000); - + FT_Set_Transform(unscaled->face, &mat, NULL); if ((unscaled->face->face_flags & FT_FACE_FLAG_SCALABLE) != 0) { @@ -644,7 +644,7 @@ _cairo_ft_unscaled_font_set_scale (cairo_ft_unscaled_font_t *unscaled, int best_i = 0; pixel_width = pixel_height = 0; - + for (i = 0; i < unscaled->face->num_fixed_sizes; i++) { #if HAVE_FT_BITMAP_SIZE_Y_PPEM double size = unscaled->face->available_sizes[i].y_ppem / 64.; @@ -652,7 +652,7 @@ _cairo_ft_unscaled_font_set_scale (cairo_ft_unscaled_font_t *unscaled, double size = unscaled->face->available_sizes[i].height; #endif double distance = fabs (size - sf.y_scale); - + if (distance <= min_distance) { min_distance = distance; best_i = i; @@ -711,10 +711,10 @@ _get_bitmap_surface (FT_Bitmap *bitmap, unsigned char *data; int format = CAIRO_FORMAT_A8; cairo_bool_t subpixel = FALSE; - + width = bitmap->width; height = bitmap->rows; - + switch (bitmap->pixel_mode) { case FT_PIXEL_MODE_MONO: stride = (((width + 31) & ~31) >> 3); @@ -731,24 +731,24 @@ _get_bitmap_surface (FT_Bitmap *bitmap, } else { int i; unsigned char *source, *dest; - + source = bitmap->buffer; dest = data; for (i = height; i; i--) { memcpy (dest, source, bitmap->pitch); memset (dest + bitmap->pitch, '\0', stride - bitmap->pitch); - + source += bitmap->pitch; dest += stride; } } } - + if (_native_byte_order_lsb()) { unsigned char *d = data, c; int count = stride * height; - + while (count--) { c = *d; c = ((c << 1) & 0xaa) | ((c >> 1) & 0x55); @@ -791,7 +791,7 @@ _get_bitmap_surface (FT_Bitmap *bitmap, unsigned int width_rgba, stride_rgba; int vmul = 1; int hmul = 1; - + switch (font_options->subpixel_order) { case CAIRO_SUBPIXEL_ORDER_DEFAULT: case CAIRO_SUBPIXEL_ORDER_RGB: @@ -813,7 +813,7 @@ _get_bitmap_surface (FT_Bitmap *bitmap, stride = bitmap->pitch; stride_rgba = (width_rgba * 4 + 3) & ~3; data_rgba = calloc (1, stride_rgba * height); - + os = 1; switch (font_options->subpixel_order) { case CAIRO_SUBPIXEL_ORDER_VRGB: @@ -858,11 +858,11 @@ _get_bitmap_surface (FT_Bitmap *bitmap, *out++ = (green << 24) | (red << 16) | (green << 8) | blue; } } - + /* Images here are stored in native format. The * backend must convert to its own format as needed */ - + if (own_buffer) free (bitmap->buffer); data = data_rgba; @@ -879,7 +879,7 @@ _get_bitmap_surface (FT_Bitmap *bitmap, default: return CAIRO_STATUS_NO_MEMORY; } - + *surface = (cairo_image_surface_t *) cairo_image_surface_create_for_data (data, format, @@ -888,7 +888,7 @@ _get_bitmap_surface (FT_Bitmap *bitmap, free (data); return CAIRO_STATUS_NO_MEMORY; } - + if (subpixel) pixman_image_set_component_alpha ((*surface)->pixman_image, TRUE); @@ -964,7 +964,7 @@ _render_glyph_outline (FT_Face face, matrix.xx = matrix.yy = 0x10000L; matrix.xy = matrix.yx = 0; - + switch (font_options->antialias) { case CAIRO_ANTIALIAS_NONE: bitmap.pixel_mode = FT_PIXEL_MODE_MONO; @@ -999,18 +999,18 @@ _render_glyph_outline (FT_Face face, bitmap.num_grays = 256; stride = (width * hmul + 3) & -4; } - + bitmap.pitch = stride; bitmap.width = width * hmul; bitmap.rows = height * vmul; bitmap.buffer = calloc (1, stride * bitmap.rows); - + if (bitmap.buffer == NULL) { return CAIRO_STATUS_NO_MEMORY; } - + FT_Outline_Translate (outline, -cbox.xMin*hmul, -cbox.yMin*vmul); - + if (FT_Outline_Get_Bitmap (glyphslot->library, outline, &bitmap) != 0) { free (bitmap.buffer); return CAIRO_STATUS_NO_MEMORY; @@ -1070,7 +1070,7 @@ _render_glyph_bitmap (FT_Face face, status = _get_bitmap_surface (&glyphslot->bitmap, FALSE, font_options, surface); if (status) return status; - + /* * Note: the font's coordinate system is upside down from ours, so the * Y coordinate of the control box needs to be negated. @@ -1099,7 +1099,7 @@ _transform_glyph_bitmap (cairo_image_glyph_cache_entry_t *val) int width, height; cairo_status_t status; cairo_surface_pattern_t pattern; - + /* We want to compute a transform that takes the origin * (val->size.x, val->size.y) to 0,0, then applies the "shape" * portion of the font transform @@ -1128,7 +1128,7 @@ _transform_glyph_bitmap (cairo_image_glyph_cache_entry_t *val) x_min = floor (x[0]); y_min = floor (y[0]); x_max = ceil (x[0]); y_max = ceil (y[0]); - + for (i = 1; i < 4; i++) { if (x[i] < x_min) x_min = floor (x[i]); @@ -1199,7 +1199,7 @@ _transform_glyph_bitmap (cairo_image_glyph_cache_entry_t *val) val->size.height = height; val->size.x = - floor (origin_x + 0.5); val->size.y = - floor (origin_y + 0.5); - + return status; } #endif @@ -1255,7 +1255,7 @@ _get_pattern_ft_options (FcPattern *pattern) if (FcPatternGetBool (pattern, FC_EMBEDDED_BITMAP, 0, &bitmap) != FcResultMatch) bitmap = FcFalse; - + /* disable antialiasing if requested */ if (FcPatternGetBool (pattern, FC_ANTIALIAS, 0, &antialias) != FcResultMatch) @@ -1265,7 +1265,7 @@ _get_pattern_ft_options (FcPattern *pattern) ft_options.load_flags |= FT_LOAD_NO_BITMAP; else if (!antialias) ft_options.load_flags |= FT_LOAD_MONOCHROME; - + /* disable hinting if requested */ if (FcPatternGetBool (pattern, FC_HINTING, 0, &hinting) != FcResultMatch) @@ -1277,7 +1277,7 @@ _get_pattern_ft_options (FcPattern *pattern) if (!hinting || hintstyle == FC_HINT_NONE) ft_options.load_flags |= FT_LOAD_NO_HINTING; - + if (antialias) { switch (hintstyle) { case FC_HINT_SLIGHT: @@ -1318,22 +1318,22 @@ _get_pattern_ft_options (FcPattern *pattern) } ft_options.load_flags |= target_flags; - + /* force autohinting if requested */ if (FcPatternGetBool (pattern, FC_AUTOHINT, 0, &autohint) != FcResultMatch) autohint = FcFalse; - + if (autohint) ft_options.load_flags |= FT_LOAD_FORCE_AUTOHINT; - + if (FcPatternGetBool (pattern, FC_VERTICAL_LAYOUT, 0, &vertical_layout) != FcResultMatch) vertical_layout = FcFalse; - + if (vertical_layout) ft_options.load_flags |= FT_LOAD_VERTICAL_LAYOUT; - + #ifdef FC_EMBOLDEN { FcBool embolden; @@ -1341,12 +1341,12 @@ _get_pattern_ft_options (FcPattern *pattern) if (FcPatternGetBool (pattern, FC_EMBOLDEN, 0, &embolden) != FcResultMatch) embolden = FcFalse; - + if (embolden) ft_options.extra_flags |= CAIRO_FT_OPTIONS_EMBOLDEN; } #endif - + return ft_options; } @@ -1381,7 +1381,7 @@ _get_options_load_flags (const cairo_font_options_t *options) load_flags |= FT_LOAD_NO_BITMAP; break; } - + /* disable hinting if requested */ switch (options->hint_style) { case CAIRO_HINT_STYLE_NONE: @@ -1396,7 +1396,7 @@ _get_options_load_flags (const cairo_font_options_t *options) load_flags |= FT_LOAD_TARGET_NORMAL; break; } - + return load_flags; } @@ -1416,7 +1416,7 @@ _cairo_ft_scaled_font_create (cairo_ft_unscaled_font_t *unscaled, face = _cairo_ft_unscaled_font_lock_face (unscaled); if (!face) return NULL; - + scaled_font = malloc (sizeof(cairo_ft_scaled_font_t)); if (scaled_font == NULL) { _cairo_ft_unscaled_font_unlock_face (unscaled); @@ -1471,10 +1471,10 @@ _cairo_ft_scaled_font_create (cairo_ft_unscaled_font_t *unscaled, fs_metrics.max_x_advance = face->max_advance_width / scale; } - + /* FIXME: this doesn't do vertical layout atm. */ fs_metrics.max_y_advance = 0.0; - + _cairo_scaled_font_set_metrics (&scaled_font->base, &fs_metrics); return &scaled_font->base; @@ -1548,7 +1548,7 @@ _cairo_ft_scaled_font_create_toy (cairo_toy_font_face_t *toy_face, FcConfigSubstitute (NULL, pattern, FcMatchPattern); cairo_ft_font_options_substitute (font_options, pattern); FcDefaultSubstitute (pattern); - + resolved = FcFontMatch (NULL, pattern, &result); if (!resolved) goto FREE_PATTERN; @@ -1584,10 +1584,10 @@ static void _cairo_ft_scaled_font_fini (void *abstract_font) { cairo_ft_scaled_font_t *scaled_font = abstract_font; - + if (scaled_font == NULL) return; - + _cairo_unscaled_font_destroy (&scaled_font->unscaled->base); } @@ -1696,7 +1696,7 @@ _decompose_glyph_outline (FT_Face face, DOUBLE_TO_16_16 (1.0), 0, 0, DOUBLE_TO_16_16 (-1.0), }; - + FT_GlyphSlot glyph; cairo_path_fixed_t *path; @@ -1709,11 +1709,11 @@ _decompose_glyph_outline (FT_Face face, /* Font glyphs have an inverted Y axis compared to cairo. */ FT_Outline_Transform (&glyph->outline, &invert_y); FT_Outline_Decompose (&glyph->outline, &outline_funcs, path); - + _cairo_path_fixed_close_path (path); *pathp = path; - + return CAIRO_STATUS_SUCCESS; } @@ -1739,16 +1739,16 @@ _cairo_ft_scaled_glyph_init (void *abstract_font, if ((info & CAIRO_SCALED_GLYPH_INFO_PATH) != 0 && (info & CAIRO_SCALED_GLYPH_INFO_SURFACE) == 0) load_flags |= FT_LOAD_NO_BITMAP; - + error = FT_Load_Glyph (scaled_font->unscaled->face, _cairo_scaled_glyph_index(scaled_glyph), load_flags); - + if (error) { cairo_ft_scaled_font_unlock_face (abstract_font); return CAIRO_STATUS_NO_MEMORY; } - + glyph = face->glyph; #if HAVE_FT_GLYPHSLOT_EMBOLDEN @@ -1758,23 +1758,23 @@ _cairo_ft_scaled_glyph_init (void *abstract_font, if (scaled_font->ft_options.extra_flags & CAIRO_FT_OPTIONS_EMBOLDEN) FT_GlyphSlot_Embolden (glyph); #endif - + if (info & CAIRO_SCALED_GLYPH_INFO_METRICS) { /* * Compute font-space metrics */ metrics = &glyph->metrics; - + if (unscaled->x_scale == 0) x_factor = 0; else x_factor = 1 / unscaled->x_scale; - + if (unscaled->y_scale == 0) y_factor = 0; else y_factor = 1 / unscaled->y_scale; - + /* * Note: the font's coordinate system is upside down from ours, so the * Y coordinates of the bearing and advance need to be negated. @@ -1785,27 +1785,27 @@ _cairo_ft_scaled_glyph_init (void *abstract_font, * If we want hinted metrics but aren't asking for hinted glyphs from * FreeType, then we need to do the metric hinting ourselves. */ - + if ((scaled_font->base.options.hint_metrics != CAIRO_HINT_METRICS_OFF) && (load_flags & FT_LOAD_NO_HINTING)) { FT_Pos x1, x2; FT_Pos y1, y2; FT_Pos advance; - + x1 = (metrics->horiBearingX) & -64; x2 = (metrics->horiBearingX + metrics->width + 63) & -64; y1 = (-metrics->horiBearingY) & -64; y2 = (-metrics->horiBearingY + metrics->height + 63) & -64; - + advance = ((metrics->horiAdvance + 32) & -64); - + fs_metrics.x_bearing = DOUBLE_FROM_26_6 (x1) * x_factor; fs_metrics.y_bearing = DOUBLE_FROM_26_6 (y1) * y_factor; - + fs_metrics.width = DOUBLE_FROM_26_6 (x2 - x1) * x_factor; fs_metrics.height = DOUBLE_FROM_26_6 (y2 - y1) * y_factor; - + /* * use untransformed advance values * XXX uses horizontal advance only at present; should provide FT_LOAD_VERTICAL_LAYOUT @@ -1815,19 +1815,19 @@ _cairo_ft_scaled_glyph_init (void *abstract_font, } else { fs_metrics.x_bearing = DOUBLE_FROM_26_6 (metrics->horiBearingX) * x_factor; fs_metrics.y_bearing = DOUBLE_FROM_26_6 (-metrics->horiBearingY) * y_factor; - + fs_metrics.width = DOUBLE_FROM_26_6 (metrics->width) * x_factor; fs_metrics.height = DOUBLE_FROM_26_6 (metrics->height) * y_factor; - + fs_metrics.x_advance = DOUBLE_FROM_26_6 (metrics->horiAdvance) * x_factor; fs_metrics.y_advance = 0 * y_factor; } - + _cairo_scaled_glyph_set_metrics (scaled_glyph, &scaled_font->base, &fs_metrics); } - + if ((info & CAIRO_SCALED_GLYPH_INFO_SURFACE) != 0) { cairo_image_surface_t *surface; cairo_status_t status; @@ -1845,11 +1845,11 @@ _cairo_ft_scaled_glyph_init (void *abstract_font, &scaled_font->base, surface); } - + if (info & CAIRO_SCALED_GLYPH_INFO_PATH) { cairo_path_fixed_t *path; cairo_status_t status; - + /* * A kludge -- the above code will trash the outline, * so reload it. This will probably never occur though @@ -1869,7 +1869,7 @@ _cairo_ft_scaled_glyph_init (void *abstract_font, &path); else status = CAIRO_STATUS_NO_MEMORY; - + if (status) { cairo_ft_scaled_font_unlock_face (abstract_font); return status; @@ -1878,9 +1878,9 @@ _cairo_ft_scaled_glyph_init (void *abstract_font, &scaled_font->base, path); } - + cairo_ft_scaled_font_unlock_face (abstract_font); - + return CAIRO_STATUS_SUCCESS; } @@ -1934,7 +1934,7 @@ static void _cairo_ft_font_face_destroy (void *abstract_face) { cairo_ft_font_face_t *font_face = abstract_face; - + cairo_ft_font_face_t *tmp_face = NULL; cairo_ft_font_face_t *last_face = NULL; @@ -1960,13 +1960,13 @@ _cairo_ft_font_face_destroy (void *abstract_face) font_face->unscaled->base.ref_count > 1) { cairo_font_face_reference (&font_face->base); - + _cairo_unscaled_font_destroy (&font_face->unscaled->base); font_face->unscaled = NULL; - + return; } - + if (font_face->unscaled) { /* Remove face from linked list */ for (tmp_face = font_face->unscaled->faces; @@ -1979,7 +1979,7 @@ _cairo_ft_font_face_destroy (void *abstract_face) else font_face->unscaled->faces = tmp_face->next; } - + last_face = tmp_face; } @@ -2007,7 +2007,7 @@ _cairo_ft_font_face_scaled_font_create (void *abstract_face, * cairo_ft_font_options_substitute(), so *just* use those load * flags and ignore the options. */ - + ft_options = font_face->ft_options; if (font_face->unscaled->from_face) ft_options.load_flags |= _get_options_load_flags (options); @@ -2048,15 +2048,15 @@ _cairo_ft_font_face_create (cairo_ft_unscaled_font_t *unscaled, font_face = malloc (sizeof (cairo_ft_font_face_t)); if (!font_face) return NULL; - + font_face->unscaled = unscaled; _cairo_unscaled_font_reference (&unscaled->base); - + font_face->ft_options = ft_options; font_face->next = unscaled->faces; unscaled->faces = font_face; - + _cairo_font_face_init (&font_face->base, &_cairo_ft_font_face_backend); return &font_face->base; @@ -2094,7 +2094,7 @@ cairo_ft_font_options_substitute (const cairo_font_options_t *options, if (FcPatternGet (pattern, FC_RGBA, 0, &v) == FcResultNoMatch) { int rgba; - + if (options->antialias == CAIRO_ANTIALIAS_SUBPIXEL) { switch (options->subpixel_order) { case CAIRO_SUBPIXEL_ORDER_DEFAULT: @@ -2115,7 +2115,7 @@ cairo_ft_font_options_substitute (const cairo_font_options_t *options, } else { rgba = FC_RGBA_NONE; } - + FcPatternAddInteger (pattern, FC_RGBA, rgba); } } @@ -2144,7 +2144,7 @@ cairo_ft_font_options_substitute (const cairo_font_options_t *options, hint_style = FC_HINT_FULL; break; } - + FcPatternAddInteger (pattern, FC_HINT_STYLE, hint_style); } #endif @@ -2243,7 +2243,7 @@ cairo_ft_font_face_create_for_ft_face (FT_Face face, ft_options.load_flags = load_flags; ft_options.extra_flags = 0; - + font_face = _cairo_ft_font_face_create (unscaled, ft_options); _cairo_unscaled_font_destroy (&unscaled->base); @@ -2279,7 +2279,7 @@ cairo_ft_font_face_create_for_ft_face (FT_Face face, * cairo_ft_unlock() after you are done. (These functions are not yet * implemented, so this function cannot be currently safely used in a * threaded application.) - + * Return value: The #FT_Face object for @font, scaled appropriately, * or %NULL if @scaled_font is in an error state (see * cairo_scaled_font_status()) or there is insufficient memory. @@ -2298,7 +2298,7 @@ cairo_ft_scaled_font_lock_face (cairo_scaled_font_t *abstract_font) _cairo_scaled_font_set_error (&scaled_font->base, CAIRO_STATUS_NO_MEMORY); return NULL; } - + _cairo_ft_unscaled_font_set_scale (scaled_font->unscaled, &scaled_font->base.scale); diff --git a/src/cairo-gstate-private.h b/src/cairo-gstate-private.h index 8cbe238e..25900482 100644 --- a/src/cairo-gstate-private.h +++ b/src/cairo-gstate-private.h @@ -40,7 +40,7 @@ struct _cairo_gstate { cairo_operator_t op; - + double tolerance; cairo_antialias_t antialias; diff --git a/src/cairo-gstate.c b/src/cairo-gstate.c index 2d4c79fb..68af94fd 100644 --- a/src/cairo-gstate.c +++ b/src/cairo-gstate.c @@ -115,7 +115,7 @@ _cairo_gstate_init (cairo_gstate_t *gstate, CAIRO_GSTATE_DEFAULT_FONT_SIZE); _cairo_font_options_init_default (&gstate->font_options); - + _cairo_clip_init (&gstate->clip, target); gstate->target = cairo_surface_reference (target); @@ -145,7 +145,7 @@ static cairo_status_t _cairo_gstate_init_copy (cairo_gstate_t *gstate, cairo_gstate_t *other) { cairo_status_t status; - + gstate->op = other->op; gstate->tolerance = other->tolerance; @@ -394,7 +394,7 @@ _cairo_gstate_set_source (cairo_gstate_t *gstate, cairo_pattern_destroy (gstate->source); gstate->source = source; gstate->source_ctm_inverse = gstate->ctm_inverse; - + return CAIRO_STATUS_SUCCESS; } @@ -499,7 +499,7 @@ _cairo_gstate_set_dash (cairo_gstate_t *gstate, double *dash, int num_dashes, do if (gstate->stroke_style.dash) free (gstate->stroke_style.dash); - + gstate->stroke_style.num_dashes = num_dashes; if (gstate->stroke_style.num_dashes == 0) { @@ -515,7 +515,7 @@ _cairo_gstate_set_dash (cairo_gstate_t *gstate, double *dash, int num_dashes, do } memcpy (gstate->stroke_style.dash, dash, gstate->stroke_style.num_dashes * sizeof (double)); - + dash_total = 0.0; for (i = 0; i < gstate->stroke_style.num_dashes; i++) { if (gstate->stroke_style.dash[i] < 0) @@ -567,7 +567,7 @@ _cairo_gstate_translate (cairo_gstate_t *gstate, double tx, double ty) cairo_matrix_t tmp; _cairo_gstate_unset_scaled_font (gstate); - + cairo_matrix_init_translate (&tmp, tx, ty); cairo_matrix_multiply (&gstate->ctm, &tmp, &gstate->ctm); @@ -586,7 +586,7 @@ _cairo_gstate_scale (cairo_gstate_t *gstate, double sx, double sy) return CAIRO_STATUS_INVALID_MATRIX; _cairo_gstate_unset_scaled_font (gstate); - + cairo_matrix_init_scale (&tmp, sx, sy); cairo_matrix_multiply (&gstate->ctm, &tmp, &gstate->ctm); @@ -602,7 +602,7 @@ _cairo_gstate_rotate (cairo_gstate_t *gstate, double angle) cairo_matrix_t tmp; _cairo_gstate_unset_scaled_font (gstate); - + cairo_matrix_init_rotate (&tmp, angle); cairo_matrix_multiply (&gstate->ctm, &tmp, &gstate->ctm); @@ -619,7 +619,7 @@ _cairo_gstate_transform (cairo_gstate_t *gstate, cairo_matrix_t tmp; _cairo_gstate_unset_scaled_font (gstate); - + tmp = *matrix; cairo_matrix_multiply (&gstate->ctm, &tmp, &gstate->ctm); @@ -636,7 +636,7 @@ _cairo_gstate_set_matrix (cairo_gstate_t *gstate, cairo_status_t status; _cairo_gstate_unset_scaled_font (gstate); - + gstate->ctm = *matrix; gstate->ctm_inverse = *matrix; @@ -651,7 +651,7 @@ cairo_status_t _cairo_gstate_identity_matrix (cairo_gstate_t *gstate) { _cairo_gstate_unset_scaled_font (gstate); - + cairo_matrix_init_identity (&gstate->ctm); cairo_matrix_init_identity (&gstate->ctm_inverse); @@ -818,7 +818,7 @@ _cairo_operator_bounded_by_mask (cairo_operator_t op) case CAIRO_OPERATOR_DEST_ATOP: return FALSE; } - + ASSERT_NOT_REACHED; return FALSE; } @@ -858,7 +858,7 @@ _cairo_operator_bounded_by_source (cairo_operator_t op) case CAIRO_OPERATOR_DEST_ATOP: return FALSE; } - + ASSERT_NOT_REACHED; return FALSE; } @@ -923,7 +923,7 @@ _cairo_gstate_stroke (cairo_gstate_t *gstate, cairo_path_fixed_t *path) gstate->antialias); _cairo_pattern_fini (&source_pattern.base); - + return status; } @@ -967,11 +967,11 @@ _cairo_gstate_fill (cairo_gstate_t *gstate, cairo_path_fixed_t *path) if (gstate->source->status) return gstate->source->status; - + status = _cairo_surface_set_clip (gstate->target, &gstate->clip); if (status) return status; - + _cairo_gstate_copy_transformed_source (gstate, &pattern.base); status = _cairo_surface_fill (gstate->target, @@ -983,7 +983,7 @@ _cairo_gstate_fill (cairo_gstate_t *gstate, cairo_path_fixed_t *path) gstate->antialias); _cairo_pattern_fini (&pattern.base); - + return status; } @@ -1009,7 +1009,7 @@ _cairo_gstate_in_fill (cairo_gstate_t *gstate, goto BAIL; *inside_ret = _cairo_traps_contain (&traps, x, y); - + BAIL: _cairo_traps_fini (&traps); @@ -1053,9 +1053,9 @@ _cairo_gstate_stroke_extents (cairo_gstate_t *gstate, cairo_status_t status; cairo_traps_t traps; cairo_box_t extents; - + _cairo_traps_init (&traps); - + status = _cairo_path_fixed_stroke_to_traps (path, &gstate->stroke_style, &gstate->ctm, @@ -1074,10 +1074,10 @@ _cairo_gstate_stroke_extents (cairo_gstate_t *gstate, _cairo_gstate_backend_to_user (gstate, x1, y1); _cairo_gstate_backend_to_user (gstate, x2, y2); - + BAIL: _cairo_traps_fini (&traps); - + return status; } @@ -1090,16 +1090,16 @@ _cairo_gstate_fill_extents (cairo_gstate_t *gstate, cairo_status_t status; cairo_traps_t traps; cairo_box_t extents; - + _cairo_traps_init (&traps); - + status = _cairo_path_fixed_fill_to_traps (path, gstate->fill_rule, gstate->tolerance, &traps); if (status) goto BAIL; - + _cairo_traps_extents (&traps, &extents); *x1 = _cairo_fixed_to_double (extents.p1.x); @@ -1109,10 +1109,10 @@ _cairo_gstate_fill_extents (cairo_gstate_t *gstate, _cairo_gstate_backend_to_user (gstate, x1, y1); _cairo_gstate_backend_to_user (gstate, x2, y2); - + BAIL: _cairo_traps_fini (&traps); - + return status; } @@ -1213,7 +1213,7 @@ _cairo_gstate_get_font_face (cairo_gstate_t *gstate, status = _cairo_gstate_ensure_font_face (gstate); if (status) return status; - + *font_face = gstate->font_face; return CAIRO_STATUS_SUCCESS; @@ -1309,31 +1309,31 @@ _cairo_gstate_ensure_font_face (cairo_gstate_t *gstate) else gstate->font_face = font_face; } - + return CAIRO_STATUS_SUCCESS; } - + static cairo_status_t _cairo_gstate_ensure_scaled_font (cairo_gstate_t *gstate) { cairo_status_t status; cairo_font_options_t options; - + if (gstate->scaled_font) return CAIRO_STATUS_SUCCESS; - + status = _cairo_gstate_ensure_font_face (gstate); if (status) return status; cairo_surface_get_font_options (gstate->target, &options); cairo_font_options_merge (&options, &gstate->font_options); - + gstate->scaled_font = cairo_scaled_font_create (gstate->font_face, &gstate->font_matrix, &gstate->ctm, &options); - + if (!gstate->scaled_font) return CAIRO_STATUS_NO_MEMORY; @@ -1366,7 +1366,7 @@ _cairo_gstate_text_to_glyphs (cairo_gstate_t *gstate, status = _cairo_gstate_ensure_scaled_font (gstate); if (status) return status; - + status = _cairo_scaled_font_text_to_glyphs (gstate->scaled_font, x, y, utf8, glyphs, num_glyphs); @@ -1382,14 +1382,14 @@ _cairo_gstate_set_font_face (cairo_gstate_t *gstate, { if (font_face && font_face->status) return font_face->status; - + if (font_face != gstate->font_face) { cairo_font_face_destroy (gstate->font_face); gstate->font_face = cairo_font_face_reference (font_face); } _cairo_gstate_unset_scaled_font (gstate); - + return CAIRO_STATUS_SUCCESS; } @@ -1436,7 +1436,7 @@ _cairo_gstate_show_glyphs (cairo_gstate_t *gstate, transformed_glyphs = malloc (num_glyphs * sizeof(cairo_glyph_t)); if (transformed_glyphs == NULL) return CAIRO_STATUS_NO_MEMORY; - + for (i = 0; i < num_glyphs; ++i) { transformed_glyphs[i] = glyphs[i]; @@ -1473,11 +1473,11 @@ _cairo_gstate_glyph_path (cairo_gstate_t *gstate, status = _cairo_gstate_ensure_scaled_font (gstate); if (status) return status; - + transformed_glyphs = malloc (num_glyphs * sizeof(cairo_glyph_t)); if (transformed_glyphs == NULL) return CAIRO_STATUS_NO_MEMORY; - + for (i = 0; i < num_glyphs; ++i) { transformed_glyphs[i] = glyphs[i]; diff --git a/src/cairo-hash.c b/src/cairo-hash.c index bfaac57f..72b20b12 100644 --- a/src/cairo-hash.c +++ b/src/cairo-hash.c @@ -196,7 +196,7 @@ _cairo_hash_table_destroy (cairo_hash_table_t *hash_table) assert (hash_table->live_entries == 0); /* No iterators can be running. Otherwise, halt. */ assert (hash_table->iterating == 0); - + free (hash_table->entries); hash_table->entries = NULL; @@ -234,7 +234,7 @@ _cairo_hash_table_lookup_internal (cairo_hash_table_t *hash_table, { cairo_hash_entry_t **entry, **first_available = NULL; unsigned long table_size, i, idx, step; - + table_size = hash_table->arrangement->size; idx = key->hash % table_size; @@ -330,7 +330,7 @@ _cairo_hash_table_resize (cairo_hash_table_t *hash_table) tmp.entries = calloc (new_size, sizeof (cairo_hash_entry_t*)); if (tmp.entries == NULL) return CAIRO_STATUS_NO_MEMORY; - + for (i = 0; i < hash_table->arrangement->size; ++i) { if (ENTRY_IS_LIVE (hash_table->entries[i])) { entry = _cairo_hash_table_lookup_internal (&tmp, @@ -464,13 +464,13 @@ _cairo_hash_table_insert (cairo_hash_table_t *hash_table, { cairo_status_t status; cairo_hash_entry_t **entry; - + /* Insert is illegal while an iterator is running. */ assert (hash_table->iterating == 0); - + entry = _cairo_hash_table_lookup_internal (hash_table, key_and_value, FALSE); - + if (ENTRY_IS_LIVE(*entry)) { /* User is being bad, let's crash. */ @@ -549,7 +549,7 @@ _cairo_hash_table_foreach (cairo_hash_table_t *hash_table, if (hash_table == NULL) return; - + /* Mark the table for iteration */ ++hash_table->iterating; for (i = 0; i < hash_table->arrangement->size; i++) { diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c index b5010c5b..82a2227c 100644 --- a/src/cairo-image-surface.c +++ b/src/cairo-image-surface.c @@ -295,7 +295,7 @@ cairo_image_surface_create_for_data (unsigned char *data, _cairo_error (CAIRO_STATUS_NO_MEMORY); return (cairo_surface_t*) &_cairo_surface_nil; } - + pixman_image = pixman_image_create_for_data ((pixman_bits_t *) data, pixman_format, width, height, _cairo_format_bpp (format), @@ -515,7 +515,7 @@ _cairo_image_surface_acquire_source_image (void *abstract_sur { *image_out = abstract_surface; *image_extra = NULL; - + return CAIRO_STATUS_SUCCESS; } @@ -534,7 +534,7 @@ _cairo_image_surface_acquire_dest_image (void *abstract_surfa void **image_extra) { cairo_image_surface_t *surface = abstract_surface; - + image_rect_out->x = 0; image_rect_out->y = 0; image_rect_out->width = surface->width; @@ -542,7 +542,7 @@ _cairo_image_surface_acquire_dest_image (void *abstract_surfa *image_out = surface; *image_extra = NULL; - + return CAIRO_STATUS_SUCCESS; } @@ -567,7 +567,7 @@ _cairo_image_surface_clone_similar (void *abstract_surface, return CAIRO_STATUS_SUCCESS; } - + return CAIRO_INT_STATUS_UNSUPPORTED; } @@ -619,7 +619,7 @@ _cairo_image_surface_set_attributes (cairo_image_surface_t *surface, cairo_surface_attributes_t *attributes) { cairo_int_status_t status; - + status = _cairo_image_surface_set_matrix (surface, &attributes->matrix); if (status) return status; @@ -638,9 +638,9 @@ _cairo_image_surface_set_attributes (cairo_image_surface_t *surface, pixman_image_set_repeat (surface->pixman_image, PIXMAN_REPEAT_PAD); break; } - + status = _cairo_image_surface_set_filter (surface, attributes->filter); - + return status; } @@ -719,7 +719,7 @@ _cairo_image_surface_composite (cairo_operator_t op, &src_attr, &mask_attr); if (status) return status; - + status = _cairo_image_surface_set_attributes (src, &src_attr); if (status) goto CLEANUP_SURFACES; @@ -729,7 +729,7 @@ _cairo_image_surface_composite (cairo_operator_t op, status = _cairo_image_surface_set_attributes (mask, &mask_attr); if (status) goto CLEANUP_SURFACES; - + pixman_composite (_pixman_operator (op), src->pixman_image, mask->pixman_image, @@ -753,7 +753,7 @@ _cairo_image_surface_composite (cairo_operator_t op, dst_x, dst_y, width, height); } - + if (!_cairo_operator_bounded_by_source (op)) status = _cairo_surface_composite_fixup_unbounded (&dst->base, &src_attr, src->width, src->height, @@ -767,9 +767,9 @@ _cairo_image_surface_composite (cairo_operator_t op, CLEANUP_SURFACES: if (mask) _cairo_pattern_release_surface (mask_pattern, &mask->base, &mask_attr); - + _cairo_pattern_release_surface (src_pattern, &src->base, &src_attr); - + return status; } @@ -800,7 +800,7 @@ static cairo_bool_t _cairo_image_surface_is_alpha_only (cairo_image_surface_t *surface) { int bpp, alpha, red, green, blue; - + if (surface->format != (cairo_format_t) -1) return surface->format == CAIRO_FORMAT_A1 || surface->format == CAIRO_FORMAT_A8; diff --git a/src/cairo-lzw.c b/src/cairo-lzw.c index 3ffaa02d..d8776db7 100644 --- a/src/cairo-lzw.c +++ b/src/cairo-lzw.c @@ -335,7 +335,7 @@ _cairo_lzw_compress (unsigned char *data, unsigned long *size_in_out) _lzw_buf_init (&buf, *size_in_out); _lzw_symbol_table_init (&table); - + /* The LZW header is a clear table code. */ _lzw_buf_store_bits (&buf, LZW_CODE_CLEAR_TABLE, code_bits); diff --git a/src/cairo-matrix.c b/src/cairo-matrix.c index 83e297ac..eda62e7c 100644 --- a/src/cairo-matrix.c +++ b/src/cairo-matrix.c @@ -460,7 +460,7 @@ cairo_matrix_invert (cairo_matrix_t *matrix) double det; _cairo_matrix_compute_determinant (matrix, &det); - + if (det == 0) return CAIRO_STATUS_INVALID_MATRIX; @@ -501,7 +501,7 @@ _cairo_matrix_compute_scale_factors (const cairo_matrix_t *matrix, double x = x_major != 0; double y = x == 0; double major, minor; - + cairo_matrix_transform_distance (matrix, &x, &y); major = sqrt(x*x + y*y); /* @@ -561,105 +561,105 @@ _cairo_matrix_is_integer_translation(const cairo_matrix_t *m, The following is a derivation of a formula to calculate the length of the major axis for this ellipse; this is useful for error bounds calculations. - + Thanks to Walter Brisken <wbrisken@aoc.nrao.edu> for this derivation: - + 1. First some notation: - + All capital letters represent vectors in two dimensions. A prime ' represents a transformed coordinate. Matrices are written in underlined form, ie _R_. Lowercase letters represent scalar real values. - + 2. The question has been posed: What is the maximum expansion factor achieved by the linear transformation - + X' = X _R_ - + where _R_ is a real-valued 2x2 matrix with entries: - + _R_ = [a b] [c d] . - + In other words, what is the maximum radius, MAX[ |X'| ], reached for any X on the unit circle ( |X| = 1 ) ? - - + + 3. Some useful formulae - + (A) through (C) below are standard double-angle formulae. (D) is a lesser known result and is derived below: - + (A) sin²(θ) = (1 - cos(2*θ))/2 (B) cos²(θ) = (1 + cos(2*θ))/2 (C) sin(θ)*cos(θ) = sin(2*θ)/2 (D) MAX[a*cos(θ) + b*sin(θ)] = sqrt(a² + b²) - + Proof of (D): - + find the maximum of the function by setting the derivative to zero: - + -a*sin(θ)+b*cos(θ) = 0 - + From this it follows that - + tan(θ) = b/a - + and hence - + sin(θ) = b/sqrt(a² + b²) - + and - + cos(θ) = a/sqrt(a² + b²) - + Thus the maximum value is - + MAX[a*cos(θ) + b*sin(θ)] = (a² + b²)/sqrt(a² + b²) = sqrt(a² + b²) - - + + 4. Derivation of maximum expansion - + To find MAX[ |X'| ] we search brute force method using calculus. The unit circle on which X is constrained is to be parameterized by t: - + X(θ) = (cos(θ), sin(θ)) - + Thus - + X'(θ) = X(θ) * _R_ = (cos(θ), sin(θ)) * [a b] [c d] = (a*cos(θ) + c*sin(θ), b*cos(θ) + d*sin(θ)). - + Define - + r(θ) = |X'(θ)| - + Thus - + r²(θ) = (a*cos(θ) + c*sin(θ))² + (b*cos(θ) + d*sin(θ))² = (a² + b²)*cos²(θ) + (c² + d²)*sin²(θ) + 2*(a*c + b*d)*cos(θ)*sin(θ) - + Now apply the double angle formulae (A) to (C) from above: - + r²(θ) = (a² + b² + c² + d²)/2 + (a² + b² - c² - d²)*cos(2*θ)/2 + (a*c + b*d)*sin(2*θ) = f + g*cos(φ) + h*sin(φ) - + Where - + f = (a² + b² + c² + d²)/2 g = (a² + b² - c² - d²)/2 h = (a*c + d*d) φ = 2*θ - + It is clear that MAX[ |X'| ] = sqrt(MAX[ r² ]). Here we determine MAX[ r² ] using (D) from above: - + MAX[ r² ] = f + sqrt(g² + h²) - + And finally MAX[ |X'| ] = sqrt( f + sqrt(g² + h²) ) diff --git a/src/cairo-meta-surface.c b/src/cairo-meta-surface.c index 46ea13dc..26fc6a67 100644 --- a/src/cairo-meta-surface.c +++ b/src/cairo-meta-surface.c @@ -128,7 +128,7 @@ _cairo_meta_surface_finish (void *abstract_surface) _cairo_pattern_fini (&command->mask.mask.base); free (command); break; - + case CAIRO_COMMAND_STROKE: _cairo_pattern_fini (&command->stroke.source.base); _cairo_path_fixed_fini (&command->stroke.path); @@ -246,7 +246,7 @@ _cairo_meta_surface_paint (void *abstract_surface, status = _init_pattern_with_snapshot (&command->source.base, source); if (status) goto CLEANUP_COMMAND; - + status = _cairo_array_append (&meta->commands, &command); if (status) goto CLEANUP_SOURCE; @@ -284,7 +284,7 @@ _cairo_meta_surface_mask (void *abstract_surface, status = _init_pattern_with_snapshot (&command->mask.base, mask); if (status) goto CLEANUP_SOURCE; - + status = _cairo_array_append (&meta->commands, &command); if (status) goto CLEANUP_MASK; @@ -314,7 +314,7 @@ _cairo_meta_surface_stroke (void *abstract_surface, cairo_status_t status; cairo_meta_surface_t *meta = abstract_surface; cairo_command_stroke_t *command; - + command = malloc (sizeof (cairo_command_stroke_t)); if (command == NULL) return CAIRO_STATUS_NO_MEMORY; @@ -598,7 +598,7 @@ static const cairo_surface_backend_t cairo_meta_surface_backend = { /* Here are the 5 basic drawing operations, (which are in some * sense the only things that cairo_meta_surface should need to * implement). */ - + _cairo_meta_surface_paint, _cairo_meta_surface_mask, _cairo_meta_surface_stroke, diff --git a/src/cairo-operator.c b/src/cairo-operator.c index 99c3aaaa..1a3c3d15 100644 --- a/src/cairo-operator.c +++ b/src/cairo-operator.c @@ -56,7 +56,7 @@ _cairo_operator_always_opaque (cairo_operator_t op) case CAIRO_OPERATOR_SOURCE: return FALSE; - + case CAIRO_OPERATOR_OVER: case CAIRO_OPERATOR_IN: case CAIRO_OPERATOR_OUT: @@ -65,7 +65,7 @@ _cairo_operator_always_opaque (cairo_operator_t op) case CAIRO_OPERATOR_DEST: return TRUE; - + case CAIRO_OPERATOR_DEST_OVER: case CAIRO_OPERATOR_DEST_IN: case CAIRO_OPERATOR_DEST_OUT: @@ -94,7 +94,7 @@ _cairo_operator_always_translucent (cairo_operator_t op) case CAIRO_OPERATOR_SOURCE: return FALSE; - + case CAIRO_OPERATOR_OVER: case CAIRO_OPERATOR_IN: case CAIRO_OPERATOR_OUT: @@ -103,7 +103,7 @@ _cairo_operator_always_translucent (cairo_operator_t op) case CAIRO_OPERATOR_DEST: return FALSE; - + case CAIRO_OPERATOR_DEST_OVER: case CAIRO_OPERATOR_DEST_IN: case CAIRO_OPERATOR_DEST_OUT: diff --git a/src/cairo-output-stream.c b/src/cairo-output-stream.c index de92fa4e..b27c9430 100644 --- a/src/cairo-output-stream.c +++ b/src/cairo-output-stream.c @@ -180,20 +180,20 @@ _cairo_dtostr (char *buffer, size_t size, double d) int decimal_len; snprintf (buffer, size, "%f", d); - + locale_data = localeconv (); decimal_point = locale_data->decimal_point; decimal_point_len = strlen (decimal_point); - + assert (decimal_point_len != 0); p = buffer; - + if (*p == '+' || *p == '-') p++; while (isdigit (*p)) p++; - + if (strncmp (p, decimal_point, decimal_point_len) == 0) { *p = '.'; decimal_len = strlen (p + decimal_point_len); @@ -209,7 +209,7 @@ _cairo_dtostr (char *buffer, size_t size, double d) p--; } } - + return p + 1 - buffer; } @@ -298,7 +298,7 @@ _cairo_output_stream_vprintf (cairo_output_stream_t *stream, p = buffer + strlen (buffer); f++; } - + _cairo_output_stream_write (stream, buffer, p - buffer); } @@ -385,6 +385,6 @@ _cairo_output_stream_create_for_filename (const char *filename) file = fopen (filename, "wb"); if (file == NULL) return (cairo_output_stream_t *) &cairo_output_stream_nil_write_error; - + return _cairo_output_stream_create (stdio_write, stdio_close, file); } diff --git a/src/cairo-paginated-surface.c b/src/cairo-paginated-surface.c index d4caafe9..ed00cb8a 100644 --- a/src/cairo-paginated-surface.c +++ b/src/cairo-paginated-surface.c @@ -159,7 +159,7 @@ _cairo_paginated_surface_finish (void *abstract_surface) cairo_surface_destroy (surface->meta); cairo_surface_destroy (surface->target); - + return CAIRO_STATUS_SUCCESS; } @@ -177,7 +177,7 @@ _cairo_paginated_surface_acquire_source_image (void *abstract_surface, image = _cairo_image_surface_create_with_content (surface->content, extents.width, extents.height); - + _cairo_meta_surface_replay (surface->meta, image); *image_out = (cairo_image_surface_t*) image; @@ -214,7 +214,7 @@ _paint_page (cairo_paginated_surface_t *surface) cairo_surface_destroy (analysis); return status; } - + if (_cairo_analysis_surface_has_unsupported (analysis)) { image = _cairo_image_surface_create_with_content (surface->content, @@ -237,7 +237,7 @@ _paint_page (cairo_paginated_surface_t *surface) } cairo_surface_destroy (analysis); - + return CAIRO_STATUS_SUCCESS; } diff --git a/src/cairo-path-bounds.c b/src/cairo-path-bounds.c index 670036cf..48b4393a 100644 --- a/src/cairo-path-bounds.c +++ b/src/cairo-path-bounds.c @@ -87,13 +87,13 @@ _cairo_path_bounder_add_point (cairo_path_bounder_t *bounder, cairo_point_t *poi if (bounder->has_point) { if (point->x < bounder->min_x) bounder->min_x = point->x; - + if (point->y < bounder->min_y) bounder->min_y = point->y; - + if (point->x > bounder->max_x) bounder->max_x = point->x; - + if (point->y > bounder->max_y) bounder->max_y = point->y; } else { @@ -104,7 +104,7 @@ _cairo_path_bounder_add_point (cairo_path_bounder_t *bounder, cairo_point_t *poi bounder->has_point = 1; } - + return CAIRO_STATUS_SUCCESS; } diff --git a/src/cairo-path-fill.c b/src/cairo-path-fill.c index 31b83ade..f9b9d9f5 100644 --- a/src/cairo-path-fill.c +++ b/src/cairo-path-fill.c @@ -94,7 +94,7 @@ _cairo_filler_move_to (void *closure, cairo_point_t *point) status = _cairo_polygon_close (polygon); if (status) return status; - + status = _cairo_polygon_move_to (polygon, point); if (status) return status; diff --git a/src/cairo-path-stroke.c b/src/cairo-path-stroke.c index 7ca6ab81..80302f02 100644 --- a/src/cairo-path-stroke.c +++ b/src/cairo-path-stroke.c @@ -161,7 +161,7 @@ _cairo_stroker_init (cairo_stroker_t *stroker, _cairo_pen_init (&stroker->pen, stroke_style->line_width / 2.0, tolerance, ctm); - + stroker->has_current_face = FALSE; stroker->has_first_face = FALSE; @@ -307,14 +307,14 @@ _cairo_stroker_join (cairo_stroker_t *stroker, cairo_stroke_face_t *in, cairo_st dx1 = in->usr_vector.x; dy1 = in->usr_vector.y; cairo_matrix_transform_distance (stroker->ctm, &dx1, &dy1); - + /* outer point of outgoing line face */ x2 = _cairo_fixed_to_double (outpt->x); y2 = _cairo_fixed_to_double (outpt->y); dx2 = out->usr_vector.x; dy2 = out->usr_vector.y; cairo_matrix_transform_distance (stroker->ctm, &dx2, &dy2); - + /* * Compute the location of the outer corner of the miter. * That's pretty easy -- just the intersection of the two @@ -329,7 +329,7 @@ _cairo_stroker_join (cairo_stroker_t *stroker, cairo_stroke_face_t *in, cairo_st mx = (my - y1) * dx1 / dy1 + x1; else mx = (my - y2) * dx2 / dy2 + x2; - + /* * Draw the quadrilateral */ @@ -368,7 +368,7 @@ _cairo_stroker_add_cap (cairo_stroker_t *stroker, cairo_stroke_face_t *f) if (stroker->style->line_cap == CAIRO_LINE_CAP_BUTT) return CAIRO_STATUS_SUCCESS; - + switch (stroker->style->line_cap) { case CAIRO_LINE_CAP_ROUND: { int i; @@ -644,7 +644,7 @@ _cairo_stroker_line_to (void *closure, cairo_point_t *point) } _cairo_slope_init (&slope, p1, p2); - + status = _cairo_stroker_add_sub_edge (stroker, p1, p2, &slope, &start, &end); if (status) return status; @@ -827,7 +827,7 @@ _cairo_stroker_curve_to (void *closure, } stroker->current_face = end; stroker->has_current_face = 1; - + extra_points[0] = start.cw; extra_points[0].x -= start.point.x; extra_points[0].y -= start.point.y; @@ -840,7 +840,7 @@ _cairo_stroker_curve_to (void *closure, extra_points[3] = end.ccw; extra_points[3].x -= end.point.x; extra_points[3].y -= end.point.y; - + status = _cairo_pen_add_points (&pen, extra_points, 4); if (status) goto CLEANUP_PEN; diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c index 034598fe..6e98be1e 100644 --- a/src/cairo-pattern.c +++ b/src/cairo-pattern.c @@ -135,14 +135,14 @@ _cairo_gradient_pattern_init_copy (cairo_gradient_pattern_t *pattern, { cairo_linear_pattern_t *dst = (cairo_linear_pattern_t *) pattern; cairo_linear_pattern_t *src = (cairo_linear_pattern_t *) other; - + *dst = *src; } else { cairo_radial_pattern_t *dst = (cairo_radial_pattern_t *) pattern; cairo_radial_pattern_t *src = (cairo_radial_pattern_t *) other; - + *dst = *src; } @@ -154,7 +154,7 @@ _cairo_gradient_pattern_init_copy (cairo_gradient_pattern_t *pattern, _cairo_pattern_set_error (&pattern->base, CAIRO_STATUS_NO_MEMORY); return; } - + memcpy (pattern->stops, other->stops, other->n_stops * sizeof (pixman_gradient_stop_t)); } @@ -179,7 +179,7 @@ _cairo_pattern_init_copy (cairo_pattern_t *pattern, case CAIRO_PATTERN_TYPE_SURFACE: { cairo_surface_pattern_t *dst = (cairo_surface_pattern_t *) pattern; cairo_surface_pattern_t *src = (cairo_surface_pattern_t *) other; - + *dst = *src; cairo_surface_reference (dst->surface); } break; @@ -187,11 +187,11 @@ _cairo_pattern_init_copy (cairo_pattern_t *pattern, case CAIRO_PATTERN_TYPE_RADIAL: { cairo_gradient_pattern_t *dst = (cairo_gradient_pattern_t *) pattern; cairo_gradient_pattern_t *src = (cairo_gradient_pattern_t *) other; - + _cairo_gradient_pattern_init_copy (dst, src); } break; } - + pattern->ref_count = 1; } @@ -204,14 +204,14 @@ _cairo_pattern_fini (cairo_pattern_t *pattern) case CAIRO_PATTERN_TYPE_SURFACE: { cairo_surface_pattern_t *surface_pattern = (cairo_surface_pattern_t *) pattern; - + cairo_surface_destroy (surface_pattern->surface); } break; case CAIRO_PATTERN_TYPE_LINEAR: case CAIRO_PATTERN_TYPE_RADIAL: { cairo_gradient_pattern_t *gradient = (cairo_gradient_pattern_t *) pattern; - + if (gradient->stops) free (gradient->stops); } break; @@ -238,7 +238,7 @@ _cairo_pattern_init_for_surface (cairo_surface_pattern_t *pattern, } _cairo_pattern_init (&pattern->base, CAIRO_PATTERN_TYPE_SURFACE); - + pattern->surface = cairo_surface_reference (surface); } @@ -486,7 +486,7 @@ cairo_pattern_create_radial (double cx0, double cy0, double radius0, double cx1, double cy1, double radius1) { cairo_radial_pattern_t *pattern; - + pattern = malloc (sizeof (cairo_radial_pattern_t)); if (pattern == NULL) { _cairo_error (CAIRO_STATUS_NO_MEMORY); @@ -874,7 +874,7 @@ _cairo_linear_pattern_classify (cairo_linear_pattern_t *pattern, /* transform fragment into pattern space */ double qx = a * qx_device + c * qy_device + tx; double qy = b * qx_device + d * qy_device + ty; - + factors[i] = _cairo_fixed_from_double (((dx * qx + dy * qy) - start) * scale); } @@ -1046,7 +1046,7 @@ _cairo_pattern_acquire_surface_for_solid (cairo_solid_pattern_t *pattern, attribs->extend = CAIRO_EXTEND_REPEAT; attribs->filter = CAIRO_FILTER_NEAREST; attribs->acquired = FALSE; - + return CAIRO_STATUS_SUCCESS; } @@ -1078,7 +1078,7 @@ static cairo_bool_t _gradient_is_opaque (const cairo_gradient_pattern_t *gradient) { int i; - + for (i = 0; i < gradient->n_stops; i++) if (! CAIRO_ALPHA_IS_OPAQUE (gradient->stops[i].color.alpha)) return FALSE; @@ -1129,11 +1129,11 @@ _cairo_pattern_acquire_surface_for_surface (cairo_surface_pattern_t *pattern, int tx, ty; attr->acquired = FALSE; - + if (_cairo_surface_is_image (dst)) { cairo_image_surface_t *image; - + status = _cairo_surface_acquire_source_image (pattern->surface, &image, &attr->extra); @@ -1147,7 +1147,7 @@ _cairo_pattern_acquire_surface_for_surface (cairo_surface_pattern_t *pattern, { status = _cairo_surface_clone_similar (dst, pattern->surface, out); } - + attr->extend = pattern->base.extend; attr->filter = pattern->base.filter; if (_cairo_matrix_is_integer_translation (&pattern->base.matrix, @@ -1163,7 +1163,7 @@ _cairo_pattern_acquire_surface_for_surface (cairo_surface_pattern_t *pattern, attr->matrix = pattern->base.matrix; attr->x_offset = attr->y_offset = 0; } - + return status; } @@ -1195,7 +1195,7 @@ _cairo_pattern_acquire_surface (cairo_pattern_t *pattern, cairo_surface_attributes_t *attributes) { cairo_status_t status; - + if (pattern->status) { *surface_out = NULL; attributes->acquired = FALSE; @@ -1205,7 +1205,7 @@ _cairo_pattern_acquire_surface (cairo_pattern_t *pattern, switch (pattern->type) { case CAIRO_PATTERN_TYPE_SOLID: { cairo_solid_pattern_t *src = (cairo_solid_pattern_t *) pattern; - + status = _cairo_pattern_acquire_surface_for_solid (src, dst, x, y, width, height, surface_out, @@ -1257,7 +1257,7 @@ _cairo_pattern_acquire_surface (cairo_pattern_t *pattern, } break; case CAIRO_PATTERN_TYPE_SURFACE: { cairo_surface_pattern_t *src = (cairo_surface_pattern_t *) pattern; - + status = _cairo_pattern_acquire_surface_for_surface (src, dst, x, y, width, height, surface_out, @@ -1365,12 +1365,12 @@ _cairo_pattern_acquire_surfaces (cairo_pattern_t *src, } _cairo_pattern_init_copy (&mask_tmp.base, mask); - + status = _cairo_pattern_acquire_surface (&mask_tmp.base, dst, mask_x, mask_y, width, height, mask_out, mask_attributes); - + if (status) _cairo_pattern_release_surface (&src_tmp.base, *src_out, src_attributes); diff --git a/src/cairo-pen.c b/src/cairo-pen.c index a2cd55d9..91a6f44c 100644 --- a/src/cairo-pen.c +++ b/src/cairo-pen.c @@ -79,7 +79,7 @@ _cairo_pen_init (cairo_pen_t *pen, pen->num_vertices = _cairo_pen_vertices_needed (tolerance, radius, ctm); - + pen->vertices = malloc (pen->num_vertices * sizeof (cairo_pen_vertex_t)); if (pen->vertices == NULL) { return CAIRO_STATUS_NO_MEMORY; @@ -252,21 +252,21 @@ _cairo_pen_vertices_needed (double tolerance, * compute major axis length for a pen with the specified radius. * we don't need the minor axis length. */ - + double major_axis = _cairo_matrix_transformed_circle_major_axis(matrix, radius); /* * compute number of vertices needed */ int num_vertices; - + /* Where tolerance / M is > 1, we use 4 points */ if (tolerance >= major_axis) { num_vertices = 4; } else { double delta = acos (1 - tolerance / major_axis); num_vertices = ceil (M_PI / delta); - + /* number of vertices must be even */ if (num_vertices % 2) num_vertices++; @@ -443,6 +443,6 @@ _cairo_pen_stroke_spline (cairo_pen_t *pen, _cairo_polygon_close (&polygon); _cairo_traps_tessellate_polygon (traps, &polygon, CAIRO_FILL_RULE_WINDING); _cairo_polygon_fini (&polygon); - + return CAIRO_STATUS_SUCCESS; } diff --git a/src/cairo-png.c b/src/cairo-png.c index f0aaebe6..1c3caef1 100644 --- a/src/cairo-png.c +++ b/src/cairo-png.c @@ -74,7 +74,7 @@ convert_data_to_bytes (png_structp png, png_row_infop row_info, png_bytep data) uint32_t pixel; memcpy (&pixel, b, sizeof (uint32_t)); - + b[0] = (pixel & 0xff0000) >> 16; b[1] = (pixel & 0x00ff00) >> 8; b[2] = (pixel & 0x0000ff) >> 0; @@ -133,7 +133,7 @@ write_png (cairo_surface_t *surface, status = CAIRO_STATUS_NO_MEMORY; goto BAIL3; } - + png_set_write_fn (png, closure, write_func, NULL); switch (image->format) { @@ -179,14 +179,14 @@ write_png (cairo_surface_t *surface, * that is needed for the write transformation functions to work. */ png_write_info (png, info); - + if (image->format == CAIRO_FORMAT_ARGB32) png_set_write_user_transform_fn (png, unpremultiply_data); else if (image->format == CAIRO_FORMAT_RGB24) png_set_write_user_transform_fn (png, convert_data_to_bytes); if (image->format == CAIRO_FORMAT_RGB24) png_set_filler (png, 0, PNG_FILLER_AFTER); - + png_write_image (png, rows); png_write_end (png, info); @@ -235,7 +235,7 @@ cairo_surface_write_to_png (cairo_surface_t *surface, fp = fopen (filename, "wb"); if (fp == NULL) return CAIRO_STATUS_WRITE_ERROR; - + status = write_png (surface, stdio_write_func, fp); if (fclose (fp) && status == CAIRO_STATUS_SUCCESS) @@ -481,7 +481,7 @@ cairo_image_surface_create_from_png (const char *filename) return (cairo_surface_t*) &_cairo_surface_nil_read_error; } } - + surface = read_png (stdio_read_func, fp); fclose (fp); diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c index 1a48c913..418e2a5f 100644 --- a/src/cairo-ps-surface.c +++ b/src/cairo-ps-surface.c @@ -81,7 +81,7 @@ typedef struct cairo_ps_surface { cairo_array_t dsc_page_setup_comments; cairo_array_t *dsc_comment_target; - + } cairo_ps_surface_t; #define PS_SURFACE_DPI_DEFAULT 300.0 @@ -96,7 +96,7 @@ _cairo_ps_surface_path_move_to (void *closure, cairo_point_t *point) "%f %f moveto ", _cairo_fixed_to_double (point->x), _cairo_fixed_to_double (point->y)); - + return CAIRO_STATUS_SUCCESS; } @@ -129,7 +129,7 @@ _cairo_ps_surface_path_curve_to (void *closure, _cairo_fixed_to_double (c->y), _cairo_fixed_to_double (d->x), _cairo_fixed_to_double (d->y)); - + return CAIRO_STATUS_SUCCESS; } @@ -137,7 +137,7 @@ static cairo_status_t _cairo_ps_surface_path_close_path (void *closure) { cairo_output_stream_t *output_stream = closure; - + _cairo_output_stream_printf (output_stream, "closepath\n"); @@ -251,7 +251,7 @@ _cairo_ps_surface_emit_glyph (cairo_ps_surface_t *surface, -_cairo_fixed_to_double (scaled_glyph->bbox.p2.y), _cairo_fixed_to_double (scaled_glyph->bbox.p2.x), -_cairo_fixed_to_double (scaled_glyph->bbox.p1.y)); - + status = _cairo_path_fixed_interpret (scaled_glyph->path, CAIRO_DIRECTION_FORWARD, _cairo_ps_surface_path_move_to, @@ -259,10 +259,10 @@ _cairo_ps_surface_emit_glyph (cairo_ps_surface_t *surface, _cairo_ps_surface_path_curve_to, _cairo_ps_surface_path_close_path, surface->final_stream); - + _cairo_output_stream_printf (surface->final_stream, "F\n"); - + _cairo_output_stream_printf (surface->final_stream, "\t\t}\n"); } @@ -326,7 +326,7 @@ _cairo_ps_surface_emit_body (cairo_ps_surface_t *surface) { char buf[4096]; int n; - + rewind (surface->tmpfile); while ((n = fread (buf, 1, sizeof (buf), surface->tmpfile)) > 0) _cairo_output_stream_write (surface->final_stream, buf, n); @@ -915,9 +915,9 @@ _cairo_ps_surface_finish (void *abstract_surface) word_wrap = _word_wrap_stream_create (final_stream, 79); surface->final_stream = word_wrap; - + _cairo_ps_surface_emit_header (surface); - + _cairo_ps_surface_emit_font_subsets (surface); _cairo_ps_surface_emit_body (surface); @@ -1065,7 +1065,7 @@ pattern_supported (const cairo_pattern_t *pattern) if (pattern->type == CAIRO_PATTERN_TYPE_SURFACE) return surface_pattern_supported ((const cairo_surface_pattern_t *) pattern); - + return FALSE; } @@ -1242,9 +1242,9 @@ emit_image (cairo_ps_surface_t *surface, status = CAIRO_STATUS_NO_MEMORY; goto bail0; } - + _cairo_pattern_init_for_surface (&pattern.surface, &image->base); - + _cairo_surface_fill_rectangle (opaque, CAIRO_OPERATOR_SOURCE, CAIRO_COLOR_WHITE, @@ -1259,7 +1259,7 @@ emit_image (cairo_ps_surface_t *surface, 0, 0, image->width, image->height); - + _cairo_pattern_fini (&pattern.base); opaque_image = (cairo_image_surface_t *) opaque; } else { @@ -1550,7 +1550,7 @@ _cairo_ps_surface_paint (void *abstract_surface, /* assert (_operation_supported (op, source)); */ - + _cairo_output_stream_printf (stream, "%% _cairo_ps_surface_paint\n"); @@ -1616,7 +1616,7 @@ _cairo_ps_surface_stroke (void *abstract_surface, return _analyze_operation (surface, op, source); assert (operation_supported (surface, op, source)); - + _cairo_output_stream_printf (stream, "%% _cairo_ps_surface_stroke\n"); @@ -1684,7 +1684,7 @@ _cairo_ps_surface_fill (void *abstract_surface, return _analyze_operation (surface, op, source); assert (operation_supported (surface, op, source)); - + _cairo_output_stream_printf (stream, "%% _cairo_ps_surface_fill\n"); @@ -1806,7 +1806,7 @@ static const cairo_surface_backend_t cairo_ps_surface_backend = { NULL, /* scaled_glyph_fini */ /* Here are the drawing functions */ - + _cairo_ps_surface_paint, /* paint */ NULL, /* mask */ _cairo_ps_surface_stroke, diff --git a/src/cairo-quartz-surface.c b/src/cairo-quartz-surface.c index 698b1490..269e9b6d 100644 --- a/src/cairo-quartz-surface.c +++ b/src/cairo-quartz-surface.c @@ -44,7 +44,7 @@ _cairo_quartz_surface_finish(void *abstract_surface) if (surface->clip_region) pixman_region_destroy (surface->clip_region); - + return CAIRO_STATUS_SUCCESS; } @@ -91,7 +91,7 @@ _cairo_quartz_surface_acquire_dest_image(void *abstract_surfa if (x1 >= x2 || y1 >= y2) { *image_out = NULL; *image_extra = NULL; - + return CAIRO_STATUS_SUCCESS; } @@ -125,7 +125,7 @@ create_image_from_surface (cairo_image_surface_t *image_surface, void *data) width = cairo_image_surface_get_width ((cairo_surface_t *)image_surface); height = cairo_image_surface_get_height ((cairo_surface_t *)image_surface); - + color_space = CGColorSpaceCreateDeviceRGB(); data_provider = CGDataProviderCreateWithData (NULL, data, width * height * 4, NULL); @@ -140,7 +140,7 @@ create_image_from_surface (cairo_image_surface_t *image_surface, void *data) CGColorSpaceRelease (color_space); CGDataProviderRelease (data_provider); - + return image; } @@ -154,7 +154,7 @@ _cairo_quartz_surface_release_dest_image(void *abstract_surfa cairo_quartz_surface_t *surface = abstract_surface; CGImageRef image_ref; CGRect rect; - + image_ref = create_image_from_surface (image, image_extra); rect = CGRectMake (image_rect->x, image_rect->y, image_rect->width, image_rect->height); @@ -167,11 +167,11 @@ _cairo_quartz_surface_release_dest_image(void *abstract_surfa CGContextDrawImage(surface->context, rect, image_ref); CFRelease (image_ref); - + if (surface->y_grows_down) { CGContextRestoreGState (surface->context); } - + cairo_surface_destroy ((cairo_surface_t *)image); free (image_extra); } @@ -184,7 +184,7 @@ _cairo_quartz_surface_set_clip_region(void *abstract_surface, if (surface->clip_region) pixman_region_destroy (surface->clip_region); - + if (region) { surface->clip_region = pixman_region_create (); pixman_region_copy (surface->clip_region, region); diff --git a/src/cairo-region.c b/src/cairo-region.c index c8419c1d..dcbcffe5 100644 --- a/src/cairo-region.c +++ b/src/cairo-region.c @@ -58,7 +58,7 @@ _cairo_region_create_from_rectangle (cairo_rectangle_fixed_t *rect) pixman_region_destroy (region); return NULL; } - + return region; } diff --git a/src/cairo-scaled-font-subsets.c b/src/cairo-scaled-font-subsets.c index 4d8f4bbc..8d907b00 100644 --- a/src/cairo-scaled-font-subsets.c +++ b/src/cairo-scaled-font-subsets.c @@ -246,7 +246,7 @@ _cairo_sub_font_map_glyph (cairo_sub_font_t *sub_font, sub_font->current_subset++; sub_font->num_glyphs_in_current_subset = 0; } - + sub_font_glyph = _cairo_sub_font_glyph_create (scaled_font_glyph_index, sub_font->current_subset, sub_font->num_glyphs_in_current_subset++); diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c index 3ef7804c..8cb979fb 100644 --- a/src/cairo-scaled-font.c +++ b/src/cairo-scaled-font.c @@ -61,7 +61,7 @@ _cairo_scaled_glyph_fini (cairo_scaled_glyph_t *scaled_glyph) if (scaled_glyph->path != NULL) _cairo_path_fixed_destroy (scaled_glyph->path); } - + static void _cairo_scaled_glyph_destroy (void *abstract_glyph) { @@ -168,7 +168,7 @@ cairo_scaled_font_status (cairo_scaled_font_t *scaled_font) * of scaled fonts we keep around even when not otherwise referenced */ #define CAIRO_SCALED_FONT_MAX_HOLDOVERS 256 - + typedef struct _cairo_scaled_font_map { cairo_hash_table_t *hash_table; cairo_scaled_font_t *holdovers[CAIRO_SCALED_FONT_MAX_HOLDOVERS]; @@ -339,10 +339,10 @@ _cairo_scaled_font_init (cairo_scaled_font_t *scaled_font, scaled_font->glyphs = _cairo_cache_create (_cairo_scaled_glyph_keys_equal, _cairo_scaled_glyph_destroy, 256); - + scaled_font->surface_backend = NULL; scaled_font->surface_private = NULL; - + scaled_font->backend = backend; return CAIRO_STATUS_SUCCESS; @@ -353,16 +353,16 @@ _cairo_scaled_font_set_metrics (cairo_scaled_font_t *scaled_font, cairo_font_extents_t *fs_metrics) { double font_scale_x, font_scale_y; - + _cairo_matrix_compute_scale_factors (&scaled_font->font_matrix, &font_scale_x, &font_scale_y, /* XXX */ 1); - + /* * The font responded in unscaled units, scale by the font * matrix scale factors to get to user space */ - + scaled_font->extents.ascent = fs_metrics->ascent * font_scale_y; scaled_font->extents.descent = fs_metrics->descent * font_scale_y; scaled_font->extents.height = fs_metrics->height * font_scale_y; @@ -378,7 +378,7 @@ _cairo_scaled_font_fini (cairo_scaled_font_t *scaled_font) if (scaled_font->glyphs != NULL) _cairo_cache_destroy (scaled_font->glyphs); - + if (scaled_font->surface_backend != NULL && scaled_font->surface_backend->scaled_font_fini != NULL) scaled_font->surface_backend->scaled_font_fini (scaled_font); @@ -423,7 +423,7 @@ cairo_scaled_font_create (cairo_font_face_t *font_face, font_map = _cairo_scaled_font_map_lock (); if (font_map == NULL) goto UNWIND; - + _cairo_scaled_font_init_key (&key, font_face, font_matrix, ctm, options); @@ -561,12 +561,12 @@ cairo_scaled_font_destroy (cairo_scaled_font_t *scaled_font) lru = font_map->holdovers[0]; assert (lru->ref_count == 0); - + _cairo_hash_table_remove (font_map->hash_table, &lru->hash_entry); _cairo_scaled_font_fini (lru); free (lru); - + font_map->num_holdovers--; memmove (&font_map->holdovers[0], &font_map->holdovers[1], @@ -674,14 +674,14 @@ cairo_scaled_font_glyph_extents (cairo_scaled_font_t *scaled_font, extents->height = 0.0; extents->x_advance = 0.0; extents->y_advance = 0.0; - + return; } for (i = 0; i < num_glyphs; i++) { cairo_scaled_glyph_t *scaled_glyph; double left, top, right, bottom; - + status = _cairo_scaled_glyph_lookup (scaled_font, glyphs[i].index, CAIRO_SCALED_GLYPH_INFO_METRICS, @@ -690,12 +690,12 @@ cairo_scaled_font_glyph_extents (cairo_scaled_font_t *scaled_font, _cairo_scaled_font_set_error (scaled_font, status); return; } - + left = scaled_glyph->metrics.x_bearing + glyphs[i].x; right = left + scaled_glyph->metrics.width; top = scaled_glyph->metrics.y_bearing + glyphs[i].y; bottom = top + scaled_glyph->metrics.height; - + if (i == 0) { min_x = left; max_x = right; @@ -757,7 +757,7 @@ _cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, ucs4_to_index) (scaled_font, ucs4[i]); (*glyphs)[i].x = x; (*glyphs)[i].y = y; - + status = _cairo_scaled_glyph_lookup (scaled_font, (*glyphs)[i].index, CAIRO_SCALED_GLYPH_INFO_METRICS, @@ -767,14 +767,14 @@ _cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, *glyphs = NULL; goto FAIL; } - + x += scaled_glyph->metrics.x_advance; y += scaled_glyph->metrics.y_advance; } FAIL: free (ucs4); - + return status; } @@ -800,7 +800,7 @@ _cairo_scaled_font_glyph_device_extents (cairo_scaled_font_t *scaled_font, int left, top; int right, bottom; int x, y; - + status = _cairo_scaled_glyph_lookup (scaled_font, glyphs[i].index, CAIRO_SCALED_GLYPH_INFO_METRICS, @@ -809,16 +809,16 @@ _cairo_scaled_font_glyph_device_extents (cairo_scaled_font_t *scaled_font, _cairo_scaled_font_set_error (scaled_font, status); return status; } - + /* glyph images are snapped to pixel locations */ x = (int) floor (glyphs[i].x + 0.5); y = (int) floor (glyphs[i].y + 0.5); - + left = x + _cairo_fixed_integer_floor(scaled_glyph->bbox.p1.x); top = y + _cairo_fixed_integer_floor (scaled_glyph->bbox.p1.y); right = x + _cairo_fixed_integer_ceil(scaled_glyph->bbox.p2.x); bottom = y + _cairo_fixed_integer_ceil (scaled_glyph->bbox.p2.y); - + if (left < min_x) min_x = left; if (right > max_x) max_x = right; if (top < min_y) min_y = top; @@ -858,7 +858,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, * they are implemented in terms of other operators in cairo-gstate.c */ assert (op != CAIRO_OPERATOR_SOURCE && op != CAIRO_OPERATOR_CLEAR); - + if (scaled_font->status) return scaled_font->status; @@ -875,7 +875,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, } /* Font display routine either does not exist or failed. */ - + status = CAIRO_STATUS_SUCCESS; _cairo_cache_freeze (scaled_font->glyphs); @@ -885,7 +885,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, cairo_surface_pattern_t glyph_pattern; cairo_image_surface_t *glyph_surface; cairo_scaled_glyph_t *scaled_glyph; - + status = _cairo_scaled_glyph_lookup (scaled_font, glyphs[i].index, CAIRO_SCALED_GLYPH_INFO_SURFACE, @@ -893,7 +893,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, if (status) goto CLEANUP_MASK; - + glyph_surface = scaled_glyph->surface; /* Create the mask using the format from the first glyph */ @@ -917,7 +917,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, pixman_image, TRUE); } - + /* round glyph locations to the nearest pixel */ x = (int) floor (glyphs[i].x + glyph_surface->base.device_x_offset + @@ -925,7 +925,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, y = (int) floor (glyphs[i].y + glyph_surface->base.device_y_offset + 0.5); - + _cairo_pattern_init_for_surface (&glyph_pattern, &glyph_surface->base); status = _cairo_surface_composite (CAIRO_OPERATOR_ADD, @@ -943,25 +943,25 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, if (status) break; } - + if (mask != NULL) { cairo_surface_pattern_t mask_pattern; _cairo_pattern_init_for_surface (&mask_pattern, mask); - + status = _cairo_surface_composite (op, pattern, &mask_pattern.base, surface, source_x, source_y, 0, 0, dest_x, dest_y, width, height); - + _cairo_pattern_fini (&mask_pattern.base); } - + CLEANUP_MASK: _cairo_cache_thaw (scaled_font->glyphs); - + if (mask != NULL) cairo_surface_destroy (mask); return status; @@ -1027,14 +1027,14 @@ _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font, cairo_status_t status; int i; cairo_scaled_glyph_path_closure_t closure; - + if (scaled_font->status) return scaled_font->status; - + closure.path = path; for (i = 0; i < num_glyphs; i++) { cairo_scaled_glyph_t *scaled_glyph; - + status = _cairo_scaled_glyph_lookup (scaled_font, glyphs[i].index, CAIRO_SCALED_GLYPH_INFO_PATH, @@ -1044,7 +1044,7 @@ _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font, closure.offset.x = _cairo_fixed_from_double (glyphs[i].x); closure.offset.y = _cairo_fixed_from_double (glyphs[i].y); - + status = _cairo_path_fixed_interpret (scaled_glyph->path, CAIRO_DIRECTION_FORWARD, _scaled_glyph_path_move_to, @@ -1053,7 +1053,7 @@ _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font, _scaled_glyph_path_close_path, &closure); } - + return CAIRO_STATUS_SUCCESS; } @@ -1077,7 +1077,7 @@ _cairo_scaled_glyph_set_metrics (cairo_scaled_glyph_t *scaled_glyph, double hm, wm; double min_user_x = 0.0, max_user_x = 0.0, min_user_y = 0.0, max_user_y = 0.0; double min_device_x = 0.0, max_device_x = 0.0, min_device_y = 0.0, max_device_y = 0.0; - + for (hm = 0.0; hm <= 1.0; hm += 1.0) for (wm = 0.0; wm <= 1.0; wm += 1.0) { double x, y; @@ -1102,7 +1102,7 @@ _cairo_scaled_glyph_set_metrics (cairo_scaled_glyph_t *scaled_glyph, y = fs_metrics->y_bearing + fs_metrics->height * hm; cairo_matrix_transform_distance (&scaled_font->scale, &x, &y); - + if (first) { min_device_x = max_device_x = x; min_device_y = max_device_y = y; @@ -1178,7 +1178,7 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font, cairo_cache_entry_t key; cairo_scaled_glyph_t *scaled_glyph; cairo_scaled_glyph_info_t need_info; - + if (scaled_font->status) return scaled_font->status; @@ -1200,14 +1200,14 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font, status = CAIRO_STATUS_NO_MEMORY; goto CLEANUP; } - + _cairo_scaled_glyph_set_index(scaled_glyph, index); scaled_glyph->cache_entry.size = 1; /* XXX */ scaled_glyph->scaled_font = scaled_font; scaled_glyph->surface = NULL; scaled_glyph->path = NULL; scaled_glyph->surface_private = NULL; - + /* ask backend to initialize metrics and shape fields */ status = (*scaled_font->backend-> scaled_glyph_init) (scaled_font, scaled_glyph, info); @@ -1232,11 +1232,11 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font, if ((info & CAIRO_SCALED_GLYPH_INFO_SURFACE) != 0 && scaled_glyph->surface == NULL) need_info |= CAIRO_SCALED_GLYPH_INFO_SURFACE; - + if (((info & CAIRO_SCALED_GLYPH_INFO_PATH) != 0 && scaled_glyph->path == NULL)) need_info |= CAIRO_SCALED_GLYPH_INFO_PATH; - + if (need_info) { status = (*scaled_font->backend-> scaled_glyph_init) (scaled_font, scaled_glyph, need_info); diff --git a/src/cairo-spline.c b/src/cairo-spline.c index 60ad6c54..0da00aab 100644 --- a/src/cairo-spline.c +++ b/src/cairo-spline.c @@ -256,7 +256,7 @@ _cairo_spline_decompose_into (cairo_spline_t *spline, double tolerance_squared, status = _cairo_spline_decompose_into (&s1, tolerance_squared, result); if (status) return status; - + status = _cairo_spline_decompose_into (&s2, tolerance_squared, result); if (status) return status; diff --git a/src/cairo-surface-fallback.c b/src/cairo-surface-fallback.c index c27510b9..5c62196a 100644 --- a/src/cairo-surface-fallback.c +++ b/src/cairo-surface-fallback.c @@ -70,7 +70,7 @@ _fallback_init (fallback_state_t *state, state->extents.y = y; state->extents.width = width; state->extents.height = height; - + state->dst = dst; status = _cairo_surface_acquire_dest_image (dst, &state->extents, @@ -116,14 +116,14 @@ _create_composite_mask_pattern (cairo_surface_pattern_t *mask_pattern, { cairo_surface_t *mask; cairo_status_t status; - + mask = cairo_surface_create_similar (dst, CAIRO_CONTENT_ALPHA, extents->width, extents->height); if (mask->status) return CAIRO_STATUS_NO_MEMORY; - + status = (*draw_func) (draw_closure, CAIRO_OPERATOR_ADD, NULL, mask, extents->x, extents->y, @@ -138,7 +138,7 @@ _create_composite_mask_pattern (cairo_surface_pattern_t *mask_pattern, extents); if (status) goto CLEANUP_SURFACE; - + _cairo_pattern_init_for_surface (mask_pattern, mask); CLEANUP_SURFACE: @@ -168,7 +168,7 @@ _clip_and_composite_with_mask (cairo_clip_t *clip, dst, extents); if (status) return status; - + status = _cairo_surface_composite (op, src, &mask_pattern.base, dst, extents->x, extents->y, @@ -254,7 +254,7 @@ _clip_and_composite_combine (cairo_clip_t *clip, /* Now add the two results together */ _cairo_pattern_init_for_surface (&intermediate_pattern, intermediate); - + status = _cairo_surface_composite (CAIRO_OPERATOR_ADD, &intermediate_pattern.base, NULL, dst, 0, 0, @@ -263,7 +263,7 @@ _clip_and_composite_combine (cairo_clip_t *clip, extents->width, extents->height); _cairo_pattern_fini (&intermediate_pattern.base); - + CLEANUP_SURFACE: cairo_surface_destroy (intermediate); @@ -292,7 +292,7 @@ _clip_and_composite_source (cairo_clip_t *clip, dst, extents); if (status) return status; - + /* Compute dest' = dest OUT (mask IN clip) */ status = _cairo_surface_composite (CAIRO_OPERATOR_DEST_OUT, @@ -425,11 +425,11 @@ _composite_trap_region (cairo_clip_t *clip, if (num_rects == 0) return CAIRO_STATUS_SUCCESS; - + if (num_rects > 1) { if (_cairo_surface_get_clip_mode (dst) != CAIRO_CLIP_MODE_REGION) return CAIRO_INT_STATUS_UNSUPPORTED; - + clip_serial = _cairo_surface_allocate_clip_serial (dst); status = _cairo_surface_set_clip_region (dst, trap_region, @@ -437,10 +437,10 @@ _composite_trap_region (cairo_clip_t *clip, if (status) return status; } - + if (clip_surface) _cairo_pattern_init_for_surface (&mask.surface, clip_surface); - + status = _cairo_surface_composite (op, src, clip_surface ? &mask.base : NULL, @@ -481,14 +481,14 @@ _composite_traps_draw_func (void *closure, cairo_composite_traps_info_t *info = closure; cairo_pattern_union_t pattern; cairo_status_t status; - + if (dst_x != 0 || dst_y != 0) _cairo_traps_translate (info->traps, - dst_x, - dst_y); _cairo_pattern_init_solid (&pattern.solid, CAIRO_COLOR_WHITE); if (!src) src = &pattern.base; - + status = _cairo_surface_composite_trapezoids (op, src, dst, info->antialias, extents->x, extents->y, @@ -515,7 +515,7 @@ _clip_and_composite_trapezoids (cairo_pattern_t *src, pixman_region16_t *clear_region = NULL; cairo_rectangle_fixed_t extents; cairo_composite_traps_info_t traps_info; - + if (traps->num_traps == 0) return CAIRO_STATUS_SUCCESS; @@ -538,11 +538,11 @@ _clip_and_composite_trapezoids (cairo_pattern_t *src, else { cairo_surface_t *clip_surface = clip ? clip->surface : NULL; - + status = _cairo_surface_get_extents (dst, &extents); if (status) return status; - + if (trap_region && !clip_surface) { /* If we optimize drawing with an unbounded operator to * _cairo_surface_fill_rectangles() or to drawing with a @@ -551,7 +551,7 @@ _clip_and_composite_trapezoids (cairo_pattern_t *src, status = _cairo_surface_get_extents (dst, &extents); if (status) return status; - + clear_region = _cairo_region_create_from_rectangle (&extents); if (clear_region == NULL) return CAIRO_STATUS_NO_MEMORY; @@ -559,12 +559,12 @@ _clip_and_composite_trapezoids (cairo_pattern_t *src, status = _cairo_clip_intersect_to_region (clip, clear_region); if (status) return status; - + _cairo_region_extents_rectangle (clear_region, &extents); - + if (pixman_region_subtract (clear_region, clear_region, trap_region) != PIXMAN_REGION_STATUS_SUCCESS) return CAIRO_STATUS_NO_MEMORY; - + if (!pixman_region_not_empty (clear_region)) { pixman_region_destroy (clear_region); clear_region = NULL; @@ -575,14 +575,14 @@ _clip_and_composite_trapezoids (cairo_pattern_t *src, return status; } } - + if (status) goto out; - + if (trap_region) { cairo_surface_t *clip_surface = clip ? clip->surface : NULL; - + if ((src->type == CAIRO_PATTERN_TYPE_SOLID || op == CAIRO_OPERATOR_CLEAR) && !clip_surface) { @@ -592,7 +592,7 @@ _clip_and_composite_trapezoids (cairo_pattern_t *src, color = CAIRO_COLOR_TRANSPARENT; else color = &((cairo_solid_pattern_t *)src)->color; - + /* Solid rectangles special case */ status = _cairo_surface_fill_region (dst, op, color, trap_region); if (!status && clear_region) @@ -646,7 +646,7 @@ _clip_and_composite_trapezoids (cairo_pattern_t *src, pixman_region_destroy (trap_region); if (clear_region) pixman_region_destroy (clear_region); - + return status; } @@ -672,7 +672,7 @@ _cairo_surface_fallback_paint (cairo_surface_t *surface, _cairo_rectangle_intersect (&extents, &source_extents); } - + status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents); if (status) return status; @@ -685,7 +685,7 @@ _cairo_surface_fallback_paint (cairo_surface_t *surface, status = _cairo_traps_init_box (&traps, &box); if (status) return status; - + _clip_and_composite_trapezoids (source, op, surface, @@ -745,7 +745,7 @@ _cairo_surface_fallback_mask (cairo_surface_t *surface, _cairo_rectangle_intersect (&extents, &source_extents); } - + if (_cairo_operator_bounded_by_mask (op)) { status = _cairo_pattern_get_extents (mask, &mask_extents); if (status) @@ -781,7 +781,7 @@ _cairo_surface_fallback_stroke (cairo_surface_t *surface, { cairo_status_t status; cairo_traps_t traps; - + _cairo_traps_init (&traps); status = _cairo_path_fixed_stroke_to_traps (path, @@ -866,7 +866,7 @@ _cairo_surface_old_show_glyphs_draw_func (void *closure */ if (dst_x != 0 || dst_y != 0) { int i; - + for (i = 0; i < glyph_info->num_glyphs; ++i) { ((cairo_glyph_t *) glyph_info->glyphs)[i].x -= dst_x; @@ -877,7 +877,7 @@ _cairo_surface_old_show_glyphs_draw_func (void *closure _cairo_pattern_init_solid (&pattern.solid, CAIRO_COLOR_WHITE); if (!src) src = &pattern.base; - + status = _cairo_surface_old_show_glyphs (glyph_info->font, op, src, dst, extents->x, extents->y, @@ -890,7 +890,7 @@ _cairo_surface_old_show_glyphs_draw_func (void *closure if (status != CAIRO_INT_STATUS_UNSUPPORTED) return status; - + status = _cairo_scaled_font_show_glyphs (glyph_info->font, op, src, dst, @@ -933,15 +933,15 @@ _cairo_surface_fallback_show_glyphs (cairo_surface_t *surface, _cairo_rectangle_intersect (&extents, &glyph_extents); } - + status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents); if (status) return status; - + glyph_info.font = scaled_font; glyph_info.glyphs = glyphs; glyph_info.num_glyphs = num_glyphs; - + status = _clip_and_composite (surface->clip, op, source, @@ -949,7 +949,7 @@ _cairo_surface_fallback_show_glyphs (cairo_surface_t *surface, &glyph_info, surface, &extents); - + return status; } @@ -1063,7 +1063,7 @@ _cairo_surface_fallback_fill_rectangles (cairo_surface_t *surface, y1 = rects[0].y; x2 = rects[0].x + rects[0].width; y2 = rects[0].y + rects[0].height; - + for (i = 1; i < num_rects; i++) { if (rects[i].x < x1) x1 = rects[i].x; @@ -1084,7 +1084,7 @@ _cairo_surface_fallback_fill_rectangles (cairo_surface_t *surface, } /* If the fetched image isn't at 0,0, we need to offset the rectangles */ - + if (state.image_rect.x != 0 || state.image_rect.y != 0) { offset_rects = malloc (sizeof (cairo_rectangle_fixed_t) * num_rects); if (offset_rects == NULL) { @@ -1140,7 +1140,7 @@ _cairo_surface_fallback_composite_trapezoids (cairo_operator_t op, } /* If the destination image isn't at 0,0, we need to offset the trapezoids */ - + if (state.image_rect.x != 0 || state.image_rect.y != 0) { offset_traps = malloc (sizeof (cairo_trapezoid_t) * num_traps); if (!offset_traps) { @@ -1166,6 +1166,6 @@ _cairo_surface_fallback_composite_trapezoids (cairo_operator_t op, DONE: _fallback_fini (&state); - + return status; } diff --git a/src/cairo-surface.c b/src/cairo-surface.c index c6f8f9ca..c7809d7f 100644 --- a/src/cairo-surface.c +++ b/src/cairo-surface.c @@ -188,7 +188,7 @@ _cairo_surface_init (cairo_surface_t *surface, surface->backend = backend; surface->content = content; - + surface->type = backend->type; surface->ref_count = 1; @@ -294,7 +294,7 @@ _cairo_surface_create_similar_solid (cairo_surface_t *other, CAIRO_OPERATOR_SOURCE, source); cairo_pattern_destroy (source); - + if (status) { cairo_surface_destroy (surface); _cairo_error (status); @@ -466,7 +466,7 @@ cairo_surface_set_user_data (cairo_surface_t *surface, { if (surface->ref_count == -1) return CAIRO_STATUS_NO_MEMORY; - + return _cairo_user_data_array_set_data (&surface->user_data, key, user_data, destroy); } @@ -520,7 +520,7 @@ cairo_surface_flush (cairo_surface_t *surface) cairo_status_t status; status = surface->backend->flush (surface); - + if (status) _cairo_surface_set_error (surface, status); } @@ -584,12 +584,12 @@ cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface, if (surface->backend->mark_dirty_rectangle) { cairo_status_t status; - + status = surface->backend->mark_dirty_rectangle (surface, SURFACE_TO_BACKEND_X(surface, x), SURFACE_TO_BACKEND_Y(surface, y), width, height); - + if (status) _cairo_surface_set_error (surface, status); } @@ -799,13 +799,13 @@ _cairo_surface_clone_similar (cairo_surface_t *surface, cairo_status_t status; cairo_image_surface_t *image; void *image_extra; - + if (surface->finished) return CAIRO_STATUS_SURFACE_FINISHED; if (surface->backend->clone_similar == NULL) return CAIRO_INT_STATUS_UNSUPPORTED; - + status = surface->backend->clone_similar (surface, src, clone_out); if (status == CAIRO_STATUS_SUCCESS) { (*clone_out)->device_x_offset = src->device_x_offset; @@ -830,7 +830,7 @@ _cairo_surface_clone_similar (cairo_surface_t *surface, * inefficient compared to a backend-specific implementation of * clone_similar() with an image source. So we don't bother */ - + _cairo_surface_release_source_image (src, image, image_extra); return status; } @@ -891,7 +891,7 @@ _cairo_surface_composite (cairo_operator_t op, if (dst->status) return dst->status; - + if (dst->finished) return CAIRO_STATUS_SURFACE_FINISHED; @@ -985,7 +985,7 @@ _cairo_surface_fill_region (cairo_surface_t *surface, if (!num_rects) return CAIRO_STATUS_SUCCESS; - + rects = malloc (sizeof (pixman_rectangle_t) * num_rects); if (!rects) return CAIRO_STATUS_NO_MEMORY; @@ -999,7 +999,7 @@ _cairo_surface_fill_region (cairo_surface_t *surface, status = _cairo_surface_fill_rectangles (surface, op, color, rects, num_rects); - + free (rects); return status; @@ -1207,7 +1207,7 @@ FINISH: return status; } - + cairo_status_t _cairo_surface_composite_trapezoids (cairo_operator_t op, cairo_pattern_t *pattern, @@ -1326,7 +1326,7 @@ unsigned int _cairo_surface_allocate_clip_serial (cairo_surface_t *surface) { unsigned int serial; - + if (surface->status) return 0; @@ -1354,7 +1354,7 @@ _cairo_surface_reset_clip (cairo_surface_t *surface) if (surface->finished) return CAIRO_STATUS_SURFACE_FINISHED; - + surface->current_clip_serial = 0; if (surface->backend->intersect_clip_path) { @@ -1398,7 +1398,7 @@ _cairo_surface_set_clip_region (cairo_surface_t *surface, if (surface->finished) return CAIRO_STATUS_SURFACE_FINISHED; - + assert (surface->backend->set_clip_region != NULL); surface->current_clip_serial = serial; @@ -1423,7 +1423,7 @@ _cairo_surface_intersect_clip_path (cairo_surface_t *surface, if (surface->finished) return CAIRO_STATUS_SURFACE_FINISHED; - + assert (surface->backend->intersect_clip_path != NULL); status = surface->backend->intersect_clip_path (surface, @@ -1500,7 +1500,7 @@ cairo_status_t _cairo_surface_set_clip (cairo_surface_t *surface, cairo_clip_t *clip) { unsigned int serial = 0; - + if (!surface) return CAIRO_STATUS_NULL_POINTER; @@ -1515,7 +1515,7 @@ _cairo_surface_set_clip (cairo_surface_t *surface, cairo_clip_t *clip) if (serial == 0) clip = NULL; } - + surface->clip = clip; if (serial == _cairo_surface_get_current_clip_serial (surface)) @@ -1526,13 +1526,13 @@ _cairo_surface_set_clip (cairo_surface_t *surface, cairo_clip_t *clip) return _cairo_surface_set_clip_path (surface, clip->path, clip->serial); - + if (clip->region) return _cairo_surface_set_clip_region (surface, clip->region, clip->serial); } - + return _cairo_surface_reset_clip (surface); } @@ -1866,7 +1866,7 @@ _cairo_surface_composite_shape_fixup_unbounded (cairo_surface_t *dst, mask_tmp.y = dst_y - mask_y; mask_tmp.width = mask_width; mask_tmp.height = mask_height; - + mask_rectangle = &mask_tmp; return _cairo_surface_composite_fixup_unbounded_internal (dst, src_rectangle, mask_rectangle, diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c index f0c1e5c4..2827b572 100644 --- a/src/cairo-svg-surface.c +++ b/src/cairo-svg-surface.c @@ -396,7 +396,7 @@ _cairo_svg_surface_create_for_document (cairo_svg_document_t *document, surface->id = document->surface_id++; clip_id = document->clip_id++; - + clip = xmlNewChild (document->xml_node_defs, NULL, CC2XML ("clipPath"), NULL); snprintf (buffer, sizeof buffer, "clip%d", clip_id); xmlSetProp (clip, CC2XML ("id"), C2XML (buffer)); @@ -405,14 +405,14 @@ _cairo_svg_surface_create_for_document (cairo_svg_document_t *document, xmlSetProp (rect, CC2XML ("width"), C2XML (buffer)); _cairo_dtostr (buffer, sizeof buffer, height); xmlSetProp (rect, CC2XML ("height"), C2XML (buffer)); - + /* Use of xlink namespace requires node to be linked to tree. * So by default we link surface main node to document svg node. * For surfaces that don't own document, their main node will be * unlinked and freed in surface finish. */ surface->xml_node = xmlNewChild (document->xml_node_main, NULL, CC2XML ("g"), NULL); surface->xml_root_node = surface->xml_node; - + snprintf (buffer, sizeof buffer, "surface%d", surface->id); xmlSetProp (surface->xml_node, CC2XML ("id"), C2XML (buffer)); snprintf (buffer, sizeof buffer, "url(#clip%d)", clip_id); @@ -581,7 +581,7 @@ _cairo_svg_document_emit_glyph (cairo_svg_document_t *document, svg_path_info_t info; xmlNodePtr symbol, child; char buffer[CAIRO_SVG_DTOSTR_BUFFER_LEN]; - + status = _cairo_scaled_glyph_lookup (scaled_font, scaled_font_glyph_index, CAIRO_SCALED_GLYPH_INFO_METRICS| @@ -600,7 +600,7 @@ _cairo_svg_document_emit_glyph (cairo_svg_document_t *document, _cairo_surface_set_error (document->owner, status); return; } - + info.document = document; info.path = xmlBufferCreate (); info.ctm_inverse = NULL; @@ -622,7 +622,7 @@ _cairo_svg_document_emit_glyph (cairo_svg_document_t *document, child = xmlNewChild (symbol, NULL, CC2XML ("path"), NULL); xmlSetProp (child, CC2XML ("d"), xmlBufferContent (info.path)); xmlSetProp (child, CC2XML ("style"), CC2XML ("stroke: none;")); - + xmlBufferFree (info.path); } @@ -657,7 +657,7 @@ _operation_supported (cairo_svg_surface_t *surface, const cairo_pattern_t *pattern) { cairo_svg_document_t *document = surface->document; - + if (document->svg_version < CAIRO_SVG_VERSION_1_2) if (op != CAIRO_OPERATOR_OVER) return FALSE; @@ -691,7 +691,7 @@ _cairo_svg_surface_finish (void *abstract_surface) cairo_status_t status; cairo_svg_surface_t *surface = abstract_surface; cairo_svg_document_t *document = surface->document; - + if (document->owner == &surface->base) { status = _cairo_svg_document_finish (document); } else { @@ -736,7 +736,7 @@ emit_transform (xmlNodePtr node, { xmlBufferPtr matrix_buffer; char buffer[CAIRO_SVG_DTOSTR_BUFFER_LEN]; - + matrix_buffer = xmlBufferCreate (); xmlBufferCat (matrix_buffer, CC2XML ("matrix(")); _cairo_dtostr (buffer, sizeof buffer, matrix->xx); @@ -835,7 +835,7 @@ _cairo_surface_base64_encode (cairo_surface_t *surface, if (buffer == NULL) return CAIRO_STATUS_NULL_POINTER; - + info.buffer = xmlBufferCreate(); info.in_mem = 0; info.trailing = 0; @@ -852,7 +852,7 @@ _cairo_surface_base64_encode (cairo_surface_t *surface, *buffer = NULL; return status; } - + if (info.in_mem > 0) { for (i = info.in_mem; i < 3; i++) info.src[i] = '\x0'; @@ -860,7 +860,7 @@ _cairo_surface_base64_encode (cairo_surface_t *surface, info.in_mem = 3; base64_write_func (&info, NULL, 0); } - + return CAIRO_STATUS_SUCCESS; } @@ -900,7 +900,7 @@ emit_composite_image_pattern (xmlNodePtr node, _cairo_dtostr (buffer, sizeof buffer, image->height); xmlSetProp (child, CC2XML ("height"), C2XML (buffer)); xmlSetProp (child, CC2XML ("xlink:href"), C2XML (xmlBufferContent (image_buffer))); - + xmlBufferFree (image_buffer); if (!is_pattern) { @@ -939,7 +939,7 @@ emit_meta_surface (cairo_svg_document_t *document, break; } } - + if (i >= num_elements) { cairo_surface_t *paginated_surface; cairo_surface_t *svg_surface; @@ -958,11 +958,11 @@ emit_meta_surface (cairo_svg_document_t *document, &cairo_svg_surface_paginated_backend); _cairo_meta_surface_replay ((cairo_surface_t *)meta, paginated_surface); _cairo_surface_show_page (paginated_surface); - + new_snapshot.meta = meta; new_snapshot.id = ((cairo_svg_surface_t *) svg_surface)->id; _cairo_array_append (&document->meta_snapshots, &new_snapshot); - + if (meta->content == CAIRO_CONTENT_ALPHA) emit_alpha_filter (document); child = xmlAddChild (document->xml_node_defs, @@ -994,13 +994,13 @@ emit_composite_meta_pattern (xmlNodePtr node, char buffer[CAIRO_SVG_DTOSTR_BUFFER_LEN]; meta_surface = (cairo_meta_surface_t *) pattern->surface; - + id = emit_meta_surface (document, meta_surface); - + child = xmlNewChild (node, NULL, CC2XML("use"), NULL); snprintf (buffer, sizeof buffer, "#surface%d", id); xmlSetProp (child, CC2XML ("xlink:href"), C2XML (buffer)); - + if (!is_pattern) { p2u = pattern->base.matrix; cairo_matrix_invert (&p2u); @@ -1038,13 +1038,13 @@ emit_operator (xmlNodePtr node, { char const *op_str[] = { "clear", - + "src", "src-over", "src-in", "src-out", "src-atop", - + "dst", "dst-over", "dst-in", "dst-out", "dst-atop", - + "xor", "plus", "color-dodge" /* FIXME: saturate ? */ }; @@ -1102,9 +1102,9 @@ emit_surface_pattern (cairo_svg_surface_t *surface, cairo_matrix_t p2u; double width, height; char buffer[CAIRO_SVG_DTOSTR_BUFFER_LEN]; - + child = xmlNewChild (document->xml_node_defs, NULL, CC2XML ("pattern"), NULL); - + id = xmlBufferCreate (); xmlBufferCat (id, CC2XML ("pattern")); snprintf (buffer, sizeof buffer, "%d", document->pattern_id); @@ -1180,7 +1180,7 @@ emit_pattern_extend (xmlNodePtr node, cairo_extend_t extend) /* FIXME not implemented */ break; } - + if (value != NULL) xmlSetProp (node, CC2XML ("spreadMethod"), CC2XML (value)); } @@ -1197,9 +1197,9 @@ emit_linear_pattern (cairo_svg_surface_t *surface, double x0, y0, x1, y1; cairo_matrix_t p2u; char buffer[CAIRO_SVG_DTOSTR_BUFFER_LEN]; - + child = xmlNewChild (document->xml_node_defs, NULL, CC2XML ("linearGradient"), NULL); - + id = xmlBufferCreate (); xmlBufferCat (id, CC2XML ("linear")); snprintf (buffer, sizeof buffer, "%d", document->linear_pattern_id); @@ -1222,7 +1222,7 @@ emit_linear_pattern (cairo_svg_surface_t *surface, y0 = _cairo_fixed_to_double (pattern->gradient.p1.y); x1 = _cairo_fixed_to_double (pattern->gradient.p2.x); y1 = _cairo_fixed_to_double (pattern->gradient.p2.y); - + _cairo_dtostr (buffer, sizeof buffer, x0); xmlSetProp (child, CC2XML ("x1"), C2XML (buffer)); _cairo_dtostr (buffer, sizeof buffer, y0); @@ -1231,13 +1231,13 @@ emit_linear_pattern (cairo_svg_surface_t *surface, xmlSetProp (child, CC2XML ("x2"), C2XML (buffer)); _cairo_dtostr (buffer, sizeof buffer, y1); xmlSetProp (child, CC2XML ("y2"), C2XML (buffer)); - + p2u = pattern->base.base.matrix; cairo_matrix_invert (&p2u); emit_transform (child, "gradientTransform", &p2u); } - + static void emit_radial_pattern (cairo_svg_surface_t *surface, cairo_radial_pattern_t *pattern, @@ -1250,9 +1250,9 @@ emit_radial_pattern (cairo_svg_surface_t *surface, double x0, y0, x1, y1, r0, r1; double fx, fy; char buffer[CAIRO_SVG_DTOSTR_BUFFER_LEN]; - + child = xmlNewChild (document->xml_node_defs, NULL, CC2XML ("radialGradient"), NULL); - + id = xmlBufferCreate (); xmlBufferCat (id, CC2XML ("radial")); snprintf (buffer, sizeof buffer, "%d", document->radial_pattern_id); @@ -1260,7 +1260,7 @@ emit_radial_pattern (cairo_svg_surface_t *surface, xmlSetProp (child, CC2XML ("id"), C2XML (xmlBufferContent (id))); xmlSetProp (child, CC2XML ("gradientUnits"), CC2XML ("userSpaceOnUse")); emit_pattern_extend (child, pattern->base.base.extend); - + xmlBufferCat (style, CC2XML (is_stroke ? "color: url(#" : "fill: url(#")); xmlBufferCat (style, xmlBufferContent (id)); xmlBufferCat (style, CC2XML (");")); @@ -1302,7 +1302,7 @@ emit_radial_pattern (cairo_svg_surface_t *surface, emit_transform (child, "gradientTransform", &p2u); } - + static void emit_pattern (cairo_svg_surface_t *surface, cairo_pattern_t *pattern, xmlBufferPtr style, int is_stroke) @@ -1350,7 +1350,7 @@ _cairo_svg_surface_fill (void *abstract_surface, info.document = document; info.path = xmlBufferCreate (); info.ctm_inverse = NULL; - + style = xmlBufferCreate (); emit_pattern (surface, source, style, 0); xmlBufferCat (style, CC2XML (" stroke: none;")); @@ -1437,7 +1437,7 @@ _cairo_svg_surface_paint (void *abstract_surface, cairo_pattern_t *source) { cairo_svg_surface_t *surface = abstract_surface; - + if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE) return _analyze_operation (surface, op, source); @@ -1463,7 +1463,7 @@ _cairo_svg_surface_paint (void *abstract_surface, (op == CAIRO_OPERATOR_CLEAR || op == CAIRO_OPERATOR_SOURCE)) { xmlNodePtr child = surface->xml_root_node->children; - + while (child != NULL) { xmlUnlinkNode (child); xmlFreeNode (child); @@ -1487,7 +1487,7 @@ _cairo_svg_surface_paint (void *abstract_surface, } emit_paint (surface->xml_node, surface, op, source); - + return CAIRO_STATUS_SUCCESS; } @@ -1506,7 +1506,7 @@ _cairo_svg_surface_mask (void *abstract_surface, return _analyze_operation (surface, op, source); assert (_operation_supported (surface, op, source)); - + emit_alpha_filter (document); mask_node = xmlNewChild (document->xml_node_defs, NULL, CC2XML ("mask"), NULL); @@ -1553,7 +1553,7 @@ _cairo_svg_surface_stroke (void *abstract_dst, svg_path_info_t info; unsigned int i; char buffer[CAIRO_SVG_DTOSTR_BUFFER_LEN]; - + if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE) return _analyze_operation (surface, op, source); @@ -1569,7 +1569,7 @@ _cairo_svg_surface_stroke (void *abstract_dst, _cairo_dtostr (buffer, sizeof buffer, stroke_style->line_width); xmlBufferCat (style, C2XML (buffer)); xmlBufferCat (style, CC2XML (";")); - + switch (stroke_style->line_cap) { case CAIRO_LINE_CAP_BUTT: xmlBufferCat (style, CC2XML ("stroke-linecap: butt;")); @@ -1623,13 +1623,13 @@ _cairo_svg_surface_stroke (void *abstract_dst, _cairo_svg_path_curve_to, _cairo_svg_path_close_path, &info); - + child = xmlNewChild (surface->xml_node, NULL, CC2XML ("path"), NULL); emit_transform (child, "transform", ctm); xmlSetProp (child, CC2XML ("d"), xmlBufferContent (info.path)); xmlSetProp (child, CC2XML ("style"), xmlBufferContent (style)); emit_operator (child, surface, op); - + xmlBufferFree (info.path); xmlBufferFree (style); @@ -1654,7 +1654,7 @@ _cairo_svg_surface_show_glyphs (void *abstract_surface, char buffer[CAIRO_SVG_DTOSTR_BUFFER_LEN]; unsigned int font_id, subset_id, subset_glyph_index; int i; - + if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE) return _analyze_operation (surface, op, pattern); @@ -1698,7 +1698,7 @@ _cairo_svg_surface_show_glyphs (void *abstract_surface, return CAIRO_STATUS_SUCCESS; FALLBACK: - + _cairo_path_fixed_init (&path); status = _cairo_scaled_font_glyph_path (scaled_font,(cairo_glyph_t *) glyphs, num_glyphs, &path); @@ -1835,7 +1835,7 @@ _cairo_svg_document_create (cairo_output_stream_t *output_stream, free (document); return NULL; } - + document->output_stream = output_stream; document->refcount = 1; document->owner = NULL; @@ -1863,13 +1863,13 @@ _cairo_svg_document_create (cairo_output_stream_t *output_stream, document->xml_node_defs = xmlNewChild (node, NULL, CC2XML ("defs"), NULL); xml_buffer = xmlBufferCreate (); - + _cairo_dtostr (buffer, sizeof buffer, width); xmlBufferCat (xml_buffer, C2XML (buffer)); xmlBufferCat (xml_buffer, CC2XML ("pt")); xmlSetProp (node, CC2XML ("width"), C2XML (xmlBufferContent (xml_buffer))); xmlBufferEmpty (xml_buffer); - + _cairo_dtostr (buffer, sizeof buffer, height); xmlBufferCat (xml_buffer, C2XML (buffer)); xmlBufferCat (xml_buffer, CC2XML ("pt")); @@ -1883,7 +1883,7 @@ _cairo_svg_document_create (cairo_output_stream_t *output_stream, _cairo_dtostr (buffer, sizeof buffer, height); xmlBufferCat (xml_buffer, C2XML (buffer)); xmlSetProp (node, CC2XML ("viewBox"), C2XML (xmlBufferContent (xml_buffer))); - + xmlBufferFree (xml_buffer); xmlNewNs (node, CC2XML ("http://www.w3.org/2000/svg"), NULL); @@ -1927,7 +1927,7 @@ _cairo_svg_document_write (cairo_output_stream_t *output_stream, int len) { cairo_status_t status; - + _cairo_output_stream_write (output_stream, buffer, len); status = _cairo_output_stream_get_status (output_stream); if (status) { diff --git a/src/cairo-traps.c b/src/cairo-traps.c index 6733ca58..a3f1fca0 100644 --- a/src/cairo-traps.c +++ b/src/cairo-traps.c @@ -102,13 +102,13 @@ _cairo_traps_init_box (cairo_traps_t *traps, cairo_box_t *box) { cairo_status_t status; - + _cairo_traps_init (traps); - + status = _cairo_traps_grow_by (traps, 1); if (status) return status; - + traps->num_traps = 1; traps->traps[0].top = box->p1.y; @@ -165,12 +165,12 @@ _cairo_traps_add_trap (cairo_traps_t *traps, cairo_fixed_t top, cairo_fixed_t bo traps->extents.p1.x = left->p1.x; if (left->p2.x < traps->extents.p1.x) traps->extents.p1.x = left->p2.x; - + if (right->p1.x > traps->extents.p2.x) traps->extents.p2.x = right->p1.x; if (right->p2.x > traps->extents.p2.x) traps->extents.p2.x = right->p2.x; - + traps->num_traps++; return CAIRO_STATUS_SUCCESS; @@ -540,7 +540,7 @@ _line_segs_intersect_ceil (cairo_line_t *l1, cairo_line_t *l2, cairo_fixed_t *y_ dy2 = l2->p1.y - l2->p2.y; den_det = _det16_32 (dx1, dy1, dx2, dy2); - + if (_cairo_int64_eq (den_det, _cairo_int32_to_int64(0))) return 0; @@ -549,26 +549,26 @@ _line_segs_intersect_ceil (cairo_line_t *l1, cairo_line_t *l2, cairo_fixed_t *y_ l2_det = _det16_32 (l2->p1.x, l2->p1.y, l2->p2.x, l2->p2.y); - + num_det = _det32_64 (l1_det, _fixed_16_16_to_fixed_32_32 (dy1), l2_det, _fixed_16_16_to_fixed_32_32 (dy2)); - + /* * Ok, this one is a bit tricky in fixed point, the denominator * needs to be left with 32-bits of fraction so that the * result of the divide ends up with 32-bits of fraction (64 - 32 = 32) */ qr = _cairo_int128_divrem (num_det, _cairo_int64_to_int128 (den_det)); - + intersect_32_32 = _cairo_int128_to_int64 (qr.quo); - + /* * Find the ceiling of the quotient -- divrem returns * the quotient truncated towards zero, so if the * quotient should be positive (num_den and den_det have same sign) * bump the quotient up by one. */ - + if (_cairo_int128_ne (qr.rem, _cairo_int32_to_int128 (0)) && (_cairo_int128_ge (num_det, _cairo_int32_to_int128 (0)) == _cairo_int64_ge (den_det, _cairo_int32_to_int64 (0)))) @@ -576,7 +576,7 @@ _line_segs_intersect_ceil (cairo_line_t *l1, cairo_line_t *l2, cairo_fixed_t *y_ intersect_32_32 = _cairo_int64_add (intersect_32_32, _cairo_int32_to_int64 (1)); } - + /* * Now convert from 32.32 to 48.16 and take the ceiling; * this requires adding in 15 1 bits and shifting the result @@ -585,12 +585,12 @@ _line_segs_intersect_ceil (cairo_line_t *l1, cairo_line_t *l2, cairo_fixed_t *y_ intersect_32_32 = _cairo_int64_add (intersect_32_32, _cairo_int32_to_int64 ((1 << 16) - 1)); intersect_48_16 = _cairo_int64_rsa (intersect_32_32, 16); - + /* * And drop the top bits */ intersect_16_16 = _cairo_int64_to_int32 (intersect_48_16); - + *y_intersection = intersect_16_16; return 1; @@ -741,7 +741,7 @@ _cairo_traps_tessellate_polygon (cairo_traps_t *traps, return CAIRO_STATUS_SUCCESS; qsort (edges, num_edges, sizeof (cairo_edge_t), _compare_cairo_edge_by_top); - + y = edges[0].edge.p1.y; active = 0; inactive = 0; @@ -809,12 +809,12 @@ static cairo_bool_t _cairo_trap_contains (cairo_trapezoid_t *t, cairo_point_t *pt) { cairo_slope_t slope_left, slope_pt, slope_right; - + if (t->top > pt->y) return FALSE; if (t->bottom < pt->y) return FALSE; - + _cairo_slope_init (&slope_left, &t->left.p1, &t->left.p2); _cairo_slope_init (&slope_pt, &t->left.p1, pt); @@ -882,7 +882,7 @@ _cairo_traps_extract_region (cairo_traps_t *traps, *region = NULL; return CAIRO_STATUS_SUCCESS; } - + *region = pixman_region_create (); for (i = 0; i < traps->num_traps; i++) { @@ -897,7 +897,7 @@ _cairo_traps_extract_region (cairo_traps_t *traps, */ if (width == 0 || height == 0) continue; - + if (pixman_region_union_rect (*region, *region, x, y, width, height) != PIXMAN_REGION_STATUS_SUCCESS) { pixman_region_destroy (*region); diff --git a/src/cairo-unicode.c b/src/cairo-unicode.c index 8929baaa..0c0dff2e 100644 --- a/src/cairo-unicode.c +++ b/src/cairo-unicode.c @@ -84,7 +84,7 @@ ((Char) < 0x10000 ? 3 : \ ((Char) < 0x200000 ? 4 : \ ((Char) < 0x4000000 ? 5 : 6))))) - + #define UTF8_GET(Result, Chars, Count, Mask, Len) \ (Result) = (Chars)[0] & (Mask); \ @@ -104,8 +104,8 @@ (((Char) & 0xFFFFF800) != 0xD800) && \ ((Char) < 0xFDD0 || (Char) > 0xFDEF) && \ ((Char) & 0xFFFE) != 0xFFFE) - - + + static const char utf8_skip_data[256] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, @@ -170,7 +170,7 @@ _utf8_get_char_extended (const unsigned char *p, } else { return (uint32_t)-1; } - + if (max_len >= 0 && len > max_len) { for (i = 1; i < max_len; i++) { if ((((unsigned char *)p)[i] & 0xc0) != 0x80) @@ -181,7 +181,7 @@ _utf8_get_char_extended (const unsigned char *p, for (i = 1; i < len; ++i) { uint32_t ch = ((unsigned char *)p)[i]; - + if ((ch & 0xc0) != 0x80) { if (ch) return (uint32_t)-1; @@ -195,7 +195,7 @@ _utf8_get_char_extended (const unsigned char *p, if (UTF8_LENGTH(wc) != len) return (uint32_t)-1; - + return wc; } @@ -228,7 +228,7 @@ _cairo_utf8_to_ucs4 (const unsigned char *str, uint32_t *str32 = NULL; int n_chars, i; const unsigned char *in; - + in = str; n_chars = 0; while ((len < 0 || str + len - in > 0) && *in) @@ -236,7 +236,7 @@ _cairo_utf8_to_ucs4 (const unsigned char *str, uint32_t wc = _utf8_get_char_extended (in, str + len - in); if (wc & 0x80000000 || !UNICODE_VALID (wc)) return CAIRO_STATUS_INVALID_STRING; - + n_chars++; if (n_chars == INT_MAX) return CAIRO_STATUS_INVALID_STRING; @@ -247,7 +247,7 @@ _cairo_utf8_to_ucs4 (const unsigned char *str, str32 = malloc (sizeof (uint32_t) * (n_chars + 1)); if (!str32) return CAIRO_STATUS_NO_MEMORY; - + in = str; for (i=0; i < n_chars; i++) { str32[i] = _utf8_get_char (in); @@ -299,23 +299,23 @@ _cairo_utf8_to_utf16 (const unsigned char *str, uint32_t wc = _utf8_get_char_extended (in, str + len - in); if (wc & 0x80000000 || !UNICODE_VALID (wc)) return CAIRO_STATUS_INVALID_STRING; - + if (wc < 0x10000) n16 += 1; else n16 += 2; - + if (n16 == INT_MAX - 1 || n16 == INT_MAX) return CAIRO_STATUS_INVALID_STRING; - + in = UTF8_NEXT_CHAR (in); } - + str16 = malloc (sizeof (uint16_t) * (n16 + 1)); if (!str16) return CAIRO_STATUS_NO_MEMORY; - + in = str; for (i = 0; i < n16;) { uint32_t wc = _utf8_get_char (in); @@ -326,7 +326,7 @@ _cairo_utf8_to_utf16 (const unsigned char *str, str16[i++] = (wc - 0x10000) / 0x400 + 0xd800; str16[i++] = (wc - 0x10000) % 0x400 + 0xdc00; } - + in = UTF8_NEXT_CHAR (in); } diff --git a/src/cairo-wideint.c b/src/cairo-wideint.c index 89df00b3..b5fd5551 100644 --- a/src/cairo-wideint.c +++ b/src/cairo-wideint.c @@ -113,7 +113,7 @@ cairo_uint64_t _cairo_uint32x32_64_mul (uint32_t a, uint32_t b) { cairo_uint64_t s; - + uint16_t ah, al, bh, bl; uint32_t r0, r1, r2, r3; @@ -153,7 +153,7 @@ cairo_uint64_t _cairo_uint64_mul (cairo_uint64_t a, cairo_uint64_t b) { cairo_uint64_t s; - + s = _cairo_uint32x32_64_mul (a.lo, b.lo); s.hi += a.lo * b.hi + a.hi * b.lo; return s; @@ -262,9 +262,9 @@ _cairo_uint64_divrem (cairo_uint64_t num, cairo_uint64_t den) cairo_uquorem64_t qr; cairo_uint64_t bit; cairo_uint64_t quo; - + bit = _cairo_uint32_to_uint64 (1); - + /* normalize to make den >= num, but not overflow */ while (_cairo_uint64_lt (den, num) && (den.hi & 0x80000000) == 0) { @@ -272,7 +272,7 @@ _cairo_uint64_divrem (cairo_uint64_t num, cairo_uint64_t den) den = _cairo_uint64_lsl (den, 1); } quo = _cairo_uint32_to_uint64 (0); - + /* generate quotient, one bit at a time */ while (bit.hi | bit.lo) { @@ -588,9 +588,9 @@ _cairo_uint128_divrem (cairo_uint128_t num, cairo_uint128_t den) cairo_uquorem128_t qr; cairo_uint128_t bit; cairo_uint128_t quo; - + bit = _cairo_uint32_to_uint128 (1); - + /* normalize to make den >= num, but not overflow */ while (_cairo_uint128_lt (den, num) && !_cairo_msbset64(den.hi)) { @@ -598,7 +598,7 @@ _cairo_uint128_divrem (cairo_uint128_t num, cairo_uint128_t den) den = _cairo_uint128_lsl (den, 1); } quo = _cairo_uint32_to_uint128 (0); - + /* generate quotient, one bit at a time */ while (_cairo_uint128_ne (bit, _cairo_uint32_to_uint128(0))) { diff --git a/src/cairo-wideint.h b/src/cairo-wideint.h index 795cde73..aed9e444 100644 --- a/src/cairo-wideint.h +++ b/src/cairo-wideint.h @@ -185,7 +185,7 @@ _cairo_int64_divrem (cairo_int64_t num, cairo_int64_t den); * case the machine has a native 128-bit datatype. GCC supports int128_t * on ia64 */ - + #if !HAVE_UINT128_T typedef struct cairo_uint128 { diff --git a/src/cairo-win32-font.c b/src/cairo-win32-font.c index ac455b4f..81aadae2 100644 --- a/src/cairo-win32-font.c +++ b/src/cairo-win32-font.c @@ -89,7 +89,7 @@ typedef struct { cairo_bool_t swap_y; double x_scale; double y_scale; - + /* The size of the design unit of the font */ int em_square; @@ -126,7 +126,7 @@ _compute_transform (cairo_win32_scaled_font_t *scaled_font, scaled_font->y_scale = sc->yy; scaled_font->swap_y = (sc->yy < 0); scaled_font->swap_axes = FALSE; - + } else if (NEARLY_ZERO (sc->xx) && NEARLY_ZERO (sc->yy)) { scaled_font->preserve_axes = TRUE; scaled_font->x_scale = sc->yx; @@ -145,7 +145,7 @@ _compute_transform (cairo_win32_scaled_font_t *scaled_font, scaled_font->x_scale = - scaled_font->x_scale; if (scaled_font->swap_y) scaled_font->y_scale = - scaled_font->y_scale; - + scaled_font->logical_scale = WIN32_FONT_LOGICAL_SCALE * scaled_font->y_scale; scaled_font->logical_size = WIN32_FONT_LOGICAL_SCALE * floor (scaled_font->y_scale + 0.5); } @@ -169,7 +169,7 @@ _compute_transform (cairo_win32_scaled_font_t *scaled_font, 1.0 / scaled_font->logical_scale, 1.0 / scaled_font->logical_scale); scaled_font->device_to_logical = scaled_font->logical_to_device; - + status = cairo_matrix_invert (&scaled_font->device_to_logical); if (status) cairo_matrix_init_identity (&scaled_font->device_to_logical); @@ -179,14 +179,14 @@ static cairo_bool_t _have_cleartype_quality (void) { OSVERSIONINFO version_info; - + version_info.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); - + if (!GetVersionEx (&version_info)) { _cairo_win32_print_gdi_error ("_have_cleartype_quality"); return FALSE; } - + return (version_info.dwMajorVersion > 5 || (version_info.dwMajorVersion == 5 && version_info.dwMinorVersion >= 1)); /* XP or newer */ @@ -268,7 +268,7 @@ _win32_scaled_font_create (LOGFONTW *logfont, ASSERT_NOT_REACHED; } } - + f->em_square = 0; f->scaled_hfont = hfont; f->unscaled_hfont = NULL; @@ -297,7 +297,7 @@ _win32_scaled_font_set_world_transform (cairo_win32_scaled_font_t *scaled_font, HDC hdc) { XFORM xform; - + xform.eM11 = scaled_font->logical_to_device.xx; xform.eM21 = scaled_font->logical_to_device.xy; xform.eM12 = scaled_font->logical_to_device.yx; @@ -387,7 +387,7 @@ _win32_scaled_font_get_unscaled_hfont (cairo_win32_scaled_font_t *scaled_font, _cairo_win32_print_gdi_error ("_win32_scaled_font_get_unscaled_hfont:GetOutlineTextMetrics"); return NULL; } - + otm = malloc (otm_size); if (!otm) return NULL; @@ -400,14 +400,14 @@ _win32_scaled_font_get_unscaled_hfont (cairo_win32_scaled_font_t *scaled_font, scaled_font->em_square = otm->otmEMSquare; free (otm); - + logfont = scaled_font->logfont; logfont.lfHeight = -scaled_font->em_square; logfont.lfWidth = 0; logfont.lfEscapement = 0; logfont.lfOrientation = 0; logfont.lfQuality = scaled_font->quality; - + scaled_font->unscaled_hfont = CreateFontIndirectW (&logfont); if (!scaled_font->unscaled_hfont) { _cairo_win32_print_gdi_error ("_win32_scaled_font_get_unscaled_hfont:CreateIndirect"); @@ -518,7 +518,7 @@ _cairo_win32_scaled_font_create_toy (cairo_toy_font_face_t *toy_face, if (!logfont.lfFaceName) return CAIRO_STATUS_NO_MEMORY; - + scaled_font = _win32_scaled_font_create (&logfont, NULL, &toy_face->base, font_matrix, ctm, options); if (!scaled_font) @@ -570,7 +570,7 @@ _cairo_win32_scaled_font_text_to_glyphs (void *abstract_font, cairo_matrix_transform_distance (&scaled_font->base.font_matrix, &x_incr, &y_incr); x_incr /= scaled_font->logical_scale; y_incr /= scaled_font->logical_scale; - + status = _cairo_utf8_to_utf16 (utf8, -1, &utf16, &n16); if (status) return status; @@ -580,13 +580,13 @@ _cairo_win32_scaled_font_text_to_glyphs (void *abstract_font, gcp_results.lpOrder = NULL; gcp_results.lpCaretPos = NULL; gcp_results.lpClass = NULL; - + buffer_size = MAX (n16 * 1.2, 16); /* Initially guess number of chars plus a few */ if (buffer_size > INT_MAX) { status = CAIRO_STATUS_NO_MEMORY; goto FAIL1; } - + hdc = _get_global_font_dc (); if (!hdc) { status = CAIRO_STATUS_NO_MEMORY; @@ -596,7 +596,7 @@ _cairo_win32_scaled_font_text_to_glyphs (void *abstract_font, status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc); if (status) goto FAIL1; - + while (TRUE) { if (glyph_indices) { free (glyph_indices); @@ -606,7 +606,7 @@ _cairo_win32_scaled_font_text_to_glyphs (void *abstract_font, free (dx); dx = NULL; } - + glyph_indices = malloc (sizeof (WCHAR) * buffer_size); dx = malloc (sizeof (int) * buffer_size); if (!glyph_indices || !dx) { @@ -630,7 +630,7 @@ _cairo_win32_scaled_font_text_to_glyphs (void *abstract_font, break; /* Too small a buffer, try again */ - + buffer_size *= 1.5; if (buffer_size > INT_MAX) { status = CAIRO_STATUS_NO_MEMORY; @@ -647,7 +647,7 @@ _cairo_win32_scaled_font_text_to_glyphs (void *abstract_font, x_pos = x; y_pos = y; - + for (i = 0; i < gcp_results.nGlyphs; i++) { (*glyphs)[i].index = glyph_indices[i]; (*glyphs)[i].x = x_pos ; @@ -662,12 +662,12 @@ _cairo_win32_scaled_font_text_to_glyphs (void *abstract_font, free (glyph_indices); if (dx) free (dx); - + cairo_win32_scaled_font_done_font (&scaled_font->base); - + FAIL1: free (utf16); - + return status; } @@ -718,7 +718,7 @@ _cairo_win32_scaled_font_set_metrics (cairo_win32_scaled_font_t *scaled_font) extents.height = (double)(metrics.tmHeight + metrics.tmExternalLeading) / scaled_font->em_square; extents.max_x_advance = (double)(metrics.tmMaxCharWidth) / scaled_font->em_square; extents.max_y_advance = 0; - + } _cairo_scaled_font_set_metrics (&scaled_font->base, &extents); @@ -780,7 +780,7 @@ _cairo_win32_scaled_font_init_glyph_metrics (cairo_win32_scaled_font_t *scaled_f extents.y_bearing = (- extents.y_bearing - extents.height); extents.y_advance = - extents.y_advance; } - + } else { /* For all other transformations, we use the design metrics * of the font. @@ -870,7 +870,7 @@ _cairo_win32_scaled_font_glyph_bbox (void *abstract_font, typedef struct { cairo_win32_scaled_font_t *scaled_font; HDC hdc; - + cairo_array_t glyphs; cairo_array_t dx; @@ -902,7 +902,7 @@ _flush_glyphs (cairo_glyph_state_t *state) status = _cairo_array_append (&state->dx, &dx); if (status) return status; - + elements = _cairo_array_index (&state->glyphs, 0); dx_elements = _cairo_array_index (&state->dx, 0); if (!ExtTextOutW (state->hdc, @@ -914,7 +914,7 @@ _flush_glyphs (cairo_glyph_state_t *state) dx_elements)) { return _cairo_win32_print_gdi_error ("_flush_glyphs"); } - + _cairo_array_truncate (&state->glyphs, 0); _cairo_array_truncate (&state->dx, 0); @@ -940,14 +940,14 @@ _add_glyph (cairo_glyph_state_t *state, if (state->glyphs.num_elements > 0) { int dx; - + if (logical_y != state->last_y) { status = _flush_glyphs (state); if (status) return status; state->start_x = logical_x; } - + dx = logical_x - state->last_x; status = _cairo_array_append (&state->dx, &dx); if (status) @@ -958,7 +958,7 @@ _add_glyph (cairo_glyph_state_t *state, state->last_x = logical_x; state->last_y = logical_y; - + status = _cairo_array_append (&state->glyphs, &glyph_index); if (status) return status; @@ -998,7 +998,7 @@ _draw_glyphs_on_surface (cairo_win32_surface_t *surface, SetTextColor (surface->dc, color); SetTextAlign (surface->dc, TA_BASELINE | TA_LEFT); SetBkMode (surface->dc, TRANSPARENT); - + _start_glyphs (&state, scaled_font, surface->dc); for (i = 0; i < num_glyphs; i++) { @@ -1013,10 +1013,10 @@ _draw_glyphs_on_surface (cairo_win32_surface_t *surface, cairo_win32_scaled_font_done_font (&scaled_font->base); FAIL1: RestoreDC (surface->dc, -1); - + return status; } - + /* Duplicate the green channel of a 4-channel mask in the alpha channel, then * invert the whole mask. */ @@ -1069,7 +1069,7 @@ _compute_a8_mask (cairo_win32_surface_t *mask_surface) for (i = 0; i < image24->height; i++) { uint32_t *p = (uint32_t *) (image24->data + i * image24->stride); unsigned char *q = (unsigned char *) (image8->data + i * image8->stride); - + for (j = 0; j < image24->width; j++) { *q = 255 - ((*p & 0x0000ff00) >> 8); p++; @@ -1140,7 +1140,7 @@ _cairo_win32_scaled_font_show_glyphs (void *abstract_font, * solid opaque color, we can just call ExtTextOut directly. */ COLORREF new_color; - + new_color = RGB (((int)solid_pattern->color.red_short) >> 8, ((int)solid_pattern->color.green_short) >> 8, ((int)solid_pattern->color.blue_short) >> 8); @@ -1148,7 +1148,7 @@ _cairo_win32_scaled_font_show_glyphs (void *abstract_font, status = _draw_glyphs_on_surface (surface, scaled_font, new_color, 0, 0, glyphs, num_glyphs); - + return status; } else { /* Otherwise, we need to draw using software fallbacks. We create a mask @@ -1187,12 +1187,12 @@ _cairo_win32_scaled_font_show_glyphs (void *abstract_font, _compute_argb32_mask_alpha (tmp_surface); else _invert_argb32_mask (tmp_surface); - + mask_surface = &tmp_surface->base; /* XXX: Hacky, should expose this in cairo_image_surface */ pixman_image_set_component_alpha (((cairo_image_surface_t *)tmp_surface->image)->pixman_image, TRUE); - + } else { mask_surface = _compute_a8_mask (tmp_surface); cairo_surface_destroy (&tmp_surface->base); @@ -1215,7 +1215,7 @@ _cairo_win32_scaled_font_show_glyphs (void *abstract_font, width, height); _cairo_pattern_fini (&mask.base); - + cairo_surface_destroy (mask_surface); return status; @@ -1251,18 +1251,18 @@ _cairo_win32_scaled_font_init_glyph_path (cairo_win32_scaled_font_t *scaled_font status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc); if (status) goto CLEANUP_PATH; - + bytesGlyph = GetGlyphOutlineW (hdc, _cairo_scaled_glyph_index (scaled_glyph), GGO_NATIVE | GGO_GLYPH_INDEX, &metrics, 0, NULL, &matrix); - + if (bytesGlyph == GDI_ERROR) { status = _cairo_win32_print_gdi_error ("_cairo_win32_scaled_font_glyph_path"); goto CLEANUP_FONT; } ptr = buffer = malloc (bytesGlyph); - + if (!buffer) { status = CAIRO_STATUS_NO_MEMORY; goto CLEANUP_FONT; @@ -1275,13 +1275,13 @@ _cairo_win32_scaled_font_init_glyph_path (cairo_win32_scaled_font_t *scaled_font free (buffer); goto CLEANUP_FONT; } - + while (ptr < buffer + bytesGlyph) { TTPOLYGONHEADER *header = (TTPOLYGONHEADER *)ptr; unsigned char *endPoly = ptr + header->cb; - + ptr += sizeof (TTPOLYGONHEADER); - + _cairo_path_fixed_move_to (path, _cairo_fixed_from_FIXED (header->pfxStart.x), _cairo_fixed_from_FIXED (header->pfxStart.y)); @@ -1304,7 +1304,7 @@ _cairo_win32_scaled_font_init_glyph_path (cairo_win32_scaled_font_t *scaled_font _cairo_path_fixed_get_current_point (path, &p1x, &p1y); cx = _cairo_fixed_from_FIXED (points[i].x); cy = _cairo_fixed_from_FIXED (points[i].y); - + if (i + 1 == curve->cpfx - 1) { p2x = _cairo_fixed_from_FIXED (points[i + 1].x); p2y = _cairo_fixed_from_FIXED (points[i + 1].y); @@ -1314,12 +1314,12 @@ _cairo_win32_scaled_font_init_glyph_path (cairo_win32_scaled_font_t *scaled_font p2x = (cx + _cairo_fixed_from_FIXED (points[i + 1].x)) / 2; p2y = (cy + _cairo_fixed_from_FIXED (points[i + 1].y)) / 2; } - + c1x = 2 * cx / 3 + p1x / 3; c1y = 2 * cy / 3 + p1y / 3; c2x = 2 * cx / 3 + p2x / 3; c2y = 2 * cy / 3 + p2y / 3; - + _cairo_path_fixed_curve_to (path, c1x, c1y, c2x, c2y, p2x, p2y); } break; @@ -1434,10 +1434,10 @@ cairo_win32_font_face_create_for_logfontw (LOGFONTW *logfont) _cairo_error (CAIRO_STATUS_NO_MEMORY); return (cairo_font_face_t *)&_cairo_font_face_nil; } - + font_face->logfont = *logfont; font_face->hfont = NULL; - + _cairo_font_face_init (&font_face->base, &_cairo_win32_font_face_backend); return &font_face->base; @@ -1454,9 +1454,9 @@ cairo_win32_font_face_create_for_hfont (HFONT font) _cairo_error (CAIRO_STATUS_NO_MEMORY); return (cairo_font_face_t *)&_cairo_font_face_nil; } - + font_face->hfont = font; - + _cairo_font_face_init (&font_face->base, &_cairo_win32_font_face_backend); return &font_face->base; diff --git a/src/cairo-win32-private.h b/src/cairo-win32-private.h index 01fa2945..d74b84e2 100644 --- a/src/cairo-win32-private.h +++ b/src/cairo-win32-private.h @@ -52,7 +52,7 @@ typedef struct _cairo_win32_surface { cairo_surface_t base; cairo_format_t format; - + HDC dc; /* We create off-screen surfaces as DIBs */ @@ -66,9 +66,9 @@ typedef struct _cairo_win32_surface { * on some versions of Windows. */ HBITMAP saved_dc_bitmap; - + cairo_surface_t *image; - + cairo_rectangle_fixed_t clip_rect; HRGN saved_clip; diff --git a/src/cairo-win32-surface.c b/src/cairo-win32-surface.c index fd7f9e0b..d6d109c4 100644 --- a/src/cairo-win32-surface.c +++ b/src/cairo-win32-surface.c @@ -75,7 +75,7 @@ _cairo_win32_print_gdi_error (const char *context) fprintf (stderr, "%s: Unknown GDI error", context); } else { fprintf (stderr, "%s: %s", context, (char *)lpMsgBuf); - + LocalFree (lpMsgBuf); } @@ -116,11 +116,11 @@ _create_dc_and_bitmap (cairo_win32_surface_t *surface, case CAIRO_FORMAT_RGB24: num_palette = 0; break; - + case CAIRO_FORMAT_A8: num_palette = 256; break; - + case CAIRO_FORMAT_A1: num_palette = 2; break; @@ -141,7 +141,7 @@ _create_dc_and_bitmap (cairo_win32_surface_t *surface, bitmap_info->bmiHeader.biXPelsPerMeter = 72. / 0.0254; /* unused here */ bitmap_info->bmiHeader.biYPelsPerMeter = 72. / 0.0254; /* unused here */ bitmap_info->bmiHeader.biPlanes = 1; - + switch (format) { /* We can't create real RGB24 bitmaps because something seems to * break if we do, especially if we don't set up an image @@ -155,7 +155,7 @@ _create_dc_and_bitmap (cairo_win32_surface_t *surface, bitmap_info->bmiHeader.biClrUsed = 0; /* unused */ bitmap_info->bmiHeader.biClrImportant = 0; break; - + case CAIRO_FORMAT_A8: bitmap_info->bmiHeader.biBitCount = 8; bitmap_info->bmiHeader.biCompression = BI_RGB; @@ -168,9 +168,9 @@ _create_dc_and_bitmap (cairo_win32_surface_t *surface, bitmap_info->bmiColors[i].rgbRed = i; bitmap_info->bmiColors[i].rgbReserved = 0; } - + break; - + case CAIRO_FORMAT_A1: bitmap_info->bmiHeader.biBitCount = 1; bitmap_info->bmiHeader.biCompression = BI_RGB; @@ -204,7 +204,7 @@ _create_dc_and_bitmap (cairo_win32_surface_t *surface, surface->bitmap); if (!surface->saved_dc_bitmap) goto FAIL; - + if (bitmap_info && num_palette > 2) free (bitmap_info); @@ -218,11 +218,11 @@ _create_dc_and_bitmap (cairo_win32_surface_t *surface, case CAIRO_FORMAT_RGB24: *rowstride_out = 4 * width; break; - + case CAIRO_FORMAT_A8: *rowstride_out = (width + 3) & ~3; break; - + case CAIRO_FORMAT_A1: *rowstride_out = ((width + 31) & ~31) / 8; break; @@ -233,7 +233,7 @@ _create_dc_and_bitmap (cairo_win32_surface_t *surface, FAIL: status = _cairo_win32_print_gdi_error ("_create_dc_and_bitmap"); - + if (bitmap_info && num_palette > 2) free (bitmap_info); @@ -241,17 +241,17 @@ _create_dc_and_bitmap (cairo_win32_surface_t *surface, SelectObject (surface->dc, surface->saved_dc_bitmap); surface->saved_dc_bitmap = NULL; } - + if (surface->bitmap) { DeleteObject (surface->bitmap); surface->bitmap = NULL; } - + if (surface->dc) { DeleteDC (surface->dc); surface->dc = NULL; } - + return status; } @@ -284,9 +284,9 @@ _cairo_win32_surface_create_for_dc (HDC original_dc, status = CAIRO_STATUS_NO_MEMORY; goto FAIL; } - + surface->format = format; - + surface->clip_rect.x = 0; surface->clip_rect.y = 0; surface->clip_rect.width = width; @@ -375,7 +375,7 @@ _cairo_win32_surface_get_subimage (cairo_win32_surface_t *surface, height); if (local->base.status) return CAIRO_STATUS_NO_MEMORY; - + if (!BitBlt (local->dc, 0, 0, width, height, @@ -395,7 +395,7 @@ _cairo_win32_surface_get_subimage (cairo_win32_surface_t *surface, } *local_out = local; - + return CAIRO_STATUS_SUCCESS; FAIL: @@ -441,7 +441,7 @@ _cairo_win32_surface_release_source_image (void *abstract_surf void *image_extra) { cairo_win32_surface_t *local = image_extra; - + if (local) cairo_surface_destroy ((cairo_surface_t *)local); } @@ -489,14 +489,14 @@ _cairo_win32_surface_acquire_dest_image (void *abstract_surfa x2 = interest_rect->x + interest_rect->width; if (interest_rect->y + interest_rect->height < y2) y2 = interest_rect->y + interest_rect->height; - + if (x1 >= x2 || y1 >= y2) { *image_out = NULL; *image_extra = NULL; - + return CAIRO_STATUS_SUCCESS; } - + status = _cairo_win32_surface_get_subimage (abstract_surface, x1, y1, x2 - x1, y2 - y1, &local); @@ -505,7 +505,7 @@ _cairo_win32_surface_acquire_dest_image (void *abstract_surfa *image_out = (cairo_image_surface_t *)local->image; *image_extra = local; - + image_rect->x = x1; image_rect->y = y1; image_rect->width = x2 - x1; @@ -523,7 +523,7 @@ _cairo_win32_surface_release_dest_image (void *abstract_surfa { cairo_win32_surface_t *surface = abstract_surface; cairo_win32_surface_t *local = image_extra; - + if (!local) return; @@ -588,22 +588,22 @@ _composite_alpha_blend (cairo_win32_surface_t *dst, */ if (!alpha_blend_checked) { OSVERSIONINFO os; - + os.dwOSVersionInfoSize = sizeof (os); GetVersionEx (&os); - + /* If running on Win98, disable using AlphaBlend() * to avoid Win98 AlphaBlend() bug */ if (VER_PLATFORM_WIN32_WINDOWS != os.dwPlatformId || os.dwMajorVersion != 4 || os.dwMinorVersion != 10) { HMODULE msimg32_dll = LoadLibrary ("msimg32"); - + if (msimg32_dll != NULL) alpha_blend = (cairo_alpha_blend_func_t)GetProcAddress (msimg32_dll, "AlphaBlend"); } - + alpha_blend_checked = TRUE; } @@ -611,7 +611,7 @@ _composite_alpha_blend (cairo_win32_surface_t *dst, return CAIRO_INT_STATUS_UNSUPPORTED; if (GetDeviceCaps(dst->dc, SHADEBLENDCAPS) == SB_NONE) return CAIRO_INT_STATUS_UNSUPPORTED; - + blend_function.BlendOp = AC_SRC_OVER; blend_function.BlendFlags = 0; blend_function.SourceConstantAlpha = alpha; @@ -625,7 +625,7 @@ _composite_alpha_blend (cairo_win32_surface_t *dst, width, height, blend_function)) return _cairo_win32_print_gdi_error ("_cairo_win32_surface_composite"); - + return CAIRO_STATUS_SUCCESS; } @@ -671,7 +671,7 @@ _cairo_win32_surface_composite (cairo_operator_t op, if (src->base.backend != dst->base.backend) return CAIRO_INT_STATUS_UNSUPPORTED; - + integer_transform = _cairo_matrix_is_integer_translation (&pattern->matrix, &itx, &ity); if (!integer_transform) return CAIRO_INT_STATUS_UNSUPPORTED; @@ -706,7 +706,7 @@ _cairo_win32_surface_composite (cairo_operator_t op, if (alpha == 255 && (op == CAIRO_OPERATOR_SOURCE || (src->format == CAIRO_FORMAT_RGB24 && op == CAIRO_OPERATOR_OVER))) { - + if (!BitBlt (dst->dc, dst_x, dst_y, width, height, @@ -716,7 +716,7 @@ _cairo_win32_surface_composite (cairo_operator_t op, return _cairo_win32_print_gdi_error ("_cairo_win32_surface_composite"); return CAIRO_STATUS_SUCCESS; - + } else if ((src->format == CAIRO_FORMAT_RGB24 || src->format == CAIRO_FORMAT_ARGB32) && (dst->format == CAIRO_FORMAT_RGB24 || dst->format == CAIRO_FORMAT_ARGB32) && op == CAIRO_OPERATOR_OVER) { @@ -725,7 +725,7 @@ _cairo_win32_surface_composite (cairo_operator_t op, src_x, src_y, dst_x, dst_y, width, height); } - + return CAIRO_INT_STATUS_UNSUPPORTED; } @@ -747,13 +747,13 @@ categorize_solid_dest_operator (cairo_operator_t op, source = SOURCE_TRANSPARENT; else source = SOURCE_OTHER; - + switch (op) { case CAIRO_OPERATOR_CLEAR: /* 0 0 */ case CAIRO_OPERATOR_OUT: /* 1 - Ab 0 */ return DO_CLEAR; break; - + case CAIRO_OPERATOR_SOURCE: /* 1 0 */ case CAIRO_OPERATOR_IN: /* Ab 0 */ return DO_SOURCE; @@ -768,7 +768,7 @@ categorize_solid_dest_operator (cairo_operator_t op, else return DO_UNSUPPORTED; break; - + case CAIRO_OPERATOR_DEST_OUT: /* 0 1 - Aa */ case CAIRO_OPERATOR_XOR: /* 1 - Ab 1 - Aa */ if (source == SOURCE_SOLID) @@ -778,7 +778,7 @@ categorize_solid_dest_operator (cairo_operator_t op, else return DO_UNSUPPORTED; break; - + case CAIRO_OPERATOR_DEST: /* 0 1 */ case CAIRO_OPERATOR_DEST_OVER:/* 1 - Ab 1 */ case CAIRO_OPERATOR_SATURATE: /* min(1,(1-Ab)/Aa) 1 */ @@ -794,7 +794,7 @@ categorize_solid_dest_operator (cairo_operator_t op, else return DO_UNSUPPORTED; break; - + case CAIRO_OPERATOR_ADD: /* 1 1 */ if (source == SOURCE_TRANSPARENT) return DO_NOTHING; @@ -843,11 +843,11 @@ _cairo_win32_surface_fill_rectangles (void *abstract_surface, default: return CAIRO_INT_STATUS_UNSUPPORTED; } - + new_brush = CreateSolidBrush (new_color); if (!new_brush) return _cairo_win32_print_gdi_error ("_cairo_win32_surface_fill_rectangles"); - + for (i = 0; i < num_rects; i++) { RECT rect; @@ -861,14 +861,14 @@ _cairo_win32_surface_fill_rectangles (void *abstract_surface, } DeleteObject (new_brush); - + return CAIRO_STATUS_SUCCESS; FAIL: status = _cairo_win32_print_gdi_error ("_cairo_win32_surface_fill_rectangles"); - + DeleteObject (new_brush); - + return status; } @@ -901,7 +901,7 @@ _cairo_win32_surface_set_clip_region (void *abstract_surface, return _cairo_win32_print_gdi_error ("_cairo_win32_surface_set_clip_region (reset)"); return CAIRO_STATUS_SUCCESS; - + } else { pixman_box16_t *boxes = pixman_region_rects (region); int num_boxes = pixman_region_num_rects (region); @@ -938,7 +938,7 @@ _cairo_win32_surface_set_clip_region (void *abstract_surface, gdi_region = ExtCreateRegion (NULL, data_size, data); free (data); - + if (!gdi_region) return CAIRO_STATUS_NO_MEMORY; @@ -1143,11 +1143,11 @@ cairo_win32_surface_create (HDC hdc) surface->image = NULL; surface->format = format; - + surface->dc = hdc; surface->bitmap = NULL; surface->saved_dc_bitmap = NULL; - + surface->clip_rect.x = rect.left; surface->clip_rect.y = rect.top; surface->clip_rect.width = rect.right - rect.left; diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c index bfa3730f..648cdb64 100644 --- a/src/cairo-xcb-surface.c +++ b/src/cairo-xcb-surface.c @@ -277,7 +277,7 @@ _cairo_xcb_surface_create_similar (void *abstract_src, d.pixmap, src->drawable, width <= 0 ? 1 : width, height <= 0 ? 1 : height); - + surface = (cairo_xcb_surface_t *) cairo_xcb_surface_create_with_xrender_format (dpy, d, &xrender_format, @@ -402,7 +402,7 @@ _get_image_surface (cairo_xcb_surface_t *surface, rect.y = interest_rect->y; rect.width = interest_rect->width; rect.height = interest_rect->height; - + if (rect.x > x1) x1 = rect.x; if (rect.y > y1) @@ -670,7 +670,7 @@ _cairo_xcb_surface_clone_similar (void *abstract_surface, if (xcb_src->dpy == surface->dpy) { *clone_out = cairo_surface_reference (src); - + return CAIRO_STATUS_SUCCESS; } } else if (_cairo_surface_is_image (src)) { @@ -679,20 +679,20 @@ _cairo_xcb_surface_clone_similar (void *abstract_surface, if (surface->base.status) return surface->base.status; - + clone = (cairo_xcb_surface_t *) _cairo_xcb_surface_create_similar (surface, content, image_src->width, image_src->height); if (clone->base.status) return CAIRO_STATUS_NO_MEMORY; - + _draw_image_surface (clone, image_src, 0, 0); - + *clone_out = &clone->base; return CAIRO_STATUS_SUCCESS; } - + return CAIRO_INT_STATUS_UNSUPPORTED; } @@ -727,10 +727,10 @@ _cairo_xcb_surface_set_matrix (cairo_xcb_surface_t *surface, if (memcmp (&xtransform, &identity, sizeof (XCBRenderTRANSFORM)) == 0) return CAIRO_STATUS_SUCCESS; - + return CAIRO_INT_STATUS_UNSUPPORTED; } - + XCBRenderSetPictureTransform (surface->dpy, surface->picture, xtransform); return CAIRO_STATUS_SUCCESS; @@ -744,15 +744,15 @@ _cairo_xcb_surface_set_filter (cairo_xcb_surface_t *surface, if (!surface->picture.xid) return CAIRO_STATUS_SUCCESS; - + if (!CAIRO_SURFACE_RENDER_HAS_FILTERS (surface)) { if (filter == CAIRO_FILTER_FAST || filter == CAIRO_FILTER_NEAREST) return CAIRO_STATUS_SUCCESS; - + return CAIRO_INT_STATUS_UNSUPPORTED; } - + switch (filter) { case CAIRO_FILTER_FAST: render_filter = "fast"; @@ -803,7 +803,7 @@ _cairo_xcb_surface_set_attributes (cairo_xcb_surface_t *surface, status = _cairo_xcb_surface_set_matrix (surface, &attributes->matrix); if (status) return status; - + switch (attributes->extend) { case CAIRO_EXTEND_NONE: _cairo_xcb_surface_set_repeat (surface, 0); @@ -894,7 +894,7 @@ _cairo_xcb_surface_composite (cairo_operator_t op, &src_attr, &mask_attr); if (status) return status; - + status = _cairo_xcb_surface_set_attributes (src, &src_attr); if (status == CAIRO_STATUS_SUCCESS) { @@ -917,7 +917,7 @@ _cairo_xcb_surface_composite (cairo_operator_t op, else { static XCBRenderPICTURE maskpict = { 0 }; - + XCBRenderComposite (dst->dpy, _render_operator (op), src->picture, @@ -933,7 +933,7 @@ _cairo_xcb_surface_composite (cairo_operator_t op, if (mask) _cairo_pattern_release_surface (mask_pattern, &mask->base, &mask_attr); - + _cairo_pattern_release_surface (src_pattern, &src->base, &src_attr); return status; @@ -990,14 +990,14 @@ _cairo_xcb_surface_composite_trapezoids (cairo_operator_t op, if (!CAIRO_SURFACE_RENDER_HAS_TRAPEZOIDS (dst)) return CAIRO_INT_STATUS_UNSUPPORTED; - + status = _cairo_pattern_acquire_surface (pattern, &dst->base, src_x, src_y, width, height, (cairo_surface_t **) &src, &attributes); if (status) return status; - + if (traps[0].left.p1.y < traps[0].left.p2.y) { render_reference_x = _cairo_fixed_integer_floor (traps[0].left.p1.x); render_reference_y = _cairo_fixed_integer_floor (traps[0].left.p1.y); diff --git a/src/cairo-xlib-private.h b/src/cairo-xlib-private.h index 966a08d1..f319dcc7 100644 --- a/src/cairo-xlib-private.h +++ b/src/cairo-xlib-private.h @@ -40,11 +40,11 @@ typedef struct _cairo_xlib_screen_info cairo_xlib_screen_info_t; struct _cairo_xlib_screen_info { cairo_xlib_screen_info_t *next; - + Display *display; Screen *screen; cairo_bool_t has_render; - + cairo_font_options_t font_options; }; diff --git a/src/cairo-xlib-screen.c b/src/cairo-xlib-screen.c index 8ac6d89c..cbdb540d 100644 --- a/src/cairo-xlib-screen.c +++ b/src/cairo-xlib-screen.c @@ -65,7 +65,7 @@ static int parse_boolean (const char *v) { char c0, c1; - + c0 = *v; if (c0 == 't' || c0 == 'T' || c0 == 'y' || c0 == 'Y' || c0 == '1') return 1; @@ -79,7 +79,7 @@ parse_boolean (const char *v) if (c1 == 'f' || c1 == 'F') return 0; } - + return -1; } @@ -90,7 +90,7 @@ get_boolean_default (Display *dpy, { char *v; int i; - + v = XGetDefault (dpy, "Xft", option); if (v) { i = parse_boolean (v); @@ -99,7 +99,7 @@ get_boolean_default (Display *dpy, return TRUE; } } - + return FALSE; } @@ -110,17 +110,17 @@ get_integer_default (Display *dpy, { int i; char *v, *e; - + v = XGetDefault (dpy, "Xft", option); if (v) { if (FcNameConstant ((FcChar8 *) v, value)) return TRUE; - + i = strtol (v, &e, 0); if (e != v) return TRUE; } - + return FALSE; } @@ -145,23 +145,23 @@ _cairo_xlib_init_screen_font_options (cairo_xlib_screen_info_t *info) if (!get_boolean_default (info->display, "antialias", &xft_antialias)) xft_antialias = TRUE; - + if (!get_boolean_default (info->display, "hinting", &xft_hinting)) xft_hinting = TRUE; - + if (!get_integer_default (info->display, "hintstyle", &xft_hintstyle)) xft_hintstyle = FC_HINT_FULL; if (!get_integer_default (info->display, "rgba", &xft_rgba)) { xft_rgba = FC_RGBA_UNKNOWN; - + #if RENDER_MAJOR > 0 || RENDER_MINOR >= 6 if (info->has_render) { int render_order = XRenderQuerySubpixelOrder (info->display, XScreenNumberOfScreen (info->screen)); - + switch (render_order) { default: @@ -208,7 +208,7 @@ _cairo_xlib_init_screen_font_options (cairo_xlib_screen_info_t *info) } else { hint_style = CAIRO_HINT_STYLE_NONE; } - + switch (xft_rgba) { case FC_RGBA_RGB: subpixel_order = CAIRO_SUBPIXEL_ORDER_RGB; @@ -352,7 +352,7 @@ _cairo_xlib_screen_info_get (Display *dpy, Screen *screen) info = NULL; goto out; } - + XESetCloseDisplay (dpy, codes->extension, _cairo_xlib_close_display); } @@ -360,15 +360,15 @@ _cairo_xlib_screen_info_get (Display *dpy, Screen *screen) info->screen = screen; info->has_render = (XRenderQueryExtension (dpy, &event_base, &error_base) && (XRenderFindVisualFormat (dpy, DefaultVisual (dpy, DefaultScreen (dpy))) != 0)); - + _cairo_xlib_init_screen_font_options (info); - + info->next = _cairo_xlib_screen_list; _cairo_xlib_screen_list = info; out: CAIRO_MUTEX_UNLOCK (_xlib_screen_mutex); - + return info; } diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c index 0a11611f..5d22ae87 100644 --- a/src/cairo-xlib-surface.c +++ b/src/cairo-xlib-surface.c @@ -86,13 +86,13 @@ struct _cairo_xlib_surface { Display *dpy; cairo_xlib_screen_info_t *screen_info; - + GC gc; Drawable drawable; Screen *screen; cairo_bool_t owns_pixmap; Visual *visual; - + int use_pixmap; int render_major; @@ -225,11 +225,11 @@ _cairo_xlib_surface_create_similar_with_format (void *abstract_src, if (!CAIRO_SURFACE_RENDER_HAS_COMPOSITE(src)) { return cairo_image_surface_create (format, width, height); } - + pix = XCreatePixmap (dpy, RootWindowOfScreen (src->screen), width <= 0 ? 1 : width, height <= 0 ? 1 : height, depth); - + surface = (cairo_xlib_surface_t *) cairo_xlib_surface_create_with_xrender_format (dpy, pix, src->screen, xrender_format, @@ -238,7 +238,7 @@ _cairo_xlib_surface_create_similar_with_format (void *abstract_src, _cairo_error (CAIRO_STATUS_NO_MEMORY); return (cairo_surface_t*) &_cairo_surface_nil; } - + surface->owns_pixmap = TRUE; return &surface->base; @@ -315,7 +315,7 @@ _cairo_xlib_surface_create_similar (void *abstract_src, _cairo_error (CAIRO_STATUS_NO_MEMORY); return (cairo_surface_t*) &_cairo_surface_nil; } - + surface->owns_pixmap = TRUE; return &surface->base; @@ -327,7 +327,7 @@ _cairo_xlib_surface_finish (void *abstract_surface) cairo_xlib_surface_t *surface = abstract_surface; if (surface->dst_picture != None) XRenderFreePicture (surface->dpy, surface->dst_picture); - + if (surface->src_picture != None) XRenderFreePicture (surface->dpy, surface->src_picture); @@ -440,14 +440,14 @@ _swap_ximage_bits (XImage *ximage) for (j = ximage->height; j; j--) { char *p = line; - + for (i = line_bytes; i; i--) { char b = *p; b = ((b << 1) & 0xaa) | ((b >> 1) & 0x55); b = ((b << 2) & 0xcc) | ((b >> 2) & 0x33); b = ((b << 4) & 0xf0) | ((b >> 4) & 0x0f); *p = b; - + p++; } @@ -467,7 +467,7 @@ _swap_ximage_to_native (XImage *ximage) if (ximage->bitmap_bit_order == ximage->byte_order) return; } - + if (ximage->byte_order == native_byte_order) return; @@ -521,12 +521,12 @@ _get_image_surface (cairo_xlib_surface_t *surface, if (interest_rect) { cairo_rectangle_fixed_t rect; - + rect.x = interest_rect->x; rect.y = interest_rect->y; rect.width = interest_rect->width; rect.height = interest_rect->height; - + if (rect.x > x1) x1 = rect.x; if (rect.y > y1) @@ -556,7 +556,7 @@ _get_image_surface (cairo_xlib_surface_t *surface, cairo_xlib_error_func_t old_handler; old_handler = XSetErrorHandler (_noop_error_handler); - + ximage = XGetImage (surface->dpy, surface->drawable, x1, y1, @@ -564,7 +564,7 @@ _get_image_surface (cairo_xlib_surface_t *surface, AllPlanes, ZPixmap); XSetErrorHandler (old_handler); - + /* If we get an error, the surface must have been a window, * so retry with the safe code path. */ @@ -576,7 +576,7 @@ _get_image_surface (cairo_xlib_surface_t *surface, surface->use_pixmap--; ximage = NULL; } - + if (!ximage) { @@ -594,20 +594,20 @@ _get_image_surface (cairo_xlib_surface_t *surface, XCopyArea (surface->dpy, surface->drawable, pixmap, surface->gc, x1, y1, x2 - x1, y2 - y1, 0, 0); - + ximage = XGetImage (surface->dpy, pixmap, 0, 0, x2 - x1, y2 - y1, AllPlanes, ZPixmap); - + XFreePixmap (surface->dpy, pixmap); } if (!ximage) return CAIRO_STATUS_NO_MEMORY; _swap_ximage_to_native (ximage); - + /* * Compute the pixel format masks from either a visual or a * XRenderFormat, failing we assume the drawable is an @@ -675,7 +675,7 @@ _get_image_surface (cairo_xlib_surface_t *surface, _cairo_image_surface_assume_ownership_of_data (image); ximage->data = NULL; XDestroyImage (ximage); - + *image_out = image; return CAIRO_STATUS_SUCCESS; @@ -693,7 +693,7 @@ _cairo_xlib_surface_ensure_src_picture (cairo_xlib_surface_t *surface) surface->xrender_format, 0, NULL); } - + static void _cairo_xlib_surface_set_picture_clip_rects (cairo_xlib_surface_t *surface) { @@ -713,7 +713,7 @@ _cairo_xlib_surface_set_gc_clip_rects (cairo_xlib_surface_t *surface) surface->clip_rects, surface->num_clip_rects, YXSorted); } - + static void _cairo_xlib_surface_ensure_dst_picture (cairo_xlib_surface_t *surface) { @@ -724,9 +724,9 @@ _cairo_xlib_surface_ensure_dst_picture (cairo_xlib_surface_t *surface) 0, NULL); _cairo_xlib_surface_set_picture_clip_rects (surface); } - + } - + static void _cairo_xlib_surface_ensure_gc (cairo_xlib_surface_t *surface) { @@ -750,10 +750,10 @@ _draw_image_surface (cairo_xlib_surface_t *surface, XImage ximage; int bpp, alpha, red, green, blue; int native_byte_order = _native_byte_order_lsb () ? LSBFirst : MSBFirst; - + pixman_format_get_masks (pixman_image_get_format (image->pixman_image), &bpp, &alpha, &red, &green, &blue); - + ximage.width = image->width; ximage.height = image->height; ximage.format = ZPixmap; @@ -771,7 +771,7 @@ _draw_image_surface (cairo_xlib_surface_t *surface, ximage.xoffset = 0; XInitImage (&ximage); - + _cairo_xlib_surface_ensure_gc (surface); XPutImage(surface->dpy, surface->drawable, surface->gc, &ximage, 0, 0, dst_x, dst_y, @@ -825,7 +825,7 @@ _cairo_xlib_surface_acquire_dest_image (void *abstract_surfac *image_out = image; *image_extra = NULL; - + return CAIRO_STATUS_SUCCESS; } @@ -869,25 +869,25 @@ _cairo_xlib_surface_clone_similar (void *abstract_surface, if (_cairo_xlib_surface_same_screen (surface, xlib_src)) { *clone_out = cairo_surface_reference (src); - + return CAIRO_STATUS_SUCCESS; } } else if (_cairo_surface_is_image (src)) { cairo_image_surface_t *image_src = (cairo_image_surface_t *)src; - + clone = (cairo_xlib_surface_t *) _cairo_xlib_surface_create_similar_with_format (surface, image_src->format, image_src->width, image_src->height); if (clone->base.status) return CAIRO_STATUS_NO_MEMORY; - + _draw_image_surface (clone, image_src, 0, 0); - + *clone_out = &clone->base; return CAIRO_STATUS_SUCCESS; } - + return CAIRO_INT_STATUS_UNSUPPORTED; } @@ -899,7 +899,7 @@ _cairo_xlib_surface_set_matrix (cairo_xlib_surface_t *surface, if (!surface->src_picture) return CAIRO_STATUS_SUCCESS; - + xtransform.matrix[0][0] = _cairo_fixed_from_double (matrix->xx); xtransform.matrix[0][1] = _cairo_fixed_from_double (matrix->xy); xtransform.matrix[0][2] = _cairo_fixed_from_double (matrix->x0); @@ -922,7 +922,7 @@ _cairo_xlib_surface_set_matrix (cairo_xlib_surface_t *surface, if (memcmp (&xtransform, &identity, sizeof (XTransform)) == 0) return CAIRO_STATUS_SUCCESS; - + return CAIRO_INT_STATUS_UNSUPPORTED; } @@ -944,10 +944,10 @@ _cairo_xlib_surface_set_filter (cairo_xlib_surface_t *surface, { if (filter == CAIRO_FILTER_FAST || filter == CAIRO_FILTER_NEAREST) return CAIRO_STATUS_SUCCESS; - + return CAIRO_INT_STATUS_UNSUPPORTED; } - + switch (filter) { case CAIRO_FILTER_FAST: render_filter = FilterFast; @@ -983,7 +983,7 @@ _cairo_xlib_surface_set_repeat (cairo_xlib_surface_t *surface, int repeat) if (!surface->src_picture) return CAIRO_STATUS_SUCCESS; - + mask = CPRepeat; pa.repeat = repeat; @@ -1003,7 +1003,7 @@ _cairo_xlib_surface_set_attributes (cairo_xlib_surface_t *surface, status = _cairo_xlib_surface_set_matrix (surface, &attributes->matrix); if (status) return status; - + switch (attributes->extend) { case CAIRO_EXTEND_NONE: _cairo_xlib_surface_set_repeat (surface, 0); @@ -1034,7 +1034,7 @@ _surfaces_compatible (cairo_xlib_surface_t *dst, /* same screen */ if (!_cairo_xlib_surface_same_screen (dst, src)) return FALSE; - + /* same depth (for core) */ if (src->depth != dst->depth) return FALSE; @@ -1042,7 +1042,7 @@ _surfaces_compatible (cairo_xlib_surface_t *dst, /* if Render is supported, match picture formats */ if (src->xrender_format != NULL && src->xrender_format == dst->xrender_format) return TRUE; - + /* Without Render, match visuals instead */ if (src->visual == dst->visual) return TRUE; @@ -1060,7 +1060,7 @@ _surface_has_alpha (cairo_xlib_surface_t *surface) else return FALSE; } else { - + /* In the no-render case, we never have alpha */ return FALSE; } @@ -1117,7 +1117,7 @@ _categorize_composite_operation (cairo_xlib_surface_t *dst, cairo_operator_t op, cairo_pattern_t *src_pattern, cairo_bool_t have_mask) - + { if (!dst->buggy_repeat) return DO_RENDER; @@ -1125,7 +1125,7 @@ _categorize_composite_operation (cairo_xlib_surface_t *dst, if (src_pattern->type == CAIRO_PATTERN_TYPE_SURFACE) { cairo_surface_pattern_t *surface_pattern = (cairo_surface_pattern_t *)src_pattern; - + if (_cairo_matrix_is_integer_translation (&src_pattern->matrix, NULL, NULL) && src_pattern->extend == CAIRO_EXTEND_REPEAT) { @@ -1143,7 +1143,7 @@ _categorize_composite_operation (cairo_xlib_surface_t *dst, if (op == CAIRO_OPERATOR_OVER && _surface_has_alpha (src)) return DO_UNSUPPORTED; - + /* If these are on the same screen but otherwise incompatible, * make a copy as core drawing can't cross depths and doesn't * work rightacross visuals of the same depth @@ -1195,7 +1195,7 @@ _recategorize_composite_operation (cairo_xlib_surface_t *dst, if (!dst->buggy_repeat) return DO_RENDER; - + if (is_integer_translation && src_attr->extend == CAIRO_EXTEND_REPEAT && (src->width != 1 || src->height != 1)) @@ -1206,10 +1206,10 @@ _recategorize_composite_operation (cairo_xlib_surface_t *dst, { return DO_XTILE; } - + return DO_UNSUPPORTED; } - + return DO_RENDER; } @@ -1282,7 +1282,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op, mask_pattern != NULL); if (operation == DO_UNSUPPORTED) return CAIRO_INT_STATUS_UNSUPPORTED; - + status = _cairo_pattern_acquire_surfaces (src_pattern, mask_pattern, &dst->base, src_x, src_y, @@ -1293,14 +1293,14 @@ _cairo_xlib_surface_composite (cairo_operator_t op, &src_attr, &mask_attr); if (status) return status; - + operation = _recategorize_composite_operation (dst, op, src, &src_attr, mask_pattern != NULL); if (operation == DO_UNSUPPORTED) { status = CAIRO_INT_STATUS_UNSUPPORTED; goto FAIL; } - + status = _cairo_xlib_surface_set_attributes (src, &src_attr); if (status) goto FAIL; @@ -1313,7 +1313,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op, status = _cairo_xlib_surface_set_attributes (mask, &mask_attr); if (status) goto FAIL; - + XRenderComposite (dst->dpy, _render_operator (op), src->src_picture, @@ -1386,12 +1386,12 @@ _cairo_xlib_surface_composite (cairo_operator_t op, src_x, src_y, mask_x, mask_y, dst_x, dst_y, width, height); - + FAIL: if (mask) _cairo_pattern_release_surface (mask_pattern, &mask->base, &mask_attr); - + _cairo_pattern_release_surface (src_pattern, &src->base, &src_attr); return status; @@ -1447,14 +1447,14 @@ _create_a8_picture (cairo_xlib_surface_t *surface, pa.repeat = TRUE; mask = CPRepeat; } - + picture = XRenderCreatePicture (surface->dpy, pixmap, XRenderFindStandardFormat (surface->dpy, PictStandardA8), mask, &pa); XRenderFillRectangle (surface->dpy, PictOpSrc, picture, color, 0, 0, width, height); XFreePixmap (surface->dpy, pixmap); - + return picture; } @@ -1509,7 +1509,7 @@ _create_trapezoid_mask (cairo_xlib_surface_t *dst, pict_format, 0, 0, offset_traps, num_traps); - + XRenderFreePicture (dst->dpy, solid_picture); free (offset_traps); @@ -1545,7 +1545,7 @@ _cairo_xlib_surface_composite_trapezoids (cairo_operator_t op, operation = _categorize_composite_operation (dst, op, pattern, TRUE); if (operation == DO_UNSUPPORTED) return CAIRO_INT_STATUS_UNSUPPORTED; - + status = _cairo_pattern_acquire_surface (pattern, &dst->base, src_x, src_y, width, height, (cairo_surface_t **) &src, @@ -1567,7 +1567,7 @@ _cairo_xlib_surface_composite_trapezoids (cairo_operator_t op, pict_format = XRenderFindStandardFormat (dst->dpy, PictStandardA8); break; } - + if (traps[0].left.p1.y < traps[0].left.p2.y) { render_reference_x = _cairo_fixed_integer_floor (traps[0].left.p1.x); render_reference_y = _cairo_fixed_integer_floor (traps[0].left.p1.y); @@ -1612,9 +1612,9 @@ _cairo_xlib_surface_composite_trapezoids (cairo_operator_t op, 0, 0, dst_x, dst_y, width, height); - + XRenderFreePicture (dst->dpy, mask_picture); - + status = _cairo_surface_composite_shape_fixup_unbounded (&dst->base, &attributes, src->width, src->height, width, height, @@ -1622,7 +1622,7 @@ _cairo_xlib_surface_composite_trapezoids (cairo_operator_t op, 0, 0, dst_x, dst_y, width, height); - + } else { /* XXX: The XTrapezoid cast is evil and needs to go away somehow. */ XRenderCompositeTrapezoids (dst->dpy, @@ -1657,7 +1657,7 @@ _cairo_xlib_surface_set_clip_region (void *abstract_surface, if (region == NULL) { if (surface->gc) XSetClipMask (surface->dpy, surface->gc, None); - + if (surface->xrender_format && surface->dst_picture) { XRenderPictureAttributes pa; pa.clip_mask = None; @@ -1668,7 +1668,7 @@ _cairo_xlib_surface_set_clip_region (void *abstract_surface, pixman_box16_t *boxes; XRectangle *rects = NULL; int n_boxes, i; - + n_boxes = pixman_region_num_rects (region); if (n_boxes > 0) { rects = malloc (sizeof(XRectangle) * n_boxes); @@ -1679,7 +1679,7 @@ _cairo_xlib_surface_set_clip_region (void *abstract_surface, } boxes = pixman_region_rects (region); - + for (i = 0; i < n_boxes; i++) { rects[i].x = boxes[i].x1; rects[i].y = boxes[i].y1; @@ -1697,7 +1697,7 @@ _cairo_xlib_surface_set_clip_region (void *abstract_surface, if (surface->dst_picture) _cairo_xlib_surface_set_picture_clip_rects (surface); } - + return CAIRO_STATUS_SUCCESS; } @@ -1721,7 +1721,7 @@ _cairo_xlib_surface_get_font_options (void *abstract_surface, cairo_font_options_t *options) { cairo_xlib_surface_t *surface = abstract_surface; - + *options = surface->screen_info->font_options; } @@ -1862,7 +1862,7 @@ _cairo_xlib_surface_create_internal (Display *dpy, surface->use_pixmap = 0; surface->width = width; surface->height = height; - + surface->buggy_repeat = FALSE; if (strstr (ServerVendor (dpy), "X.Org") != NULL) { if (VendorRelease (dpy) <= 60802000) @@ -1942,7 +1942,7 @@ cairo_xlib_surface_create (Display *dpy, _cairo_error (CAIRO_STATUS_INVALID_VISUAL); return (cairo_surface_t*) &_cairo_surface_nil; } - + return _cairo_xlib_surface_create_internal (dpy, drawable, screen, visual, NULL, width, height, 0); } @@ -2065,17 +2065,17 @@ cairo_xlib_surface_set_drawable (cairo_surface_t *abstract_surface, /* XXX: and what about this case? */ if (surface->owns_pixmap) return; - + if (surface->drawable != drawable) { if (surface->dst_picture) XRenderFreePicture (surface->dpy, surface->dst_picture); - + if (surface->src_picture) XRenderFreePicture (surface->dpy, surface->src_picture); - + surface->dst_picture = None; surface->src_picture = None; - + surface->drawable = drawable; } surface->width = width; @@ -2297,7 +2297,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy, glyph_info.yOff = 0; data = glyph_surface->data; - + /* flip formats around */ switch (scaled_glyph->surface->format) { case CAIRO_FORMAT_A1: @@ -2306,7 +2306,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy, int c = glyph_surface->stride * glyph_surface->height; unsigned char *d; unsigned char *new, *n; - + new = malloc (c); if (!new) { status = CAIRO_STATUS_NO_MEMORY; @@ -2332,7 +2332,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy, int c = glyph_surface->stride * glyph_surface->height; unsigned char *d; unsigned char *new, *n; - + new = malloc (c); if (new == NULL) { status = CAIRO_STATUS_NO_MEMORY; @@ -2360,7 +2360,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy, /* XXX assume X server wants pixman padding. Xft assumes this as well */ glyph_index = _cairo_scaled_glyph_index (scaled_glyph); - + XRenderAddGlyphs (dpy, font_private->glyphset, &glyph_index, &(glyph_info), 1, (char *) data, @@ -2368,7 +2368,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy, if (data != glyph_surface->data) free (data); - + BAIL: if (glyph_surface != scaled_glyph->surface) cairo_surface_destroy (&glyph_surface->base); diff --git a/src/cairo.c b/src/cairo.c index e9a0f33a..05f3ee94 100644 --- a/src/cairo.c +++ b/src/cairo.c @@ -227,7 +227,7 @@ cairo_reference (cairo_t *cr) return cr; assert (cr->ref_count > 0); - + cr->ref_count++; return cr; @@ -251,7 +251,7 @@ cairo_destroy (cairo_t *cr) return; assert (cr->ref_count > 0); - + cr->ref_count--; if (cr->ref_count) return; @@ -1285,7 +1285,7 @@ cairo_curve_to (cairo_t *cr, cairo_fixed_t x1_fixed, y1_fixed; cairo_fixed_t x2_fixed, y2_fixed; cairo_fixed_t x3_fixed, y3_fixed; - + if (cr->status) return; @@ -1680,7 +1680,7 @@ cairo_paint_with_alpha (cairo_t *cr, { cairo_color_t color; cairo_pattern_union_t pattern; - + if (cr->status) return; @@ -1724,7 +1724,7 @@ cairo_mask (cairo_t *cr, _cairo_set_error (cr, CAIRO_STATUS_NULL_POINTER); return; } - + if (pattern->status) { _cairo_set_error (cr, pattern->status); return; @@ -1765,7 +1765,7 @@ cairo_mask_surface (cairo_t *cr, cairo_pattern_set_matrix (pattern, &matrix); cairo_mask (cr, pattern); - + cairo_pattern_destroy (pattern); } @@ -1918,7 +1918,7 @@ cairo_stroke_extents (cairo_t *cr, { if (cr->status) return; - + cr->status = _cairo_gstate_stroke_extents (cr->gstate, &cr->path, x1, y1, x2, y2); @@ -1932,7 +1932,7 @@ cairo_fill_extents (cairo_t *cr, { if (cr->status) return; - + cr->status = _cairo_gstate_fill_extents (cr->gstate, &cr->path, x1, y1, x2, y2); @@ -2325,7 +2325,7 @@ cairo_text_extents (cairo_t *cr, _cairo_set_error (cr, cr->status); return; } - + cr->status = _cairo_gstate_glyph_extents (cr->gstate, glyphs, num_glyphs, extents); if (glyphs) free (glyphs); diff --git a/src/cairo.h b/src/cairo.h index 387501cb..9fa44dc4 100644 --- a/src/cairo.h +++ b/src/cairo.h @@ -726,7 +726,7 @@ typedef enum _cairo_font_slant { CAIRO_FONT_SLANT_ITALIC, CAIRO_FONT_SLANT_OBLIQUE } cairo_font_slant_t; - + typedef enum _cairo_font_weight { CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_WEIGHT_BOLD @@ -839,7 +839,7 @@ cairo_font_options_set_subpixel_order (cairo_font_options_t *options, cairo_subpixel_order_t subpixel_order); cairo_public cairo_subpixel_order_t cairo_font_options_get_subpixel_order (const cairo_font_options_t *options); - + cairo_public void cairo_font_options_set_hint_style (cairo_font_options_t *options, cairo_hint_style_t hint_style); @@ -1413,7 +1413,7 @@ cairo_pattern_reference (cairo_pattern_t *pattern); cairo_public void cairo_pattern_destroy (cairo_pattern_t *pattern); - + cairo_public cairo_status_t cairo_pattern_status (cairo_pattern_t *pattern); @@ -1507,7 +1507,7 @@ typedef enum _cairo_filter { CAIRO_FILTER_BILINEAR, CAIRO_FILTER_GAUSSIAN } cairo_filter_t; - + cairo_public void cairo_pattern_set_filter (cairo_pattern_t *pattern, cairo_filter_t filter); diff --git a/src/cairoint.h b/src/cairoint.h index cebaa212..4d691789 100644 --- a/src/cairoint.h +++ b/src/cairoint.h @@ -451,18 +451,18 @@ struct _cairo_scaled_font { /* useful bits for _cairo_scaled_font_nil */ cairo_status_t status; int ref_count; - + /* hash key members */ cairo_font_face_t *font_face; /* may be NULL */ cairo_matrix_t font_matrix; /* font space => user space */ cairo_matrix_t ctm; /* user space => device space */ cairo_font_options_t options; - + /* "live" scaled_font members */ cairo_matrix_t scale; /* font space => device space */ cairo_font_extents_t extents; /* user space */ cairo_cache_t *glyphs; /* glyph index -> cairo_scaled_glyph_t */ - + /* * One surface backend may store data in each glyph. * Whichever surface manages to store its pointer here @@ -470,7 +470,7 @@ struct _cairo_scaled_font { */ const cairo_surface_backend_t *surface_backend; void *surface_private; - + /* font backend managing this scaled font */ const cairo_scaled_font_backend_t *backend; }; @@ -549,7 +549,7 @@ struct _cairo_scaled_font_backend { const char *utf8, cairo_glyph_t **glyphs, int *num_glyphs); - + unsigned long (*ucs4_to_index) (void *scaled_font, uint32_t ucs4); @@ -566,7 +566,7 @@ struct _cairo_scaled_font_backend { unsigned int height, const cairo_glyph_t *glyphs, int num_glyphs); - + }; struct _cairo_font_face_backend { @@ -655,7 +655,7 @@ struct _cairo_surface_backend { (*clone_similar) (void *surface, cairo_surface_t *src, cairo_surface_t **clone_out); - + /* XXX: dst should be the first argument for consistency */ cairo_int_status_t (*composite) (cairo_operator_t op, @@ -893,7 +893,7 @@ struct _cairo_image_surface { unsigned char *data; cairo_bool_t owns_data; cairo_bool_t has_clip; - + int width; int height; @@ -951,26 +951,26 @@ extern const cairo_private cairo_solid_pattern_t cairo_pattern_nil; typedef struct _cairo_surface_pattern { cairo_pattern_t base; - + cairo_surface_t *surface; } cairo_surface_pattern_t; typedef struct _cairo_gradient_pattern { cairo_pattern_t base; - + pixman_gradient_stop_t *stops; int n_stops; } cairo_gradient_pattern_t; typedef struct _cairo_linear_pattern { cairo_gradient_pattern_t base; - + pixman_linear_gradient_t gradient; } cairo_linear_pattern_t; typedef struct _cairo_radial_pattern { cairo_gradient_pattern_t base; - + pixman_radial_gradient_t gradient; } cairo_radial_pattern_t; @@ -983,7 +983,7 @@ typedef union { typedef union { cairo_pattern_t base; - + cairo_solid_pattern_t solid; cairo_surface_pattern_t surface; cairo_gradient_pattern_union_t gradient; @@ -1272,7 +1272,7 @@ _cairo_gstate_set_font_size (cairo_gstate_t *gstate, cairo_private void _cairo_gstate_get_font_matrix (cairo_gstate_t *gstate, cairo_matrix_t *matrix); - + cairo_private cairo_status_t _cairo_gstate_set_font_matrix (cairo_gstate_t *gstate, const cairo_matrix_t *matrix); @@ -1280,7 +1280,7 @@ _cairo_gstate_set_font_matrix (cairo_gstate_t *gstate, cairo_private void _cairo_gstate_get_font_options (cairo_gstate_t *gstate, cairo_font_options_t *options); - + cairo_private cairo_status_t _cairo_gstate_set_font_options (cairo_gstate_t *gstate, const cairo_font_options_t *options); @@ -1727,7 +1727,7 @@ _cairo_surface_show_glyphs (cairo_surface_t *surface, const cairo_glyph_t *glyphs, int num_glyphs, cairo_scaled_font_t *scaled_font); - + cairo_private cairo_status_t _cairo_surface_composite_trapezoids (cairo_operator_t op, cairo_pattern_t *pattern, @@ -1771,7 +1771,7 @@ _cairo_surface_release_dest_image (cairo_surface_t *surface, cairo_image_surface_t *image, cairo_rectangle_fixed_t *image_rect, void *image_extra); - + cairo_private cairo_status_t _cairo_surface_clone_similar (cairo_surface_t *surface, cairo_surface_t *src, diff --git a/src/test-fallback-surface.c b/src/test-fallback-surface.c index 1504aa7f..60c77499 100644 --- a/src/test-fallback-surface.c +++ b/src/test-fallback-surface.c @@ -108,7 +108,7 @@ _test_fallback_surface_finish (void *abstract_surface) test_fallback_surface_t *surface = abstract_surface; cairo_surface_destroy (surface->backing); - + return CAIRO_STATUS_SUCCESS; } @@ -142,7 +142,7 @@ _test_fallback_surface_acquire_dest_image (void *abstract_surface, void **image_extra) { test_fallback_surface_t *surface = abstract_surface; - + return _cairo_surface_acquire_dest_image (surface->backing, interest_rect, image_out, diff --git a/src/test-meta-surface.c b/src/test-meta-surface.c index ade71055..541853cc 100644 --- a/src/test-meta-surface.c +++ b/src/test-meta-surface.c @@ -110,7 +110,7 @@ _test_meta_surface_finish (void *abstract_surface) cairo_surface_destroy (surface->meta); cairo_surface_destroy (surface->image); - + return CAIRO_STATUS_SUCCESS; } diff --git a/test/cairo-test.c b/test/cairo-test.c index 444fe320..fa9a0b0b 100644 --- a/test/cairo-test.c +++ b/test/cairo-test.c @@ -122,7 +122,7 @@ xasprintf (char **strp, const char *fmt, ...) #ifdef HAVE_VASPRINTF va_list va; int ret; - + va_start (va, fmt); ret = vasprintf (strp, fmt, va); va_end (va); @@ -136,7 +136,7 @@ xasprintf (char **strp, const char *fmt, ...) va_list va; char buffer[BUF_SIZE]; int ret; - + va_start (va, fmt); ret = vsnprintf (buffer, sizeof(buffer), fmt, va); va_end (va); @@ -145,12 +145,12 @@ xasprintf (char **strp, const char *fmt, ...) cairo_test_log ("Failure in vsnprintf\n"); exit (1); } - + if (strlen (buffer) == sizeof(buffer) - 1) { cairo_test_log ("Overflowed fixed buffer\n"); exit (1); } - + *strp = strdup (buffer); if (!*strp) { cairo_test_log ("Out of memory\n"); @@ -496,7 +496,7 @@ create_cairo_glitz_glx_surface (cairo_test_t *test, width = 1; if (height == 0) height = 1; - + gxtc->dpy = XOpenDisplay (getenv("CAIRO_TEST_GLITZ_DISPLAY")); if (!gxtc->dpy) { cairo_test_log ("Failed to open display: %s\n", XDisplayName(0)); @@ -1007,7 +1007,7 @@ create_xcb_surface (cairo_test_t *test, cairo_test_log ("Invalid content for XCB test: %d\n", content); return NULL; } - + render_format = _format_from_cairo (c, format); if (render_format.id.xid == 0) return NULL; @@ -1087,7 +1087,7 @@ create_xlib_surface (cairo_test_t *test, cairo_test_log ("X server does not have the Render extension.\n"); return NULL; } - + xtc->pixmap = XCreatePixmap (dpy, DefaultRootWindow (dpy), width, height, xrender_format->depth); @@ -1250,7 +1250,7 @@ create_pdf_surface (cairo_test_t *test, ptc->width = width; ptc->height = height; - + xasprintf (&ptc->filename, "%s-pdf-%s-out.pdf", test->name, _cairo_test_content_name (content)); @@ -1360,10 +1360,10 @@ create_svg_surface (cairo_test_t *test, ptc->width = width; ptc->height = height; - + xasprintf (&ptc->filename, "%s-svg-%s-out.svg", test->name, _cairo_test_content_name (content)); - + surface = cairo_svg_surface_create (ptc->filename, width, height); if (cairo_surface_status (surface)) { free (ptc->filename); @@ -1419,7 +1419,7 @@ svg_surface_write_to_png (cairo_surface_t *surface, const char *filename) if (system (command) != 0) return CAIRO_STATUS_WRITE_ERROR; - + return CAIRO_STATUS_SUCCESS; } @@ -1457,7 +1457,7 @@ cairo_test_for_target (cairo_test_t *test, xasprintf (&offset_str, "-%d", dev_offset); else offset_str = strdup(""); - + if (dev_offset) xasprintf (&offset_str, "-%d", dev_offset); else diff --git a/test/caps-joins.c b/test/caps-joins.c index abc6568b..d4241456 100644 --- a/test/caps-joins.c +++ b/test/caps-joins.c @@ -57,7 +57,7 @@ draw (cairo_t *cr, int width, int height) cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */ cairo_paint (cr); cairo_restore (cr); - + cairo_set_line_width (cr, LINE_WIDTH); cairo_translate (cr, PAD, PAD); diff --git a/test/clip-all.c b/test/clip-all.c index 0fbcc4ac..d4320309 100644 --- a/test/clip-all.c +++ b/test/clip-all.c @@ -46,7 +46,7 @@ draw (cairo_t *cr, int width, int height) cairo_clip (cr); cairo_rectangle (cr, 3*CLIP_SIZE, 3*CLIP_SIZE, CLIP_SIZE, CLIP_SIZE); cairo_clip (cr); - + cairo_translate (cr, .5, .5); cairo_reset_clip (cr); diff --git a/test/clip-nesting.c b/test/clip-nesting.c index 80197803..1f27c8ff 100644 --- a/test/clip-nesting.c +++ b/test/clip-nesting.c @@ -48,7 +48,7 @@ draw (cairo_t *cr, int width, int height) cr2 = cairo_create (target_surface); /* Draw a diagonal line and clip to it */ - + cairo_move_to (cr2, BORDER, BORDER); cairo_line_to (cr2, BORDER + LINE_WIDTH, BORDER); cairo_line_to (cr2, SIZE - BORDER, SIZE - BORDER); @@ -86,7 +86,7 @@ draw (cairo_t *cr, int width, int height) BORDER, BORDER, LINE_WIDTH, SIZE - 2 * BORDER); cairo_fill (cr); - + return CAIRO_TEST_SUCCESS; } diff --git a/test/clip-operator.c b/test/clip-operator.c index 378d6bd5..c11f33d3 100644 --- a/test/clip-operator.c +++ b/test/clip-operator.c @@ -43,7 +43,7 @@ draw_mask (cairo_t *cr, int x, int y) double height = (int)(0.9 * HEIGHT); x += 0.05 * WIDTH; y += 0.05 * HEIGHT; - + mask_surface = cairo_surface_create_similar (cairo_get_target (cr), CAIRO_CONTENT_ALPHA, width, height); @@ -73,7 +73,7 @@ draw_glyphs (cairo_t *cr, int x, int y) cairo_text_extents_t extents; cairo_set_font_size (cr, 0.8 * HEIGHT); - + cairo_text_extents (cr, "FG", &extents); cairo_move_to (cr, x + (WIDTH - extents.width) / 2 - extents.x_bearing, @@ -88,7 +88,7 @@ draw_polygon (cairo_t *cr, int x, int y) double height = (int)(0.9 * HEIGHT); x += 0.05 * WIDTH; y += 0.05 * HEIGHT; - + cairo_new_path (cr); cairo_move_to (cr, x, y); cairo_line_to (cr, x, y + height); @@ -161,7 +161,7 @@ draw (cairo_t *cr, int width, int height) for (op = CAIRO_OPERATOR_CLEAR; op < N_OPERATORS; op++) { x = op * (WIDTH + PAD) + PAD; y = j * (HEIGHT + PAD) + PAD; - + cairo_save (cr); pattern = cairo_pattern_create_linear (x + WIDTH, y, @@ -172,7 +172,7 @@ draw (cairo_t *cr, int width, int height) 0.0, 0.0, 1.0, 0.0); /* Transparent blue */ cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); - + cairo_rectangle (cr, x, y, WIDTH, HEIGHT); cairo_fill (cr); @@ -187,7 +187,7 @@ draw (cairo_t *cr, int width, int height) draw_funcs[j] (cr, x, y); if (cairo_status (cr)) cairo_test_log ("%d %d HERE!\n", op, j); - + cairo_restore (cr); } } diff --git a/test/dash-offset-negative.c b/test/dash-offset-negative.c index 82f55ca9..dd99d58e 100644 --- a/test/dash-offset-negative.c +++ b/test/dash-offset-negative.c @@ -55,7 +55,7 @@ draw (cairo_t *cr, int width, int height) /* Basic 1-1 dash pattern */ cairo_set_dash (cr, dashes, 1, 0.); - + cairo_move_to (cr, 1, 2); cairo_line_to (cr, 18, 2); cairo_stroke (cr); @@ -69,7 +69,7 @@ draw (cairo_t *cr, int width, int height) /* Offset dash by 0.5, rather than the path */ cairo_set_dash (cr, dashes, 1, 0.5); - + cairo_move_to (cr, 1, 8); cairo_line_to (cr, 18, 8); cairo_stroke (cr); @@ -78,7 +78,7 @@ draw (cairo_t *cr, int width, int height) /* Basic 1-1 dash pattern dashing */ cairo_set_dash (cr, dashes, 1, -4); - + cairo_move_to (cr, 1, 11); cairo_line_to (cr, 18, 11); cairo_stroke (cr); @@ -90,7 +90,7 @@ draw (cairo_t *cr, int width, int height) /* Offset dash by 0.5 */ cairo_set_dash (cr, dashes, 1, -3.5); - + cairo_move_to (cr, 1, 17); cairo_line_to (cr, 18, 17); cairo_stroke (cr); diff --git a/test/fill-and-stroke.c b/test/fill-and-stroke.c index 6765538b..c3e295d0 100644 --- a/test/fill-and-stroke.c +++ b/test/fill-and-stroke.c @@ -52,7 +52,7 @@ draw (cairo_t *cr, int width, int height) cairo_fill_preserve (cr); cairo_set_source_rgb (cr, 0, 0, 1); cairo_stroke (cr); - + return CAIRO_TEST_SUCCESS; } diff --git a/test/filter-nearest-offset.c b/test/filter-nearest-offset.c index f664fbfb..1c608a4d 100644 --- a/test/filter-nearest-offset.c +++ b/test/filter-nearest-offset.c @@ -89,7 +89,7 @@ draw (cairo_t *cr, int width, int height) PAD + j * (STAMP_HEIGHT + PAD) + j_step); cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST); cairo_paint (cr); - + cairo_restore (cr); } } diff --git a/test/font-face-get-type.c b/test/font-face-get-type.c index c21d5c23..31dccd31 100644 --- a/test/font-face-get-type.c +++ b/test/font-face-get-type.c @@ -61,4 +61,4 @@ main (void) - + diff --git a/test/get-and-set.c b/test/get-and-set.c index d0da5ca3..a4faa8fa 100644 --- a/test/get-and-set.c +++ b/test/get-and-set.c @@ -116,7 +116,7 @@ get_and_set (cairo_t *cr, int width, int height) settings_t check; settings_set (cr, &settings[0]); - + cairo_save (cr); { settings_set (cr, &settings[1]); diff --git a/test/gradient-alpha.c b/test/gradient-alpha.c index 3015728b..6ae06aac 100644 --- a/test/gradient-alpha.c +++ b/test/gradient-alpha.c @@ -50,7 +50,7 @@ draw (cairo_t *cr, int width, int height) cairo_paint (cr); cairo_pattern_destroy (gradient); - + return CAIRO_TEST_SUCCESS; } diff --git a/test/linear-gradient.c b/test/linear-gradient.c index 686a56cc..8d09df38 100644 --- a/test/linear-gradient.c +++ b/test/linear-gradient.c @@ -71,15 +71,15 @@ draw_unit (cairo_t *cr, cairo_rectangle (cr, 0, 0, 1, 1); cairo_clip (cr); cairo_new_path(cr); - + cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); cairo_rectangle (cr, 0, 0, 1, 1); cairo_fill (cr); - + cairo_translate (cr, 0.5, 0.5); cairo_scale (cr, 1 / 1.5, 1 / 1.5); cairo_rotate (cr, rotate_angle); - + pattern = cairo_pattern_create_linear (-0.5 * cos (gradient_angle), -0.5 * sin (gradient_angle), 0.5 * cos (gradient_angle), 0.5 * sin (gradient_angle)); @@ -119,7 +119,7 @@ draw (cairo_t *cr, int width, int height) PAD + (PAD + UNIT_SIZE) * i, PAD + (PAD + UNIT_SIZE) * (N_ROTATE_ANGLES * k + j)); cairo_scale (cr, UNIT_SIZE, UNIT_SIZE); - + draw_unit (cr, gradient_angles[i] * M_PI / 180., rotate_angles[j] * M_PI / 180., diff --git a/test/mask.c b/test/mask.c index 2f0349d8..33e7eadc 100644 --- a/test/mask.c +++ b/test/mask.c @@ -86,7 +86,7 @@ mask_polygon (cairo_t *cr, int x, int y) cairo_restore (cr2); cairo_set_source_rgb (cr2, 1, 1, 1); /* white */ - + cairo_new_path (cr2); cairo_move_to (cr2, 0, 0); cairo_line_to (cr2, 0, HEIGHT); @@ -126,7 +126,7 @@ mask_gradient (cairo_t *cr, int x, int y) 1, 1, 1, 0); cairo_mask (cr, pattern); - + cairo_pattern_destroy (pattern); } @@ -139,7 +139,7 @@ static void clip_rects (cairo_t *cr, int x, int y) { int height = HEIGHT / 3; - + cairo_new_path (cr); cairo_rectangle (cr, x, y, WIDTH, height); cairo_rectangle (cr, x, y + 2 * height, WIDTH, height); @@ -211,7 +211,7 @@ draw (cairo_t *cr, int width, int height) for (i = 0; i < ARRAY_SIZE (pattern_funcs); i++) { int x = i * (WIDTH + PAD) + PAD; int y = (ARRAY_SIZE (mask_funcs) * k + j) * (HEIGHT + PAD) + PAD; - + /* Clear intermediate surface we are going to be drawing onto */ cairo_save (cr2); cairo_set_operator (cr2, CAIRO_OPERATOR_CLEAR); diff --git a/test/operator-clear.c b/test/operator-clear.c index ca6d235a..34f1a858 100644 --- a/test/operator-clear.c +++ b/test/operator-clear.c @@ -62,7 +62,7 @@ draw_mask (cairo_t *cr, int x, int y) double height = (int)(0.9 * HEIGHT); x += 0.05 * WIDTH; y += 0.05 * HEIGHT; - + mask_surface = cairo_surface_create_similar (cairo_get_target (cr), CAIRO_CONTENT_ALPHA, width, height); @@ -86,7 +86,7 @@ draw_glyphs (cairo_t *cr, int x, int y) cairo_text_extents_t extents; cairo_set_font_size (cr, 0.8 * HEIGHT); - + cairo_text_extents (cr, "FG", &extents); cairo_move_to (cr, x + (WIDTH - extents.width) / 2 - extents.x_bearing, @@ -101,7 +101,7 @@ draw_polygon (cairo_t *cr, int x, int y) double height = (int)(0.9 * HEIGHT); x += 0.05 * WIDTH; y += 0.05 * HEIGHT; - + cairo_new_path (cr); cairo_move_to (cr, x, y); cairo_line_to (cr, x, y + height); @@ -175,7 +175,7 @@ draw (cairo_t *cr, int width, int height) for (i = 0; i < ARRAY_SIZE (pattern_funcs); i++) { x = i * (WIDTH + PAD) + PAD; y = j * (HEIGHT + PAD) + PAD; - + cairo_save (cr); pattern = cairo_pattern_create_linear (x + WIDTH, y, @@ -186,7 +186,7 @@ draw (cairo_t *cr, int width, int height) 0.0, 0.0, 1.0, 0.0); /* Transparent blue */ cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); - + cairo_rectangle (cr, x, y, WIDTH, HEIGHT); cairo_fill_preserve (cr); cairo_clip (cr); @@ -196,7 +196,7 @@ draw (cairo_t *cr, int width, int height) draw_funcs[j] (cr, x, y); if (cairo_status (cr)) cairo_test_log ("%d %d HERE!\n", i, j); - + cairo_restore (cr); } } diff --git a/test/operator-source.c b/test/operator-source.c index 26b41f6a..b61a6c52 100644 --- a/test/operator-source.c +++ b/test/operator-source.c @@ -68,7 +68,7 @@ set_surface_pattern (cairo_t *cr, int x, int y) double height = (int)(0.6 * HEIGHT); x += 0.2 * WIDTH; y += 0.2 * HEIGHT; - + source_surface = cairo_surface_create_similar (cairo_get_target (cr), CAIRO_CONTENT_COLOR_ALPHA, width, height); @@ -99,7 +99,7 @@ draw_mask (cairo_t *cr, int x, int y) double height = (int)(0.9 * HEIGHT); x += 0.05 * WIDTH; y += 0.05 * HEIGHT; - + mask_surface = cairo_surface_create_similar (cairo_get_target (cr), CAIRO_CONTENT_ALPHA, width, height); @@ -123,7 +123,7 @@ draw_glyphs (cairo_t *cr, int x, int y) cairo_text_extents_t extents; cairo_set_font_size (cr, 0.8 * HEIGHT); - + cairo_text_extents (cr, "FG", &extents); cairo_move_to (cr, x + (WIDTH - extents.width) / 2 - extents.x_bearing, @@ -138,7 +138,7 @@ draw_polygon (cairo_t *cr, int x, int y) double height = (int)(0.9 * HEIGHT); x += 0.05 * WIDTH; y += 0.05 * HEIGHT; - + cairo_new_path (cr); cairo_move_to (cr, x, y); cairo_line_to (cr, x, y + height); @@ -214,7 +214,7 @@ draw (cairo_t *cr, int width, int height) for (i = 0; i < ARRAY_SIZE (pattern_funcs); i++) { x = i * (WIDTH + PAD) + PAD; y = j * (HEIGHT + PAD) + PAD; - + cairo_save (cr); pattern = cairo_pattern_create_linear (x + WIDTH, y, @@ -225,7 +225,7 @@ draw (cairo_t *cr, int width, int height) 0.0, 0.0, 1.0, 0.0); /* Transparent blue */ cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); - + cairo_rectangle (cr, x, y, WIDTH, HEIGHT); cairo_fill_preserve (cr); cairo_clip (cr); @@ -235,7 +235,7 @@ draw (cairo_t *cr, int width, int height) draw_funcs[j] (cr, x, y); if (cairo_status (cr)) cairo_test_log ("%d %d HERE!\n", i, j); - + cairo_restore (cr); } } diff --git a/test/ps-features.c b/test/ps-features.c index 577d706b..d8a5b6eb 100644 --- a/test/ps-features.c +++ b/test/ps-features.c @@ -133,7 +133,7 @@ main (void) snprintf (dsc, 255, "%%IncludeFeature: *MediaType Glossy"); cairo_ps_surface_dsc_comment (surface, dsc); } - + cairo_move_to (cr, TEXT_SIZE, TEXT_SIZE); cairo_show_text (cr, pages[i].page_size); cairo_show_text (cr, " - "); diff --git a/test/rectangle-rounding-error.c b/test/rectangle-rounding-error.c index 6ec6cf43..7ce22d53 100644 --- a/test/rectangle-rounding-error.c +++ b/test/rectangle-rounding-error.c @@ -49,7 +49,7 @@ draw (cairo_t *cr, int width, int height) cairo_translate(cr, -300, -300); cairo_scale(cr, 677.0/26, 677.0/26); cairo_translate(cr, 1, 1); - + /* this should draw a seamless 2x2 rectangle */ cairo_rectangle(cr, 11, 11, 1, 1); cairo_rectangle(cr, 11, 12, 1, 1); diff --git a/test/rel-path.c b/test/rel-path.c index 72a7076c..3083cda9 100644 --- a/test/rel-path.c +++ b/test/rel-path.c @@ -43,9 +43,9 @@ draw (cairo_t *cr, int width, int height) SIZE/2, -SIZE/2, SIZE*2/3, -SIZE/3, SIZE/2, -SIZE); - + cairo_stroke (cr); - + return CAIRO_TEST_SUCCESS; } diff --git a/test/self-copy.c b/test/self-copy.c index 5f4398b2..b0f04325 100644 --- a/test/self-copy.c +++ b/test/self-copy.c @@ -40,7 +40,7 @@ draw (cairo_t *cr, int width, int height) { cairo_pattern_t *pattern; cairo_matrix_t matrix; - + /* Paint a diagonal division as a test image */ cairo_set_source_rgb (cr, 1, 1, 1); /* White */ cairo_paint (cr); @@ -56,10 +56,10 @@ draw (cairo_t *cr, int width, int height) * offset by SIZE/2 */ pattern = cairo_pattern_create_for_surface (cairo_get_target (cr)); - + cairo_matrix_init_translate (&matrix, - SIZE / 2, - SIZE / 2); cairo_pattern_set_matrix (pattern, &matrix); - + cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); diff --git a/test/source-clip.c b/test/source-clip.c index f479e485..c0f4172b 100644 --- a/test/source-clip.c +++ b/test/source-clip.c @@ -68,7 +68,7 @@ draw (cairo_t *cr, int width, int height) cairo_paint (cr); /* As the clip shouldn't matter, the result should be solid black */ - + cairo_destroy (cr2); cairo_pattern_destroy (pattern); cairo_surface_destroy (source_surface); diff --git a/test/surface-pattern.c b/test/surface-pattern.c index 4f91d433..3dbdf83c 100644 --- a/test/surface-pattern.c +++ b/test/surface-pattern.c @@ -46,7 +46,7 @@ draw (cairo_t *cr, int width, int height) cairo_rectangle (cr2, 3, 3, 3, 3); cairo_set_source_rgb (cr2, 1, 1, 0); cairo_fill (cr2); - + cairo_rectangle (cr2, 3, 0, 3, 3); cairo_rectangle (cr2, 0, 3, 3, 3); cairo_set_source_rgb (cr2, 0, 0, 1); diff --git a/test/svg-clip.c b/test/svg-clip.c index 3ed5f5d4..d4d98dbc 100644 --- a/test/svg-clip.c +++ b/test/svg-clip.c @@ -69,7 +69,7 @@ test_clip (cairo_t *cr, double width, double height) cairo_move_to (cr, 600, 0); cairo_curve_to (cr, 300, 600, 0, 300, 600, 0); cairo_clip (cr); - + cairo_rectangle (cr, 0, 0, 600, 600); cairo_set_source_rgb (cr, 0, 0, 1); cairo_fill (cr); diff --git a/test/text-pattern.c b/test/text-pattern.c index ba4e8696..a641234c 100644 --- a/test/text-pattern.c +++ b/test/text-pattern.c @@ -41,17 +41,17 @@ draw (cairo_t *cr, int width, int height) cairo_pattern_t *pat; font_options = cairo_font_options_create (); - + cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - + cairo_set_font_options (cr, font_options); cairo_font_options_destroy (font_options); - + cairo_select_font_face (cr, "Bitstream Vera Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); - + cairo_scale (cr, width, height); pat = cairo_pattern_create_linear (0.0, 0.0, 1, 1); @@ -62,7 +62,7 @@ draw (cairo_t *cr, int width, int height) /* test rectangle - make sure the gradient is set correctly */ cairo_rectangle (cr, 0, 0, 0.1, 1); cairo_fill (cr); - + cairo_set_font_size (cr, 0.4); cairo_move_to (cr, 0.1, 0.6); cairo_show_text (cr, "cairo"); diff --git a/test/text-rotate.c b/test/text-rotate.c index d1985e53..c71a3e39 100644 --- a/test/text-rotate.c +++ b/test/text-rotate.c @@ -125,7 +125,7 @@ draw (cairo_t *cr, int width, int height) y_off = - floor (0.5 + extents.height / 2.0); x_off = floor (0.5 + (extents.height+1) / (2 * tan (M_PI/NUM_TEXT))); } - + for (i=0; i < NUM_TEXT; i++) { cairo_save (cr); cairo_rotate (cr, 2*M_PI*i/NUM_TEXT); diff --git a/test/transforms.c b/test/transforms.c index 7e0e025a..ade26e24 100644 --- a/test/transforms.c +++ b/test/transforms.c @@ -94,7 +94,7 @@ draw (cairo_t *cr, int width, int height) cairo_restore (cr); cairo_translate (cr, 5, 10); - + cairo_save (cr); { cairo_matrix_t skew_x = { diff --git a/test/trap-clip.c b/test/trap-clip.c index 75b06a83..2e9cbc64 100644 --- a/test/trap-clip.c +++ b/test/trap-clip.c @@ -81,7 +81,7 @@ draw_rects (cairo_t *cr, int x, int y) { int width = WIDTH / 3; int height = HEIGHT / 2; - + cairo_new_path (cr); cairo_rectangle (cr, x, y, width, height); cairo_rectangle (cr, x + width, y + height, width, height); @@ -122,7 +122,7 @@ static void clip_rects (cairo_t *cr, int x, int y) { int height = HEIGHT / 3; - + cairo_new_path (cr); cairo_rectangle (cr, x, y, WIDTH, height); cairo_rectangle (cr, x, y + 2 * height, WIDTH, height); diff --git a/test/unbounded-operator.c b/test/unbounded-operator.c index a053ca3f..853627b6 100644 --- a/test/unbounded-operator.c +++ b/test/unbounded-operator.c @@ -42,7 +42,7 @@ draw_mask (cairo_t *cr, int x, int y) double height = (int)(0.9 * HEIGHT); x += 0.05 * WIDTH; y += 0.05 * HEIGHT; - + mask_surface = cairo_surface_create_similar (cairo_get_target (cr), CAIRO_CONTENT_ALPHA, width, height); @@ -72,7 +72,7 @@ draw_glyphs (cairo_t *cr, int x, int y) cairo_text_extents_t extents; cairo_set_font_size (cr, 0.8 * HEIGHT); - + cairo_text_extents (cr, "FG", &extents); cairo_move_to (cr, x + (WIDTH - extents.width) / 2 - extents.x_bearing, @@ -87,7 +87,7 @@ draw_polygon (cairo_t *cr, int x, int y) double height = (int)(0.9 * HEIGHT); x += 0.05 * WIDTH; y += 0.05 * HEIGHT; - + cairo_new_path (cr); cairo_move_to (cr, x, y); cairo_line_to (cr, x, y + height); @@ -161,7 +161,7 @@ draw (cairo_t *cr, int width, int height) for (i = 0; i < ARRAY_SIZE (operators); i++) { x = i * (WIDTH + PAD) + PAD; y = j * (HEIGHT + PAD) + PAD; - + cairo_save (cr); pattern = cairo_pattern_create_linear (x + WIDTH, y, @@ -172,7 +172,7 @@ draw (cairo_t *cr, int width, int height) 0.0, 0.0, 1.0, 0.0); /* Transparent blue */ cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); - + cairo_rectangle (cr, x, y, WIDTH, HEIGHT); cairo_fill_preserve (cr); cairo_clip (cr); @@ -183,7 +183,7 @@ draw (cairo_t *cr, int width, int height) draw_funcs[j] (cr, x, y); if (cairo_status (cr)) cairo_test_log ("%d %d HERE!\n", i, j); - + cairo_restore (cr); } } diff --git a/test/user-data.c b/test/user-data.c index d17b933b..187e7658 100644 --- a/test/user-data.c +++ b/test/user-data.c @@ -63,7 +63,7 @@ main (void) assert (cairo_surface_set_user_data (surface, &key2, NULL, NULL) == CAIRO_STATUS_SUCCESS); assert (data2 == 2); - + data1 = 0; assert (cairo_surface_set_user_data (surface, &key1, &data1, NULL) == CAIRO_STATUS_SUCCESS); diff --git a/test/write-png.c b/test/write-png.c index f5a27473..3cb023dc 100644 --- a/test/write-png.c +++ b/test/write-png.c @@ -63,7 +63,7 @@ write_png_argb32 (unsigned char *buffer, FILE *file, png_info *info; png_byte **rows; png_color_16 white; - + rows = malloc (height * sizeof(png_byte*)); for (i = 0; i < height; i++) { diff --git a/test/xlib-surface.c b/test/xlib-surface.c index 09b53c84..71797816 100644 --- a/test/xlib-surface.c +++ b/test/xlib-surface.c @@ -53,13 +53,13 @@ draw_pattern (cairo_surface_t *surface) for (i = 1; i <= 3; i++) { int inset = SIZE / 8 * i; - + cairo_rectangle (cr, inset, inset, SIZE - 2 * inset, SIZE - 2 * inset); cairo_fill (cr); } - + cairo_destroy (cr); } @@ -70,7 +70,7 @@ erase_pattern (cairo_surface_t *surface) cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */ cairo_paint (cr); - + cairo_destroy (cr); } @@ -126,7 +126,7 @@ do_test (Display *dpy, if (set_size) cairo_xlib_surface_set_size (surface, SIZE, SIZE); - + draw_pattern (surface); test_surface = cairo_image_surface_create_for_data (test_data, @@ -154,7 +154,7 @@ do_test (Display *dpy, if (offscreen) { size_t offset = 4 * (SIZE * OFFSCREEN_OFFSET + OFFSCREEN_OFFSET); - + result = !buffer_diff_noalpha (reference_data + offset, test_data + offset, diff_data + offset, @@ -190,7 +190,7 @@ static cairo_bool_t check_visual (Display *dpy) { Visual *visual = DefaultVisual (dpy, DefaultScreen (dpy)); - + if ((visual->red_mask == 0xff0000 && visual->green_mask == 0x00ff00 && visual->blue_mask == 0x0000ff) || @@ -201,7 +201,7 @@ check_visual (Display *dpy) else return 0; } - + int main (void) { @@ -238,7 +238,7 @@ main (void) reference_data = malloc (SIZE * SIZE * 4); test_data = malloc (SIZE * SIZE * 4); diff_data = malloc (SIZE * SIZE * 4); - + reference_surface = cairo_image_surface_create_for_data (reference_data, CAIRO_FORMAT_RGB24, SIZE, SIZE, @@ -274,6 +274,6 @@ main (void) cairo_debug_reset_static_data (); fclose (log_file); - + return result; } |