Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

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


Modified Files:
        evas_engine.c 


Log Message:


same as previous commit.

===================================================================
RCS file: 
/cvs/e/e17/libs/evas/src/modules/engines/software_generic/evas_engine.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- evas_engine.c       6 Sep 2006 07:28:44 -0000       1.7
+++ evas_engine.c       30 Sep 2006 10:18:34 -0000      1.8
@@ -171,40 +171,45 @@
 }
 
 static void *
-eng_gradient_color_add(void *data, void *context, void *gradient, int r, int 
g, int b, int a, int distance)
+eng_gradient_new(void *data)
 {
-   if (!gradient) gradient = evas_common_gradient_new();
-   evas_common_gradient_color_add(gradient, r, g, b, a, distance);
-   return gradient;
+   return evas_common_gradient_new();
 }
 
-static void *
-eng_gradient_colors_clear(void *data, void *context, void *gradient)
+static void
+eng_gradient_free(void *data, void *gradient)
 {
-   evas_common_gradient_colors_clear(gradient);
-   return gradient;
+   evas_common_gradient_free(gradient);
 }
 
-static void *
-eng_gradient_data_set(void *data, void *context, void *gradient, void *map, 
int len, int has_alpha)
+static void
+eng_gradient_color_stop_add(void *data, void *gradient, int r, int g, int b, 
int a, int delta)
 {
-   if (!gradient)
-     gradient = evas_common_gradient_new();
-   evas_common_gradient_data_set(gradient, map, len, has_alpha);
-   return gradient;
+   evas_common_gradient_color_stop_add(gradient, r, g, b, a, delta);
 }
 
-static void *
-eng_gradient_data_unset(void *data, void *context, void *gradient)
+static void
+eng_gradient_alpha_stop_add(void *data, void *gradient, int a, int delta)
 {
-   evas_common_gradient_data_unset(gradient);
-   return gradient;
+   evas_common_gradient_alpha_stop_add(gradient, a, delta);
 }
 
 static void
-eng_gradient_free(void *data, void *gradient)
+eng_gradient_color_data_set(void *data, void *gradient, void *map, int len, 
int has_alpha)
 {
-   evas_common_gradient_free(gradient);
+   evas_common_gradient_color_data_set(gradient, map, len, has_alpha);
+}
+
+static void
+eng_gradient_alpha_data_set(void *data, void *gradient, void *alpha_map, int 
len)
+{
+   evas_common_gradient_alpha_data_set(gradient, alpha_map, len);
+}
+
+static void
+eng_gradient_clear(void *data, void *gradient)
+{
+   evas_common_gradient_clear(gradient);
 }
 
 static void
@@ -214,46 +219,83 @@
 }
 
 static void
-eng_gradient_range_offset_set(void *data, void *gradient, float offset)
+eng_gradient_fill_angle_set(void *data, void *gradient, double angle)
 {
-   evas_common_gradient_range_offset_set(gradient, offset);
+   evas_common_gradient_fill_angle_set(gradient, angle);
 }
 
 static void
-eng_gradient_type_set(void *data, void *gradient, char *name)
+eng_gradient_fill_spread_set(void *data, void *gradient, int spread)
 {
-   evas_common_gradient_type_set(gradient, name);
+   evas_common_gradient_fill_spread_set(gradient, spread);
 }
 
 static void
-eng_gradient_type_params_set(void *data, void *gradient, char *params)
+eng_gradient_angle_set(void *data, void *gradient, double angle)
 {
-   evas_common_gradient_type_params_set(gradient, params);
+   evas_common_gradient_map_angle_set(gradient, angle);
 }
 
-static void *
-eng_gradient_geometry_init(void *data, void *gradient, int spread)
+static void
+eng_gradient_offset_set(void *data, void *gradient, float offset)
 {
-   gradient = evas_common_gradient_geometry_init(gradient, spread);
-   return gradient;
+   evas_common_gradient_map_offset_set(gradient, offset);
+}
+
+static void
+eng_gradient_direction_set(void *data, void *gradient, int direction)
+{
+   evas_common_gradient_map_direction_set(gradient, direction);
+}
+
+static void
+eng_gradient_type_set(void *data, void *gradient, char *name, char *params)
+{
+   evas_common_gradient_type_set(gradient, name, params);
 }
 
 static int
-eng_gradient_alpha_get(void *data, void *gradient, int spread, int op)
+eng_gradient_is_opaque(void *data, void *context, void *gradient, int x, int 
y, int w, int h)
 {
-   return evas_common_gradient_has_alpha(gradient, spread, op);
+   RGBA_Draw_Context *dc = (RGBA_Draw_Context *)context;
+   RGBA_Gradient *gr = (RGBA_Gradient *)gradient;
+
+   if (!dc || !gr || !gr->type.geometer)  return 0;
+   return !(gr->type.geometer->has_alpha(gr, dc->render_op) |
+              gr->type.geometer->has_mask(gr, dc->render_op));
+}
+
+static int
+eng_gradient_is_visible(void *data, void *context, void *gradient, int x, int 
y, int w, int h)
+{
+   RGBA_Draw_Context *dc = (RGBA_Draw_Context *)context;
+
+   if (!dc || !gradient)  return 0;
+   return 1;
+}
+
+static void
+eng_gradient_render_pre(void *data, void *context, void *gradient)
+{
+   RGBA_Draw_Context *dc = (RGBA_Draw_Context *)context;
+   RGBA_Gradient *gr = (RGBA_Gradient *)gradient;
+   int  len;
+
+   if (!dc || !gr || !gr->type.geometer)  return;
+   gr->type.geometer->geom_set(gr);
+   len = gr->type.geometer->get_map_len(gr);
+   evas_common_gradient_map(dc, gr, len);
 }
 
 static void
-eng_gradient_map(void *data, void *context, void *gradient, int spread)
+eng_gradient_render_post(void *data, void *gradient)
 {
-   evas_common_gradient_map(context, gradient, 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)
+eng_gradient_draw(void *data, void *context, void *surface, void *gradient, 
int x, int y, int w, int h)
 {
-   evas_common_gradient_draw(surface, context, x, y, w, h, gradient, angle, 
spread);
+   evas_common_gradient_draw(surface, context, x, y, w, h, gradient);
 }
 
 static void *
@@ -713,18 +755,24 @@
      eng_polygon_points_clear,
      eng_polygon_draw,
      /* gradient draw funcs */
-     eng_gradient_color_add,
-     eng_gradient_colors_clear,
-     eng_gradient_data_set,
-     eng_gradient_data_unset,
+     eng_gradient_new,
      eng_gradient_free,
+     eng_gradient_color_stop_add,
+     eng_gradient_alpha_stop_add,
+     eng_gradient_color_data_set,
+     eng_gradient_alpha_data_set,
+     eng_gradient_clear,
      eng_gradient_fill_set,
-     eng_gradient_range_offset_set,
+     eng_gradient_fill_angle_set,
+     eng_gradient_fill_spread_set,
+     eng_gradient_angle_set,
+     eng_gradient_offset_set,
+     eng_gradient_direction_set,
      eng_gradient_type_set,
-     eng_gradient_type_params_set,
-     eng_gradient_geometry_init,
-     eng_gradient_alpha_get,
-     eng_gradient_map,
+     eng_gradient_is_opaque,
+     eng_gradient_is_visible,
+     eng_gradient_render_pre,
+     eng_gradient_render_post,
      eng_gradient_draw,
      /* image draw funcs */
      eng_image_load,



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to