Commit graph

4683 commits

Author SHA1 Message Date
Adrian Johnson
49f755ed2d PS: Remove the Type 3 outline glyph code
This code is never used because outline glyphs that go through the
fallback path are always embedded with Type 1 fallback. The only fonts
that are embedded as Type 3 are bitmap fonts.
2008-02-15 07:42:29 +10:30
Adrian Johnson
0c6a362122 pdf-operators: only one path matrix is required
The PDF emit path orginally had two matrix transforms in the path
struct. One for strokes and one for fill/clip. As only one transform
at a time is ever used this can be simplified.
2008-02-15 07:42:29 +10:30
Adrian Johnson
5639643efe Add PS linecap path workarounds to pdf_operators
So that pdf_operators can be used by the PS backend. PDF also needs
this workaround.
2008-02-15 07:42:29 +10:30
Adrian Johnson
0987fdee24 Add word_wrap stream to pdf-operators
The word_wrap stream in ps-surface will be removed in a later commit.
2008-02-15 07:42:29 +10:30
Behdad Esfahbod
d05f08bcee [configure.in] Make PS/PDF/SVG default enabled
Previously they were default auto-detected.  We really want people
have to go out of their way to not build them, hence the change.
2008-02-12 15:44:21 -05:00
Adrian Johnson
fd3181c7bf PDF: Remove stale comments 2008-02-12 20:22:38 +10:30
Adrian Johnson
bdb857a78b PDF: Fix uninitialized variable in previous commit 2008-02-12 20:19:03 +10:30
Kristian Høgsberg
ba6788fc96 [pdf] Use compressed PDF stream instead of compress_dup()
The deflate stream has bounded (constant) memory overhead, whereas
compress_dup() allocates memory proportional to the uncompressed data.

This replaces compress_dup() usage with a compressed PDF stream for
emitting images, alpha masks and font subsets, and eliminates the
compress_dup() function.
2008-02-11 16:57:56 -05:00
Behdad Esfahbod
e68584d3a1 [xlib] Move multiple CAIRO_MUTEX_INITIALIZE into one place they all end up anyway 2008-02-08 17:37:50 -05:00
Peter Weilbacher
0626cac6db [os2] fix typo in comment 2008-02-08 15:09:19 +01:00
Peter Weilbacher
b4fe25d9af [os2] only call FcInit/Fini when compiled with FT font backend 2008-02-08 15:04:49 +01:00
Antoine Azar
5e9cdcca00 Fixed rounding function call 2008-02-08 00:19:57 -05:00
Vladimir Vukicevic
80e11a85a9 [pdf] restore alpha_size back to correct bit size 2008-02-07 14:36:51 -08:00
Azar@.(none)
95db215cc1 Some fixes and improvements to the Win32 build 2008-02-06 21:45:24 -05:00
Carl Worth
7800cfd7de Add several Makefile.win32 files to EXTRA_DIST
Otherwise, these files were being omitted from the tar files.
2008-02-06 17:01:22 -08:00
Carl Worth
ac743e25fa cairo_xlib_surface_create_similar: Pass the original drawable to XCreatePixmap
Previously we were passing the root window of the same screen.
Letting the X server know the actual Drawable for which we're
trying to be similar allows the X server to be more efficient.
2008-02-06 17:01:21 -08:00
Peter Weilbacher
cb9f9086a1 Merge branch 'master' of ssh://pmw@git.freedesktop.org/git/cairo 2008-02-07 00:07:20 +01:00
Peter Weilbacher
c11b036b75 [os2] Improve documentation
Move the API documentation for the OS/2 backend from the .h file to the .c file and use the correct format.
2008-02-07 00:03:33 +01:00
Vladimir Vukicevic
a9b0e54d38 Avoid buffer overflow in ps/pdf surface
A few places weren't using _cairo_malloc_*; fixed.
2008-02-06 13:52:33 -08:00
Vladimir Vukicevic
bf1f7f70b6 Do correct calculation of pen dimensions for stroke optimization 2008-02-06 13:07:13 -08:00
Alp Toker
e104fcab1c Introduce cairo_has_current_point()
cairo_has_current_point() can be used to determine whether a current
point is defined. We introduce this new symbol with a boolean return
value to avoid the versioning ambiguity of modifying
cairo_get_current_point(). This way we also don't have to map what
should be a routine operation to an error condition as was previously
proposed.
2008-02-06 01:06:01 -05:00
Alp Toker
1f0c3d0689 Revert "Change cairo_get_current_point() to return cairo_status_t instead of void"
This reverts commit b3eea75d1f.

Reverted in favour of an alternative approach.

Conflicts:

	src/cairo.c
