summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2005-08-08Add missing cairo-debug.h which was hold up make distcheck.Carl Worth1-0/+1
2005-08-08Declare _cairo_path_nil as extern.Billy Biggs1-1/+1
2005-08-08Add a new API for disabling antialiasing of shapes drawn by cairo. This is a ↵Billy Biggs16-88/+238
hint and is not supported by all backends. Store the antialiasing mode in the gstate and pass it to the backend for trapezoid rendering and for clipping. Pass the antialiasing parameter down to the backend where appropriate. Pass the antialiasing parameter down to the backend where appropriate. Add support for A1 format trapezoid rendering, and remove the _create_mask_image function, creating a temporary image from memory we allocate and clear. Support A1 masks to disable antialiasing using the RENDER extension when requested. Support A1 masks to disable antialiasing using the RENDER extension when requested. Blindly pass through the antialising parameter. Add the antialiasing parameter but don't support it. Add a test case and a reference image from the latest libpixman. Add the new antialiasing disabling API to the docs. Update progress on a parameter to disable antialiasing. reviewed by: cworth, otaylor
2005-08-08Don't free the glyph if the entry doesn't have a glyph. (Maybe #3909, Carlos ↵Owen Taylor1-2/+3
Garnacho Parro)
2005-08-08Add a return value after ASSERT_NOT_REACHED to quiet an anxious compiler.Carl Worth1-0/+1
2005-08-08Fix accidentally committed line.Owen Taylor1-3/+1
2005-08-08Update doc comment.Kristian Høgsberg1-7/+5
2005-08-08Add a function to test whether a cairo_operator_t is bounded (does nothing ↵Owen Taylor8-353/+1047
for 0 src/mask) cairoint.h: Add a helper function to take clearing areas that are outside the source/mask but are cleared by unbounded operations. src/cairo-xlib-surface.c (_cairo_xlib_surface_composite): Use _cairo_surface_composite_fixup_unbounded() as needed. src/cairo-image-surface.c src/cairint.h: Keep track of whether the surface has a clip or not ... we need this for determining when we can bypass an intermediate mask for composite_trapezoids(). Create an intermediate mask of the right size with pixman_add_trapezoids() and composite that. When rendering with an unbounded operator, create the intermediate mask ourselves and render with ADD to that, then composite the result. Create an intermediate surface the size of the extents, render the glyphs to that then composite the results. Add the size of the glyph Compute the size of the glyph mask, then use _cairo_surface_composite_fixup_unbounded(). Use the right mask format. (Unrelated bugfix) New function taking a drawing function as a parameter to encapsulate shared logic between compositing trapezoid, glyphs, and masks. Use _cairo_gstate_clip_and_composite(). Also fix extents computations for unbounded operators. src/cairo-clip.c src/cairo-clip-private.h (_cairo_clip_combine_to_surface): Add the destination as an extra parameter to allow combining to an intermediate surface. tests/unbounded-operator.c tests/Makefile.am: Add a test for the operation of the 6 unbounded operators against different shapes. tests/clip-operator.c tests/Makefile.am: Add a test that tests surface clipping with different shapes against all the operators. Make use OVER like the name and description. With fixed semantics, SOURCE does something different.
2005-08-06Remove several bugs that have been fixed.Carl Worth1-1/+1
Slip group support off of the 1.0 roadmap. Update status of clipping work which otaylor is working on. Update for progress on cairo_surface_mark_dirty (committed), non-antialiased rendering (patch), cairo_arc_to (patch), consistent error handling (committed), cairo_content_t (committed). Remove details for some completed items. Don't crash if font_face is NULL, (this is a documented mechanism for returning to the default font_face).
2005-08-06Fix to return &_cairo_font_face_nil instead of NULL on error.Carl Worth1-5/+2
2005-08-06Remove a non-sensical XXX that crept in at some point; for a solid color, ↵Owen Taylor1-1/+0
there is no difference between premultiplied and non-premultiplied colors.
2005-08-06Fix up some stale comments. Rename _cairo_ft_scaled_font_create_for_unscaled ↵Carl Worth1-22/+24
to its proper name of _cairo_ft_scaled_font_create (which is available now that _cairo_ft_scaled_font_create_toy has its correct name). Also prefer 'scaled_font' over 'f' as an identifier.
2005-08-05Unify initialization for _cairo_ft_unscaled_font_create_from_face and ↵Carl Worth1-31/+71
_cairo_ft_unscaled_font_create_from_filename through new _cairo_ft_unscaled_font_init.
2005-08-05Rename _ft_font_face_backend to be preoperly namespaced as ↵Carl Worth1-2/+2
_cairo_ft_font_face_backend.
2005-08-05Rename cairo_ft_font_face->next_face to next.Carl Worth1-6/+12
2005-08-05Include cairo-hash-private.h.Carl Worth2-0/+4
Add cairo-hash.c and cairo-hash-private.h since we're actually going to start using them now.
2005-08-05Simplify the implementation by taking advantage of the fact that destroy and ↵Carl Worth1-5/+2
reference are safe for NULL, and that reference returns its argument.
2005-08-05Rename two functions:Carl Worth1-20/+20
_cairo_gstate_unset_font -> _cairo_gstate_unset_scaled_font _cairo_gstate_ensure_font -> _cairo_gstate_ensure_scaled_font
2005-08-05Entagle the cairo_unscaled_font_t typedef.Carl Worth1-4/+2
2005-08-05Rename font_face_backend->create_font to scaled_font_create. Group the ↵Carl Worth5-54/+54
scaled_font prototypes together. A little more simple -> toy renaming. A little more simple -> toy renaming. Track rename of font_face_backend->scaled_font_create.
2005-08-05Rather gratuitous (though mostly harmless) whitespace changes for font ↵Carl Worth1-46/+58
backend tables.
2005-08-05Document the implicit closing of sub-paths for cairo_fill and ↵Carl Worth1-4/+6
cairo_fill_preserve.
2005-08-05Rename parameters to scalend_font_backend from font to scaled_font.Carl Worth1-9/+10
2005-08-05Rename scaled_font_backend->destroy to the more accurate fini, (since it ↵Carl Worth5-8/+8
frees only the dependent data within the scaled_font and not the scaled_font itself). Track rename of scaled_font_backend->fini.
2005-08-05Rename scaled_font_backend->create to create_toy. Move declaration of ↵Carl Worth5-64/+55
cairo_simple_font_face_t from cairo_font.c to cairoint.h and rename it cairo_toy_font_face_t. Rework create_toy to accept a cairo_toy_font_face_t rather than separate family, slant, and weight. Track change in create_toy interface. Partial rename of simple->toy. It's not complete as this is a step in the process of merging in a large patch of mine which actually removes most of the affected code.
2005-08-05Ignore cairo-clip-private.h.Carl Worth1-5/+2
Drop non-existent cairo-atsui.xml. Fix misnamed parameters in comment blocks. Include config.h so HAVE_UNISTD_H gets picked up as necessary.
2005-08-05Add some missing declarations to the appropriate sections.Carl Worth3-7/+7
churn Rename cairo_path_nil to _cairo_path_nil since it may be exported, and tag it cairo_private to try to avoid exporting it. Qualify it as const well. Track new name of _cairo_path_nil and cast away the const as required.
2005-08-05Remove include of math.h since cairoint.h does it more carefully, (for ↵Carl Worth3-4/+1
annoying platforms for which just including math.h without extra defines is not enough). Replace Cairo with cairo. Include config.h so HAVE_UNISTD_H gets picked up as necessary. Fix non-UTF-8 copyright symbol.
2005-08-05Sort cairo-clip.cCarl Worth1-2/+2
2005-08-05Patch from John Ehresman <jpe@wingide.com> to aid win32 compilation:Carl Worth2-1/+17
Define snprintf as _snprintf when under the influence of _MSC_VER. Define int32_t and friends as __int32 and friends when under the influence of _MSC_VER. Make include of unistd.h conditional on HAVE_UNISTD_H.
2005-08-04Patch from Adrian Johnson <ajohnson@redneon.com>Kristian Høgsberg1-3/+69
Remap composite glyps to use subset font glyph indices.
2005-08-04New files. Move code for manipulating cairo_clip_t out into cairo_clip_* ↵Kristian Høgsberg10-674/+820
functions and put them in cairo-clip.c. Rewrite to use new cairo_clip_t functions for manipulating the clip state, change the clip_and_composite_trapezoids call tree to use cairo_clip_t instead of cairo_gstate_t. Use new cairo_clip_t function to maintain clip state while replaying. Pass fill rule and tolerance directly, to break gstate dependency. New function. Set the clip for a surface as specified by the cairo_clip_t. Move translate_traps() from cairo-gstate.c to here and rename it. Reviewed by: otaylor
2005-08-04Change *_reference() functions to return the object being referenced.Kristian Høgsberg15-49/+80
2005-08-04Check for render bug involving repeated patterns with a general transform ↵Tor Lillqvist1-10/+30
matrix.
2005-08-04Originally 2005-07-13 Carl Worth <cworth@cworth.org>Carl Worth3-117/+122
Export opaque cairo_ft_unscaled_font_t and change _cairo_ft_unscaled_font_[un]lock_face to accept cairo_ft_unscaled_font_t rather than cairo_unscaled_font_t. Cast explicitly to cairo_ft_unscaled_font_t to track change in prototype of _cairo_ft_unscaled_font_[un]lock_face. Lots of renaming to use consistent namespacing: ft_font_transform_t -> cairo_ft_font_transform_t ft_font_face_t -> cairo_ft_font_face_t ft_unscaled_font_t -> cairo_ft_unscaled_font_t Add missing _cairo prefix to many functions. Disambiguate _ft_scaled_font_create and _cairo_ft_scaled_font_create by renaming the former to _cairo_ft_scaled_font_create_for_unscaled. Reviewed by: otaylor
2005-08-01src/cairo-gstate.c src/cairo-gstate-private.h: Store the inverse CTM at the ↵Owen Taylor2-53/+67
time of cairo_gstate_set_source() to "lock" the user space matrix. Move the source pattern transformation to the outside of _cairo_gstate_clip_and_composite_trapezoids() instead of doing it at the leaves. Change size of output surface for aesthetics. Updated to correspond to the current definition. Remove source-surface-scale-paint. reviewed by: cworth
2005-08-01New public header file.Carl Worth10-27/+255
New function to reset all static data (eg. caches) to their initial state. Fix check-valgrind target to depend on the 'all' target. Add check for a new, proposed, XrmFinalize function. Add cairo-debug.c. Move the definition of CAIRO_BEGIN_DECLS to cairo-features.h so that it can be shared between public header files, and so that it doesn't clutter cairo.h Implement reset_static_data in all modules as required. Call cairo_debug_reset_static_data and FcFini so that we can have all tests be valgrind-clean with respect to memory leaks and still-reachable data.
2005-08-01src/cairo.h src/cairoint.h src/cairo-surface.c: Add ↵Owen Taylor4-4/+133
cairo_mark_dirty[_rectangle]() and cairo_flush() for Implement a cairo_flush() that restores the original clip. Also restore the original flush when a surface is finished. Check off the item.
2005-07-31Support versions of freetype without exact FT_Bitmap_Size.x/y_ppem values by ↵Billy Biggs1-1/+7
using the pixel width and height values instead. Add a check for FT_Bitmap_Size.y_ppem. reviewed by: keithp
2005-07-31Cast away the const on the nil surface to avoid a compiler warning.Billy Biggs1-1/+1
2005-07-30Pass the options down to the scaled font object to keep things compiling.Billy Biggs1-1/+1
2005-07-30Replace wide integer divide algorithms with trivial bit-at-a-time code. ↵Keith Packard2-418/+49
Original code was of unclear provenance, this new code is completely different.
2005-07-29src/cairo-quartz-surface.c (_cairo_quartz_surface_acquire_dest_image): Minor ↵Tor Lillqvist2-1/+3
updates to keep quartz backend limping along.
2005-07-29src/cairo-font.c src/cairo-ft-font.c src/cairo-win32-font.c src/cairoint.h: ↵Owen Taylor4-15/+21
Move the font options into the base cairo_scaled_font_t object so that we have them available to use when we are removing a scaled font from the cache. (http://bugzilla.gnome.org/show_bug.cgi?id=#311299, Ali Akcaagac, Behdad Esfahbod)
2005-07-28Run the mask pattern through the CTM in the same way as the source pattern. ↵Carl Worth1-6/+10
This fixes the bug demonstrated by the mask-ctm and mask-surface-ctm tests so they should no longer fail.
2005-07-28Remove const qualifiers that only make things happy with a from-cvs version ↵Carl Worth1-5/+5
of freetype. Now we should be back to being happy with a released version.
2005-07-28Add missing cast.Carl Worth1-1/+1
2005-07-28Fix to call _cairo_error and return 0 on surface-type mismatch.Carl Worth1-0/+10
2005-07-28Fix so that one of three different error status values will be returned:Carl Worth5-13/+61
CAIRO_STATUS_NO_MEMORY CAIRO_STATUS_FILE_NOT_FOUND CAIRO_STATUS_READ_ERROR Add new CAIRO_STATUS_FILE_NOT_FOUND. Add new _cairo_surface_nil_read_error and _cairo_surface_nil_file_not_found. Test the new FILE_NOT_FOUND error.
2005-07-28src/cairo-win32-font.cStuart Parmenter2-3/+3
src/cairo-win32-surface.c Use surface->base.status instead of just surface on cairo_win32_surface_t *s