Commit graph

5375 commits

Author SHA1 Message Date
Benjamin Otte
dd6026b613 doc: Make the necessity of flush/mark_dirty more obvious 2010-07-11 23:32:12 +02:00
Benjamin Otte
8a1944f45b check: Allow unprefix type names in the title
Some documentation sections use the type name as the title, and we don't
want to use that title as a link.
2010-07-11 23:32:12 +02:00
Benjamin Otte
d6362a0d76 qt: Define cairo-qt's API as C symbols
That way, the C linker doesn't mess up when linking libcairo.so.
2010-07-11 18:53:42 +02:00
Benjamin Otte
5d4a4775c8 build: Fix typo that makes C++ libs not build 2010-07-11 18:53:42 +02:00
Chris Wilson
9b9952ab4f Convert mime data length to use unsigned long
What we want to use is size_t, but we don't want the implied POSIX
dependency. However, POSIX does say that size_t is an unsigned integer
that is no longer than a long, so it would appear safe to use an
unsigned long as a replacement. Safer at least than unsigned int.
2010-07-10 11:16:19 +01:00
Chris Wilson
eb85ab998b subsurface: Don't assume we ever own the target.
Andrea pointed out that snapshots can be shared, and so the subsurface
should not be calling finish even on a snapshot.
2010-07-10 11:16:19 +01:00
Benjamin Otte
59c83117d7 build: Commit new versions of autogenerate Windows build files
The recent commits to the build system changed a bunch of stuff in
there, so update the files.
2010-07-09 18:55:11 +02:00
Benjamin Otte
bf117e4ea7 build: fix glew include
Currently wether internal glew is built is dependant on wether the
tarball in use was built with internal glew or not. And that's not how
it should be.
2010-07-09 18:43:38 +02:00
Benjamin Otte
0bd704bd1e build: Remove wrong flags from libcairo_cxx.la
They're useful for the final so, but not for an intermediate noinst lib.
2010-07-09 17:15:02 +02:00
Benjamin Otte
faceffd5be build: copy/paste failure: Don't build libcxx.la 2010-07-09 16:58:18 +02:00
Benjamin Otte
dbb386d3c0 gl: Use unsigned int instead of GLuint
GLuint is not defined in cairo-gl.h. If unsigned int is not compatible
enough to GLuint, we might consider to use #include <GL/gl.h> instead.
2010-07-09 12:49:10 +02:00
Benjamin Otte
f7fc8569a7 build: Fix C++ issues with automake
This is an attempt to fix the broken situation we've been in where
automake links libcairo.la with c++ because it might potentially maybe
include C++ files.

Those potential files only exist in Chris' throwaway backends (skia, qt)
and the BeOS backend, so for 99.99% of cases, these backends are not
needed and linking with c++ is overkill. Also, no one wants to have
libcairo.so link to libstdc++.

This patch fixes that in mutliple steps:
1) Add build infrastructure to distinguish between C and C++ backends.
   This is done by allowing to specify backend_sources as well as
   backend_cxx_sources variables in Makefile.sources.
2) Optionally build a libcairo_cxx.la noinst library
   This intermediate library is built for C++ backends only and therefor
   linked using c++. It is then linked into the final libcairo.la. This
   does not require c++, so the linking of libcairo.la is done with cc.

This also works around various weirdnesses that the current build system
exposes, where it assumes cisms when in fact using c++ semantics, like
not detecting c++ properly or:
https://bugzilla.redhat.com/show_bug.cgi?id=606523
2010-07-09 12:38:37 +02:00
Benjamin Otte
df6d49f6ea build: Get rid of $(foo_files) Makefile.am variables
They're unused, and less variables make the build system easier to
understand.
2010-07-09 11:10:20 +02:00
Benjamin Otte
ce530b2802 doc: Add "@Since: 1.10" tags to device docs 2010-07-09 04:24:51 +02:00
Benjamin Otte
c1fed69302 gl: Remove double ** from some comments
gtk-doc doesn't like that unless it's a real gtk-doc comment.
And it wasn't.
2010-07-09 04:20:42 +02:00
Benjamin Otte
5c73b371ae doc: Document remaining cairo-device functions 2010-07-09 04:20:06 +02:00
Benjamin Otte
9877c1932a doc: Add more documentation for devices
Add general docs and document acquire/release. I'm not happy with the
documentation yet. In particular, I have 2 issues:
1) The threading guarantees Cairo provides are missing.
2) There's no docs on which Cairo functions do acquire devices.

