Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/modules/engines/gl_x11


Modified Files:
        evas_engine.c 


Log Message:


jose's software rendering work - slight improvements (about 5-10%). i had to
disable destination alha mmx support for text rendering (mask + color) as it
was broken in tests.

===================================================================
RCS file: /cvs/e/e17/libs/evas/src/modules/engines/gl_x11/evas_engine.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- evas_engine.c       25 Apr 2006 04:00:21 -0000      1.8
+++ evas_engine.c       2 May 2006 07:28:49 -0000       1.9
@@ -38,6 +38,8 @@
 static unsigned char eng_context_anti_alias_get(void *data, void *context);
 static void eng_context_color_interpolation_set(void *data, void *context, int 
color_space);
 static int eng_context_color_interpolation_get(void *data, void *context);
+static void eng_context_render_op_set(void *data, void *context, int op);
+static int eng_context_render_op_get(void *data, void *context);
 static void eng_rectangle_draw(void *data, void *context, void *surface, int 
x, int y, int w, int h);
 static void eng_line_draw(void *data, void *context, void *surface, int x1, 
int y1, int x2, int y2);
 static void *eng_polygon_point_add(void *data, void *context, void *polygon, 
int x, int y);
@@ -45,12 +47,15 @@
 static void eng_polygon_draw(void *data, void *context, void *surface, void 
*polygon);
 static void *eng_gradient_color_add(void *data, void *context, void *gradient, 
int r, int g, int b, int a, int distance);
 static void *eng_gradient_colors_clear(void *data, void *context, void 
*gradient);
+static void *eng_gradient_data_set(void *data, void *context, void *gradient, 
void *map, int len, int has_alpha);
+static void *eng_gradient_data_unset(void *data, void *context, void 
*gradient);
 static void eng_gradient_free(void *data, void *gradient);
 static void eng_gradient_fill_set(void *data, void *gradient, int x, int y, 
int w, int h);
+static void eng_gradient_range_offset_set(void *data, void *gradient, float 
offset);
 static void eng_gradient_type_set(void *data, void *gradient, char *name);
 static void eng_gradient_type_params_set(void *data, void *gradient, char 
*params);
 static void *eng_gradient_geometry_init(void *data, void *gradient, int 
spread);
-static int  eng_gradient_alpha_get(void *data, void *gradient, int spread);
+static int  eng_gradient_alpha_get(void *data, void *gradient, int spread, int 
op);
 static void eng_gradient_map(void *data, void *context, void *gradient, int 
spread);
 static void eng_gradient_draw(void *data, void *context, void *surface, void 
*gradient, int x, int y, int w, int h, double angle, int spread);
 static void *eng_image_load(void *data, char *file, char *key, int *error);
@@ -138,6 +143,8 @@
      eng_context_anti_alias_get,
      eng_context_color_interpolation_set,
      eng_context_color_interpolation_get,
+     eng_context_render_op_set,
+     engine_context_render_op_get,
      /* rectangle draw funcs */
      eng_rectangle_draw,
      /* line draw funcs */
@@ -149,8 +156,11 @@
      /* gradient draw funcs */
      eng_gradient_color_add,
      eng_gradient_colors_clear,
+     eng_gradient_data_set,
+     eng_gradient_data_unset,
      eng_gradient_free,
      eng_gradient_fill_set,
+     eng_gradient_range_offset_set,
      eng_gradient_type_set,
      eng_gradient_type_params_set,
      eng_gradient_geometry_init,
@@ -611,6 +621,24 @@
    return ((RGBA_Draw_Context *)context)->interpolation.color_space;
 }
 
+static void
+eng_context_render_op_set(void *data, void *context, int op)
+{
+   Render_Engine *re;
+
+   re = (Render_Engine *)data;
+   evas_common_draw_context_set_render_op(context, op);
+}
+
+static int
+eng_context_render_op_get(void *data, void *context)
+{
+   Render_Engine *re;
+
+   re = (Render_Engine *)data;
+   return ((RGBA_Draw_Context *)context)->render_op;
+}
+
 
 
 
@@ -681,6 +709,28 @@
    return evas_gl_common_gradient_colors_clear(gradient);
 }
 
+static void *
+eng_gradient_data_set(void *data, void *context, void *gradient, void *map, 
int len, int has_alpha)
+{
+   Render_Engine *re;
+
+   re = (Render_Engine *)data;
+   evas_gl_common_gradient_data_set(gradient, map, len, has_alpha);
+   return gradient;
+   context = NULL;
+}
+
+static void *
+eng_gradient_data_unset(void *data, void *context, void *gradient)
+{
+   Render_Engine *re;
+
+   re = (Render_Engine *)data;
+   evas_gl_common_gradient_data_unset(gradient);
+   return gradient;
+   context = NULL;
+}
+
 static void
 eng_gradient_free(void *data, void *gradient)
 {
@@ -727,12 +777,12 @@
 }
 
 static int
-eng_gradient_alpha_get(void *data, void *gradient, int spread)
+eng_gradient_alpha_get(void *data, void *gradient, int spread, int op)
 {
    Render_Engine *re;
 
    re = (Render_Engine *)data;
-   return evas_gl_common_gradient_alpha_get(gradient, spread);
+   return evas_gl_common_gradient_alpha_get(gradient, spread, op);
 }
 
 static void




-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to