Age | Commit message (Collapse) | Author | Files | Lines |
|
Bug 24240 first char missing when printing a PDF.
|
|
All the error checking, finally pointed out that I was creating a pixmap
with the wrong depth! Oops.
|
|
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!
|
|
|
|
|
|
Bug 24213
|
|
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.
|
|
Add bread crumbs in the form of NoOperations that can be parsed by
xtrace and very useful when debugging protocol/server errors.
|
|
When scanning for collinear right edges, we need to check that we do not
go beyond the end of the array.
|
|
|
|
Fixing omission in caa9eed4646e78a62ffb49d9c4f48c0b351c7a7f
|
|
|
|
Patch originally by Mark Kettenis
|
|
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
|
|
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.
|
|
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.
|
|
Return FALSE when the pixman format does not support ARGB masks. In
particular, return FALSE for YUV formats.
|
|
This test demonstrates a regression in the EPS output since 1.8.8.
The ps-eps.ref.eps was created with 1.8.8.
|
|
Gah, more important than the whitespace was the reversal of is_clear...
|
|
Whitespace spam.
|
|
Simplifies code and ensures other users of that function don't run into
the same bug.
|
|
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.
|
|
Include a translucent region in the source that exercises the xlib bug
that I'm trying to fix. Hmm.
|
|
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.
|
|
If we cannot find the correct visual for the fbconfig, return an error
instead of crashing. The difference is subtle, granted.
|
|
it was wrapping code required for non windows fonts.
|
|
|
|
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
|
|
|
|
|
|
|
|
The WINVER defines should always be defined before including windows.h
|
|
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.
|
|
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.
|
|
Avoid the overhead of region-from-traps extraction for the very frequent
case of using a single (possibly clipped) rectangle with a pattern source.
|
|
Cleanup the glyph coercion routines to avoid the temporary cairo_t (as
we can just cairo_surface_paint() directly).
|
|
Reduce two nearly identical routines to one.
|
|
Use CAIRO_DEBUG=xrender-version=x.y to override what the server reports.
Useful to test cairo's behaviour against older servers.
|
|
|
|
|
|
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>
|
|
In preparation to creating a new hub to control performance measuring
and reporting, move the current cairo-perf out of the way.
|
|
Explain where the weird SIZEOF_VOID__ comes from.
|
|
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.
|
|
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.
|
|
The BSDs have dlsym() in libc rather than libdl.
|
|
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.
|
|
|
|
And it appears I touched the build system again and autoregenerated the
feature headers.
|
|
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.
|