I guess I'll have to fix them later.
2010-07-09 04:09:19 +02:00
Benjamin Otte
739d6e35fa doc: Clarify that cairo_surface_get_device() can return NULL 2010-07-09 03:04:27 +02:00
Benjamin Otte
65d0590b04 doc: Copy docs for standard device APIs
Copied from the surface equivalents
2010-07-09 02:23:51 +02:00
Benjamin Otte
5e76bc6deb doc: Add missing region documentation 2010-07-09 02:11:59 +02:00
Benjamin Otte
57da730d28 doc: Fix a syntax issue in quartz-font gtkdoc
A missing empty line caused the long description to be part of
@See_Also. Ooops.
2010-07-09 02:11:59 +02:00
Benjamin Otte
b870cc030d doc: Move tmpl/ docs to inline docs
I did this manually so I could review the docs at the same time.
If anyone finds typos or other mistakes I did, please complain to me (or
better: fix them).
2010-07-08 14:27:16 +02:00
Benjamin Otte
e7594aebce doc: Fix some consistency issues that confuse gtk-doc 2010-07-08 13:58:53 +02:00
Benjamin Otte
71d17e4b1f drm: Fix Makefile for drm_xr
Use cairo_drm_xr_sources/headers for the drm_xr stuff. This makes it
work correctly in gtk-doc instead of conditionally adding it to
cairo_drm_sources/headers.
2010-07-08 13:58:52 +02:00
Benjamin Otte
4b3e488ceb skia: Add cairo-skia.h as a public header 2010-07-08 13:58:52 +02:00
Benjamin Otte
c54dff82d3 glew: The headers are private, not public 2010-07-08 13:58:52 +02:00
Benjamin Otte
729d00341c gl: Fix compile error after rebase failure 2010-07-08 13:58:51 +02:00
Kristian Høgsberg
9e6c151af8 gl: Add new cairo-gl surface constructor to create surface for texture 2010-07-07 18:11:36 -04:00
Benjamin Otte
4c91bb9a22 region: Add cairo_region_xor() and cairo_region_xor_rectangle()
gdk_region_xor() was a quite often used function in GDK and now that
GDKe uses cairo regions, it seems like a worthwhile addition to Cairo.
2010-07-06 17:27:18 +02:00
Benjamin Otte
398870e64a xlib: Setters should set finished surfaces into an error status
Caught by api-special-cases test
2010-07-06 00:22:38 +02:00
Benjamin Otte
6e562d1448 xcb: Setters should set finished surfaces into an error status
Caught by api-special-cases test
2010-07-06 00:22:31 +02:00
Benjamin Otte
3e008e8ab0 svg: Set error when extracting from finished surface
Caught by api-special-cases test
2010-07-05 23:14:19 +02:00
Benjamin Otte
2e66cbaee2 ps: Allow specifying if errors on extract_surface should be set
Getters should not set errors on passed in input. So we don't.

Caught by api-special-cases test
2010-07-05 23:11:02 +02:00
Benjamin Otte
f5dfc3ce6e ps: Set error when extracting from finished surface
Caught by api-special-cases test
2010-07-05 23:08:08 +02:00
Benjamin Otte
106357f6e2 pdf: Set error when extracting from finished surface
Caught by api-special-cases test
2010-07-05 23:07:24 +02:00
Benjamin Otte
702aa19fda gl: Fail properly when called with finished functions
Caught by api-special-cases test
2010-07-05 22:50:44 +02:00
Benjamin Otte
448653e7b9 Call _cairo_error() when setting the FINISHED error on surfaces 2010-07-05 22:42:08 +02:00
Benjamin Otte
19da8e138d tee: Add proper error handling
Caught by api-special-cases
2010-07-05 22:40:54 +02:00
Benjamin Otte
6744b78de1 subsurface: Fail if created from a finished surface
Caught by api-special-cases test
2010-07-05 18:38:33 +02:00
Benjamin Otte
8fd1ecea12 surface: Fail if set_mime_data() is called on a finished surface
Caught by api-special-cases test
2010-07-05 18:38:33 +02:00
Benjamin Otte
e388ff1ae7 surface: Fail early if create_similar() is called on a finished surface
Caught by api-special-cases test
2010-07-05 18:38:33 +02:00
Benjamin Otte
c1689ef6f2 surface: don't call begin_modification on finished surfaces
Fixes https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/600622

Caught by api-special-cases test
2010-07-05 18:38:33 +02:00
Benjamin Otte
a1c4b001a5 boilerplate: Add a describe vfunc
This function is supposed to describe the backend in use. The describe
function is optional - and therefore initialized as NULL everywhere.
Note:
It is well known that the xlib backend uses X. What is not known is what
version the server supports or what graphics card it is running on. That
is the information the describe vfunc is supposed to provide.
2010-07-03 02:55:52 +02:00
Chris Wilson
4c039b1cdf user-font: Check the status before destroying the context 2010-07-02 17:02:19 +01:00
Chris Wilson
1f84f5682c xlib: Apply translation to image surface upload.
Fixes:

  Bug 28888 - cairo_paint with rgb images does not work correctly
  https://bugs.freedesktop.org/show_bug.cgi?id=28888
2010-07-02 13:19:17 +01:00
Andrea Canciani
d2d6c96c24 user-font: correct handling of size 0 text
Text with size 0 has a singular scale matrix, thus requires special
handling to avoid invalidating the context where it is used.

Fixes pthread-show-text and text-zero-len (they failed with assertion
when ran using the user font backend).
2010-06-30 12:31:25 +02:00
Andrea Canciani
6db247e13c user-font: ignore translation in scale matrix
Currently the translation component of the scaled_font scale matrix
is applied by gstate and only linear components should be applied in
font backends.

Fixes font-matrix-translation (when using user-font as font backend).
2010-06-29 09:28:04 +02:00
Andrea Canciani
549431e98e ft-font: fix typo 2010-06-28 22:40:28 +02:00
Chris Wilson
97a88c5adb xlib: Compile without fontconfig
Create a cairo-fontconfig-private.h where we can add the missing defines
in a common location rather than in the body of the code.
2010-06-28 17:11:54 +01:00
Andrea Canciani
7d69100143 quartz: remove unused declarations 2010-06-28 17:12:41 +02:00