mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-25 10:40:11 +01:00
2654 lines
91 KiB
Text
2654 lines
91 KiB
Text
2004-09-12 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairo_glitz_surface.c (_cairo_glitz_surface_create_pattern):
|
|
Pickup repeat setting when cloning surface.
|
|
|
|
2004-09-11 Carl Worth <stacyworth@pippin.local>
|
|
|
|
* autogen.sh: Require automake 1.6 rather than 1.7 since it seems
|
|
to work just fine.
|
|
|
|
2004-09-11 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* configure.in: Require version 0.2.2 of glitz.
|
|
|
|
* src/cairo_glitz_surface.c (_cairo_glitz_surface_create_pattern):
|
|
0.5 should no longer be added to gradient stop coordinates.
|
|
|
|
* src/cairo.h: CAIRO_HAS_GL_SURFACE -> CAIRO_HAS_GLITZ_SURFACE.
|
|
cairo_set_target_gl -> cairo_set_target_glitz.
|
|
cairo_gl_surface_create -> cairo_glitz_surface_create.
|
|
|
|
* src/cairo-features.h.in: GL_SURFACE_FEATURE -> GLITZ_SURFACE_FEATURE.
|
|
|
|
* src/Makefile.am: CAIRO_HAS_GL_SURFACE -> CAIRO_HAS_GLITZ_SURFACE,
|
|
libcairo_gl_sources -> libcairo_glitz_sources, cairo_gl_surface.c ->
|
|
cairo_glitz_surface.c, GL_CFLAGS -> GLITZ_CFLAGS and
|
|
GL_LIBS -> GLITZ_LIBS.
|
|
|
|
* cairo.pc.in (Requires): GL_REQUIRES -> GLITZ_REQUIRES.
|
|
|
|
* configure.in: Replaced the gl backend with the new glitz backend.
|
|
Cairo now requires version 0.2.1 of glitz.
|
|
|
|
2004-09-04 Carl Worth <cworth@brudder.east.isi.edu>
|
|
|
|
* COPYING:
|
|
* COPYING-MPL-1.1:
|
|
* COPYING-LGPL-2.1:
|
|
* src/cairo-features.h.in:
|
|
* src/cairo.c:
|
|
* src/cairo.h:
|
|
* src/cairo_color.c:
|
|
* src/cairo_fixed.c:
|
|
* src/cairo_font.c:
|
|
* src/cairo_gstate.c:
|
|
* src/cairo_hull.c:
|
|
* src/cairo_image_surface.c:
|
|
* src/cairo_matrix.c:
|
|
* src/cairo_path.c:
|
|
* src/cairo_path_bounds.c:
|
|
* src/cairo_path_fill.c:
|
|
* src/cairo_path_stroke.c:
|
|
* src/cairo_pen.c:
|
|
* src/cairo_polygon.c:
|
|
* src/cairo_ps_surface.c:
|
|
* src/cairo_slope.c:
|
|
* src/cairo_spline.c:
|
|
* src/cairo_surface.c:
|
|
* src/cairo_xcb_surface.c:
|
|
* src/cairo_xlib_surface.c:
|
|
* src/cairoint.h: Add the MPL as a new license option, in addition
|
|
to the LGPL.
|
|
|
|
2004-08-14 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_image_surface.c
|
|
(_cairo_image_surface_set_clip_region): Make a copy of the region
|
|
since pixman is currently taking ownership of it (ugh). Thanks to
|
|
Vladimir Vukicevic <vladimir@pobox.com> and Peter Dennis Bartok
|
|
<peter@novonyx.com>.
|
|
|
|
* autogen.sh (LANG): Explicitly set LANG=C to fix the awk
|
|
string->number conversion for user with locales that don't match
|
|
ASCII digit conventions.
|
|
|
|
2004-08-03 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (extract_transformed_rectangle): Temporarily
|
|
disable rectangle-based clipping optimization as it's not working
|
|
(see cairo_snippets/xxx_clip_rectangle for a test case).
|
|
|
|
2004-08-02 Carl Worth <cworth@isi.edu>
|
|
|
|
* COPYING:
|
|
* src/cairo-features.h.in:
|
|
* src/cairo.c:
|
|
* src/cairo.h:
|
|
* src/cairo_color.c:
|
|
* src/cairo_fixed.c:
|
|
* src/cairo_font.c:
|
|
* src/cairo_gstate.c:
|
|
* src/cairo_hull.c:
|
|
* src/cairo_image_surface.c:
|
|
* src/cairo_matrix.c:
|
|
* src/cairo_path.c:
|
|
* src/cairo_path_bounds.c:
|
|
* src/cairo_path_fill.c:
|
|
* src/cairo_path_stroke.c:
|
|
* src/cairo_pen.c:
|
|
* src/cairo_polygon.c:
|
|
* src/cairo_ps_surface.c:
|
|
* src/cairo_slope.c:
|
|
* src/cairo_spline.c:
|
|
* src/cairo_surface.c:
|
|
* src/cairo_xcb_surface.c:
|
|
* src/cairo_xlib_surface.c:
|
|
* src/cairoint.h: Change from MIT license to LGPL.
|
|
Fix to explicitly refer to GNU Lesser Public License 2.1 rather
|
|
than the Library Public License version 2 or "any later version"
|
|
|
|
* src/cairo_pattern.c:
|
|
* src/cairo_gl_surface.c: Fix copyright attributions mistakenly
|
|
attributed to University of Southern California rather than to
|
|
David Reveman.
|
|
|
|
* BUGS: Note that cairo_clip is fixed now.
|
|
|
|
2004-08-01 Øyvind Kolås <oeyvindk@hig.no>
|
|
|
|
* src/cairo.h: replaced ct with cr in public headers to keep
|
|
usage consistent.
|
|
|
|
2004-07-24 Jamey Sharp <jamey@minilop.net>
|
|
|
|
* src/cairo_xcb_surface.c:
|
|
Updating for XCB API change around iterators.
|
|
|
|
2004-07-20 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairo_gl_surface.c (_cairo_gl_surface_get_image): Use new
|
|
pixel buffer interface.
|
|
(_cairo_gl_surface_set_image): Use new pixel buffer interface.
|
|
(_cairo_gl_surface_set_filter): Don't use convolution filter for
|
|
gaussian filter type as we have no software fall-back.
|
|
(_cairo_gl_surface_create_pattern): Color ranges now need a surface
|
|
reference.
|
|
Added new CAIRO_GL_SURFACE_IS_DRAWABLE macro.
|
|
|
|
2004-07-16 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairo_font.c (_cairo_font_copy): Fixed stupid typo.
|
|
Added decleration of _cairo_glyph_cache_destroy.
|
|
|
|
2004-07-15 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairo_font.c (_cairo_font_copy): Destroy glyph cache
|
|
created by font backend.
|
|
|
|
2004-07-11 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init_clip): Don't call
|
|
_cairo_surface_set_clip_region with a NULL surface.
|
|
|
|
2004-07-09 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_arc_dir): Fix numerical
|
|
problem that could lead to infinite loops.
|
|
|
|
2004-07-09 Dave Beckett <Dave.Beckett@bristol.ac.uk>
|
|
|
|
* autogen.sh: Require automake 1.7 (and thus aclocal 1.7) which
|
|
requires autoconf 2.54. Changed since newer libtools may fail to
|
|
work with older automake versions such as 1.4. I bet this will
|
|
annoy people with older tool chains :(
|
|
|
|
2004-07-05 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo.c (CAIRO_CHECK_SANITY): Remove errant semicolon from
|
|
macro definition.
|
|
|
|
2004-06-21 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* configure.in: Require glitz >= 0.1.5.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_clip_and_composite_trapezoids):
|
|
Use correct source offset when creating clip surface.
|
|
|
|
* src/cairo_gl_surface.c (_cairo_gl_surface_get_image): Use glitz's
|
|
new pixel interface.
|
|
(_cairo_gl_surface_set_image): Use glitz's new pixel interface.
|
|
(_cairo_gl_surface_create_similar): First try to create a drawable
|
|
surface and if that fails, create a read only surface.
|
|
(_cairo_gl_surface_create_similar): Glitz now handles inheritance of
|
|
anti-aliasing hints, so it can be removed from here.
|
|
(_cairo_gl_surface_create_pattern): Temporary fix for gradients.
|
|
|
|
2004-06-16 Keith Packard <keithp@keithp.com>
|
|
|
|
* src/cairo_xcb_surface.c: (bytes_per_line),
|
|
(_cairo_xcb_surface_set_image):
|
|
Fix image data length computation (XCB doesn't do this part).
|
|
|
|
2004-06-11 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* configure.in: Require glitz 0.1.4.
|
|
|
|
* src/cairo_gl_surface.c: Added CAIRO_GL_SURFACE_MULTISAMPLE macro.
|
|
(_cairo_gl_extract_rectangle): Added _cairo_gl_extract_rectangle.
|
|
(_cairo_gl_surface_composite_trapezoids): Use fill_rectangles if
|
|
we can represent the traps as a rectangle. fill_trapezoids cannot be
|
|
used with software multi-sampling.
|
|
(CAIRO_GL_COMPOSITE_TRAPEZOIDS_SUPPORT): Glitz can no longer composite
|
|
trapezoids just by using offscreen drawing.
|
|
(_cairo_gl_surface_create_similar): Inherit anti-aliasing properties.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_create_pattern): Get solid color
|
|
from color stop components.
|
|
|
|
* src/cairoint.h: Removed cairo color from color stop.
|
|
|
|
* src/cairo_pattern.c: Added MULTIPLY_COLORCOMP macro.
|
|
(cairo_pattern_add_color_stop): Do not pre-multiply stop color.
|
|
(_cairo_pattern_calc_color_at_pixel): Multiply with alpha.
|
|
|
|
2004-05-28 Carl Worth <cworth@isi.edu>
|
|
|
|
* These two fixes are from David Reveman <c99drn@cs.umu.se>:
|
|
|
|
* src/cairo_surface.c (_cairo_surface_create_similar_scratch)
|
|
(_cairo_surface_create_similar_solid): Move NULL test from
|
|
create_similar_scratch to create_similar_solid.
|
|
|
|
* src/cairo_font.c (_cairo_glyph_surface_init): Fix for when
|
|
surface->backend != image->backend, but the backend does use
|
|
images for similar surfaces.
|
|
|
|
2004-05-28 Keith Packard <keithp@keithp.com>
|
|
|
|
* configure.in:
|
|
* src/Makefile.am:
|
|
Add WARN_CFLAGS, autodetection for 64/128 bit ints and
|
|
cairo_wideint.[ch]
|
|
|
|
* src/cairo_gstate.c: (_cairo_gstate_show_glyphs):
|
|
Check status return from _cairo_gstate_glyph_extents
|
|
|
|
* src/cairo_pattern.c: (_cairo_image_data_set_radial),
|
|
(_cairo_pattern_get_image):
|
|
* src/cairo_png_surface.c: (_cairo_png_surface_copy_page):
|
|
* src/cairo_surface.c: (_cairo_surface_composite):
|
|
Quiet compiler warnings about uninitialized variables
|
|
|
|
* src/cairo_traps.c: (_det16_32), (_det32_64),
|
|
(_fixed_16_16_to_fixed_32_32), (_line_segs_intersect_ceil):
|
|
Switch to alternate exact line intersection code.
|
|
|
|
* src/cairo_wideint.c: (_cairo_uint64_divrem),
|
|
(_cairo_uint32_to_uint64), (_cairo_int32_to_int64),
|
|
(_cairo_uint32s_to_uint64), (_cairo_uint64_add),
|
|
(_cairo_uint64_sub), (_cairo_uint32x32_64_mul),
|
|
(_cairo_uint64_mul), (_cairo_uint64_lsl), (_cairo_uint64_rsl),
|
|
(_cairo_uint64_rsa), (_cairo_uint64_lt), (_cairo_uint64_eq),
|
|
(_cairo_int64_lt), (_cairo_uint64_not), (_cairo_uint64_negate),
|
|
(_cairo_leading_zeros32), (_cairo_uint64x32_normalized_divrem),
|
|
(_cairo_int64_divrem), (_cairo_uint128_divrem),
|
|
(_cairo_uint32_to_uint128), (_cairo_int32_to_int128),
|
|
(_cairo_uint64_to_uint128), (_cairo_int64_to_int128),
|
|
(_cairo_uint128_add), (_cairo_uint128_sub), (uint64_lo),
|
|
(uint64_hi), (uint64_shift32), (_cairo_uint64x64_128_mul),
|
|
(_cairo_uint128_mul), (_cairo_uint128_lsl), (_cairo_uint128_rsl),
|
|
(_cairo_uint128_rsa), (_cairo_uint128_lt), (_cairo_int128_lt),
|
|
(_cairo_uint128_eq), (_cairo_uint128x64_normalized_divrem),
|
|
(_cairo_leading_zeros64), (_cairo_int128_negate),
|
|
(_cairo_int128_not), (_cairo_int128_divrem):
|
|
* src/cairo_wideint.h:
|
|
Add 64/128-bit wide integer arithmetic.
|
|
|
|
* src/cairoint.h:
|
|
Switch to stdint.h types (and new wide types).
|
|
|
|
2004-05-24 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairo.c (cairo_restore): Moved CAIRO_CHECK_SANITY below
|
|
declarations.
|
|
(cairo_current_font): Moved CAIRO_CHECK_SANITY below declarations.
|
|
|
|
* src/cairoint.h: Added cairo_glyph_size_t, cairo_glyph_surface_t,
|
|
cairo_glyph_surface_node_t and cairo_glyph_cache_t.
|
|
Added font backend functions text_bbox, glyph_bbox and create_glyph.
|
|
Added source offset parameter to show_text and show_glyphs.
|
|
Added drawable parameter to backend function create_similar.
|
|
cairo_font_t now contains a glyph_cache pointer.
|
|
Added _cairo_font_text_bbox, _cairo_font_glyph_bbox,
|
|
_cairo_font_lookup_glyph and _cairo_surface_create_similar_scratch.
|
|
|
|
* src/cairo_xlib_surface.c (_cairo_xlib_surface_create_similar):
|
|
(_cairo_xlib_surface_clone_similar):
|
|
Added drawable parameter to backend function create_similar.
|
|
|
|
* src/cairo_xcb_surface.c (_cairo_xcb_surface_create_similar):
|
|
(_cairo_xcb_surface_clone_similar):
|
|
Added drawable parameter to backend function create_similar.
|
|
|
|
* src/cairo_surface.c: Added _cairo_surface_create_similar_scratch.
|
|
Added drawable parameter to backend function create_similar.
|
|
|
|
* src/cairo_ps_surface.c (_cairo_ps_surface_create_similar):
|
|
Added drawable parameter to backend function create_similar.
|
|
|
|
* src/cairo_png_surface.c (_cairo_png_surface_create_similar):
|
|
Added drawable parameter to backend function create_similar.
|
|
|
|
* src/cairo_image_surface.c (_cairo_image_surface_create_similar):
|
|
Added drawable parameter to backend function create_similar.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_show_text): Use new text
|
|
bounding box function. Pass pattern source offset to show_text.
|
|
(_cairo_gstate_show_glyphs): Use new text
|
|
bounding box function. Pass pattern source offset to show_glyps.
|
|
|
|
* src/cairo_gl_surface.c (_cairo_gl_surface_create_similar): Added
|
|
drawable parameter to backend function create_similar. Use glitz's
|
|
new create similar interface. Support for read-only surfaces.
|
|
(_cairo_gl_surface_clone_similar): Added drawable parameter to
|
|
backend function create_similar.
|
|
|
|
* src/cairo_ft_font.c: Use new glyph caching system. Added bounding box
|
|
font backend functions.
|
|
|
|
* src/cairo_font.c: Added glyph caching system. Added bounding box
|
|
font backend functions.
|
|
(_cairo_font_init): Create new glyph cache.
|
|
(_cairo_font_copy): Take a reference to other fonts glyph cache.
|
|
(_cairo_font_show_text):
|
|
(_cairo_font_show_glyphs): Handle source offset.
|
|
(cairo_font_destroy): Destroy glyph cache.
|
|
|
|
2004-05-20 Graydon Hoare <graydon@redhat.com>
|
|
|
|
* configure.in: Add sanity checking feature configury.
|
|
|
|
* src/cairo-features.h.in: Add sanity checking feature.
|
|
|
|
* src/cairo.c: Add sanity checking.
|
|
|
|
* src/cairoint.h: Add prototypes.
|
|
|
|
* src/cairo_fixed.c
|
|
(_cairo_fixed_is_integer):
|
|
(_cairo_fixed_integer_part): New functions.
|
|
|
|
* src/cairo_matrix.c
|
|
(_cairo_matrix_is_integer_translation): New function.
|
|
|
|
* src/cairo_gstate.c
|
|
(extract_transformed_rectangle): Use fixed functions.
|
|
(_cairo_gstate_clip): Arithmetic fixes.
|
|
(_cairo_gstate_clip_and_composite_trapezoids):
|
|
(_cairo_gstate_show_surface):
|
|
(_cairo_gstate_show_text):
|
|
(_cairo_gstate_show_glyphs): Corrections to clipping.
|
|
|
|
* src/cairo_xlib_surface.c
|
|
(_cairo_xlib_surface_composite): Add XCopyArea fast path.
|
|
(_cairo_xlib_surface_set_clip_region): Drive clip to drawable.
|
|
|
|
2004-05-17 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo.c (cairo_show_text): Do nothing when passed a NULL
|
|
string.
|
|
|
|
2004-05-11 Øyvind Kolås <oeyvindk@hig.no>
|
|
|
|
* src/cairoint.h : changed CAIRO_FILTER_DEFAULT to CAIRO_FILTER_BEST
|
|
to make gradients easier.
|
|
|
|
2004-05-11 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairo_pattern.c (_cairo_pattern_get_image): Removed
|
|
pattern_offset.
|
|
|
|
* src/cairo_surface.c (_cairo_surface_create_pattern): Removed
|
|
pattern_offset.
|
|
|
|
* src/cairo_gstate.c: Removed pattern_offset.
|
|
|
|
* src/cairoint.h: Removed pattern_offset.
|
|
|
|
2004-05-11 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in: Increment CAIRO_VERSION to 0.1.23.
|
|
|
|
* NEWS: Added notes for snapshot 0.1.23.
|
|
|
|
* RELEASING: Add reminder to mention incompatible API changes in
|
|
NEWS. Re-order steps to avoid clobbering pre-existing tar
|
|
files.
|
|
|
|
2004-05-11 Carl Worth <cworth@isi.edu>
|
|
|
|
* BUGS: Several people have reported that cairo_clip is not
|
|
working right now. And it's always been slow.
|
|
|
|
2004-05-11 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* configure.in: Require glitz 0.1.2.
|
|
|
|
* src/cairo_gl_surface.c: Added opacity attribute. Fixed broken
|
|
CAIRO_GL_COMPOSITE_TRAPEZOIDS_SUPPORT macro.
|
|
(_cairo_gl_surface_composite_trapezoids): Use polygon opacity.
|
|
(_cairo_gl_surface_create_pattern): Added surface pattern support.
|
|
(_cairo_gl_surface_create): Initialize opacity to 0xffff.
|
|
|
|
2004-05-07 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_ft_font.c (_utf8_to_ucs4): Bail on NULL utf8 string.
|
|
|
|
* src/cairo_spline.c (_cairo_spline_add_point): Don't add two
|
|
consecutive, identical points when decomposing the spline, (which
|
|
was leading to an infinte loop in the stroke algorithm when it
|
|
found a slope of (0,0)).
|
|
|
|
2004-05-04 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_png_surface.c (cairo_png_surface_create): Move all
|
|
libpng-related code into copy_page.
|
|
(unpremultiply_data): Add missing unpremultiply step.
|
|
(_cairo_png_surface_copy_page): Move PNG output to copy_page. Add
|
|
support for A8 and A1 images. Remove time from header (we may want
|
|
to add it again later, but for now it messes up my test suite).
|
|
(_cairo_png_surface_destroy): Call copy_page if it hasn't been
|
|
called already.
|
|
(_cairo_png_surface_show_page): Add implementation.
|
|
(_cairo_png_surface_copy_page): Don't close a file we didn't open.
|
|
|
|
2004-05-04 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairo_pattern.c (_cairo_image_data_set_radial): Corrected some
|
|
confusing comments about the math used for radial gradients.
|
|
|
|
2004-05-01 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairo_gl_surface.c (_cairo_gl_surface_create_pattern):
|
|
cairo_surface_t pointer to cairo_surface_set_matrix.
|
|
|
|
2004-04-29 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_set_pattern): Don't set
|
|
pattern_offset by the current point. Perhaps we can eliminate
|
|
pattern_offset altogether now?
|
|
|
|
2004-04-30 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairoint.h: Radial patterns only store radius per circle.
|
|
Only inverse CTM to _cairo_pattern_transform.
|
|
|
|
* src/cairo_pattern.c (cairo_pattern_create_radial): Only one radius
|
|
per circle now.
|
|
(_cairo_pattern_transform): A matrix multiplication with inverse CTM
|
|
is all that's needed here.
|
|
(_cairo_pattern_calc_color_at_pixel): Fixed extend type reflect.
|
|
(_cairo_image_data_set_linear): New linear gradient code.
|
|
Transformation of linear gradient is now handled correctly.
|
|
(_cairo_image_data_set_radial): New radial gradient code. Inner circle
|
|
is now used for creating radial gradients. Transformation of radial
|
|
gradient is now handled correctly.
|
|
(_cairo_pattern_get_image): Fixed handling of pattern offset.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_create_pattern): All pattern types
|
|
are transformed using inverse CTM.
|
|
|
|
* src/cairo_gl_surface.c (_cairo_gl_surface_create_pattern): Updated
|
|
to use glitz's new linear and radial gradients.
|
|
|
|
* configure.in: Require glitz 0.1.1.
|
|
|
|
2004-04-28 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairo_gl_surface.c: Added CAIRO_GL_MULTITEXTURE_SUPPORT and
|
|
CAIRO_GL_SURFACE_IS_SOLID macros.
|
|
(_cairo_gl_surface_get_image): Simpler way for calculating rowstride.
|
|
(_cairo_gl_surface_composite): Support compositing with mask surface
|
|
when mask is solid or multi-texturing is available.
|
|
|
|
2004-04-25 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairo_gl_surface.c (_cairo_gl_surface_set_clip_region):
|
|
Fixed conversion of pixman_box16_t to glitz_rectangle_t.
|
|
|
|
* src/cairoint.h: Added scale factor value to cairo_color_stop_t.
|
|
Added cairo_shader_function_t and cairo_shader_op_t.
|
|
|
|
* src/cairo_surface.c (_cairo_surface_create_pattern):
|
|
Fixed point updates.
|
|
|
|
* src/cairo_pattern.c (cairo_pattern_create_radial): Use absolute value
|
|
of radius parameters.
|
|
(cairo_pattern_add_color_stop): Precalculate scale factors and convert
|
|
offset to fixed point value.
|
|
(_cairo_image_data_set_radial):
|
|
(_cairo_image_data_set_linear): Initialize and use shading operator.
|
|
(_cairo_pattern_get_image): Fixed point updates.
|
|
(_cairo_pattern_shader_nearest):
|
|
(_cairo_pattern_shader_linear):
|
|
(_cairo_pattern_shader_gaussian):
|
|
(_cairo_pattern_calc_color_at_pixel):
|
|
Converted shading routines to use fixed point values and introduced
|
|
a shading operator structure for more efficient shading calculations.
|
|
Added _cairo_pattern_shader_init function.
|
|
|
|
* src/cairo_gl_surface.c (_cairo_gl_surface_composite):
|
|
(_cairo_gl_surface_fill_rectangles):
|
|
(_cairo_gl_surface_composite_trapezoids):
|
|
Make sure that target surface is OK.
|
|
(_cairo_gl_create_color_range): Initialize and use shading operator.
|
|
(_cairo_gl_surface_create_pattern):
|
|
(_cairo_gl_surface_set_clip_region): Fixed point updates.
|
|
|
|
2004-04-23 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairoint.h:
|
|
* src/cairo_surface.c (_cairo_surface_composite):
|
|
* src/cairo_gstate.c (_cairo_gstate_current_fill_rule): Fixed
|
|
several function prototype mismatches between internal header file
|
|
and implementation (thanks to Carlos Romero and gcc-3.4).
|
|
|
|
2004-04-22 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairoint.h:
|
|
* src/cairo_surface.c (_cairo_surface_create_pattern):
|
|
* src/cairo_pattern.c (_cairo_pattern_set_source_offset)
|
|
(_cairo_pattern_get_image):
|
|
* src/cairo_gstate.c (_cairo_gstate_create_pattern):
|
|
* src/cairo_gl_surface.c (_cairo_gl_surface_create_pattern): Fixed
|
|
pattern source offset.
|
|
|
|
2004-04-20 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairo_pattern.c (_cairo_image_data_set_linear): Use
|
|
CAIRO_MAXSHORT instead of INT_MAX.
|
|
|
|
* src/cairo_traps.c (_cairo_traps_extents): Use CAIRO_MAXSHORT and
|
|
CAIRO_MINSHORT instead of SHRT_MAX and SHRT_MIN.
|
|
|
|
* src/cairoint.h: including limits.h and defining CAIRO_MAXSHORT and
|
|
CAIRO_MINSHORT.
|
|
|
|
2004-04-16 Carl Worth <cworth@isi.edu>
|
|
|
|
* NEWS: Added notes for snapshot 0.1.22.
|
|
|
|
* configure.in: Now depends on libpixman 0.1.1.
|
|
Bump version to 0.1.22.
|
|
|
|
* src/cairo_image_surface.c (_create_pixman_format): Track pixman
|
|
fixes to PIXMAN_FORMAT_NAME_*.
|
|
|
|
* src/cairo_png_surface.c (cairo_png_surface_create): Explicitly
|
|
add cases for all enum values to eliminate compiler warnings.
|
|
|
|
* src/cairo.h: Remove proposal for surface_clip interface as
|
|
cairo_clip should be able to cover this case now.
|
|
|
|
* BUGS: Added bug concerning negative ref_counts.
|
|
|
|
2004-04-09 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* NEWS: Added notes for snapshot 0.1.21.
|
|
|
|
* configure.in: Bump version to 0.1.21.
|
|
|
|
* src/cairo_surface.c (_cairo_surface_create_pattern):
|
|
* src/cairo_pattern.c (_cairo_pattern_get_image): Fixed
|
|
incorrect rounding of pattern image size.
|
|
|
|
* AUTHORS: Added myself to the AUTHORS file.
|
|
|
|
* cairo.pc.in:
|
|
* src/Makefile.am:
|
|
* src/cairo-features.h.in:
|
|
* src/cairo.h:
|
|
* src/cairo_gl_surface.c (added): Added OpenGL surface backend.
|
|
|
|
* configure.in: Automatically detect available backends.
|
|
|
|
2004-04-06 Carl Worth <cworth@isi.edu>
|
|
|
|
* NEWS: Added notes for snapshot 0.1.20.
|
|
|
|
* RELEASING: Added new RELEASING file.
|
|
|
|
2004-04-04 David Reveman <c99drn@cs.umu.se>
|
|
|
|
* src/cairoint.h: Added create_pattern backend function and pattern
|
|
prototypes.
|
|
|
|
* src/cairo_xlib_surface.c: Added _cairo_xlib_surface_create_pattern.
|
|
|
|
* src/cairo_xcb_surface.c: Added _cairo_xcb_surface_create_pattern.
|
|
|
|
* src/cairo_traps.c: Added _cairo_trap_extents and
|
|
_cairo_traps_extents.
|
|
|
|
* src/cairo_surface.c: Added _cairo_surface_create_pattern.
|
|
|
|
* src/cairo_ps_surface.c: Added _cairo_ps_surface_create_pattern.
|
|
|
|
* src/cairo_png_surface.c: Added _cairo_png_surface_create_pattern.
|
|
|
|
* src/cairo_pattern.c (added): All functions needed for the new
|
|
pattern API.
|
|
|
|
* src/cairo_image_surface.c: Added
|
|
_cairo_image_abstract_surface_create_pattern.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init): Create solid pattern
|
|
and set alpha to 0.0.
|
|
(_cairo_gstate_init_copy): Increment pattern references.
|
|
(_cairo_gstate_fini): Destroy pattern.
|
|
(_cairo_gstate_set_pattern): Destroy current pattern,
|
|
increment references to the new pattern and update pattern
|
|
offset with the current point.
|
|
(_cairo_gstate_set_rgb_color): Destroy current pattern and
|
|
create a new solid pattern.
|
|
(_cairo_gstate_current_rgb_color): Get RGB from current pattern.
|
|
(_cairo_gstate_set_alpha): Set gstate->alpha without modifying
|
|
the current pattern.
|
|
(_cairo_gstate_stroke):
|
|
(_cairo_gstate_fill): Removed surface matrix computations as
|
|
they are now handled by _cairo_gstate_create_pattern.
|
|
(_cairo_gstate_clip_and_composite_trapezoids): Create a
|
|
possibly backend accelerated pattern source and use it for
|
|
compositing trapezoids.
|
|
(_cairo_gstate_clip): Allow backends to not support rectangular
|
|
clipping regions. Use solid pattern for creating clip surface.
|
|
(_cairo_gstate_show_surface): Use solid pattern for alpha mask.
|
|
(_cairo_gstate_show_text):
|
|
(_cairo_gstate_show_glyphs): Use current pattern when compositing
|
|
glyphs.
|
|
|
|
Added _cairo_gstate_current_pattern and _cairo_gstate_create_pattern,
|
|
_cairo_gstate_stroke_extents, _cairo_gstate_fill_extents.
|
|
Removed restore_text_rendering_context, setup_text_rendering_context,
|
|
_cairo_gstate_ensure_source.
|
|
|
|
* src/cairo_ft_font.c (_cairo_ft_font_show_glyphs): Advance
|
|
source offset.
|
|
|
|
* src/cairo.h: Added cairo_current_pattern,
|
|
cairo_pattern_create_for_surface, cairo_pattern_create_linear,
|
|
cairo_pattern_create_radial, cairo_pattern_reference,
|
|
cairo_pattern_destroy, cairo_pattern_add_color_stop,
|
|
cairo_pattern_set_matrix, cairo_pattern_get_matrix,
|
|
cairo_pattern_set_extend, cairo_pattern_get_extend,
|
|
cairo_pattern_set_filter, cairo_pattern_get_filter. cairo_set_pattern
|
|
now takes a cairo_pattern_t pointer instead of a cairo_surface_t
|
|
pointer. Added CAIRO_FILTER_GAUSSIAN filter type. Added cairo_extend_t
|
|
enum.
|
|
|
|
* src/cairo.c: _cairo_restrict_value declared not static as it's
|
|
used in cairo_pattern.c. Added rectangular extents functions
|
|
cairo_stroke_extents and cairo_fill_extents. cairo_set_pattern now
|
|
takes a cairo_pattern_t pointer instead of a cairo_surface_t
|
|
pointer. Added cairo_current_pattern function.
|
|
|
|
* src/Makefile.am (libcairo_la_LIBADD): Removed -lz and added PS_LIBS.
|
|
|
|
* configure.in: Bump version to 0.1.20. Includes new pattern
|
|
API. Removed an extra AC_SUBST(XRENDER_LIBS).
|
|
PS_SURFACE_LIBS -> PS_LIBS.
|
|
|
|
* cairo.pc.in: PS_SURFACE_LIBS -> PS_LIBS.
|
|
|
|
2004-04-02 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo.h: Move weight after slant to match the order in
|
|
cairo_select_font.
|
|
|
|
* TODO: Added notes on DPI for image-based backends and on
|
|
proposal for new cairo_text_glyphs function.
|
|
|
|
* BUGS: Added BUG about cairo_show_text not advancing the current
|
|
point.
|
|
|
|
2004-03-30 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/Makefile.am (libcairo_la_LIBADD): Add -lz.
|
|
|
|
2004-03-30 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in: Add checks for Xrender.h in xrender.pc is not
|
|
found. Remove AC_HELP_STRING to be compatible with older versions
|
|
of autoconf (thanks to Bill Spitzak <spitzak@d2.com>).
|
|
|
|
* src/cairo_xlib_surface.c (_cairo_xlib_surface_set_clip_region):
|
|
Add question on semantics with empty region. Fix missing return
|
|
value.
|
|
|
|
* src/cairo_image_surface.c
|
|
(_cairo_image_surface_set_clip_region): Export for internal use.
|
|
(_cairo_image_abstract_surface_set_clip_region): Add silly wrapper
|
|
to match the backend interface.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init_clip): Remove unused
|
|
variables.
|
|
|
|
* src/cairo.h: Add proposal for cairo_xlib_surface_set_size.
|
|
|
|
* BUGS: Added note about problem with cairo_scale_font.
|
|
|
|
2004-03-23 Olivier Andrieu <oliv__a@users.sourceforge.net>
|
|
|
|
* src/cairo_ps_surface.c (_cairo_ps_surface_set_clip_region)
|
|
* src/cairo_png_surface.c (_cairo_png_surface_set_clip_region):
|
|
Implement _set_clip_region by delegating it to the image backend.
|
|
|
|
* src/cairo_xcb_surface.c (_cairo_xcb_surface_set_clip_region):
|
|
Add a stub.
|
|
|
|
* src/cairo.h: Add missing (?) cairo_init_clip
|
|
|
|
2004-03-20 Dave Beckett <Dave.Beckett@bristol.ac.uk>
|
|
|
|
* configure.in: Move the PNG_CFLAGS/_LIBS substitutes outside
|
|
the conditional, to match what is already done for XCB.
|
|
Do the same for XRENDER_CFLAGS/LIBS.
|
|
|
|
* configure.in: Substitute PNG_CFLAGS, PNG_LIBS on
|
|
the configure path when use_png is not enabled to prevent
|
|
the substituions being undefined.
|
|
|
|
2004-03-19 Graydon Hoare <graydon@redhat.com>
|
|
|
|
* src/cairo.c (cairo_init_clip): Add.
|
|
* src/cairo_gstate.c:
|
|
Initialize, finalize and copy clip.region.
|
|
Detect rectangular clips and push down to backend.
|
|
|
|
* src/cairoint.h
|
|
(cairo_surface_backend_t): Add set_clip_region slot.
|
|
(cairo_clip_rec_t): Add region slot.
|
|
(_cairo_gstate_init_clip)
|
|
(_cairo_surface_set_clip_region): Prototype.
|
|
|
|
* src/cairo_surface.c
|
|
(_cairo_surface_set_clip_region): Add.
|
|
|
|
* src/cairo_xlib_surface.c
|
|
(_cairo_xlib_surface_set_clip_region): Add.
|
|
|
|
* src/cairo_image_surface.c
|
|
(_cairo_image_surface_set_clip_region): Add.
|
|
|
|
* src/cairo_ps_surface.c
|
|
(_cairo_ps_surface_set_clip_region): Stub, not implemented.
|
|
|
|
2004-03-16 Jamey Sharp <jamey@minilop.net>
|
|
|
|
* src/cairo.h:
|
|
* src/cairo_xcb_surface.c:
|
|
Updated for XCB typename renaming. The Xlib and XCB surfaces can
|
|
be compiled in the same library now.
|
|
|
|
* src/cairo_surface.c:
|
|
Initialize the surface's filter value.
|
|
|
|
2004-02-26 Carl Worth <cworth@isi.edu>
|
|
|
|
* AUTHORS: Add Jordi and Olivier to the AUTHORS file.
|
|
|
|
* src/cairo_ft_font.c (_utf8_to_ucs4): Fix broken return value for
|
|
nchars (thanks to Jordi Mas <jordi@ximian.com>).
|
|
|
|
2004-02-24 Olivier Andrieu <oliv__a@users.sourceforge.net>
|
|
|
|
* src/cairo.h:
|
|
* src/cairo-features.h.in:
|
|
* src/cairo_png_surface.c: Add PNG backend (cairo_set_target_png
|
|
and cairo_png_surface_create).
|
|
|
|
* cairo.pc.in:
|
|
* configure.in: autoconf support for the PNG backend. Bump version
|
|
to 0.1.19.
|
|
|
|
* src/Makefile.am: PNG backend support, removed references to
|
|
X_LIBS and X_CFLAGS.
|
|
|
|
2004-02-24 Carl Worth <cworth@isi.edu>
|
|
|
|
* AUTHORS: Add attribution for many people who have made generous
|
|
contributions to cairo. This list was generated by sifting through
|
|
the ChangeLog. Please let me know if I have missed anyone.
|
|
|
|
* NEWS: Add some historical notes on cairo development, prior to
|
|
when we began to maintain this NEWS file.
|
|
|
|
* README (http): Add pointer to cairographics.org. Fix to use
|
|
"cairo" rather than "Cairo" when not at the beginning of a
|
|
sentence.
|
|
|
|
* TODO: Remove cairo_current_path, cairo_current_path_flat,
|
|
cairo_text_extents, cairo_glyph_extents, cairo_text_path, and
|
|
cairo_glyph_path from the TODO list as they have all been
|
|
implemented now.
|
|
|
|
2004-02-17 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo.h: Add comment indication cairo_copy will be going
|
|
away at some point. Some indentation fixes.
|
|
|
|
* configure.in: Bump version to 0.1.18. Includes new functions
|
|
cairo_current_path, cairo_current_path_flat,
|
|
cairo_surface_get_filter. Support for XCB backend. Fixes for
|
|
building in cygwin. Adds cairo_surface_get_filter.
|
|
|
|
* src/cairo.h:
|
|
* src/cairo.c (cairo_current_path):
|
|
(cairo_current_path_flat): Add new path query functions.
|
|
|
|
* src/cairo_gstate.c (_gpi_move_to):
|
|
(_gpi_line_to):
|
|
(_gpi_curve_to):
|
|
(_gpi_close_path):
|
|
(_cairo_gstate_interpret_path): Implement support for
|
|
cairo_current_path and cairo_current_path_flat. These functions
|
|
just provide an interface to _cairo_path_interpret and take care
|
|
of mapping from device space back to user space.
|
|
|
|
2004-02-13 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* TODO: Add some notes from JG's TODO list on the wiki:
|
|
http://cairographics.org/CairoToDoList. (Also testing automated
|
|
mailing to cairo-commit list).
|
|
|
|
2004-02-12 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo.h: Add typedefs for new callbacks to be used by
|
|
cairo_current_path: cairo_move_to_func, cairo_line_to_func,
|
|
cairo_curve_to_func, and cairo_close_path_func.
|
|
|
|
* src/cairoint.h: cairo_path.last_move_point and
|
|
cairo_path.current_point are now fixed-point not doubles for
|
|
consistency.
|
|
|
|
* src/cairo_path.c (_cairo_path_interpret): Now accept 4 explicit
|
|
function pointers rather than a structure. Eliminate unnecessary
|
|
done_path callback.
|
|
|
|
* src/cairo_path_bounds.c (_cairo_path_bounds):
|
|
* src/cairo_path_stroke.c (_cairo_path_stroke_to_traps):
|
|
* src/cairo_path_fill.c (_cairo_path_fill_to_traps): Track change
|
|
in _cairo_path_interpret. Code previously in done_path callback is
|
|
now here immediately after call to _cairo_path_interpret.
|
|
|
|
* src/cairo_path.c (_cairo_path_move_to):
|
|
(_cairo_path_rel_move_to):
|
|
(_cairo_path_line_to):
|
|
(_cairo_path_rel_line_to):
|
|
(_cairo_path_curve_to):
|
|
(_cairo_path_rel_curve_to):
|
|
(_cairo_path_current_point): Internal _cairo_path API modified to
|
|
accept fixed-point data everywhere. Much cleaner this way.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_move_to):
|
|
(_cairo_gstate_line_to):
|
|
(_cairo_gstate_curve_to):
|
|
(_cairo_gstate_rel_move_to):
|
|
(_cairo_gstate_rel_line_to):
|
|
(_cairo_gstate_rel_curve_to):
|
|
(_cairo_gstate_current_point):
|
|
(_cairo_gstate_show_text):
|
|
(_cairo_gstate_text_path): Have to convert doubles to fixed-point
|
|
to track changes in _cairo_path API.
|
|
|
|
* src/cairo_ft_font.c (_move_to, _line_to, _conic_to, _cubic_to):
|
|
Keep data in fixed-point rather than going through intermediate
|
|
doubles. Track changes in _cairo_path API.
|
|
|
|
* src/cairo_fixed.c (_cairo_fixed_from_26_6): New function to help
|
|
when working with freetype.
|
|
|
|
2004-02-02 Jamey Sharp <jamey@minilop.net>
|
|
|
|
* configure.in:
|
|
* src/Makefile.am:
|
|
* src/cairo-features.h.in:
|
|
* src/cairo.h:
|
|
* src/cairo_xcb_surface.c (added):
|
|
Ported the Xlib surface backend to XCB.
|
|
|
|
2004-02-02 Graydon Hoare <graydon@redhat.com>
|
|
|
|
* src/cairo_xlib_surface.c
|
|
(CAIRO_SURFACE_RENDER_HAS_FILTERS): New predicate.
|
|
(_cairo_xlib_surface_set_filter): Skip filterless servers.
|
|
(_cairo_xlib_surface_clone_similar): Fix typo.
|
|
|
|
2004-01-27 Graydon Hoare <graydon@redhat.com>
|
|
|
|
* src/cairoint.h (cairo_surface): New "filter" field.
|
|
* src/cairo_surface.c
|
|
(cairo_surface_get_filter): New function.
|
|
(cairo_surface_set_filter): Store filter in surface.
|
|
* src/cairo.h (cairo_surface_get_filter): Declare.
|
|
* src/cairo_xlib_surface.c
|
|
(_cairo_xlib_surface_clone_similar): Copy filter setting.
|
|
(_cairo_xlib_surface_set_filter): Use constants from Xrender.h
|
|
|
|
2004-01-24 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_path_stroke.c (_cairo_stroker_add_sub_edge): Fix to
|
|
use tessellate_polygon instead of tessellate_rectangle as the
|
|
matrix may have skewed the coordinates into a non-rectangular
|
|
shape.
|
|
|
|
* src/cairo_xlib_surface.c (_cairo_xlib_surface_set_filter): Add
|
|
missing break statements to switch.
|
|
|
|
2004-01-22 Richard D. Worth <richard@theworths.org>
|
|
|
|
* src/Makefile.am: Add '-no-undefined' to end of
|
|
libcairo_la_LDFLAGS to enable building shared library under
|
|
cygwin.
|
|
|
|
* src/cairo.h: Remove all 'extern ' and ' __external_linkage'
|
|
(macro for __declspec(dllexport) and __declspec(dllimport))
|
|
from function declarations. These are no longer needed for cygwin.
|
|
|
|
* src/cairo_traps.c: Changed type of _line_segs_intersect_ceil
|
|
from 'static cairo_fixed_t' to 'static int' to match definition.
|
|
This was necessary to compile under cygwin.
|
|
|
|
2003-12-17 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo.h: Remove trailing commas from enums, (some compilers
|
|
like to complain about them).
|
|
|
|
2003-12-16 Dave Beckett <Dave.Beckett@bristol.ac.uk>
|
|
|
|
* README: Do not require libpixregion, libic.
|
|
|
|
2003-12-16 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* NEWS: Add more notes culled from the ChangeLog.
|
|
|
|
2003-12-16 Carl Worth <cworth@isi.edu>
|
|
|
|
* NEWS: Begin maintaining NEWS file. Add notes on 0.1.17.
|
|
|
|
* configure.in: Bump version to 0.1.17 for new functions:
|
|
cairo_text_extents, cairo_glyph_extents, cairo_text_path,
|
|
cairo_glyph_path.
|
|
|
|
* src/cairo.h:
|
|
* src/cairo.c (cairo_text_path):
|
|
(cairo_glyph_path): Re-enable cairo_text_path and cairo_glyph_path.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_glyph_path): Add missing
|
|
transformation.
|
|
|
|
* src/cairo_ft_font.c (_move_to):
|
|
(_line_to):
|
|
(_conic_to):
|
|
(_cubic_to):
|
|
(_cairo_ft_font_glyph_path): Initial implementation of glyph_path.
|
|
|
|
2003-12-16 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairoint.h: Move all current_point state fields from
|
|
cairo_gstate_t to cairo_path_t.
|
|
|
|
* src/cairo_path.c (_cairo_path_init):
|
|
(_cairo_path_init_copy):
|
|
(_cairo_path_fini):
|
|
(_cairo_path_move_to):
|
|
(_cairo_path_line_to):
|
|
(_cairo_path_curve_to):
|
|
(_cairo_path_close_path): Add current_point state.
|
|
(_cairo_path_current_point): New function.
|
|
(_cairo_path_rel_move_to):
|
|
(_cairo_path_rel_line_to):
|
|
(_cairo_path_rel_curve_to): New functions.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init):
|
|
(_cairo_gstate_new_path):
|
|
(_cairo_gstate_move_to):
|
|
(_cairo_gstate_line_to):
|
|
(_cairo_gstate_curve_to):
|
|
(_cairo_gstate_rel_move_to):
|
|
(_cairo_gstate_rel_line_to):
|
|
(_cairo_gstate_rel_curve_to):
|
|
(_cairo_gstate_close_path):
|
|
(_cairo_gstate_current_point): Eliminate current_point state.
|
|
(_cairo_gstate_show_text):
|
|
(_cairo_gstate_text_path): Use new _cairo_path_current_point.
|
|
|
|
2003-12-16 Carl Worth <cworth@isi.edu>
|
|
|
|
|
|
* src/cairo_ft_font.c (_cairo_ft_font_glyph_path):
|
|
(_cairo_ft_font_text_path): A couple of changes missed in the last
|
|
batch of commits (reordering so that path is final argument).
|
|
|
|
* src/cairoint.h: Change cairo_font_backend_t to use a void * for
|
|
the abstract font. Put create, copy, and destroy as the first
|
|
functions in the list. Fix text_path and glyph_path so that the
|
|
path to be returned is the last argument. Add x,y arguments to
|
|
text_path.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_text_path): Compute x,y now
|
|
needed by cairo_font_text_path.
|
|
(_cairo_gstate_glyph_path): Track change in
|
|
cairo_font_text/glyph_path (path argument is now last).
|
|
|
|
* src/cairo_ft_font.c: Switch to new macro-based mechanism for
|
|
including freetype headers.
|
|
(cairo_ft_font_face):
|
|
(cairo_ft_font_pattern): Minor cleanup.
|
|
(_cairo_ft_font_copy):
|
|
(_cairo_ft_font_destroy):
|
|
(_utf8_to_glyphs):
|
|
(_cairo_ft_font_font_extents):
|
|
(_cairo_ft_font_glyph_extents):
|
|
(_cairo_ft_font_text_extents):
|
|
(_cairo_ft_font_show_glyphs):
|
|
(_cairo_ft_font_show_text): Track changes to cairo_font_backend_t
|
|
interface.
|
|
|
|
* src/cairo_font.c (_cairo_font_text_path):
|
|
(_cairo_font_glyph_path): Track changes to cairo_font_backend_t
|
|
interface.
|
|
|
|
2003-12-16 Carl Worth <cworth@isi.edu>
|
|
|
|
* TODO: Change instances of Cairo to cairo where necessary. Add
|
|
note about broken dashing on splines.
|
|
|
|
2003-12-15 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_text_extents):
|
|
(_cairo_gstate_glyph_extents):
|
|
* src/cairo_ft_font.c (_cairo_ft_font_glyph_extents):
|
|
(_cairo_ft_font_glyph_extents):
|
|
* src/cairo.h: Rename cairo_text_exextents_t fields:
|
|
left_side_bearing -> x_bearing
|
|
ascent -> y_bearing
|
|
right_side_bearing (replaced by) width
|
|
descent (replaced by) height
|
|
|
|
2003-12-15 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_text_extents):
|
|
(_cairo_gstate_glyph_extents): Need to divide out the scale factor
|
|
to return user-space extents.
|
|
(_cairo_gstate_glyph_extents): Don't transform glyph locations as
|
|
they're not relevant to extents.
|
|
|
|
* src/cairo_ft_font.c (_cairo_ft_font_font_extents): Clean up
|
|
implementation.
|
|
(_cairo_ft_font_glyph_extents): Initial implementation. Thanks to
|
|
John Ellson <ellson@research.att.com> for most of the work on this
|
|
function.
|
|
(_cairo_ft_font_show_text): Clean to use num_glyphs not nglyphs.
|
|
|
|
* src/cairo.h:
|
|
* src/cairo.c (cairo_text_extents):
|
|
(cairo_glyph_extents): Re-enable cairo_text/glyph_extents.
|
|
|
|
2003-12-15 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_matrix.c (_cairo_matrix_compute_scale_factors): Move
|
|
this function from cairo_ft_font.c (_get_scale_factors).
|
|
|
|
* src/cairo_ft_font.c (DOUBLE_TO_16_16): Fix minor errors in
|
|
fixed/floating-point conversion.
|
|
|
|
* src/cairoint.h: font->show_glyphs no longer accepts an offset
|
|
point.
|
|
|
|
* src/cairo_ft_font.c (_utf8_to_glyphs):
|
|
(_cairo_ft_font_text_extents):
|
|
(_cairo_ft_font_show_text):
|
|
(_cairo_ft_font_text_path): _utf8_to_glyphs now accepts a point by
|
|
which each glyph should be offset.
|
|
(cairo_ft_font_backend): Remove evil void * casts on function
|
|
pointers.
|
|
|
|
* src/cairo_font.c (_cairo_font_show_glyphs): Fix to not require a
|
|
current point.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_show_text):
|
|
(setup_text_rendering_context): Move initialization of current
|
|
device-space point from setup_text_rendering_context to
|
|
_cairo_gstate_show_text.
|
|
(_cairo_gstate_show_glyphs): Fix to not reference current point.
|
|
|
|
2003-12-12 Dave Beckett <Dave.Beckett@bristol.ac.uk>
|
|
|
|
* src/Makefile.am: Add compatibility defines FONTCONFIG_LIBS,
|
|
X_LIBS, XRENDER_LIBS to keep automake happy - they look like
|
|
automake variable names.
|
|
|
|
2003-12-12 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo_font.c (_cairo_font_create): Add comment about
|
|
building in a font.
|
|
|
|
* src/cairo_ft_font.c (_cairo_ft_font_create): Check for NULL
|
|
return value from cairo_ft_font_create.
|
|
|
|
* src/cairo.h:
|
|
* src/cairo-features.h.in:
|
|
* src/Makefile.am (libcairo_ps_sources): Add conditionals for
|
|
ps_surface functions, etc.
|
|
|
|
* configure.in: Get rid of AC_PATH_XTRA. Instead, find X
|
|
includes/libraries only via pkg-config xrender.
|
|
Switch option from --without-x to --disable-xlib
|
|
Add option --disable-ps
|
|
|
|
* cairo.pc.in (Libs): Add -lz only if ps_surface backend is compiled.
|
|
|
|
* src/cairo.h (__external_linkage): Add missing definitions from
|
|
slim_import.h.
|
|
|
|
2003-12-11 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairoint.h: Rename surface->ic_image to
|
|
surface->pixman_image.
|
|
|
|
* src/cairo_image_surface.c
|
|
(_cairo_image_surface_create_for_pixman_image):
|
|
(_cairo_image_surface_create_with_masks):
|
|
(_create_pixman_format):
|
|
(cairo_image_surface_create):
|
|
(cairo_image_surface_create_for_data):
|
|
(_cairo_image_abstract_surface_destroy):
|
|
(_cairo_image_surface_set_matrix):
|
|
(_cairo_image_surface_set_filter):
|
|
(_cairo_image_surface_set_repeat):
|
|
(_pixman_operator):
|
|
(_cairo_image_surface_fill_rectangles):
|
|
(_cairo_image_surface_composite_trapezoids): Rename functions and
|
|
indentifiers with ic_ in the name that were missed by the recent
|
|
renaming. Fix indentation problems left by the recent renaming.
|
|
|
|
* Shift everything over from libic/libpixregion/slim to
|
|
libpixman. Many thanks to Dave Beckett
|
|
<dave.beckett@bristol.ac.uk> for all of the heavy lifting with
|
|
this renaming effort.
|
|
|
|
* src/cairoint.h (slim_hidden_proto1): Directly fold in slim stuff
|
|
rather than depending on it from an external package.
|
|
|
|
* src/cairo_ps_surface.c (_cairo_ps_surface_copy_page):
|
|
* src/cairo_image_surface.c: Switch from libic to libpixman.
|
|
|
|
* src/cairo.h: Include pixman.h not ic.h.
|
|
(__external_linkage): Directly fold in slim stuff rather than
|
|
depending on it from an external package.
|
|
|
|
* configure.in (PKG_CHECK_MODULES):
|
|
* cairo.pc.in (Requires): Look for libpixman instead of libic and
|
|
slim.
|
|
|
|
2003-12-11 Andrew Chant <andrew.chant@utoronto.ca>
|
|
|
|
* cairo_select_font:
|
|
_cairo_font_create:
|
|
_cairo_ft_font_create:
|
|
_cairo_gstate_select_font:
|
|
change char * family to const char * family
|
|
|
|
2003-12-11 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_xlib_surface.c (_cairo_xlib_surface_set_image):
|
|
Replace mysterious image->depth == 32 ? 24 : image->depth with
|
|
simply image->depth.
|
|
|
|
2003-12-11 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* cairo.pc.in (Requires):
|
|
* configure.in: Add xrender to cairo.pc Renders line if needed.
|
|
|
|
2003-12-11 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo_ps_surface.c (_cairo_ps_surface_copy_page): Fix to use
|
|
shifts and masks for endianness-correct PS image
|
|
generation. Rename bgr to rgb now that the byte order issues are
|
|
clear.
|
|
|
|
2003-12-08 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_path_bounds.c (_cairo_path_bounder_move_to):
|
|
(_cairo_path_bounder_line_to):
|
|
(_cairo_path_bounder_curve_to):
|
|
(_cairo_path_bounder_close_path): Track change in
|
|
cairo_path_callbacks interface.
|
|
|
|
* src/cairoint.h:
|
|
* src/cairo_path_stroke.c:
|
|
* src/cairo_path_fill.c:
|
|
* src/cairo_path.c: Clean up cairo_path_callbacks to have move_to,
|
|
line_to, curve_to, abd close_path instead of add_edge, add_spline,
|
|
and done_sub_path. Much, much nicer.
|
|
|
|
* src/cairo_polygon.c (_cairo_polygon_move_to): Provide
|
|
cairo_polygon_move_to and cairo_polygon_line_to instead of
|
|
cairo_polygon_add_point.
|
|
|
|
* src/cairo_pen.c (_cairo_pen_stroke_spline_half): Track change in
|
|
cairo_polygon interface.
|
|
|
|
2003-12-08 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in: Bump version to 0.1.16 since it actually has a
|
|
hope of building, (due to fix for broken cairo-xlib.h includes).
|
|
|
|
2003-12-05 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo_xlib_surface.c: Don't include obsolete cairo-xlib.h.
|
|
|
|
* autogen.sh (AUTOCONF): Allow names of all autofoo programs to be
|
|
overridden via environment variables.
|
|
|
|
* configure.in: Bump version to 0.1.15 for new
|
|
CAIRO_HAS_XLIB_SURFACE macro.
|
|
|
|
* src/cairo.h: Add missing #include <cairo-features.h>
|
|
|
|
* Rename cairo-config.h to cairo-features.h.
|
|
|
|
* configure.in: Rename XLIB_BACKEND_DEFINE to
|
|
XLIB_SURFACE_FEATURE. Rename AM_CONDITIONAL HAVE_XLIB_BACKEND to
|
|
CAIRO_HAS_XLIB_SURFACE. Rename user-visibile macro
|
|
CAIRO_HAS_XLIB_BACKEND to CAIRO_HAS_XLIB_SURFACE.
|
|
|
|
2003-12-03 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* configure.in: Bumped version to 0.1.14 to indicate dropped
|
|
cairo-xlib.h and new cairo-config.h.
|
|
|
|
* New support for "./configure --without-x" to compile without the
|
|
xlib backend. Many thanks to Sasha V. <sasha@aftercode.net>.
|
|
|
|
* configure.in: We do three things here: Make the pkg-config check
|
|
for xrender conditional, set XLIB_BACKEND_DEFINE to either
|
|
CAIRO_HAS_XLIB_BACKEND or CAIRO_HAS_NO_XLIB_BACKEND to be
|
|
substituted into cairo-config.h, and set an AM_CONDITIONAL for
|
|
HAVE_XLIB_BACKEND to enable conditional compilation of
|
|
cairo_xlib_surface.c. Perhaps that could be simplified a tad, but
|
|
it's what we have working now. Also split up various
|
|
PKG_CHECK_MODULES into separate checks.
|
|
|
|
* src/cairo_gstate.c: Remove errant reference to
|
|
cairo_gstate_set_drawable.
|
|
|
|
* src/cairo.h: Move xlib-specific calls in from old cairo-xlib.h,
|
|
now guarded in #ifdef CAIRO_HAS_XLIB_BACKEND.
|
|
|
|
* src/Makefile.am (libcairo_xlib_sources): Make compilation of
|
|
cairo_xlib_surface.c conditional.
|
|
(INCLUDES, libcairo_la_LIBADD): Add the new variables from
|
|
splitting up the PKG_CHECK_MODULES calls.
|
|
|
|
2003-12-03 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* cairo.pc.in (Libs): Add -lz for the compress function used in
|
|
the PS backend.
|
|
|
|
2003-12-01 Keith Packard <keithp@keithp.com>
|
|
|
|
* TODO:
|
|
Add note about degenerate path caps being broken
|
|
|
|
2003-11-21 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo_polygon.c (_cairo_polygon_add_edge): Use 0 and 1 not
|
|
False and True, (to avoid false dependency on X headers).
|
|
|
|
* src/cairo_path_stroke.c (_compute_face): Use
|
|
cairo_point_double_t not XPointDouble, (to avoid false dependency
|
|
on X headers). Thanks to "Sasha V." <sasha@aftercode.net> for
|
|
pointing these out.
|
|
|
|
2003-11-18 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* configure.in: Bump version to 0.1.13 for new freetype header
|
|
compatibility.
|
|
Fix comments regarding freetype version checking.
|
|
|
|
2003-11-18 James Henstridge <james@daa.com.au>
|
|
|
|
* cairo.pc.in (Cflags): add FREETYPE_CFLAGS/LIBS to Libs/Cflags
|
|
rather than requiring "freetype2", which doesn't exist in anything
|
|
but the most recent version of freetype.
|
|
|
|
* configure.in (FREETYPE_LIBS): add freetype cflags/libs
|
|
substitutions.
|
|
|
|
2003-11-18 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo.h: Fix build for new freetype header include
|
|
mechanism, (thanks to Christof Petig <christof@petig-baender.de>)
|
|
|
|
2003-11-17 Carl Worth <cworth@isi.edu>
|
|
|
|
* Remove infinite looping when stroking with a line width at or
|
|
close to 0.0. Thanks to Rob Buis <buis@kde.org> and Noah Levitt
|
|
<nlevitt@columbia.edu> for providing in-the-wild examples of SVG
|
|
files with stroke-width:0 that demonstrated the problem,
|
|
(cowboy.svg and albania.svg).
|
|
|
|
* src/cairo_pen.c (_cairo_pen_stroke_spline): Do nothing if the
|
|
pen is a degenerate, single point. This happens when the line
|
|
width is a very small, non-zero value.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_stroke): Do nothing when asked
|
|
to stroke a path with a line_width of 0.0. Previously, this would
|
|
lead to an infinite loop.
|
|
|
|
* src/cairo.c (cairo_set_line_width): Force negative line width
|
|
to 0.0.
|
|
|
|
* TODO: Updated TODO list.
|
|
|
|
2003-11-10 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* configure.in: Fix typo (thanks to John Ellson
|
|
<ellson@research.att.com>)
|
|
|
|
* TODO: Add TODO items for intersection problem, programmatic
|
|
patterns, missing text functions.
|
|
|
|
2003-11-06 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (CAIRO_VERSION): Bumped version to 0.1.12 for new
|
|
cairo_in_stroke and cairo_in_fill functions.
|
|
|
|
* src/cairo.h:
|
|
* src/cairo.c (cairo_in_stroke):
|
|
(cairo_in_fill): Added new cairo_in_stroke and cairo_in_fill.
|
|
|
|
* src/cairo_traps.c (_cairo_trap_contains):
|
|
(_cairo_traps_contain): * src/cairo_gstate.c
|
|
(_cairo_gstate_in_stroke):
|
|
(_cairo_gstate_in_fill): New functions to support for
|
|
cairo_in_stroke and cairo_in_fill. Many thanks to Thomas Hunger
|
|
<info@teh-web.de> for the initial implementation which
|
|
demonstrated how easy this would be and pushed me to go and write
|
|
it already.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_clip_and_composite_trapezoids):
|
|
* src/cairo_traps.c (_line_segs_intersect_ceil):
|
|
* src/cairo_path.c (_cairo_path_move_to):
|
|
(_cairo_path_line_to):
|
|
(_cairo_path_curve_to): Fixed to use _cairo_fixed_from_double
|
|
instead of XDoubleToFixed.
|
|
|
|
2003-11-06 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo.c (cairo_current_font): Move declaration to beginning
|
|
of function to avoid requiring a C99-compatible compiler.
|
|
|
|
* src/cairo.h: Add comment pondering memory management semantics
|
|
of cairo_current_target_surface.
|
|
|
|
* src/cairo_pen.c (_cairo_pen_fini): NULL out pen->vertices after
|
|
free.
|
|
|
|
* src/cairo_image_surface.c
|
|
(_cairo_image_abstract_surface_destroy): NULL out durface->data
|
|
after free.
|
|
|
|
2003-11-04 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_set_target_surface): Enable
|
|
cairo_set_target_surface (cr, NULL) to work. This can be useful to
|
|
force the current target surface to be finalized.
|
|
|
|
* configure.in:
|
|
* cairo.pc.in (Requires): Add explicit fontconfig and freetype2
|
|
dependencies that were implicitly dropped along with Xft.
|
|
|
|
2003-11-04 Carl Worth <cworth@isi.edu>
|
|
|
|
* TODO: Note that cairo_show_page, cairo_copy_page, PostScript
|
|
backend, "real" text API, and text support for the image backend
|
|
have now all been implemented.
|
|
|
|
2003-11-04 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* configure.in:
|
|
* cairo.pc.in (Requires): cairo doesn't depend on Xft after the
|
|
recent text work.
|
|
|
|
2003-11-03 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (CAIRO_VERSION): Bump version to 0.1.11 for new
|
|
cairo_copy_page.
|
|
|
|
* src/cairo_ps_surface.c (cairo_ps_surface_create): Now print
|
|
header at time of surface_create rather than in show_page.
|
|
(_cairo_ps_surface_destroy): Print document footer at time of
|
|
surface_destroy rather than in show_page.
|
|
(_cairo_ps_surface_erase): New function for sharing.
|
|
(_cairo_ps_surface_copy_page): Now keep proper page count.
|
|
(_cairo_ps_surface_show_page): Real work is now done in
|
|
copy_page. show_page is only distinct in that it erases the
|
|
surface afterwards.
|
|
|
|
* src/cairo.h:
|
|
* src/cairo.c (cairo_copy_page):
|
|
* src/cairo_gstate.c (_cairo_gstate_copy_page):
|
|
* src/cairo_surface.c (_cairo_surface_copy_page):
|
|
* src/cairo_image_surface.c (_cairo_image_surface_copy_page):
|
|
* src/cairo_xlib_surface.c (_cairo_xlib_surface_copy_page): Add
|
|
support for new cairo_copy_page function.
|
|
|
|
2003-11-03 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_ps_surface.c (cairo_set_target_ps): Add missing check
|
|
for out of memory.
|
|
|
|
* src/cairo_image_surface.c
|
|
(_cairo_image_surface_create_with_masks):
|
|
(_cairo_image_surface_create_with_masks):
|
|
(cairo_image_surface_create):
|
|
(cairo_image_surface_create):
|
|
(cairo_image_surface_create_for_data):
|
|
(cairo_image_surface_create_for_data): Add several missing checks
|
|
for out of memory.
|
|
|
|
2003-11-03 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo.h: Added __external_linkage to a few functions that
|
|
were missing it.
|
|
|
|
2003-11-01 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_ps_surface.c (_cairo_ps_surface_show_page): Fix
|
|
misplacement of PS origin, (was translating vertically by width
|
|
instead of height).
|
|
|
|
* configure.in (CAIRO_VERSION): Bumped version to 0.1.10 for new
|
|
functions cairo_set_target_ps, cairo_ps_surface_create, and
|
|
cairo_show_page.
|
|
|
|
* src/cairo_ps_surface.c: New file with preliminary support for
|
|
drawing to a PostScript file. Most of the ps_surface backend
|
|
functions are just tiny wrappers, deferring to image_surface
|
|
functions to do the real work. Then, in show_page, the image is
|
|
compressed and spit out into the file. Crude and effective.
|
|
|
|
* src/cairo.c (cairo_show_page):
|
|
* src/cairo_gstate.c (_cairo_gstate_show_page):
|
|
* src/cairo_image_surface (_cairo_image_surface_show_page):
|
|
* src/cairo_xlib_surface.c (_cairo_xlib_surface_show_page):
|
|
* src/cairo_surface.c (_cairo_surface_show_page): Implement new
|
|
support for cairo_show_page -- just a stub in the non-PS surfaces.
|
|
|
|
* src/cairo_image_surface.c (_cairo_image_surface_set_filter):
|
|
Export this function for internal use.
|
|
|
|
* src/cairo.h: Added cairo_set_target_ps, cairo_ps_surface_create,
|
|
and cairo_show_page. Noted plans for new cairo_surface_clip_begin,
|
|
perhaps moving some cairo_surface functions to cairo_set_pattern,
|
|
and possibly renaming cairo_matrix_t to cairo_transform_t.
|
|
|
|
* src/Makefile.am (libcairo_la_SOURCES): Added cairo_ps_surface.c.
|
|
|
|
2003-10-31 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_arc):
|
|
(_cairo_gstate_arc_negative): Do nothing when radius <= 0.0,
|
|
(which is much better than the current infinite loop).
|
|
|
|
2003-10-31 Carl Worth <cworth@isi.edu>
|
|
|
|
* Moved all libic-related drawing into cairo_image_surface.c.
|
|
Details below:
|
|
|
|
* src/cairo_xlib_surface.c: Add width, height, format to
|
|
cairo_xlib_surface_t.
|
|
(_cairo_xlib_surface_get_image):
|
|
(_cairo_xlib_surface_set_image): Implement new get_image/set_image
|
|
interface instead of pull_image/push_image.
|
|
(_cairo_xlib_surface_get_image): Fix memory leak that showed up
|
|
with non-Render servers.
|
|
(_cairo_xlib_surface_set_matrix): Implement set_matrix with new
|
|
interface.
|
|
(_render_operator): Translate from cairo_operator_t to
|
|
Render-defined operator values rather than assuming they are the
|
|
same.
|
|
|
|
* src/cairo_surface.c: Move all libic-related code into
|
|
cairo_image_surface.c. cairo_surface is now a thin wrapper around
|
|
concrete surface types, (with fallback code to cairo_image_surface
|
|
whenever a backend does not provide support for a particular
|
|
function). Remove checks for NULL backend functions.
|
|
(_cairo_surface_get_image):
|
|
(_cairo_surface_set_image): New interface to replace
|
|
pull_image/push_image. Now uses a cairo_image_surface rather than
|
|
an IcImage and now also passes it externally rather than storing
|
|
it in the surface.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_fini):
|
|
(_cairo_gstate_set_target_surface):
|
|
(_cairo_gstate_set_rgb_color): Avoid useless calls to
|
|
cairo_surface_destroy for NULL surfaces.
|
|
(_cairo_gstate_show_surface):
|
|
(_cairo_gstate_clip):
|
|
(_cairo_gstate_clip_and_composite_trapezoids):
|
|
(_cairo_gstate_begin_group): Add status checking for calls to
|
|
surface_create_similar, surface_fill_rectangles,
|
|
surface_composite, and surface_composite_trapezoids.
|
|
|
|
* src/cairo_ft_font.c (_cairo_ft_font_show_glyphs): Remove one
|
|
gratuitous level of nesting.
|
|
(_cairo_ft_font_show_glyphs): Bubble up NULL_MEMORY status.
|
|
|
|
* src/cairo.h: Portability improvements: Remove include of
|
|
X11/extensions/Xrender.h. Move include down near the freetype
|
|
include.
|
|
cairo_format_t: Eliminate Render-based values for this enum.
|
|
cairo_operator_t: Eliminate Render-based values. Drop
|
|
disjoint/conjoint operators.
|
|
cairo_filter_t: Eliminate libic-based values for this enum.
|
|
Add cairo_image_surface_create and cairo_image_surface_create_for_data.
|
|
|
|
* src/cairo.c (cairo_status_string): Add new CAIRO_STATUS_NULL_POINTER.
|
|
This can be returned only if the user passes a NULL object in to a
|
|
cairo function.
|
|
|
|
* src/cairoint.h: Move include of <X11/extensions/Xrender.h> from
|
|
cairo.h to here.
|
|
|
|
* src/Makefile.am (libcairo_la_SOURCES): Add
|
|
cairo_image_surface.c. Reformat line continuation characters.
|
|
|
|
* src/cairoint.h: Remove prototypes for obsolete functions:
|
|
_cairo_gstate_set_visual and _cairo_gstate_set_format.
|
|
|
|
2003-10-30 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_xlib_surface.c (_cairo_xlib_surface_destroy): Fix
|
|
memory leaks of surface->gc and surface->ximage.
|
|
(_cairo_xlib_surface_composite):
|
|
(_cairo_xlib_surface_composite_trapezoids): Fix memory leaks of
|
|
cloned surfaces.
|
|
|
|
2003-10-30 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (CAIRO_VERSION): Bumped version to 0.1.9 for change
|
|
in argument list of cairo_ft_font_create.
|
|
|
|
* src/cairo_ft_font.c: A set of changes to eliminate the static
|
|
FT_Library field, (which could introduce nasty problems with
|
|
respect to threading). With the new code, each font created with
|
|
the toy API will own its own FT_Library. Meanwhile,
|
|
cairo_ft_font_create now accepts an FT_Library parameter.
|
|
|
|
* src/cairo_ft_font.c: Add ft_library field so that fonts that own
|
|
their own FT_Library can also clean it up. Eliminate static
|
|
FT_Library and _init_cairo_ft_lib.
|
|
(cairo_ft_font_create): Now accepts an FT_Library argument.
|
|
(_cairo_ft_font_create): Create an FT_Library owned by this font,
|
|
(this only happens as part of the "toy API")
|
|
(_cairo_ft_font_destroy): Clean up ft_font->ft_library if
|
|
necessary.
|
|
(cairo_ft_font_create_for_ft_face): Initialize ft_library and
|
|
owns_ft_library.
|
|
|
|
* src/cairo.h: Add FT_Library parameter to cairo_ft_font_create.
|
|
|
|
2003-10-30 Carl Worth <cworth@isi.edu>
|
|
|
|
* cairo_font: A few cleanups to eliminate a memory leak.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init_copy):
|
|
(_cairo_gstate_fini):
|
|
(_cairo_gstate_select_font):
|
|
(_cairo_gstate_set_font): Replace calls to _cairo_font_fini with
|
|
cairo_font_destroy.
|
|
|
|
* src/cairo_ft_font.c (_cairo_ft_font_destroy): Rename
|
|
_cairo_ft_font_close to _cairo_ft_font_destroy.
|
|
|
|
* src/cairo_font.c: Eliminate unnecessary cairo_font_fini
|
|
function.
|
|
(cairo_font_destroy): Put reference decerement here where it
|
|
belongs.
|
|
|
|
* src/cairoint.h: Eliminate unnecessart family, slant, and weight
|
|
fields from cairo_font_t.
|
|
Rname font backend->close to backend->destroy.
|
|
|
|
2003-10-28 Carl Worth <cworth@isi.edu>
|
|
|
|
* README: Updated to match latest text from web page. Fixed stale
|
|
references to Xc and xrtest.
|
|
|
|
2003-10-28 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_xlib_surface.c (_cairo_xlib_surface_pixels_per_inch):
|
|
Implement new backend function.
|
|
|
|
* src/cairo_surface.c (_cairo_surface_pixels_per_inch): Add new
|
|
function to query surface pixels_per_inch.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init): Rename gstate->ppm to
|
|
gstate->pixels_per_inch. Swithc from default 3780 pixels per meter
|
|
to 96.0 pixels per inch which is slightly different.
|
|
|
|
2003-10-28 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_ensure_source):
|
|
(_cairo_gstate_clip_and_composite_trapezoids):
|
|
(_cairo_gstate_clip):
|
|
(_cairo_gstate_show_surface): Track changes to
|
|
_cairo_surface_create_similar_solid.
|
|
|
|
* src/cairo_surface.c (_cairo_surface_create_similar_solid): Now
|
|
that this function is internal, it can accept a cairo_color_t
|
|
which makes the interface much cleaner.
|
|
|
|
* src/cairo.h: Remove problematic function
|
|
cairo_surface_create_similar_solid from the public API.
|
|
|
|
2003-10-28 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_surface.c (_cairo_surface_composite):
|
|
(_cairo_surface_fill_rectangles):
|
|
(_cairo_surface_composite_trapezoids): Fix bug introduced in last
|
|
commit: must check for NULL backend function before calling
|
|
through it.
|
|
|
|
2003-10-27 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_surface.c (_cairo_surface_composite):
|
|
(_cairo_surface_fill_rectangles):
|
|
(_cairo_surface_composite_trapezoids): backend functions must not
|
|
be NULL. Track new cairo_int_status_t return value for backend
|
|
drawing functions.
|
|
|
|
* src/cairo_xlib_surface.c: Remove casts when initializing
|
|
cairo_xlib_surface_backend. Rename cairo_xlib_surface as
|
|
cairo_xlib_surface_t.
|
|
(_cairo_xlib_surface_create_similar):
|
|
(_cairo_xlib_surface_destroy):
|
|
(_cairo_xlib_surface_pull_image):
|
|
(_cairo_xlib_surface_push_image):
|
|
(_cairo_xlib_surface_set_matrix):
|
|
(_cairo_xlib_surface_set_filter):
|
|
(_cairo_xlib_surface_set_repeat):
|
|
(_cairo_xlib_surface_composite):
|
|
(_cairo_xlib_surface_fill_rectangles):
|
|
(_cairo_xlib_surface_composite_trapezoids): Track changes in
|
|
cairo_surface_backend API.
|
|
|
|
* src/cairoint.h: cairo_surface_backend now accepts a void * for
|
|
the virtual surface.
|
|
|
|
2003-10-27 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_ft_font.c (_cairo_ft_font_create): Default to normal
|
|
slant/weight on out-of-range values.
|
|
Add missing include of fontconfig/fcfreetype.h.
|
|
|
|
2003-10-24 Keith Packard <keithp@keithp.com>
|
|
|
|
* src/cairo_ft_font.c: (_cairo_ft_font_show_glyphs):
|
|
A HORRIBLE KLUDGE to repad glyph images from freetype to
|
|
meet libic requirements.
|
|
|
|
2003-10-24 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo_ft_font.c (_init_cairo_ft_lib): Fix missing void from
|
|
function prototype.
|
|
(_utf8_to_ucs4): Mark static.
|
|
|
|
* src/cairo_xlib_surface.c: Remove unused function
|
|
_cairo_xlib_surface_get_picture.
|
|
|
|
* src/cairo_ft_font.c (_cairo_ft_font_copy)
|
|
(_cairo_ft_font_glyph_extents, _cairo_ft_font_glyph_path):
|
|
Internal functions can't receive a NULL font pointer.
|
|
|
|
* src/cairo.c (cairo_text_extents, cairo_glyph_extents)
|
|
(cairo_text_path, cairo_glyph_path): Comment-out functions without
|
|
complete implementations to squelch compiler warnings.
|
|
|
|
* configure.in: Bump version to 0.1.8 for font API changes.
|
|
|
|
* src/cairo.c (cairo_current_font): Fix missing return value.
|
|
|
|
* src/cairoint.h: No need for CAIRO_INT_STATUS_NULL_POINTER
|
|
(CAIRO_FONT_BACKEND_DEFAULT): Move declaration of default font
|
|
backend up into cairoint.h
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init): Create a default font,
|
|
don't leave it NULL.
|
|
(_cairo_gstate_current_font): gstate->font must never be NULL.
|
|
(_cairo_gstate_current_font_extents): Can never be called with a
|
|
NULL gstate.
|
|
|
|
* src/cairo_font.c (_cairo_font_create): Rename
|
|
_cairo_font_create_font and move to top of file.
|
|
(_cairo_font_init, _cairo_font_scale, _cairo_font_transform)
|
|
(_cairo_font_text_extents, _cairo_font_glyph_extents)
|
|
(_cairo_font_show_text, _cairo_font_show_glyphs)
|
|
(_cairo_font_text_path, _cairo_font_glyph_path)
|
|
(_cairo_font_font_extents): These internal functions can never be
|
|
called with a NULL font.
|
|
|
|
2003-10-23 Graydon Hoare <graydon@redhat.com>
|
|
|
|
* src/cairo_ft_font.c: New file.
|
|
* src/Makefile.am: Add cairo_ft_font.c
|
|
* src/cairo.c:
|
|
* src/cairo.h:
|
|
* src/cairo_font.c:
|
|
* src/cairo_gstate.c:
|
|
* src/cairo_xlib_surface.c:
|
|
* src/cairoint.h: Change to virtual font interface.
|
|
|
|
2003-10-23 Carl Worth <cworth@isi.edu>
|
|
|
|
* TODO: Added notes on some missing functions. Update PostScript
|
|
comparison with respect ot new arc functions.
|
|
|
|
2003-10-23 Carl Worth <cworth@isi.edu>
|
|
|
|
* Many files: Fixed Copyright statements to read "University of
|
|
Southern California" rather than "USC, Information Sciences
|
|
Institute" as the university is the actual corporation.
|
|
|
|
2003-10-11 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo-xlib.h: Add extern "C" stuff. (Thanks to Soory Kuloor
|
|
for the reminder).
|
|
|
|
2003-10-09 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_font.c: Stub out NULL_POINTER errors as
|
|
CAIRO_STATUS_SUCCESS so that drawing to off-screen images still
|
|
works even though text does not yet.
|
|
|
|
2003-10-04 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_hull.c (_cairo_hull_compute): Add cairo_hull.c to
|
|
compute a convex hull, (using Graham scan algorithm).
|
|
|
|
* src/cairo_pen.c (_cairo_pen_add_points): Generate convex hull of
|
|
pen after adding new points.
|
|
|
|
* src/cairoint.h: Rename pen->vertex to pen->vertices
|
|
|
|
* Replaced "pt" with "point" in about a zillion places.
|
|
|
|
* src/cairo.c (cairo_destroy): Fix to continue with destroy even
|
|
in the face of non-zero status.
|
|
(cairo_set_target_surface):
|
|
(cairo_set_target_image): Don't do anything even if cr->status is
|
|
CAIRO_STATUS_NO_TARGET_SURFACE.
|
|
(cairo_status_string): Report "<unknown error status>" rather than
|
|
en empty string.
|
|
|
|
2003-10-01 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init_copy): Don't choke if
|
|
asked to copy a gstate with a NULL font.
|
|
|
|
* src/cairo_font.c (_cairo_font_init):
|
|
(_cairo_font_init_copy):
|
|
(_cairo_font_copy):
|
|
(_cairo_font_fini):
|
|
(_cairo_font_select):
|
|
(_cairo_font_scale):
|
|
(_cairo_font_transform):
|
|
(_cairo_font_text_extents):
|
|
(_cairo_font_show_text): Return immediately if passed a NULL pointer.
|
|
|
|
2003-09-30 Jamey Sharp <jamey@minilop.net>
|
|
|
|
* src/Makefile.am, src/cairo.c, src/cairo.h, src/cairo_font.c,
|
|
src/cairo_gstate.c, src/cairo_surface.c, src/cairoint.h:
|
|
Virtualized font and surface backends. All Xlib/Xft calls are in
|
|
cairo_xlib_surface.c/cairo-xlib.h now. Resolves a TODO item.
|
|
|
|
2003-09-30 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo.c (cairo_copy): Don't copy a gstate if src->status != 0.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init_copy): Be careful to
|
|
preserve gstate->next.
|
|
(_cairo_gstate_copy): New function to support cairo_copy.
|
|
|
|
* src/cairo.c (cairo_copy): Fixed horribly botched implementation
|
|
of cairo_copy.
|
|
|
|
* configure.in: Bumped version to 0.1.7 to indicate change in
|
|
cairo_copy.
|
|
|
|
* src/cairo.c (cairo_copy): Changed cairo_copy to copy graphics
|
|
state from one cairo_t to another rather than allocating a new
|
|
cairo_t.
|
|
|
|
* src/cairo_surface.c (cairo_surface_destroy):
|
|
(cairo_surface_create_similar_solid): Fix to delay XFreePixmap
|
|
until cairo_surface_destroy.
|
|
|
|
2003-09-29 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* TODO: Remove arc notes since arcs are done.
|
|
|
|
* src/cairo_surface.c (_cairo_surface_composite): Fix bug
|
|
(IcImageGetHeight instead of IcImageGetWidth) from Graydon Hoare
|
|
<graydon@redhat.com>.
|
|
|
|
2003-09-29 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (CAIRO_VERSION): Bumpred version to 0.1.6 to
|
|
indicate new cairo_arc and cairo_arc_negative.
|
|
|
|
* src/cairo_gstate.c (_arc_error_normalized):
|
|
(_arc_max_angle_for_tolerance_normalized):
|
|
(_cairo_gstate_arc_segments_needed):
|
|
(_cairo_gstate_arc_segment):
|
|
(_cairo_gstate_arc_dir):
|
|
(_cairo_gstate_arc):
|
|
(_cairo_gstate_arc_negative): Several new functions to implement
|
|
arc support.
|
|
|
|
* src/cairo.h: Added cairo_arc and cairo_arc_negative.
|
|
|
|
* src/cairo.c (cairo_arc):
|
|
(cairo_arc_negative): Added new arc support.
|
|
|
|
2003-09-27 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairoint.h: Fixed several enum symbols that had been
|
|
mistakenly converted to lowercase at some point.
|
|
Consolidated cairo_path_direction_t and
|
|
cairo_pen_stroke_direction_t into cairo_direction_t.
|
|
Removed accidental addition of two _print_svg functions that had
|
|
been used for debugging temporarily.
|
|
|
|
2003-09-25 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (CAIRO_VERSION): Bumped version to 0.1.5 to
|
|
indicate removal of cairo_path_t and related functions.
|
|
|
|
* src/cairo.h: Decided that we don't actually need any of the
|
|
cairo_path_t functionality exposed in the commit earlier
|
|
today. Ripped all of that back out.
|
|
|
|
* configure.in (CAIRO_VERSION): Bumped version to 0.1.4 for new
|
|
exposed cairo_path_t and related functions.
|
|
|
|
* src/cairo_path.c (cairo_path_create):
|
|
(_cairo_path_copy):
|
|
(cairo_path_destroy): New create/copy/destroy functions for paths.
|
|
(_cairo_path_init): Added current_pt state to cairo_path_t.
|
|
(cairo_path_rel_move_to):
|
|
(cairo_path_rel_line_to):
|
|
(cairo_path_rel_curve_to): Added relative path creation functions,
|
|
(relative stufff used to be done internally in cairo_gstate).
|
|
(_cairo_path_set_ctm_inverse):
|
|
(_cairo_path_transform): Added functions to transform all
|
|
coordinates in a path.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init): Moved all current_pt
|
|
state out of cairo_gstate and into cairo_path.
|
|
(_cairo_gstate_copy): Renamed _cairo_gstate_clone to
|
|
_cairo_gstate_copy for consitency with other functions, (though I
|
|
may reconsider and rename all of them to _clone).
|
|
(_cairo_gstate_current_path):
|
|
(_cairo_gstate_set_path): New functions for "user path" support.
|
|
|
|
* src/cairo.h: Expose new opaque cairo_path_t object along with
|
|
several new public functions: cairo_set_path, cairo_current_path,
|
|
cairo_path_create, cairo_path_destroy, cairo_path_move_to,
|
|
cairo_path_line_to, cairo_path_curve_to, cairo_path_rel_move_to,
|
|
cairo_path_rel_line_to, cairo_path_rel_curve_to,
|
|
cairo_path_close_path, cairo_path_current_point.
|
|
|
|
* src/cairo.c (cairo_set_path, cairo_current_path): Added
|
|
functions to get/set current path.
|
|
|
|
2003-09-16 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_surface.c (cairo_surface_create_similar_solid): Fixed
|
|
massive pixmap leak, (at least one pixmap for every set_rgb_color)
|
|
|
|
* configure.in (CAIRO_VERSION): Bumped to 0.1.3 for new functions:
|
|
cairo_reference and cairo_surface_reference.
|
|
|
|
* src/cairo_surface.c (cairo_surface_reference): Export
|
|
cairo_surface_reference.
|
|
|
|
* src/cairo.c (cairo_reference): Add new function to increase
|
|
reference count of cairo_t.
|
|
(cairo_create):
|
|
(cairo_copy):
|
|
(cairo_destroy): Make these functions aware of the new reference
|
|
count.
|
|
|
|
2003-09-15 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* configure.in: Require xrender >= 0.6.0
|
|
|
|
* src/cairo_surface.c (_cairo_x11_surface_put_image): Make static.
|
|
|
|
2003-09-15 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo.c (cairo_restore): Fix to catch invalid restore rather
|
|
than just catching the second invalid restore. Fix from Keith
|
|
Packard <keithp@keithp.com>.
|
|
|
|
2003-09-12 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo_surface.c (cairo_surface_create_similar_solid): Don't
|
|
try to create depth-32 pixmaps on non-Render servers.
|
|
(_cairo_surface_push_image): Fixed massive memory leak.
|
|
|
|
2003-09-09 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (PKG_CHECK_MODULES): Updated calls to
|
|
slim_hidden_def to track changes in slim 0.2.0.
|
|
|
|
2003-09-05 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (PKG_CHECK_MODULES): Require libic >= 0.1.1
|
|
|
|
* src/cairo_surface.c (_create_icformat_for_visual):
|
|
(_create_icformat_for_format): Updates for new libic interface.
|
|
(cairo_x11_surface_put_image): Rename cairo_surface_put_image to
|
|
cairo_x11_surface_put_image.
|
|
(_cairo_surface_pull_image):
|
|
(_cairo_surface_push_image): First real implementation of
|
|
push/pull_image, (thanks for help from Graydon Hoare
|
|
<graydon@redhat.com>). This provides support for running Cairo on
|
|
X servers that do not have the RENDER extension. (Note: This is
|
|
still woefully slow).
|
|
|
|
* src/cairo_path_stroke.c (_cairo_stroker_join): Switch to
|
|
_cairo_fixed functions.
|
|
|
|
* src/cairo_path_bounds.c (_cairo_path_bounds): Use cairo_fixed
|
|
rather than X macros.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_current_point): If not
|
|
explicitly set, current point is (0,0) in user space.
|
|
(_cairo_gstate_show_text): Fix to place text at user-space origin
|
|
if there is no current point.
|
|
(_cairo_gstate_show_surface): Optimize to pass NULL mask if alpha
|
|
== 1.0.
|
|
(_cairo_gstate_show_surface): Fixe to use current_point rather
|
|
than (0,0).
|
|
|
|
* src/cairo.h: Removed cairo_surface_put_image.
|
|
|
|
* src/Makefile.am (libcairo_la_SOURCES): Added cairo_fixed.c
|
|
|
|
2003-09-05 Keith Packard <keithp@keithp.com>
|
|
|
|
* src/cairo_path_stroke.c: comment face computations, check for
|
|
reflecting transformation to select correct face orientations
|
|
|
|
* src/cairo_pen.c: check for reflecting transform when computing
|
|
pen to ensure consistent pen orientation
|
|
|
|
2003-09-05 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* configure.in: Bumped version to 0.1.2 for new cairo_copy
|
|
function.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init): Fixed uninitialized
|
|
current_pt values.
|
|
(_cairo_gstate_clone): Force gstate->next to NULL after cloning,
|
|
to prevent the clone from trashing the former stack.
|
|
|
|
* src/cairo.c (cairo_create): Folded _cairo_init into cairo_create.
|
|
(cairo_destroy): Folded _cairo_fini into cairo_dstroy.
|
|
(cairo_copy): Added new cairo_copy function.
|
|
|
|
2003-09-05 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_show_text): Fix crash due to
|
|
missing call to ensure_source.
|
|
|
|
2003-09-04 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairoint.h (DEPRECATE): Changed DEPRECATE mechanism to
|
|
preseve binary compatibility, but break source-level
|
|
compatibility.
|
|
|
|
2003-09-04 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init): Combine gstate->pattern
|
|
and gstate->solid into a single gstate->source.
|
|
(_cairo_gstate_set_rgb_color): Defer creation of gstate->source
|
|
until the stroke or fill.
|
|
(_cairo_gstate_ensure_source): New function to combine duplicated
|
|
code.
|
|
(_cairo_gstate_stroke):
|
|
(_cairo_gstate_fill): Now must ensure that gstate->source has been
|
|
created.
|
|
|
|
* src/cairo.c (cairo_set_target_surface):
|
|
(cairo_set_target_drawable):
|
|
(cairo_set_target_image): These functions can now clear
|
|
status==CAIRO_STATUS_NO_TARGET_SURFACE. This is a clean solution
|
|
to the bug of a SEGV if cairo_stroke/cairo_fill are called before
|
|
cairo_set_target.
|
|
|
|
* BUGS: Removed two fixed bugs, (SEGV if cairo_set_rgb_color
|
|
called before cairo_set_target and SEGV if cairo_fill called
|
|
before cairo_set_rgb_color)
|
|
|
|
2003-09-04 Keith Packard <keithp@keithp.com>
|
|
|
|
* src/cairo_path_stroke.c: added comments describing miter
|
|
join code and miter limit computation. Replace XFoo with cairo_foo
|
|
for double and fixed
|
|
|
|
* src/cairoint.h: add cairo_fixed_to_double and cairo_double_to_fixed
|
|
Carl says he's got similar code, so he'll have to fix things if I
|
|
get this committed quickly enough.
|
|
|
|
2003-09-04 Carl Worth <cworth@isi.edu>
|
|
|
|
* util/cairo-api-update: Added script to update source code using
|
|
Cairo to the latest API.
|
|
|
|
* configure.in (CAIRO_VERSION): Bumped version to 0.1.1
|
|
|
|
* src/cairoint.h (DEPRECATE): Added magic DEPRECATE macro which
|
|
provides an asm-based alias for old function names. This works on
|
|
ELF systems with gcc version >= 2.
|
|
|
|
* src/cairo.h (cairo_get_status_string): Deprecated all
|
|
cairo_get_* names in favor of cairo_current_*. The deprecated
|
|
function names will trigger either a warning or a link error, but
|
|
in both cases with a useful message giving both the old and new
|
|
name of the function. Three of the function name changes are
|
|
different than the single word substituion:
|
|
cairo_get_current_color -> cairo_current_color
|
|
cairo_get_status -> cairo_status
|
|
cairo_get_status_string -> cairo_status_string
|
|
|
|
2003-09-03 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo.h: Change cairo_get_matrix interface to accept a
|
|
cairo_matrix_t* rather than 6 double*.
|
|
|
|
* src/cairo.c (cairo_get_matrix): Add implementation of cairo_get_matrix.
|
|
|
|
2003-08-29 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_surface.c (_cairo_surface_composite): Optimized case
|
|
where src is in memory, dst is on server, and mask is NULL. Will
|
|
now do a single XPutImage rather than the painful
|
|
GetImage/PutImage dance of the general code.
|
|
|
|
2003-08-28 Carl Worth <cworth at east.isi.edu>
|
|
|
|
* src/cairo_traps.c (_line_segs_intersect_ceil): One more
|
|
increment, (that still won't fix the bug). Added comment point to
|
|
Hobby's paper, (that will fix it).
|
|
|
|
* src/cairo_font.c (_cairo_font_resolve_xft_font): Fixed to use
|
|
fabs instead of abs when correcting for negative area expansion.
|
|
|
|
2003-08-28 Keith Packard <keithp@keithp.com
|
|
* src/cairo_font.c: font pixel size is always non-negative
|
|
|
|
2003-08-26 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairoint.h: Added missing underscores to several internal
|
|
functions.
|
|
* src/cairo_font.c:
|
|
* src/cairo_gstate.c:
|
|
* src/cairo_matrix.c:
|
|
* src/cairo_path_fill.c:
|
|
* src/cairo_path_stroke.c:
|
|
* src/cairo_pen.c:
|
|
* src/cairo_traps.c: Fixed to track newly added underscores.
|
|
|
|
* src/cairo.h: Some whitespace fixes.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_set_pattern): Fixed to anchor
|
|
pattern at current point instead of the origin.
|
|
(_cairo_gstate_stroke): Fixed to properly transform pattern.
|
|
(_cairo_gstate_fill): Fixed to properly transform pattern.
|
|
|
|
2003-07-31 Richard Henderson <rth@twiddle.net>
|
|
|
|
* src/cairo_color.c (CAIRO_COLOR_DEFAULT): Mark const.
|
|
* src/cairo_matrix.c (CAIRO_MATRIX_IDENTITY): Likewise.
|
|
* src/cairo_path.c (num_args): Likewise.
|
|
* src/cairo_path_bounds.c (_cairo_path_bounds): Likewise for cb.
|
|
|
|
2003-07-31 Richard Henderson <rth@twiddle.net>
|
|
|
|
* cairo.pc.in: Depend on slim.
|
|
* configure.in: Check for slim.
|
|
|
|
* src/cairo.h: Include slim_{export,import}.h as needed; mark all
|
|
symbols __external_linkage.
|
|
* src/cairoint.h: Include slim_internal.h; mark all symbols
|
|
__internal_linkage. Provide slim_hidden_proto symbols as needed.
|
|
* src/cairo.c, src/cairo_matrix.c, src/cairo_surface.c,
|
|
Provide slim_hidden_def symbols as needed.
|
|
* src/cairo_traps.c (cairo_traps_add_trap): Mark static.
|
|
(cairo_traps_add_trap_from_points): Likewise.
|
|
|
|
2003-07-30 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (LIBIC_REQUIRED): Fixed some typos in the libic
|
|
PKG_CHECK.
|
|
|
|
* src/cairoint.h:
|
|
* src/cairo.c: Fixed a disagreement over whether some internal
|
|
cairo_gstate_t functions had an '_' prefix or not.
|
|
|
|
* src/cairo_traps.c (_line_segs_intersect_ceil): Add one more
|
|
conditional intersect to push past some fill bugs.
|
|
|
|
* src/cairo_surface.c (cairo_surface_create_for_drawable):
|
|
(cairo_surface_create_for_image):
|
|
(cairo_surface_put_image):
|
|
(_cairo_surface_pull_image):
|
|
(_cairo_surface_push_image):
|
|
(cairo_surface_set_matrix):
|
|
(cairo_surface_get_matrix):
|
|
(cairo_surface_set_repeat):
|
|
(_cairo_surface_composite):
|
|
(_cairo_surface_fill_rectangle):
|
|
(_cairo_surface_fill_rectangles):
|
|
(_cairo_surface_composite_trapezoids): Absorb all functionality
|
|
previously in the Xc library.
|
|
|
|
* src/cairo_pen.c (_cairo_pen_init): Don't store floating point
|
|
theta in the pen. Instead, sort vertices by fixed point slope
|
|
comparisons.
|
|
(_cairo_pen_add_points): Fixed to remove duplicate pen vertices
|
|
appearing at beginning and end of vertex array.
|
|
(_pen_vertex_compare): New fixed-point "angle" comparison for pen
|
|
vertices. A bit trickier than before, but much more accurate.
|
|
|
|
* src/cairo_path_stroke.c (_cairo_stroker_face_clockwise): Share
|
|
clockwise calculation with other modules.
|
|
|
|
* src/cairo_path_bounds.c:
|
|
* src/cairo_path_fill.c:
|
|
* src/cairo_path_stroke.c:
|
|
* src/cairo_pen.c:
|
|
* src/cairo_polygon.c:
|
|
* src/cairo_spline.c:
|
|
* src/cairo_traps.c:
|
|
* src/cairo_path.c: Replaced all references to
|
|
XFixed, XPointFixed, XLineFixed, and XTrapezoid with new
|
|
cairo_fixed_t, cairo_point_t, cairo_line_t, and cairo_trapezoid_t.
|
|
|
|
* src/cairo_path.c: (_cairo_path_interpret): Made the path
|
|
interpreter callback names consistent, (eg. add_edge rather than
|
|
AddEdge).
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_text_extents): Now silently
|
|
exits for a non X surface, (avoids a crash until we can implement
|
|
the libic text backend).
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_end_group):
|
|
(_cairo_gstate_clip_and_composite_trapezoids):
|
|
(_cairo_gstate_show_surface): Replaced all XcCalls with
|
|
corresponding cairo_surface_calls.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_transform_point):
|
|
(_cairo_gstate_transform_font):
|
|
(_cairo_gstate_text_extents): Renamed from the garbled names
|
|
(eg. cairo_gstateransform_point) leftover from the great renaming.
|
|
|
|
* src/cairo_color.c (_cairo_color_set_rgb): Reworked cairo_color_t
|
|
to eliminate reference to an XcColor object.
|
|
|
|
* src/cairo.h: Dropped include of <Xc.h>, added
|
|
<X11/extensions/Xrender.h>, <fontconfig/fontconfig.h>, and <ic.h>
|
|
|
|
* src/cairo.c (cairo_get_fill_rule): Added missing cairo_get_fill_rule.
|
|
|
|
* configure.in (PKG_CHECK_MODULES): Drops xc, add libic
|
|
|
|
* cairo.pc.in (Requires): Drop xc, add libic.
|
|
|
|
2003-07-25 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_traps.c (_line_segs_intersect_ceil): We don't need a
|
|
loop here, (just a conditional increment). This time, we've
|
|
actually done the error analysis to back this up.
|
|
|
|
2003-07-24 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_traps.c (cairo_traps_tessellate_polygon): Massive
|
|
cleanup of polygon tessellation, (it might actually be correct
|
|
now).
|
|
|
|
2003-07-23 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairoint.h: Introduced some cairo_fixed_*_t types. This is
|
|
the first baby step toward ripping X dependencies out of the Cairo
|
|
headers.
|
|
|
|
* src/cairo_traps.c (_compute_x): Converted from floating point to
|
|
fixed point.
|
|
(_line_seg_intersection_ceil): Now increments y value once if the
|
|
initial y value computed is less than the actual intersection
|
|
point.
|
|
|
|
* src/cairo_traps.c (_compare_cairo_edge_by_slope): Converted from
|
|
floating point to fixed point.
|
|
|
|
* src/cairo_pen.c (_slope_clockwise): Converted from floating
|
|
point to fixed point.
|
|
|
|
2003-07-19 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_traps.c (cairo_traps_tessellate_polygon): Fixed some
|
|
sorting problems with two intersections very near the same
|
|
vertical position. (There are still some reamining problems
|
|
though).
|
|
(cairo_traps_tessellate_polygon): Better fix for the same
|
|
bug. Should cover all cases, (and it's moe efficient too).
|
|
|
|
2003-07-18 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo.h: Fixed some inconsistent tag/typedef names that were
|
|
missed in the great renaming.
|
|
|
|
2003-07-18 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo.h: Renamed everything from Xr* to cairo_*.
|
|
|
|
* util/xr2cairo: Added utility script xr2cairo to help users fix
|
|
their source code.
|
|
|
|
2003-07-03 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrmatrix.c (XrMatrixGetAffine): Added XrMatrixGetAffine
|
|
(from Soorya Kuloor)
|
|
|
|
* src/xr.c (XrGetAlpha): Added XrGetAlpha
|
|
(XrGetRGBColor): Added XrGetRGBColor
|
|
|
|
2003-06-12 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrgstate.c (_XrGStateScale): Scale by 0 now causes an
|
|
InvalidMatrix error.
|
|
|
|
2003-05-28 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrmatrix.c (XrMatrixMultiply): Eliminated
|
|
_XrMatrixMultiplyIntoRight and _XrMatrixMultiplyIntoLeft.
|
|
|
|
* src/xrgstate.c (_XrGStateClipAndCompositeTrapezoids): Fixed
|
|
missing translation of clip surface.
|
|
|
|
* src/Xr.h: Added XrSurfacePutImage
|
|
|
|
2003-05-16 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrint.h: Added ppm filed (pixels per meter) to both
|
|
XrSurface and XrGState.
|
|
|
|
* src/xrgstate.c (_XrGStateSetTargetSurface): Fixup CTM according
|
|
to change in surface->ppm.
|
|
(_XrGStateDefaultMatrix): Default matrix is no longer an identity
|
|
matrix, but rather a matrix that provides some relates user space
|
|
units to real-world dimensions in a meaningful way, (default 3780
|
|
user space units per meter). This conversion is not exact, but is
|
|
rather as close as possible while also guaranteeing that one user
|
|
space unit maps to an integer number of device pixels.
|
|
|
|
2003-05-15 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xr.c (XrSetTargetDrawable): Moved implementation up from
|
|
_XrGStateSetTargetDrawable, (eg. all convenience functions should
|
|
be taken care of at the xr.c level ratehr than xrgstate.c)
|
|
|
|
* src/Xr.h: Added convenience function XrSetTargetImage
|
|
|
|
2003-05-14 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrfont.c (_XrFontResolveXftFont): Fixed fonts to pull
|
|
pixelsize out of the transformation matrix. Fonts are now properly
|
|
hinted regardless of scaling.
|
|
|
|
* src/Xr.h: Three new functions for manipulating surfaces:
|
|
XrSurfaceSetMatrix, XrSurfaceGetMatrix, XrSurfaceSetFilter.
|
|
|
|
* src/Xr.h: Removed broken XrShowImage* functions. Changed
|
|
XrShowSurface to not require X/Y but instead depend on the CTM for
|
|
translation, (or the surface transformation matrix). I'd like to
|
|
get rid of width/height as well but it turns out an XrSurface is
|
|
not aware of its dimensions.
|
|
|
|
* src/Xr.h: Added convenience function for building rectangular
|
|
paths: XrRectangle.
|
|
|
|
* src/Xr.h: Added functions for performing transformations with
|
|
the CTM and its inverse: XrTransformPoint, XrTransformDistance,
|
|
XrInverseTransformPoint, XrInverseTransformDistance.
|
|
|
|
* src/Xr.h: XrConcatMatrix and XrSetMatrix now accept a pointer to
|
|
an XrMatrix rather than 6 doubles.
|
|
|
|
* src/Xr.h: Now exporting opaque XrMatrix object with several
|
|
functions: XrMatrixCreate, XrMatrixDestroy, XrMatrixCopy,
|
|
XrMatrixSetIdentity, XrMatrixSetAffine, XrMatrixTranslate,
|
|
XrMatrixScale, XrMatrixRotate, XrMatrixInvert, XrMatrixMultiply,
|
|
XrMatrixTransformDistance, XrMatrixTransformPoint.
|
|
|
|
2003-05-12 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/Xr.h: Added XrSetPattern. See also XrSurfaceSetRepeat.
|
|
|
|
* src/xrpathbounds.c (_XrPathBounds): Moved path bound computation
|
|
to its own file.
|
|
|
|
* src/xrpathstroke.c (_XrPathStrokeToTraps): Moved path stroking
|
|
to its own file.
|
|
|
|
* src/xrpathfill.c (_XrPathFillToTraps): Moved path fililng to its
|
|
own file.
|
|
|
|
* src/xrgstate.c (_XrGStateStroke):
|
|
(_XrGStateFill):
|
|
(_XrGStateClipAndCompositeTrapezoids): Reorganized stroke and fill
|
|
code to go through the same path for clipping.
|
|
|
|
2003-05-02 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/Xr.h: Changed XrFormatRGB32 to XrFormatRGB24
|
|
|
|
* src/xrsurface.c (_XrFormatBPP, XrSurfaceCreateForImage)
|
|
(_XrFormatDepth): Fixed for change of XrFormatRGB32 to
|
|
XrFormatRGB24
|
|
|
|
2003-05-01 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrpath.c (_XrPathBounderInit):
|
|
(_XrPathBounderDeinit):
|
|
(_XrPathBounderAddPoint):
|
|
(_XrPathBounderAddEdge):
|
|
(_XrPathBounderAddSpline):
|
|
(_XrPathBounderDoneSubPath):
|
|
(_XrPathBounderDonePath):
|
|
(_XrPathBounds): New support for computing the bounding box of a
|
|
path. Currently used internally, (for computing the size of the
|
|
clip surface), and not exported publically.
|
|
|
|
* src/xrgstate.c (_XrGStateStroke): Implemented clip support for
|
|
strokes.
|
|
(_XrGStateClip): New _XrGStateClip function fills the current path
|
|
onto the gstate->clip surface.
|
|
|
|
* src/xr.c (XrClip): Added preliminary/experimental clip
|
|
functionality. The current implementation only clips stroked
|
|
elements, (not fills, images, or text). It's alway quite
|
|
inefficeient.
|
|
|
|
* src/xr.c (XrGetOperator):
|
|
(XrGetTolerance):
|
|
(XrGetLineWidth):
|
|
(XrGetLineCap):
|
|
(XrGetLineJoin):
|
|
(XrGetMiterLimit):
|
|
(XrGetCurrentPoint): Added several new query functions.
|
|
|
|
2003-04-26 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrsurface.c (XrSurfaceDestroy): Fix memory leak of
|
|
surface->image_data.
|
|
|
|
2003-04-25 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* configure.in: Fixed libtool versioning
|
|
|
|
2003-04-17 Carl Worth <cworth@isi.edu>
|
|
|
|
* Switched from imake to autotools.
|
|
|
|
* src/xrint.h: XrSurface structure is now greatly simplified,
|
|
(details now handled by XcSurface).
|
|
|
|
* src/Xr.h: Eliminated Display * parameter so Xr can be used for
|
|
non-X drawing.
|
|
Removed XrPushGroup/XrPopGroup.
|
|
Replaced XrSetDrawable/XrSetVisual with XrSetTargetDrawable.
|
|
Added XrSetTargetSurface and several new XrSurfaceCreate
|
|
functions.
|
|
Added XrShowSurface, (functionality overlaps with XrShowImage --
|
|
need to fix this)
|
|
|
|
|
|
2003-02-14 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* xrgstate.c (_XrGStateShowImageTransform): Fixed transformed
|
|
images which were sometimes 1 pixel too tall/wide.
|
|
|
|
2003-02-06 Carl Worth <cworth@isi.edu>
|
|
|
|
* xrpen.c (_XrPenVerticesNeeded): Fixed to use determinant rather
|
|
than eigenvalues to compute maximal scaling of radius. Now avoids
|
|
embarrassing segfaults due to NaN from the eigenvalue computation.
|
|
|
|
2003-01-28 Carl Worth <cworth@isi.edu>
|
|
|
|
* xrtraps.c (_XrTrapsTessellateTriangle): Fixed to not re-order
|
|
the array provided as an argument. (Note: the rectangle and
|
|
polyghon tessellators still perform reordering).
|
|
|
|
* xrstroker.c (_XrStrokerJoin):
|
|
(_XrStrokerCap): Implemented round caps and joins.
|
|
(_XrStrokerDoneSubPath): Fixed initial cap, (was always being
|
|
drawn on the inside previously).
|
|
|
|
* xrpen.c (_XrPenInit): Fixed to keep pen vertex theta values all
|
|
in device space.
|
|
(_XrPenAddPoints): Removed the silly flags from the pen vertices,
|
|
(in favor of just using the FindActiveVertex functions)
|
|
(_XrPenFindActiveCWVertexIndex):
|
|
(_XrPenFindActiveCCWVertexIndex): Added functions needed for round
|
|
caps/joins.
|
|
|
|
* xrgstate.c (_XrGStateSetDash): Fixed to accept a NULL dash array
|
|
to revert to no dashing.
|
|
|
|
2003-01-28 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* xrtraps.c (_XrTrapsTessellateTriangle): Restored triangle
|
|
tessellation functionality, (I think it's correct this time).
|
|
|
|
* xrstroker.c (_XrStrokerJoin): Bevel joins now use triangle
|
|
tessellation rather than polygon tessellation.
|
|
|
|
2003-01-24 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* xrpolygon.c (_XrPolygonAddEdge): Fixed to handle multiple
|
|
sub-polygons.
|
|
|
|
* xrstroker.c (_XrStrokerJoin): Fixed handling of miter limit.
|
|
|
|
* local.def: Added local.def for building outside the xc tree.
|
|
|
|
2002-12-03 Carl Worth <cworth@isi.edu>
|
|
|
|
* xrstroker.c (_XrStrokerJoin):
|
|
(_XrStrokerCap): Fixed to track change in winding rule parameter
|
|
to XrTrapsTessellatePolygon, (otherwise self-intersecting splines
|
|
suddenly had holes).
|
|
|
|
* xrpen.c (_XrPenStrokeSpline): Fixed to track change in winding
|
|
rule parameter to XrTrapsTessellatePolygon.
|
|
|
|
2002-11-11 Carl Worth <cworth@isi.edu>
|
|
|
|
* xrtransform.c (_XrTransformBoundingBox): Added support for
|
|
transforming a bounding box, (an axis-aligned rectangle prior to
|
|
transformation). The ShowImage support needs this.
|
|
(_XrTransformComputeInverse): Now catches error case for
|
|
non-invertible matrix.
|
|
|
|
* xrsurface.c (_XrSurfaceSetTransform): Fixed ordering of matrix
|
|
for call to RenderSetPictureTransform
|
|
|
|
* xrgstate.c (_XrGStateSetMatrix):
|
|
(_XrGStateIdentityMatrix): Support for new Xr matrix functions.
|
|
(_XrGStateShowImage):
|
|
(_XrGStateShowImageTransform): Fixed transformation of images.
|
|
|
|
* xr.c (XrSetMatrix):
|
|
(XrDefaultMatrix):
|
|
(XrIdentityMatrix): Added 3 matrix manipulation functions.
|
|
|
|
2002-11-04 Carl Worth <cworth@isi.edu>
|
|
|
|
* xrsurface.c (_XrSurfaceDereference):
|
|
(_XrSurfaceDereferenceDestroy): Fixed bug in reference counting
|
|
logic.
|
|
(_XrSurfaceSetDrawableWH): XrSurface now keeps track of its width/height.
|
|
(_XrSurfaceGetDrawable):
|
|
(_XrSurfaceGetWidth):
|
|
(_XrSurfaceGetHeight):
|
|
(_XrSurfaceGetDepth): New accessor functions.
|
|
|
|
* xrgstate.c (_XrGStateBeginGroup):
|
|
(_XrGStateEndGroup): Preliminary group support. Not too efficient
|
|
since it always composite's a full-size picture from child group
|
|
to parent picture, (even if only a small portion has
|
|
non-transparent pixels).
|
|
(_XrGStateShowImageTransform): Fixed show image to use current
|
|
alpha value.
|
|
|
|
* xrfont.c (_XrFontResolveXftFont): Fixed memory leak
|
|
(FcPatternDestroy). There's still some meory
|
|
leaking/left-reachable in Xft/fontconfig that I need to track
|
|
down.
|
|
|
|
* xr.c (XrPushGroup):
|
|
(XrPopGroup): Added preliminary group support. I think I like
|
|
having this in the API as it takes several burdens away from the
|
|
user, (plus it matches the PDF model). Things to do still: think
|
|
about the names of these functions. Re-read the PDF semantics to
|
|
see if we're missing anything.
|
|
|
|
2002-11-02 Carl Worth <cworth@isi.edu>
|
|
|
|
* xrsurface.c (_XrSurfaceSetImage): Fixed leak of the image
|
|
pixmap.
|
|
|
|
2002-11-01 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* xrsurface.c (_XrSurfaceSetImage): Prelimary image
|
|
support. Really only works with ARGB32. I still need to think
|
|
about what formats will be supported.
|
|
(_XrSurfaceSetTransform): Partial support for transformed
|
|
surfaces.
|
|
(_XrSurfaceGetXcSurface): Moved all creation/destruction of the
|
|
XcSurface into this function so that it is only lazily created
|
|
when needed.
|
|
|
|
* xrgstate.c (_XrGStateSetCurrentPt): gstate now can throw errors
|
|
when an operation needs current point, but it doesn't exist yet.
|
|
(_XrGStateShowImage, _XrGStateShowImageTransform): Preliminary
|
|
image support, (currently it only scales according to the CTM. The
|
|
matrix passed with the image doesn't do anything yet.)
|
|
|
|
* xrfont.c (_XrFontInitCopy): Removed bogus out of memory errors.
|
|
|
|
* xr.c (XrShowImage, XrShowImageTransform): Added very preliminary
|
|
image support. Things don't work completely yet and all the
|
|
interfaces are likely to change.
|
|
(XrGetStatusString): Added function to map status values to strings.
|
|
|
|
2002-10-31 Carl Worth <cworth@isi.edu>
|
|
|
|
* xrfont.c (_XrFontInit):
|
|
(_XrFontInitCopy):
|
|
(_XrFontDeinit):
|
|
(_XrFontSelect):
|
|
(_XrFontResolveXftFont): Updated by ripping all font support from
|
|
Xc and just putting a couple of calls to Xft and fontconfig right
|
|
here in xrfont.
|
|
|
|
* xr.c (XrTextExtents): Added XrTextExtents.
|
|
|
|
2002-10-29 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* xrgstate.c (_XrGStateSelectFont, _XrGStateScaleFont)
|
|
(_XrGStateTransformFont, _XrGStateShowText): Added basic font
|
|
support.
|
|
|
|
* xr.c (XrSelectFont, XrScaleFont, XrTransformFont): Added basic
|
|
font support.
|
|
|
|
2002-10-28 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* xrstate.c (_XrStatePop): Added error case for XrRestore without
|
|
matching XrSave.
|
|
|
|
* xrsurface.c (_XrSurfaceInit, _XrSurfaceReference)
|
|
(_XrSurfaceDereference): Added reference counting to XrSurface to
|
|
patch a memory leak.
|
|
|
|
2002-10-26 Carl Worth <cworth@isi.edu>
|
|
|
|
* xrtransform.c (_XrTransformDistance):
|
|
(_XrTransformPoint): changed to use individual X/Y arguments
|
|
rather tha an XPointDouble. This improves readability since
|
|
_XrTransformDistance is now always called with arguments of dx/dy
|
|
rather than pt.x/pt.y.
|
|
|
|
* xrpath.c (_XrPathMoveTo):
|
|
(_XrPathLineTo):
|
|
(_XrPathCurveTo):
|
|
(_XrPathClosePath): replaced public _XrPathAdd with explicit named
|
|
functions. This cleans up the implementation since _XrPathAdd,
|
|
which is unsafe with respect to argument consistency, is now
|
|
private. Also, since the _XrGState now maintains the current
|
|
point, I dropped all relative path operators from the XrPath data
|
|
structures.
|
|
|
|
* xrgstate.c (_XrGStateMoveTo):
|
|
(_XrGStateLineTo):
|
|
(_XrGStateCurveTo):
|
|
(_XrGStateRelMoveTo):
|
|
(_XrGStateRelLineTo):
|
|
(_XrGStateRelCurveTo): Replaces _XrGStateAddPathOp and
|
|
_XrGStateAddUnaryPathOp with explicit named functions for each
|
|
operator type. This change introduces the current point state into
|
|
the XrGState structure rather than postponing its calculation
|
|
until path interpretation.
|
|
|
|
* xrgstate.c (_XrGStateSetDrawable):
|
|
(_XrGStateSetVisual):
|
|
(_XrGStateSetFormat):
|
|
(_XrGStateSetOperator):
|
|
(_XrGStateSetRGBColor):
|
|
(_XrGStateSetTolerance):
|
|
(_XrGStateSetAlpha):
|
|
(_XrGStateSetFillRule):
|
|
(_XrGStateSetLineWidth):
|
|
(_XrGStateSetLineCap):
|
|
(_XrGStateSetLineJoin):
|
|
(_XrGStateSetMiterLimit):
|
|
(_XrGStateTranslate):
|
|
(_XrGStateScale):
|
|
(_XrGStateRotate):
|
|
(_XrGStateConcatMatrix):
|
|
(_XrGStateNewPath): : Added XrStatus return values to many
|
|
functions -- just for consistency, these functions can not return
|
|
errors in any case.
|
|
|
|
* xr.c (XrShowText): Started to ass XrShowText, (still not functional)
|
|
|
|
2002-10-24 Carl Worth <cworth@isi.edu>
|
|
|
|
* xr.c (XrSetFillRule): Added support to set fill rule.
|
|
|
|
2002-10-23 Carl Worth <cworth@isi.edu>
|
|
|
|
* xrtraps.c (_XrTrapsTessellatePolygon): Fix for polygon with
|
|
multiple sub-polygons that are disjoint in Y.
|
|
|
|
2002-07-16 Carl Worth <cworth@isi.edu>
|
|
|
|
* Xr.h: Renamed xrpicture.c to xrsurface.c as part of the move.
|
|
Added XrSetFormat, XrSetOperator, XrSetLineCap, XrSetLineJoin, and
|
|
XrSetMiterLimit, (although the line style drawing code is not all
|
|
in place yet).
|
|
|
|
* xrpath.c (XrPathLineTo): Changed LineTo semantics to be the same
|
|
as MoveTo if there was no previous MoveTo.
|
|
|
|
* xrtraps.c: Added tessellation code, (lifted from
|
|
XRenderCompositeDoublePoly which can now disappear).
|
|
|
|
* xrgstate.c: Changed stroke code to incrementally build a list of
|
|
trapezoids rather than forming one giant polygonal outline and
|
|
rendering that. This should be more efficient.
|
|
(_XrGStateFillPath): Now uses Xr's own tessellation along with
|
|
XcCompositeTrapezoids.
|
|
|
|
* Xr.h: Moved all of Xr away from Xrender to the new Xc library.
|
|
|
|
* xrsurface.c: Renamed from xrpicture.c, (part of the move from
|
|
XRender to Xc).
|
|
|
|
* Started keeping a ChangeLog ;-)
|
|
|
|
|
|
|