summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-10-02PDF: Fix regression caused by 1ae5a419Adrian Johnson1-1/+1
Bug 24240 first char missing when printing a PDF.
2009-09-30[boilerplate/xcb] Fix pixmap depthChris Wilson1-3/+16
All the error checking, finally pointed out that I was creating a pixmap with the wrong depth! Oops.
2009-09-30[xcb] Deferred error checking.Chris Wilson4-246/+521
XCB avoids the dreaded abort on XError mechanism by forcing the client to perform deferred error checking. So do so. This allows us to combine the fire-and-forget rendering model with accurate error checking, without killing the client or mixing our errors with theirs. XCB for the win!
2009-09-30[boilerplate/xcb] Check for connection errors during testChris Wilson2-54/+83
2009-09-30[xlib] Suppress warning that should never have been.Chris Wilson1-1/+1
2009-09-30Fix truetype subset crashAdrian Johnson1-0/+1
Bug 24213
2009-09-30[API] Make _cairo_meta_surface_replay() private againBenjamin Otte14-65/+40
Replaying a meta surface can be achieved by using it as a source for a cairo_paint() so exporting a separate API is unnecesary and confusing. So after consulting Chris and Carl, we decided to remove the function again.
2009-09-29[xlib] XRequest bread crumbingChris Wilson1-0/+57
Add bread crumbs in the form of NoOperations that can be parsed by xtrace and very useful when debugging protocol/server errors.
2009-09-29[tessellator] Invalid conversion of list head to edge.Chris Wilson1-0/+2
When scanning for collinear right edges, we need to check that we do not go beyond the end of the array.
2009-09-29[perf] Support parsing reports from stdinChris Wilson2-20/+31
2009-09-29[xlib] Set proper bpp when computing format from masksBenjamin Otte1-0/+1
Fixing omission in caa9eed4646e78a62ffb49d9c4f48c0b351c7a7f
2009-09-29[xlib] Handle 24bpp formats during ditheringBenjamin Otte1-0/+10
2009-09-29[image] Fix masks computation for BGRx formatBenjamin Otte1-3/+3
Patch originally by Mark Kettenis
2009-09-28PS: Use standard page size names for some common sizesAdrian Johnson1-4/+62
Some PS viewers like gv use the label in the %PageMedia DSC comment as the displayed page size. The page names and sizes were obtained from the list at: http://www.gnu.org/software/gv/manual/html_node/Paper-Keywords-and-paper-size-in-points.html
2009-09-25PS: Add DocumentMedia/PageMedia DSC commentsAdrian Johnson2-0/+89
Provide default DocumentMedia and PageMedia DSC comments if the user does not specify them using cairo_ps_surface_dsc_comment(). This is required so that PostScript viewers such as gv use the correct page size.
2009-09-25[xlib] Handle case in draw_image() where pixman format is not RGBBenjamin Otte1-6/+44
When an image cannot be expressed as masks, its data cannot be used in an XImage. In that case, we use pixman to copy the image to the desired format.
2009-09-25[image] Return cairo_bool_t from _pixman_format_to_masksBenjamin Otte2-12/+11
Return FALSE when the pixman format does not support ARGB masks. In particular, return FALSE for YUV formats.
2009-09-24Add EPS testAdrian Johnson4-0/+172
This test demonstrates a regression in the EPS output since 1.8.8. The ps-eps.ref.eps was created with 1.8.8.
2009-09-23[image] Do not trust user supplied data to be clearChris Wilson1-1/+1
Gah, more important than the whitespace was the reversal of is_clear...
2009-09-23[image] Tweak coding styleChris Wilson1-4/+5
Whitespace spam.
2009-09-23[image] Move setting of is_clear to _create_with_pixman_format()Benjamin Otte1-12/+6
Simplifies code and ensures other users of that function don't run into the same bug.
2009-09-23[image] Do assumption initial user data is cleared.Chris Wilson1-4/+22
Benjamin Otte pointed out the error of my ways that a clear on a cairo_image_surface_create_for_data() was not working. This is because I modified the image surface to skip clears when it knows the target data has been cleared. This flag must be reset when the user interacts with the surface, such as providing the initial surface data.
2009-09-22[test] Revamp surface-sourceChris Wilson24-8/+47
Include a translucent region in the source that exercises the xlib bug that I'm trying to fix. Hmm.
2009-09-22[test] Exercise push-group-color.Chris Wilson5-0/+144
Hunting for a known bug in the xlib backend where it invalidly converts an argb32 source to rgb24. However, this does not appear to be that bug, but still a useful exercise nevertheless.
2009-09-22[gl] Handle an absent visual.Chris Wilson2-3/+12
If we cannot find the correct visual for the fbconfig, return an error instead of crashing. The difference is subtle, granted.
2009-09-22win32-printing: correct the use of the CAIRO_HAS_WIN32_FONT #ifdefAdrian Johnson1-1/+1
it was wrapping code required for non windows fonts.
2009-09-22win32-printing: fix meta surface pattern regression caused by bed2701eAdrian Johnson1-0/+2
2009-09-22win32-printing: Allow GDI CTM with scale < 1 to be setAdrian Johnson2-19/+73
To better support creating EMF files with the win32-printing surface, allow a GDI CTM with scale < 1 to be used. http://lists.cairographics.org/archives/cairo/2009-September/018110.html
2009-09-22Make win32 fonts work in EMF files created by win32-printingAdrian Johnson1-0/+37
2009-09-22Fix compiler warnings in win32-surfaceAdrian Johnson1-3/+9
2009-09-22Fix compiler error on cygwinAdrian Johnson1-0/+1
2009-09-22Add WINVER defines to cairo-mutex-impl-privaye.hAdrian Johnson1-0/+9
The WINVER defines should always be defined before including windows.h
2009-09-22Use _WIN32 to check for win32 mutexAdrian Johnson1-1/+1
Commit 535bcaa1 moved pthread after win32 to fix mingw build problems. However this breaks cygwin builds. On cygwin HAVE_WINDOWS_H is defined but _WIN32 is not. This was causing windows.h to be included which defines _WIN32. As a result the win32 code in cairo-misc.c was being compiled but the win32 declaration in cairint.h was not included. Fix this by using _WIN32 to enable the win32 mutex functions since _WIN32 is defined by mingw, visual C++, and winegcc, but not cygwin. On cygwin, posix functions are preferred as it is a unix emulation environment.
2009-09-21[xlib] Fix recent bug in unbounded trapezoidsChris Wilson2-26/+29
Gah! I had believed that the dst extents and the clip were correct to enable unbounded fixup for the unbounded trapezoids. I was wrong, so I need to requery the trapezoid extents. As this information is already known, I should update the interface to pass along all relevant information.
2009-09-21[fallback] Special case single composite rectangleChris Wilson1-0/+42
Avoid the overhead of region-from-traps extraction for the very frequent case of using a single (possibly clipped) rectangle with a pattern source.
2009-09-21[xlib] Trim a few redundant steps when uploading glyphsChris Wilson1-17/+6
Cleanup the glyph coercion routines to avoid the temporary cairo_t (as we can just cairo_surface_paint() directly).
2009-09-20[xlib] Cleanse creation of similar surfaces.Chris Wilson1-106/+91
Reduce two nearly identical routines to one.
2009-09-20[xlib] Interim CAIRO_DEBUG variable to specify xrender levelChris Wilson1-4/+19
Use CAIRO_DEBUG=xrender-version=x.y to override what the server reports. Useful to test cairo's behaviour against older servers.
2009-09-18Add a description of how we compute the spline_error_squared.Jeff Muizelaar1-6/+11
2009-09-16Set LC_ALL=C instead of LANG=CBehdad Esfahbod7-7/+15
2009-09-15Use __uint128_t and __int128_t if availableSebastian Dröge4-50/+50
GCC uses a peculiar name for a real 128-bit integer on x86-64. Speedups, xlib on a gm45 ======================== poppler 41246.56 -> 35102.82: 1.18x speedup swfdec-youtube 12623.01 -> 11936.79: 1.06x speedup Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-09-15[perf] Reorganise cairo-perfChris Wilson33-43/+46
In preparation to creating a new hub to control performance measuring and reporting, move the current cairo-perf out of the way.
2009-09-14[autoconf] Comment on the SIZEOF_VOID__ -> SIZEOF_VOID_P workaround.M Joonas Pihlaja2-0/+4
Explain where the weird SIZEOF_VOID__ comes from.
2009-09-14[trace] Look harder for the cairo-trace.so library.M Joonas Pihlaja1-1/+16
On OpenBSD the convention is to not use symlinks from unversioned library names to versioned library names. This breaks cairo-trace because it looks for cairo-trace.so explicitly, but on OpenBSD only cairo-trace.so.0.0 is installed. The right thing to do is probably to source the cairo-trace.la file and look for a file name there somehow. Instead this commit just looks for a likely looking file or symlink in the install directory.
2009-09-14[trace] Don't use pthread_key_delete.M Joonas Pihlaja1-1/+0
On OpenBSD libc doesn't provide pthread stubs like glibc on Linux or newer libcs from FreeBSD. However libX11 does provide a stubs for a subset of the pthread functions (formerly in libXThrStub, now moved into libX11 proper), but pthread_key_delete() is not one of the stubbed ones. So, on OpenBSD cairo's non-linking of libpthread accidentally works as long as the xlib-surface is enabled, which is nearly always the case. This patch makes trace.c stand at the same precipice as cairo itself by reverting to only a subset of the pthreads functions stubbed by libX11.
2009-09-14[build] Check for dlsym in both libdl and libc.M Joonas Pihlaja3-8/+14
The BSDs have dlsym() in libc rather than libdl.
2009-09-14[build] Work around autoconf void* -> VOID__ name conversion bug.M Joonas Pihlaja2-0/+8
The autoconf shipping with OpenBSD 4.5 converts sizeof(void*) to SIZEOF_VOID__ rather than SIZEOF_VOID_P. Work around that by defining SIZEOF_VOID_P if required.
2009-09-14[configure] Setup GL CFLAGS before checking for GLXChris Wilson1-0/+3
2009-09-14[build] Add a default message for when GLEW isn't builtChris Wilson5-19/+4
And it appears I touched the build system again and autoregenerated the feature headers.
2009-09-14Add a private copy of GLEWChris Wilson12-9/+25955
This appears to be the simplest mechanism to build libglew at the moment - should a system copy be unavailable. Fortunately libglew is now distributed under a permissive licence. If you want to pass 'make -C src check' you have to use the system copy, or spend quite a bit of time cairo-fying libglew.