SOURCES: libgdiplus-glitz.patch (NEW) - copied from cairo-glitz.patch

wolf wolf at pld-linux.org
Sun Jun 19 00:00:47 CEST 2005


Author: wolf                         Date: Sat Jun 18 22:00:47 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- copied from cairo-glitz.patch

---- Files affected:
SOURCES:
   libgdiplus-glitz.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/libgdiplus-glitz.patch
diff -u /dev/null SOURCES/libgdiplus-glitz.patch:1.1
--- /dev/null	Sun Jun 19 00:00:47 2005
+++ SOURCES/libgdiplus-glitz.patch	Sun Jun 19 00:00:42 2005
@@ -0,0 +1,171 @@
+===================================================================
+RCS file: /cvs/cairo/cairo/src/cairo_glitz_surface.c,v
+retrieving revision 1.14
+retrieving revision 1.15
+diff -u -r1.14 -r1.15
+--- cairo/src/cairo_glitz_surface.c	2005/01/20 16:28:54	1.14
++++ cairo/src/cairo_glitz_surface.c	2005/01/25 20:21:33	1.15
+@@ -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);
================================================================



More information about the pld-cvs-commit mailing list