Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

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


Modified Files:
        evas_gl_common.h evas_gl_gradient.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_common/evas_gl_common.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- evas_gl_common.h    25 Apr 2006 04:00:21 -0000      1.1
+++ evas_gl_common.h    2 May 2006 07:28:48 -0000       1.2
@@ -187,12 +187,15 @@
 
 Evas_GL_Gradient *evas_gl_common_gradient_color_add(Evas_GL_Gradient *gr, int 
r, int g, int b, int a, int distance);
 Evas_GL_Gradient *evas_gl_common_gradient_colors_clear(Evas_GL_Gradient *gr);
+Evas_GL_Gradient *evas_gl_common_gradient_data_set(Evas_GL_Gradient *gr, void 
*data, int len, int has_alpha);
+Evas_GL_Gradient *evas_gl_common_gradient_data_unset(Evas_GL_Gradient *gr);
 void              evas_gl_common_gradient_free(Evas_GL_Gradient *gr);
 void              evas_gl_common_gradient_fill_set(Evas_GL_Gradient *gr, int 
x, int y, int w, int h);
+void              evas_gl_common_gradient_range_offset_set(Evas_GL_Gradient 
*gr, float offset);
 void              evas_gl_common_gradient_type_set(Evas_GL_Gradient *gr, char 
*name);
 void              evas_gl_common_gradient_type_params_set(Evas_GL_Gradient 
*gr, char *params);
 void             *evas_gl_common_gradient_geometry_init(Evas_GL_Gradient *gr, 
int spread);
-int               evas_gl_common_gradient_alpha_get(Evas_GL_Gradient *gr, int 
spread);
+int               evas_gl_common_gradient_alpha_get(Evas_GL_Gradient *gr, int 
spread, int op);
 
 void              evas_gl_common_gradient_map(RGBA_Draw_Context *dc, 
Evas_GL_Gradient *gr, int spread);
 
===================================================================
RCS file: 
/cvs/e/e17/libs/evas/src/modules/engines/gl_common/evas_gl_gradient.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- evas_gl_gradient.c  14 Jan 2006 12:13:37 -0000      1.1
+++ evas_gl_gradient.c  2 May 2006 07:28:48 -0000       1.2
@@ -22,6 +22,24 @@
    return gr;
 }
 
+Evas_GL_Gradient *
+evas_gl_common_gradient_data_set(Evas_GL_Gradient *gr, void * map, int len, 
int has_alpha)
+{
+   if (!gr) gr = calloc(1, sizeof(Evas_GL_Gradient));
+   if (!gr) return NULL;
+   if (!gr->grad) gr->grad = evas_common_gradient_new();
+   evas_common_gradient_data_set(gr->grad, map, len, has_alpha);
+   return gr;
+}
+
+Evas_GL_Gradient *
+evas_gl_common_gradient_data_unset(Evas_GL_Gradient *gr, void * data, int len, 
int has_alpha)
+{
+   if (!gr) return NULL;
+   evas_common_gradient_data_unset(gr->grad);
+   return gr;
+}
+
 void
 evas_gl_common_gradient_free(Evas_GL_Gradient *gr)
 {
@@ -40,6 +58,13 @@
 }
 
 void
+evas_gl_common_gradient_range_offset_set(Evas_GL_Gradient *gr, float offset)
+{
+   if (!gr) return;
+   evas_common_gradient_range_offset_set(gr->grad, offset);
+}
+
+void
 evas_gl_common_gradient_type_set(Evas_GL_Gradient *gr, char *name)
 {
    if (!gr) return;
@@ -62,10 +87,10 @@
 }
 
 int
-evas_gl_common_gradient_alpha_get(Evas_GL_Gradient *gr, int spread)
+evas_gl_common_gradient_alpha_get(Evas_GL_Gradient *gr, int spread, int op)
 {
    if (!gr) return 0;
-   return evas_common_gradient_has_alpha(gr->grad, spread);
+   return evas_common_gradient_has_alpha(gr->grad, spread, op);
 }
 
 void
@@ -170,7 +195,6 @@
 /*
 FIXME: this has been broken by the new gradient code!!
 */
-/*
    dc = evas_common_draw_context_new();
    if (!dc) return;
    evas_common_gradient_map(dc, gr->grad, 0);
@@ -182,12 +206,12 @@
             int i;
 
             for (i = 0; i < 4; i++)
-              memcpy(im->image->data + (i * 256) , map, 256 * sizeof(DATA32));
+                evas_common_scale_rgba_span(map, gr->grad.map.len, 0xffffffff,
+                                            im->image->data + (i * 256), 256);
             im->flags |= RGBA_IMAGE_HAS_ALPHA;
             gr->tex = evas_gl_common_texture_new(gc, im, 0);
             evas_common_image_free(im);
          }
      }
-*/
-//   evas_common_draw_context_free(dc);
+   evas_common_draw_context_free(dc);
 }




-------------------------------------------------------
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