Commit graph

2593 commits

Author SHA1 Message Date
Robert O'Callahan
191e108b93 Add clip getters API + tests
Add new public API methods:

void cairo_clip_extents (cairo_t *cr,                                               double *x1, double *y1,
    double *x2, double *y2);
cairo_rectangle_list_t *cairo_copy_clip_rectangles (cairo_t *);
void cairo_rectangle_list_destroy (cairo_rectangle_list_t *);

Also add 'get-clip' and 'get-path-extents' tests.
2006-09-25 23:22:45 -07:00
Robert O'Callahan
a8ca155f83 Fix stroke/fill extents bounding boxes
Correctly return the transformed bounding box for stroke/fill extents,
instead of just transforming the two corners separately.
2006-09-25 23:16:54 -07:00
Robert O'Callahan
37fa632e59 Fix _cairo_matrix_transform_bounding_box to return tightness info
Add return is_tight value to the internal function, indicating whether
the transformed bounds still remain axis-aligned.
2006-09-25 23:14:43 -07:00
Carl Worth
de1915ffd2 ROADMAP: Add a couple of URLs for user-font API discussion 2006-09-25 10:44:08 -07:00
Carl Worth
b146255fa4 ROADMAP: Add infinite-join bug (#8379) to the list for 1.4 2006-09-21 15:30:23 -07:00
Vladimir Vukicevic
303b529195 dash and pattern getter functions
Adds API functions for inspecting the current dash state, as well as
the contents of pattern objects:

  cairo_get_dash
  cairo_get_dash_count
  cairo_pattern_get_rgba
  cairo_pattern_get_surface
  cairo_pattern_get_color_stop_rgba
  cairo_pattern_get_color_stop_count
  cairo_pattern_get_linear_points
  cairo_pattern_get_radial_circles
2006-09-19 12:19:21 -07:00
Vladimir Vukicevic
a56b962428 Add win32 output files to gitignore 2006-09-19 12:19:21 -07:00
Vladimir Vukicevic
8a9b99e596 [perf] Change perf output format, report times in ms, add a few paint tests
This changes the perf test output format to be a little more human friendly,
reporting times in ms instead of seconds.  It also adds a test number
that could be used in the future for specifying an explicit test to run
(test number, target surface, test name, and size uniquiely identify
a test).

Also adds a few paint tests.
2006-09-19 12:19:20 -07:00
Vladimir Vukicevic
e42905b01b [win32,perf] Fix cairo-perf-win32
Make cairo-perf work on win32
2006-09-19 12:19:20 -07:00
Carl Worth
82b710ebc2 Add missing pixman_private to _FbOnes when a function.
This was thanks to a report from crucible (run #2113) since it tested
with older versions of gcc (3.3.6) than most of the cairo developers
use, (so we had been getting the _FbOnes macro not the function).
2006-09-19 10:13:36 -07:00
Behdad Esfahbod
42a0c6bd59 check-def.sh: Only allow _cairo_.*_test_.* symbols, not all _cairo.* ones 2006-09-19 13:05:29 -04:00
Behdad Esfahbod
ae355453d8 cairo-nquartz.h: Add missing cairo_public decorators. 2006-09-18 13:32:41 -04:00
Behdad Esfahbod
6c01b2ffb3 cairo-directfb.h: Add missing cairo_public decorators 2006-09-18 13:32:19 -04:00
Behdad Esfahbod
7bb72f6453 cairo-pdf.h: Add missing cairo_public decorators 2006-09-18 13:32:00 -04:00
Behdad Esfahbod
01f10fb27a check-headers.sh: Add a test for cairo_public decorators in public headers
Test fails currently because of bug 8313 and similar issues.
2006-09-18 13:31:26 -04:00
Behdad Esfahbod
38ed0eeb5b [ROADMAP] Add polling API 2006-09-15 15:35:12 -04:00
Behdad Esfahbod
b9cbfba7d2 [ROADMAP] Check RGB16_565 deprecated 2006-09-15 15:34:44 -04:00
Peter Weilbacher
2fd0ad9489 OS/2 build changes 2006-09-15 11:18:47 +02:00
Peter Weilbacher
8c6baacefa OS/2 backend files 2006-09-15 11:18:14 +02:00
Carl Worth
edfceea853 Fix typo in error message (enhacement -> enhancement) 2006-09-13 15:27:32 -07:00
Vladimir Vukicevic
3623da441a [nquartz] Initial commit of native quartz surface
Inital commit of Native Quartz surface.  The main missing functionality
is mask() support (which is just a noop right now, except for the simple
solid-alpha case).
2006-09-13 14:48:40 -07:00
Stuart Parmenter
f1bd0b9f98 [win32] correct win32 show_glyphs for non-y-aligned text
Correctly calculate destination glyph coordinates for win32_show_glyphs.
2006-09-12 16:27:40 -07:00
Vladimir Vukicevic
0166538126 [win32] Support for DDBs, AlphaBlend fix
Add support for the win32 surface using DDBs for similar surfaces and the
like when the orignal surface is created from a DC, or when a DDB is
explicitly created.  A DIB is still created if alpha is required.

Also fixes a case where blitting win32 RGB24 -> ARGB32 surfaces was causing
alpha to leak into the ARGB32 surface instead of being set to fully opaque.
2006-09-12 16:08:40 -07:00
Vladimir Vukicevic
924bbd06f3 Check for valid path status value before calling _cairo_set_error
cairo_status_t is a signed type, so we need to check for invalid codes
that are < 0 as well.

Also removes the MSVC goop in path-data.c that was attempting to work
around the assert earlier.
2006-09-11 12:36:41 -07:00
Carl Worth
bcc13ede9b Move the REPLACED/DEPRECATED_BY macros from cairo.h to cairo-deprecated.h 2006-09-11 11:12:47 -07:00
Carl Worth
79aed8c5fc Deprecated CAIRO_FORMAT_RGB16_565. Add cairo-deprecated.h . 2006-09-11 11:05:02 -07:00
Carl Worth
cb6aed0a81 perf: Make xlib testing wait for the X server to finish rendering.
We do this by adding a new cairo_perf_timer_set_finalize function and
in the case of the xlib backend passing a callback to that function
that does a 1x1 XGetImage.
2006-09-11 10:59:38 -07:00
Vladimir Vukicevic
e1a8a8b65a [win32] Set win32 assertion failure handlers for tests to stderr
assert() will default to displaying a dialog box, which makes it hard
to run tests automatically.  Set the reporting mode to only report
to stderr in cairo_test(), and in path-data, since that triggers
an early assert.
2006-09-09 23:54:40 -07:00
Vladimir Vukicevic
00d5a2ed48 [win32] Makefile.win32: use correct (/MD) runtime library flag everywhere
There was a bad mix of LIBCMT (the static runtime lib) and MSVCRT (the dynamic
one) before, because LIBCMT is the default.  This specifies /MD everywhere.
2006-09-09 23:29:17 -07:00
Vladimir Vukicevic
d78fd375d3 [win32] Makefile.win32: fix test and add html targets
Add html target to toplevel and test/ Makefile.win32
2006-09-09 22:18:47 -07:00
Vladimir Vukicevic
5ab72579ef Correctly acquire/release mutex in _cairo_scaled_font_map_destroy
_cairo_scaled_font_map_destroy needs to both lock/unlock the mutex,
not just unlock it.
2006-09-09 19:52:48 -07:00
Vladimir Vukicevic
d3076a1843 Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo into cairo-master 2006-09-09 18:57:57 -07:00
Vladimir Vukicevic
dfe3e20a4a [win32] Fix boilerplate for win32 surfaces to use new _with_dib function
Create test surfaces for win32 using _with_dib instead of creating the
dib locally; also test CONTENT_COLOR and CONTENT_COLOR_ALPHA.
2006-09-09 18:56:58 -07:00
Vladimir Vukicevic
9735cb9a24 Improve make-html.pl, add self-contained output format
Setting CAIRO_TEST_SHOW_INLINE in the environment before running
make-html.pl will generate a html file with all the logs and necessary
images inlined as data URI's.
2006-09-09 18:55:46 -07:00
Carl Worth
78b8555c9a perf: Don't skip COLOR tests 2006-09-09 17:32:50 -07:00
Carl Worth
d3a5d90665 boilerplate-xlib: New perf-specific surface creation for xlib backend.
When testing the xlib backend do different things for TEST vs. PERF:

TEST: Always use pixmap, call Xsynchronize.

PERF: Use pixmap for COLOR_ALPHA and DefaultVisual window for COLOR.
2006-09-09 17:32:50 -07:00
Carl Worth
aeca64f6cd boilerplate: Allow targets to distinguish between test and perf.
Add a new cairo_boilerplate_mode_t so that the boilerplate targets can
do slightly different things if being tested for correctness vs. being
run for performance.
2006-09-09 17:32:50 -07:00
Vladimir Vukicevic
97f26c5235 Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo into cairo-master 2006-09-09 17:09:03 -07:00
Vladimir Vukicevic
0e59041321 [win32] win32-specific Makefiles for building with MSVC
This patch adds a bunch of makefiles for building cairo with Visual C++.
gnu make is still required, and make must be run from a command prompt
that has the Visual C++ paths set up, as well as has the cygwin environment
in the path.  Run 'make -f Makefile.win32'.
2006-09-09 17:08:18 -07:00
Vladimir Vukicevic
3c5a02c3ed [win32] Misc win32 compilation fixes
Fix win32/MSVC defines for snprintf, inline, and M_PI
2006-09-09 17:06:21 -07:00
Vladimir Vukicevic
dbd0fa193c [win32] Make cairo as a win32 static library possible
This adds a win32 initialization function that is called from all
surface creation and font creation functions to ensure that the win32
mutexes are initialized.
2006-09-09 17:05:00 -07:00
Carl Worth
416e94532b test/bitmap-font: Fix arguments to FcFreeTypeQuery to avoid warnings. 2006-09-09 16:04:51 -07:00
Carl Worth
a37e667533 Use unsigned consistently to avoid compiler warning. 2006-09-09 16:04:51 -07:00
Carl Worth
195fd5cde6 boilerplate: Rename cairo_test_target_t to cairo_boilerplate_target_t 2006-09-09 16:04:51 -07:00
Behdad Esfahbod
99360bd35d cairo_show_glphs: Mark glyphs argument as const. 2006-09-08 15:12:07 -04:00
Carl Worth
c475d2ca69 Fix bitmap-font test failure by not generating a type1 font for a bitmap font.
This was simply a matter of ensuring that the UNSUPPORTED
return value was checked for and propagated all the way
out of cairo-type1-fallback.c
2006-09-07 17:46:21 -07:00
Carl Worth
f6bd76a4b2 type1: Enforce pre-allocation usage and fail-proof behavior of charstring_encode functions
These functions were previously returning a status value that
was almost never being checked. Instead we now make these
functions void and enforce a usage pattern that the destination
array must be pre-grown to accomodate the results. This is
verified with a couple of assert statements.

The pre-allocation was already happening with all but one call.
That call is now also fixed up.
2006-09-07 17:36:36 -07:00
Carl Worth
942cd2e026 Add _cairo_array_size to allow querying the allocated size 2006-09-07 17:33:35 -07:00
Carl Worth
8796b19b5d cairo-type1-fallback.c: Regularize some whitespace. 2006-09-07 17:09:37 -07:00
Carl Worth
8364251db5 cairo_type1_font_create: Fix missing NO_MEMORY check and cleanup style. 2006-09-07 17:07:54 -07:00