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:


same as previous commit.

===================================================================
RCS file: /cvs/e/e17/libs/evas/src/modules/engines/gl_x11/evas_engine.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- evas_engine.c       6 Sep 2006 07:28:44 -0000       1.15
+++ evas_engine.c       30 Sep 2006 10:18:34 -0000      1.16
@@ -21,6 +21,7 @@
 static void *eng_output_redraws_next_update_get(void *data, int *x, int *y, 
int *w, int *h, int *cx, int *cy, int *cw, int *ch);
 static void eng_output_redraws_next_update_push(void *data, void *surface, int 
x, int y, int w, int h);
 static void eng_output_flush(void *data);
+
 static void *eng_context_new(void *data);
 static void eng_context_free(void *data, void *context);
 static void eng_context_clip_set(void *data, void *context, int x, int y, int 
w, int h);
@@ -40,24 +41,35 @@
 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);
 static void *eng_polygon_points_clear(void *data, void *context, void 
*polygon);
 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_new(void *data);
 static void eng_gradient_free(void *data, void *gradient);
+static void eng_gradient_color_stop_add(void *data, void *gradient, int r, int 
g, int b, int a, int delta);
+static void eng_gradient_alpha_stop_add(void *data, void *gradient, int a, int 
delta);
+static void eng_gradient_color_data_set(void *data, void *gradient, void *map, 
int len, int has_alpha);
+static void eng_gradient_alpha_data_set(void *data, void *gradient, void 
*alpha_map, int len);
+static void eng_gradient_clear(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, 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_gradient_fill_angle_set(void *data, void *gradient, double 
angle);
+static void eng_gradient_fill_spread_set(void *data, void *gradient, int 
spread);
+static void eng_gradient_angle_set(void *data, void *gradient, double angle);
+static void eng_gradient_offset_set(void *data, void *gradient, float offset);
+static void eng_gradient_direction_set(void *data, void *gradient, int 
direction);
+static void eng_gradient_type_set(void *data, void *gradient, char *name, char 
*params);
+static int eng_gradient_is_opaque(void *data, void *context, void *gradient, 
int x, int y, int w, int h);
+static int eng_gradient_is_visible(void *data, void *context, void *gradient, 
int x, int y, int w, int h);
+static void eng_gradient_render_pre(void *data, void *context, void *gradient);
+static void eng_gradient_render_post(void *data, void *gradient);
+static void eng_gradient_draw(void *data, void *context, void *surface, void 
*gradient, int x, int y, int w, int h);
+
 static void *eng_image_load(void *data, char *file, char *key, int *error, 
Evas_Image_Load_Opts *lo);
 static void *eng_image_new_from_data(void *data, int w, int h, DATA32 
*image_data);
 static void *eng_image_new_from_copied_data(void *data, int w, int h, DATA32 
*image_data);
@@ -77,6 +89,7 @@
 static void eng_image_cache_flush(void *data);
 static void eng_image_cache_set(void *data, int bytes);
 static int eng_image_cache_get(void *data);
+
 static void *eng_font_load(void *data, char *name, int size);
 static void *eng_font_memory_load(void *data, char *name, int size, const void 
*fdata, int fdata_size);
 static void *eng_font_add(void *data, void *font, char *name, int size);
@@ -156,18 +169,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,
@@ -295,6 +314,7 @@
        return NULL;
      }
    printf("GL: gl window setup done.\n");
+
    evas_common_cpu_init();
 
    evas_common_blend_init();
@@ -318,6 +338,7 @@
    Render_Engine *re;
 
    re = (Render_Engine *)data;
+   eng_window_free(re->win);
    free(re);
 
    evas_common_font_shutdown();
@@ -655,7 +676,8 @@
 
    re = (Render_Engine *)data;
    eng_window_use(re->win);
-   evas_gl_common_rect_draw(re->win->gl_context, context, x, y, w, h);
+   re->win->gl_context->dc = context;
+   evas_gl_common_rect_draw(re->win->gl_context, x, y, w, h);
 }
 
 static void
