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