Commit graph

4824 commits

Author SHA1 Message Date
Vladimir Vukicevic
d89edde84d [meta] always copy glyph array before passing to _cairo_surface_show_glyphs
_cairo_surface_show_glyphs is allowed to mutate the glyph array; if it's
handed the internal array that the meta surface holds, then any subsequent
playback (such as for fine-grained fallbacks) will result in incorrect
glyph rendering.

Ref: https://bugzilla.mozilla.org/show_bug.cgi?id=419917
(I was unable to create a simple cairo testcase to demonstrate the problem.)
2008-03-04 00:15:46 -08:00
Vladimir Vukicevic
4a1f65b63e Fix msvc compilation issue in cairo-compiler-private.h
__WIN32__ is not a standard define set by MSVC; we have to check for
__WIN32__ (for mingw/gcc) and for _MSC_VER, for MSVC.
2008-03-03 21:16:12 -08:00
Vladimir Vukicevic
4588b016d3 [quartz] compilation fix
I'm an idiot and forgot to stg refresh, apparently.
2008-03-03 20:00:08 -08:00
Vladimir Vukicevic
2f9350424f [win32] Treat all incoming HDCs as RGB24, regardless of depth
Assuming A8/A1 doesn't really make sense in any case, and doing
this allows for rendering to 8bpp displays.
2008-03-03 17:43:41 -08:00
Vladimir Vukicevic
9dd55f6fe8 [quartz] use CGContextGetType API if available
We need to have a way to figure out if a context is a bitmap context;
the current method works, but it prints a warning to the system console
if called on a non-bitmap context.  There's a private CGContextGetType
API that seems to let us get this information.
2008-03-03 17:40:21 -08:00
Antoine Azar
5b334b2747 fixed compilation typo on win32 2008-03-03 10:21:17 -08:00
Claudio Ciccani
39d18ecbfd [cairo-directfb] Fixed bug in clone_similar() (src_x added twice). 2008-03-01 11:07:47 +01:00
Carl Worth
6295c46569 INSTALL: Add notes on running autogen.sh if there is no configure script 2008-02-28 17:08:40 -08:00
Carl Worth
e7e4a03dd3 get-path-extents: Fix APPROX_EQUALS to round values on both sides of the comparison 2008-02-28 16:39:42 -08:00
Carl Worth
602489b150 get-path-extents: Use APPROX_EQUALS instead of EQUALS for text path tests
This is done grudgingly due to freetype rounding the coordinates
of the extents when hinting is enabled.
2008-02-28 16:33:51 -08:00
Carl Worth
50a6fe1a2a Remove unnecessary cairo_set_tolerance call from get-path-extents test 2008-02-28 16:32:55 -08:00
Carl Worth
4a73471087 Merge branch 'master' of git.cairographics.org:/git/cairo 2008-02-28 16:21:11 -08:00
Carl Worth
54a61911f2 Increment version to 1.5.13 after the 1.5.12 snapshot 2008-02-28 16:20:56 -08:00
Behdad Esfahbod
523c7dbf6d [cairo-scaled-font] Pedantic check for zero-area glyphs 2008-02-28 18:53:45 -05:00
Carl Worth
3ec4b9a4fc Increment cairo version to 1.5.12 and libtool versioning to 18:0:16 2008-02-28 15:46:22 -08:00
Carl Worth
bf99e355d9 Clarify that 16-bit limit still exists in pixman 2008-02-28 15:45:11 -08:00
Carl Worth
4cc174f72f Mark the big-line test as XFAIL 2008-02-28 15:41:36 -08:00
Carl Worth
5d0bc97b20 Fix incorrect reference images for big-line test
I mistakenly generated the original reference images with
a 16.16 version of cairo, (which manifests a different
buggy behavior than does the current 24.8 cairo).
2008-02-28 15:35:46 -08:00
Jody Goldberg
4c7784e91e Fix PDF ouput when cross-compiling with mingw
Need to use __WIN32__ instead of _MSC_VER to select _snprintf in
place of snprintf when cross compiling. Otherwise all all %ld
arguments get misprinted resulting in broken PDF output.
2008-02-28 15:23:53 -08:00
Carl Worth
3d9db511c6 Remove references to PIXMAN_yuy2 and PIXMAN_yv12 enum values
These were added in cb5ea8abfd to
quiet a compiler warning. We're reverting them now to avoid
gratuitously requiring a new pixman version just to pick up two
enum values that we aren't actually using.
2008-02-28 15:07:50 -08:00
Carl Worth
a8e5c6b924 Fix typo in comment 2008-02-28 15:05:12 -08:00
Larry Ewing
307a7448ea Add big-line test showing a 24.8 failure 2008-02-28 15:02:23 -08:00
Carl Worth
81175110ab NEWS: Add notes for cairo 1.5.12 2008-02-28 14:36:47 -08:00
Carl Worth
fbd29a4025 Fix 'make doc-publish' for when run twice on the same day 2008-02-28 14:36:32 -08:00
Carl Worth
8d515344c4 Add cairo-quartz to the manual 2008-02-28 14:35:57 -08:00
Carl Worth
c8c77f01f7 Fix typo in documentation 2008-02-28 13:02:27 -08:00
Carl Worth
fa4b91fcac Add missing reference images to make distcheck happily 2008-02-28 12:56:31 -08:00
Carl Worth
a95b22858f Merge branch '24.8' 2008-02-28 12:30:13 -08:00
Carl Worth
67d543716e PS: Fix to never break the final ~> that terminates a base85 stream.
This was recently broken in commit 40d5082c24
which uses a base85-stream but without strings for encapsulating image
data. The bug was that the protection for ~> was only being applied
to the string encodings rather than all base85 streams.