2008-02-06 01:06:00 -05:00
Azar@.(none)
4c005f7ce3 replaced round with _cairo_lround. Round doesn't compile on Win32 2008-02-06 00:27:57 -05:00
Vladimir Vukicevic
1d93e14876 Followup patch to dashed stroke optimization
Make sure that we don't test lines that start or end inside the box,
since our algorithm will find intersections on the wrong ends on the
line, and not count them.
2008-02-05 16:14:51 -08:00
Vladimir Vukicevic
7b788ce7ca Update test ref images that changed with stroking changes 2008-02-05 15:04:38 -08:00
Vladimir Vukicevic
4471e58c12 Optimize dashed strokes, part 2
Pass down the bounding box to the stroker, and avoid doing expensive
calculations for dash segments that are outside the box.
2008-02-05 15:04:28 -08:00
Vladimir Vukicevic
afbd82671f Optimize stroker by hoisting some calculations out of loops
sqrt and a few other floating-point operations were being done
repeatedly within a loop; those are now precalculated and passed
down where needed.
2008-02-05 15:04:25 -08:00
Vladimir Vukicevic
bda0baa255 Fix text-zero-len on ATSUI to not infinite loop 2008-02-05 15:04:15 -08:00
Vladimir Vukicevic
03256d0f2b Remove get-xrender-format from list of tests to be run on all platforms 2008-02-05 15:04:11 -08:00
Adrian Johnson
6140776b4e Update operator-source ps ref images 2008-02-05 00:22:26 +10:30
Adrian Johnson
dee6e27537 Add dash-curve ps ref image 2008-02-05 00:12:48 +10:30
Adrian Johnson
2b0da0503b Ensure PS/PDF miter is >= 1.0
The PS Language Reference requires the PS miter to be >= 1.

The PDF Reference does not specify miter limits however acroread fails
to display pages when the miter is < 1. Older versions of ghostscript
crash when the PDF miter is < 1.
2008-02-05 00:02:17 +10:30
Adrian Johnson
381fcf01d7 Update over-around-source ps ref image 2008-02-03 20:05:41 +10:30
Adrian Johnson
9dda017af9 Update gradient-alpha ps ref images 2008-02-03 19:53:35 +10:30
Adrian Johnson
3f943a98f6 Add linear-gradient-reflect ps ref image 2008-02-03 19:49:23 +10:30
Adrian Johnson
a74e669234 PS: Implement reflected surface patterns
The image/meta-pattern is written once. A PS pattern twice the size of
the cairo pattern is created and the surface drawn four times in a
reflect pattern inside the PS pattern.

This fixes the extend-reflect and extend-reflect-similar PS test
failures.
2008-02-03 19:34:53 +10:30
Adrian Johnson
7c5bc5fde8 Add operator-clear ps ref image 2008-02-03 18:58:02 +10:30
Adrian Johnson
06b2d009ba Update clip-operator ps ref image 2008-02-03 18:50:14 +10:30
Adrian Johnson
13663d1d50 PS: Implement linear gradient repeat and reflect 2008-02-03 17:10:56 +10:30
Adrian Johnson
92a2e851df Update operator-source PS ref images 2008-02-02 23:00:30 +10:30
Adrian Johnson
367e50137e PDF: Use correct surface size when emitting patterns
Store the surface size in each pattern and smask group and use this
size when the pattern/group is emitted. This is required as a pattern
or group may be used from a meta surface with a different size to the
PDF surface. However the pattern or group is emitted after the the meta
surface content has been emitted and the surface size has been
restored to the the page size.

This fixes the following pdf test failures:
  extend-reflect-similar
  extend-repeat-similar
  mask
2008-02-02 21:22:16 +10:30
Carl Worth
d08d5c421a Increment cairo version to 1.5.9 after the 1.5.8 snapshot 2008-01-30 05:35:50 -08:00
Carl Worth
4ccb8cb295 Add some more reference images to REFERENCE_IMAGES 2008-01-30 05:16:26 -08:00
Carl Worth
b31a7a904f Increment cairo version to 1.5.8 and libtool version to 16:0:14 2008-01-30 05:13:53 -08:00
Carl Worth
ca10920cc9 Add a1-image-sample and a1-traps-sample reference images to the dist list 2008-01-30 05:07:20 -08:00
Carl Worth
2fee01e2d4 check-doc-syntax.sh: Fix for non-srcdir builds (such as make distcheck) 2008-01-30 04:54:39 -08:00
Carl Worth
78022f3aa1 Add doc/public test scripts to EXTRA_DIST
This prevents failures of make distcheck
2008-01-30 04:54:05 -08:00
Carl Worth
d49b1220b2 Remove extend-pad-similar test case
This seems redundant with the recent testing of all test cases
against similar surfaces. Plus, it hasn't had a reference image
anyway which was causing problems with the recent extra checks
for missing reference images.
2008-01-30 04:52:50 -08:00
Carl Worth
7d2fda54f9 NEWS: Add notes for the 1.5.8 snapshot 2008-01-30 04:23:19 -08:00
Jeff Muizelaar
3b0adf4f5a Use ADD instead of IN for clipping.
ADD is already special-cased by pixman, so using it instead avoids hitting
the slower general path.
2008-01-29 09:07:54 -08:00