diff options
author | recht <recht@pkgsrc.org> | 2005-03-27 12:29:17 +0000 |
---|---|---|
committer | recht <recht@pkgsrc.org> | 2005-03-27 12:29:17 +0000 |
commit | 98ddbf2fbb720bb3fe7d7acd338a56041abb3814 (patch) | |
tree | d1c886055e5e06b63e67f81c0e916b1d65b79425 /graphics/cairo | |
parent | 2de461a25fb739effa97874d29a26644c0bdd2cd (diff) | |
download | pkgsrc-98ddbf2fbb720bb3fe7d7acd338a56041abb3814.tar.gz |
update to cairo-0.4.0
http://cairographics.org/manual/cairo-Microsoft-Windows-Backend.html
Disabled backend: quartz
------------------------
Unfortunately, the quartz backend code is currently out of date with
respect to some recent backend interface changes. So, the quartz
backend is disabled in this snapshot.
If the quartz backend is brought up-to-date before the next snapshot,
we would be glad to make a 0.4.1 snapshot that re-enables it, (we do
not expect many more big backend interface changes).
API Changes
-----------
The font system has been revamped, (as Owen Taylor's work with
integrating pango and cairo gave us the first serious usage of the
non-toy font API).
One fundamental, user-visible change is that the cairo_font_t object
now represents a font that is scaled to a particular device
resolution. Further changes are described below.
cairo.h
-------
Removed cairo_font_set_transform and cairo_font_current_transform.
Added cairo_font_extents and cairo_font_glyph_extents. See
documentation for details:
http://cairographics.org/manual/cairo-cairo-t.html#cairo-font-extents
cairo-ft.h
----------
The cairo_ft_font API changed considerably. Please see the
documentation for details:
http://cairographics.org/manual/cairo-FreeType-Fonts.html
Performance
-----------
Make the fast-path clipping (pixel-aligned rectangles) faster.
Add optimization for applying a constant alpha to a pattern.
Optimize gradients that are horizontal or vertical in device space.
Xlib: When RENDER is not available, use image surfaces for
intermediate surfaces rather than xlib surfaces.
Backend-specific changes
------------------------
Glitz
-----
Major update to glitz backend. The output quality should now be just
as good as the image and xlib backends.
Track changes to glitz 0.4.0.
PDF
---
Various improvements to produce more conformant output.
Internals
---------
David Reveman contributed a large re-work of the cairo_pattern_t
implementation, providing cleaner code and more optimization
opportunities.
Backend interface changes
-------------------------
Rework backend interface to accept patterns, not surfaces for source
and mask.
Remove set_matrix, set_filter, and set_repeat functions.
More sophisticated backend interface for image fallbacks,
({acquire,release}_{source,dest}_image() and clone_similar).
Bug fixes
---------
Only install header files for backends that have been compiled.
Fixed some rounding errors leading to incorrectly placed glyphs.
Many other minor fixes.
Diffstat (limited to 'graphics/cairo')
-rw-r--r-- | graphics/cairo/Makefile | 9 | ||||
-rw-r--r-- | graphics/cairo/PLIST | 30 | ||||
-rw-r--r-- | graphics/cairo/buildlink3.mk | 7 | ||||
-rw-r--r-- | graphics/cairo/distinfo | 9 | ||||
-rw-r--r-- | graphics/cairo/patches/patch-aa | 169 |
5 files changed, 41 insertions, 183 deletions
diff --git a/graphics/cairo/Makefile b/graphics/cairo/Makefile index fb585d89820..e157cf78729 100644 --- a/graphics/cairo/Makefile +++ b/graphics/cairo/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.14 2005/02/17 13:34:16 xtraeme Exp $ +# $NetBSD: Makefile,v 1.15 2005/03/27 12:29:17 recht Exp $ -DISTNAME= cairo-0.3.0 +DISTNAME= cairo-0.4.0 CATEGORIES= graphics MASTER_SITES= http://cairographics.org/snapshots/ @@ -14,12 +14,17 @@ USE_PKGLOCALEDIR= yes USE_X11= yes GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE+= cairo.pc.in +CONFIGURE_ARGS+= --disable-atsui +CONFIGURE_ARGS+= --disable-xcb +CONFIGURE_ARGS+= --with-html-dir=${PREFIX}/share/doc BUILDLINK_DEPENDS.freetype2+= freetype2>=2.1.5 BUILDLINK_DEPENDS.Xft2+= Xft2>=2.1.2 BUILDLINK_DEPENDS.Xrender+= Xrender>=0.8 .include "../../devel/pkgconfig/buildlink3.mk" +.include "../../devel/zlib/buildlink3.mk" +.include "../../fonts/fontconfig/buildlink3.mk" .include "../../fonts/Xft2/buildlink3.mk" .include "../../graphics/freetype2/buildlink3.mk" .include "../../graphics/glitz/buildlink3.mk" diff --git a/graphics/cairo/PLIST b/graphics/cairo/PLIST index e8f34af2634..7ccc76c4a5a 100644 --- a/graphics/cairo/PLIST +++ b/graphics/cairo/PLIST @@ -1,15 +1,37 @@ -@comment $NetBSD: PLIST,v 1.3 2005/02/17 13:34:16 xtraeme Exp $ -include/cairo/cairo-atsui.h +@comment $NetBSD: PLIST,v 1.4 2005/03/27 12:29:17 recht Exp $ include/cairo/cairo-features.h include/cairo/cairo-ft.h include/cairo/cairo-glitz.h include/cairo/cairo-pdf.h include/cairo/cairo-png.h include/cairo/cairo-ps.h -include/cairo/cairo-quartz.h -include/cairo/cairo-xcb.h include/cairo/cairo-xlib.h include/cairo/cairo.h lib/libcairo.la lib/pkgconfig/cairo.pc +share/doc/cairo/cairo-ATSUI-Fonts.html +share/doc/cairo/cairo-FreeType-Fonts.html +share/doc/cairo/cairo-Glitz-backend.html +share/doc/cairo/cairo-Microsoft-Windows-Backend.html +share/doc/cairo/cairo-PDF-Backend.html +share/doc/cairo/cairo-PNG-Backend.html +share/doc/cairo/cairo-PS-Backend.html +share/doc/cairo/cairo-Quartz-Backend.html +share/doc/cairo/cairo-XCB-Backend.html +share/doc/cairo/cairo-XLib-Backend.html +share/doc/cairo/cairo-cairo-matrix-t.html +share/doc/cairo/cairo-cairo-pattern-t.html +share/doc/cairo/cairo-cairo-surface-t.html +share/doc/cairo/cairo-cairo-t.html +share/doc/cairo/cairo.devhelp +share/doc/cairo/home.png +share/doc/cairo/index.html +share/doc/cairo/index.sgml +share/doc/cairo/left.png +share/doc/cairo/pt01.html +share/doc/cairo/pt02.html +share/doc/cairo/right.png +share/doc/cairo/style.css +share/doc/cairo/up.png +@dirrm share/doc/cairo @dirrm include/cairo diff --git a/graphics/cairo/buildlink3.mk b/graphics/cairo/buildlink3.mk index 60d42283c28..71e9ef62e96 100644 --- a/graphics/cairo/buildlink3.mk +++ b/graphics/cairo/buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink3.mk,v 1.9 2004/10/03 00:14:49 tv Exp $ +# $NetBSD: buildlink3.mk,v 1.10 2005/03/27 12:29:17 recht Exp $ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+ CAIRO_BUILDLINK3_MK:= ${CAIRO_BUILDLINK3_MK}+ @@ -11,8 +11,7 @@ BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Ncairo} BUILDLINK_PACKAGES+= cairo .if !empty(CAIRO_BUILDLINK3_MK:M+) -BUILDLINK_DEPENDS.cairo+= cairo>=0.1.23 -BUILDLINK_RECOMMENDED.cairo+= cairo>=0.1.23nb2 +BUILDLINK_DEPENDS.cairo+= cairo>=0.4.0 BUILDLINK_PKGSRCDIR.cairo?= ../../graphics/cairo BUILDLINK_DEPENDS.freetype2+= freetype2>=2.1.5 @@ -20,6 +19,8 @@ BUILDLINK_DEPENDS.Xft2+= Xft2>=2.1.2 BUILDLINK_DEPENDS.Xrender+= Xrender>=0.8 .endif # CAIRO_BUILDLINK3_MK +.include "../../devel/zlib/buildlink3.mk" +.include "../../fonts/fontconfig/buildlink3.mk" .include "../../fonts/Xft2/buildlink3.mk" .include "../../graphics/freetype2/buildlink3.mk" .include "../../graphics/glitz/buildlink3.mk" diff --git a/graphics/cairo/distinfo b/graphics/cairo/distinfo index 062e2b8163b..66bab2e6607 100644 --- a/graphics/cairo/distinfo +++ b/graphics/cairo/distinfo @@ -1,6 +1,5 @@ -$NetBSD: distinfo,v 1.8 2005/02/24 08:45:03 agc Exp $ +$NetBSD: distinfo,v 1.9 2005/03/27 12:29:17 recht Exp $ -SHA1 (cairo-0.3.0.tar.gz) = 0ad4efaffb36dabc15e20671026c7eb98186a16e -RMD160 (cairo-0.3.0.tar.gz) = 09bdc5ea2a0121eac6accfe46d6d48c80597bff0 -Size (cairo-0.3.0.tar.gz) = 514446 bytes -SHA1 (patch-aa) = d339f9fe8cceba0966959679e965853c2c0784d2 +SHA1 (cairo-0.4.0.tar.gz) = 296b4c81de01f22ed4e7525c40471bc7f347e7f1 +RMD160 (cairo-0.4.0.tar.gz) = 4608b3f89c3b08d1442dded7f5fc15fcdcdd7788 +Size (cairo-0.4.0.tar.gz) = 781463 bytes diff --git a/graphics/cairo/patches/patch-aa b/graphics/cairo/patches/patch-aa deleted file mode 100644 index 36054908469..00000000000 --- a/graphics/cairo/patches/patch-aa +++ /dev/null @@ -1,169 +0,0 @@ -$NetBSD: patch-aa,v 1.3 2005/02/17 13:34:16 xtraeme Exp $ - ---- src/cairo_glitz_surface.c.orig Thu Jan 20 11:29:19 2005 -+++ src/cairo_glitz_surface.c Wed Feb 16 19:20:26 2005 -@@ -333,7 +333,7 @@ - if (format == NULL) - return NULL; - -- surface = glitz_surface_create (drawable, format, 1, 1); -+ surface = glitz_surface_create (drawable, format, 1, 1, 0, NULL); - if (surface == NULL) - return NULL; - -@@ -355,7 +355,6 @@ - glitz_drawable_format_t templ; - glitz_format_t *format; - glitz_drawable_t *pbuffer; -- glitz_pbuffer_attributes_t attributes; - unsigned long mask; - int i; - -@@ -397,21 +396,13 @@ - if (!dformat) - return CAIRO_INT_STATUS_UNSUPPORTED; - -- attributes.width = glitz_surface_get_width (surface); -- attributes.height = glitz_surface_get_height (surface); -- mask = GLITZ_PBUFFER_WIDTH_MASK | GLITZ_PBUFFER_HEIGHT_MASK; -- -- pbuffer = glitz_create_pbuffer_drawable (drawable, dformat, -- &attributes, mask); -+ pbuffer = -+ glitz_create_pbuffer_drawable (drawable, dformat, -+ glitz_surface_get_width (surface), -+ glitz_surface_get_height (surface)); - if (!pbuffer) - return CAIRO_INT_STATUS_UNSUPPORTED; - -- if (glitz_drawable_get_width (pbuffer) < attributes.width || -- glitz_drawable_get_height (pbuffer) < attributes.height) { -- glitz_drawable_destroy (pbuffer); -- return CAIRO_INT_STATUS_UNSUPPORTED; -- } -- - glitz_surface_attach (surface, pbuffer, - GLITZ_DRAWABLE_BUFFER_FRONT_COLOR, - 0, 0); -@@ -457,7 +448,7 @@ - if (gformat == NULL) - return NULL; - -- surface = glitz_surface_create (drawable, gformat, width, height); -+ surface = glitz_surface_create (drawable, gformat, width, height, 0, NULL); - if (surface == NULL) - return NULL; - -@@ -510,7 +501,8 @@ - int width, - int height, - glitz_buffer_t *geometry, -- glitz_geometry_format_t *format) -+ glitz_geometry_format_t *format, -+ int count) - { - if (_glitz_ensure_target (dst)) - return CAIRO_INT_STATUS_UNSUPPORTED; -@@ -518,9 +510,10 @@ - if (glitz_surface_get_status (dst)) - return CAIRO_STATUS_NO_TARGET_SURFACE; - -- glitz_set_geometry (dst, -- 0, 0, -- format, geometry); -+ if (geometry) { -+ glitz_set_geometry (dst, GLITZ_GEOMETRY_TYPE_VERTEX, format, geometry); -+ glitz_set_array (dst, 0, 2, count, 0, 0); -+ } - - glitz_composite (op, - src, -@@ -531,7 +524,7 @@ - dst_x, dst_y, - width, height); - -- glitz_set_geometry (dst, 0, 0, NULL, NULL); -+ glitz_set_geometry (dst, GLITZ_GEOMETRY_TYPE_NONE, NULL, NULL); - - if (glitz_surface_get_status (dst) == GLITZ_STATUS_NOT_SUPPORTED) - return CAIRO_INT_STATUS_UNSUPPORTED; -@@ -589,7 +582,7 @@ - mask_x, mask_y, - dst_x, dst_y, - width, height, -- NULL, NULL); -+ NULL, NULL, 0); - - if (src_clone) - cairo_surface_destroy (&src_clone->base); -@@ -624,16 +617,16 @@ - glitz_buffer_t *buffer; - glitz_geometry_format_t gf; - cairo_int_status_t status; -- int width, height; -+ int width, height, count; - void *data; - -- gf.mode = GLITZ_GEOMETRY_MODE_DIRECT; -- gf.edge_hint = GLITZ_GEOMETRY_EDGE_HINT_SHARP; -- gf.primitive = GLITZ_GEOMETRY_PRIMITIVE_QUADS; -- gf.type = GLITZ_DATA_TYPE_FLOAT; -- gf.first = 0; -- gf.count = n_rects * 4; -+ gf.vertex.primitive = GLITZ_PRIMITIVE_QUADS; -+ gf.vertex.type = GLITZ_DATA_TYPE_FLOAT; -+ gf.vertex.bytes_per_vertex = 2 * sizeof (glitz_float_t); -+ gf.vertex.attributes = 0; - -+ count = n_rects * 4; -+ - data = malloc (n_rects * 8 * sizeof (glitz_float_t)); - if (!data) - return CAIRO_STATUS_NO_MEMORY; -@@ -678,7 +671,7 @@ - 0, 0, - 0, 0, - width, height, -- buffer, &gf); -+ buffer, &gf, count); - - glitz_surface_destroy (solid); - glitz_buffer_destroy (buffer); -@@ -715,7 +708,7 @@ - glitz_buffer_t *buffer; - glitz_geometry_format_t gf; - cairo_int_status_t status; -- int x_dst, y_dst, x_rel, y_rel, width, height; -+ int x_dst, y_dst, x_rel, y_rel, width, height, count; - void *data; - - if (op == CAIRO_OPERATOR_SATURATE) -@@ -724,12 +717,12 @@ - if (generic_src->backend != dst->base.backend) - return CAIRO_INT_STATUS_UNSUPPORTED; - -- gf.mode = GLITZ_GEOMETRY_MODE_DIRECT; -- gf.edge_hint = GLITZ_GEOMETRY_EDGE_HINT_GOOD_SMOOTH; -- gf.primitive = GLITZ_GEOMETRY_PRIMITIVE_QUADS; -- gf.type = GLITZ_DATA_TYPE_FLOAT; -- gf.first = 0; -- gf.count = n_traps * 4; -+ gf.vertex.primitive = GLITZ_PRIMITIVE_QUADS; -+ gf.vertex.type = GLITZ_DATA_TYPE_FLOAT; -+ gf.vertex.bytes_per_vertex = 2 * sizeof (glitz_float_t); -+ gf.vertex.attributes = 0; -+ -+ count = n_traps * 4; - - data = malloc (n_traps * 8 * sizeof (glitz_float_t)); - if (!data) -@@ -795,7 +788,7 @@ - 0, 0, - x_dst, y_dst, - width, height, -- buffer, &gf); -+ buffer, &gf, count); - - if (mask) - glitz_surface_destroy (mask); - |