@@ -664,7 +686,8 @@
    Render_Engine *re;
 
    re = (Render_Engine *)data;
-   evas_gl_common_line_draw(re->win->gl_context, context, x1, y1, x2, y2);
+   re->win->gl_context->dc = context;
+   evas_gl_common_line_draw(re->win->gl_context, x1, y1, x2, y2);
 }
 
 static void *
@@ -692,130 +715,138 @@
    Render_Engine *re;
 
    re = (Render_Engine *)data;
-   evas_gl_common_poly_draw(re->win->gl_context, context, polygon);
+   re->win->gl_context->dc = context;
+   evas_gl_common_poly_draw(re->win->gl_context, polygon);
 }
 
-static void *
-eng_gradient_color_add(void *data, void *context, void *gradient, int r, int 
g, int b, int a, int distance)
-{
-   Render_Engine *re;
 
-   re = (Render_Engine *)data;
-   return evas_gl_common_gradient_color_add(gradient, r, g, b, a, distance);
-}
 
 static void *
-eng_gradient_colors_clear(void *data, void *context, void *gradient)
+eng_gradient_new(void *data)
 {
-   Render_Engine *re;
+   return evas_gl_common_gradient_new();
+}
 
-   re = (Render_Engine *)data;
-   return evas_gl_common_gradient_colors_clear(gradient);
+static void
+eng_gradient_color_stop_add(void *data, void *gradient, int r, int g, int b, 
int a, int delta)
+{
+   evas_gl_common_gradient_color_stop_add(gradient, r, g, b, a, delta);
 }
 
-static void *
-eng_gradient_data_set(void *data, void *context, void *gradient, void *map, 
int len, int has_alpha)
+static void
+eng_gradient_alpha_stop_add(void *data, void *gradient, int a, int delta)
 {
-   Render_Engine *re;
+   evas_gl_common_gradient_alpha_stop_add(gradient, a, delta);
+}
 
-   re = (Render_Engine *)data;
-   evas_gl_common_gradient_data_set(gradient, map, len, has_alpha);
-   return gradient;
-   context = NULL;
+static void
+eng_gradient_clear(void *data, void *gradient)
+{
+   evas_gl_common_gradient_clear(gradient);
 }
 
-static void *
-eng_gradient_data_unset(void *data, void *context, void *gradient)
+static void
+eng_gradient_color_data_set(void *data, void *gradient, void *map, int len, 
int has_alpha)
 {
-   Render_Engine *re;
+   evas_gl_common_gradient_color_data_set(gradient, map, len, has_alpha);
+}
 
-   re = (Render_Engine *)data;
-   evas_gl_common_gradient_data_unset(gradient);
-   return gradient;
-   context = NULL;
+static void
+eng_gradient_alpha_data_set(void *data, void *gradient, void *alpha_map, int 
len)
+{
+   evas_gl_common_gradient_alpha_data_set(gradient, alpha_map, len);
 }
 
 static void
 eng_gradient_free(void *data, void *gradient)
 {
-   Render_Engine *re;
-
-   re = (Render_Engine *)data;
    evas_gl_common_gradient_free(gradient);
 }
 
 static void
 eng_gradient_fill_set(void *data, void *gradient, int x, int y, int w, int h)
 {
-   Render_Engine *re;
-
-   re = (Render_Engine *)data;
    evas_gl_common_gradient_fill_set(gradient, x, y, w, h);
 }
 
 static void
-eng_gradient_range_offset_set(void *data, void *gradient, float offset)
+eng_gradient_fill_angle_set(void *data, void *gradient, double angle)
 {
-   Render_Engine *re;
-
-   re = (Render_Engine *)data;
-   evas_gl_common_gradient_range_offset_set(gradient, offset);
+   evas_common_gradient_fill_angle_set(gradient, angle);
+}
 
