diff options
author | Michael Johnson <ahze@FreeBSD.org> | 2005-02-17 00:23:58 +0000 |
---|---|---|
committer | Michael Johnson <ahze@FreeBSD.org> | 2005-02-17 00:23:58 +0000 |
commit | 7ceced204ed9a07bb3a19f7e2dab14ad0e1b4f37 (patch) | |
tree | 1c21f21497e46b3cdf598348a6244fbb5ef2e8cf /graphics | |
parent | f6928e4f62d9de4c81fb4fd914e0ea9088fe0b04 (diff) | |
download | ports-7ceced204ed9a07bb3a19f7e2dab14ad0e1b4f37.tar.gz ports-7ceced204ed9a07bb3a19f7e2dab14ad0e1b4f37.zip |
Notes
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/cairo/files/patch-src_cairo_glitz_surface.c | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/graphics/cairo/files/patch-src_cairo_glitz_surface.c b/graphics/cairo/files/patch-src_cairo_glitz_surface.c new file mode 100644 index 000000000000..b8572bb06980 --- /dev/null +++ b/graphics/cairo/files/patch-src_cairo_glitz_surface.c @@ -0,0 +1,166 @@ +--- 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); |