We got lucky recently that the 24.8 change just happened to put the ~>
sequence on the line-wrap boundary so the test suite tripped up the
bug. Otherwise, we could have missed this for quite some time.
2008-02-27 20:39:53 -08:00
Carl Worth
c84ec58512 Add some missing .gitignore entries 2008-02-27 16:24:10 -08:00
Carl Worth
1df0b001b5 Change cairo's fixed-point format from 16.16 to 24.8
The additional 8 bits of integer allows device space to be 256
times larger before applications need to start worrying about
any issues with overflow. So this should help in many cases.
And the loss of 8 bits of sub-pixel precision shouldn't cause
any harm at all---16 was really much more than necessary.

With this change the details of rasterization for several tests
are changed slightly, (particularly on arcs, for example), so
many reference images are updated here.

NOTE: This change is currently breaking get-path-extents for
ps/pdf/svg as well as push-group for ps. We do not yet know
the reasons for these new failures.
2008-02-27 15:08:18 -08:00
Carl Worth
0532cb5c03 Remove reference images for text-zero-len
This test isn't generating any image output, so it's silly to
have a 60x60 reference image for that. Not only that, but the
rgb24 cases have always been failing due to a missing rgb24-
specific reference image, (but pdiff had been hiding that).
2008-02-27 13:18:39 -08:00
Carl Worth
427a73ab31 Add ps-specific reference images for two recently-added tests 2008-02-27 12:43:37 -08:00
Carl Worth
676c869d79 Add some new ps-specific reference images
These are necessary now due to the recent change to use pdiff
only when the differences are less than a particular threshold.
2008-02-27 11:24:59 -08:00
Vladimir Vukicevic
1889427e78 Fix usage of rectangle_int16_t in ps surface, and rename types
The rectangle_int16_t usage was causing failures on 24.8 (due to a wrong
pointer used to get_extents); I removed all the specific int16/int32 typedefs
to avoid this situation in the future.
2008-02-27 12:36:16 -05:00
Chris Wilson
4f7d306352 [cairo-paginated-surface] Fix enum compiler warning.
Add a CAIRO_SURFACE_TYPE_QUARTZ_IMAGE to the switch to suppress a
compiler warning.
2008-02-27 10:11:08 +00:00
Chris Wilson
cb5ea8abfd [cairo-image-surface] Compiler warnings and whitespace.
Silence a couple of enum compiler warnings and tweak the whitespace.
2008-02-27 09:51:37 +00:00
Chris Wilson
22600e2393 [cairo-gstate] Remove a couple of impossible guards.
Delete a couple of superfluous gstate != NULL guards.
2008-02-27 09:48:24 +00:00
Chris Wilson
37e597f1e5 [cairo-gstate] Propagate the error from _cairo_gstate_clone().
Propagate the true status value back from the _cairo_gstate_init_copy()
instead of assuming that is a NO_MEMORY and re-raising the error in the
caller.
2008-02-27 09:48:13 +00:00
Chris Wilson
127d7f43ea [cairo-path-bounds] _cairo_path_fixed_bounds() can fail...
I was wrong in my assertion that the call to
_cairo_path_fixed_interpret_flat() could not possibly fail with the
given _cairo_path_bounder_* callbacks - as I had missed the implicit
spline decomposition. (An interesting exercise would be to avoid the
spline allocation...) As a result we do have to check and propagate the
status return through the call stack.
2008-02-27 09:47:35 +00:00
Chris Wilson
65a8a27943 [test] Add reflected-stroke to exercise stroking with a reflected ctm.
Parts of the stroker depend upon whether we have in effect a reflection
matrix (one whose determinant < 0). This test incopororates the same
drawing under the a couple of reflections to exercise stroking under
matrices with both positive and negative determinants.
2008-02-26 17:06:18 +00:00
Chris Wilson
76f0613e5f [test] Add long-dashed-lines to exercise _cairo_box_intersects_line_segment().
Draw a few rectangles whose vertices are outside the bounds of the
surface, but whose segments cross the surface. This exercises the new
dashed stroker optimisation which tries to determine whether the line
segment is visible.
2008-02-26 17:05:28 +00:00
Chris Wilson
cdeffc69d9 [cairo-quartz-surface] Make check fixup.
A couple of minor corrections to satisfy make check.
2008-02-26 17:05:22 +00:00
Adrian Johnson
40f4750f5e Use PDF 're' operator for rectangle paths
Modify cairo-pdf-operators.c to emit to 're' path operator when the
path contains only a rectangle. This can only be done when the path is
logically equivilent to the the path drawn by the 're'
operator. Otherwise dashed strokes may start on the wrong line.