+static void
+eng_gradient_fill_spread_set(void *data, void *gradient, int spread)
+{
+   evas_gl_common_gradient_fill_spread_set(gradient, spread);
 }
 
 static void
-eng_gradient_type_set(void *data, void *gradient, char *name)
+eng_gradient_angle_set(void *data, void *gradient, double angle)
 {
-   Render_Engine *re;
+   evas_gl_common_gradient_map_angle_set(gradient, angle);
+}
 
-   re = (Render_Engine *)data;
-   evas_gl_common_gradient_type_set(gradient, name);
+static void
+eng_gradient_offset_set(void *data, void *gradient, float offset)
+{
+   evas_gl_common_gradient_map_offset_set(gradient, offset);
 }
 
 static void
-eng_gradient_type_params_set(void *data, void *gradient, char *params)
+eng_gradient_direction_set(void *data, void *gradient, int direction)
 {
-   Render_Engine *re;
+   evas_gl_common_gradient_map_direction_set(gradient, direction);
+}
 
-   re = (Render_Engine *)data;
-   evas_gl_common_gradient_type_params_set(gradient, params);
+static void
+eng_gradient_type_set(void *data, void *gradient, char *name, char *params)
+{
+   evas_gl_common_gradient_type_set(gradient, name, params);
 }
 
-static void *
-eng_gradient_geometry_init(void *data, void *gradient, int spread)
+static int
+eng_gradient_is_opaque(void *data, void *context, void *gradient, int x, int 
y, int w, int h)
 {
-   Render_Engine *re;
+   Render_Engine *re = (Render_Engine *)data;
 
-   re = (Render_Engine *)data;
-   return evas_gl_common_gradient_geometry_init(gradient, spread);
+   re->win->gl_context->dc = context;
+   return evas_gl_common_gradient_is_opaque(re->win->gl_context, gradient, x, 
y, w, h);
 }
 
 static int
-eng_gradient_alpha_get(void *data, void *gradient, int spread, int op)
+eng_gradient_is_visible(void *data, void *context, void *gradient, int x, int 
y, int w, int h)
 {
-   Render_Engine *re;
+   Render_Engine *re = (Render_Engine *)data;
 
-   re = (Render_Engine *)data;
-   return evas_gl_common_gradient_alpha_get(gradient, spread, op);
+   re->win->gl_context->dc = context;
+   return evas_gl_common_gradient_is_visible(re->win->gl_context, gradient, x, 
y, w, h);
 }
 
 static void
-eng_gradient_map(void *data, void *context, void *gradient, int spread)
+eng_gradient_render_pre(void *data, void *context, void *gradient)
 {
-   Render_Engine *re;
+   Render_Engine *re = (Render_Engine *)data;
 
-   re = (Render_Engine *)data;
-   evas_gl_common_gradient_map(context, gradient, spread);
+   re->win->gl_context->dc = context;
+   evas_gl_common_gradient_render_pre(re->win->gl_context, gradient);
+}
+
+static void
+eng_gradient_render_post(void *data, void *gradient)
+{
+   evas_gl_common_gradient_render_post(gradient);
 }
 
 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)
 {
    Render_Engine *re;
 
    re = (Render_Engine *)data;
    eng_window_use(re->win);
-   evas_gl_common_gradient_draw(re->win->gl_context, context, gradient, x, y, 
w, h, angle, spread);
+   re->win->gl_context->dc = context;
+   evas_gl_common_gradient_draw(re->win->gl_context, gradient, x, y, w, h);
 }
 
 static void *
@@ -1027,7 +1058,8 @@
 
    re = (Render_Engine *)data;
    eng_window_use(re->win);
-   evas_gl_common_image_draw(re->win->gl_context, context, image,
+   re->win->gl_context->dc = context;
+   evas_gl_common_image_draw(re->win->gl_context, image,
                             src_x, src_y, src_w, src_h,
                             dst_x, dst_y, dst_w, dst_h,
                             smooth);



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