ie the path must be equivalent to:

  cairo_move_to (cr, x, y);
  cairo_rel_line_to (cr, width, 0);
  cairo_rel_line_to (cr, 0, height);
  cairo_rel_line_to (cr, -width, 0);
  cairo_close_path (cr);

which is also equivilent to cairo_rectangle().
2008-02-26 23:17:04 +10:30
Vladimir Vukicevic
7acfee38b1 [atsui] Make default font 'Helvetica'
The previous default font was Monaco, which is a fixed-pitch font; Helvetica
is more inline with the other platform defaults.
2008-02-25 21:44:04 -05:00
Vladimir Vukicevic
9979f786ac [test] update degenerate-pen test
pdiff was hiding a rgb24 failure here, as the test was drawing using
black ink on the default black background.  Instead, explicitly fill
the surface with white first.
2008-02-25 21:27:33 -05:00
Vladimir Vukicevic
baec928a69 [quartz] More mask fixes -- handle all types via fallback mask image 2008-02-25 21:06:36 -05:00
Vladimir Vukicevic
3fcd0be522 Use pdiff only if the pixel difference is less than a limit 2008-02-25 21:06:35 -05:00
Vladimir Vukicevic
1dfb1bd45f [quartz] update test suite images for quartz 2008-02-25 21:06:28 -05:00
Vladimir Vukicevic
b439e63808 [quartz] fix mask to correctly take CTM into account 2008-02-25 21:06:25 -05:00