Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/modules/engines/directfb Modified Files: evas_engine_dfb.c evas_engine_dfb.h 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/directfb/evas_engine_dfb.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- evas_engine_dfb.c 28 Feb 2006 04:07:48 -0000 1.2 +++ evas_engine_dfb.c 2 May 2006 07:28:48 -0000 1.3 @@ -33,6 +33,8 @@ evas_engine_directfb_context_anti_alias_get, evas_engine_directfb_context_color_interpolation_set, evas_engine_directfb_context_color_interpolation_get, + evas_engine_directfb_context_render_op_set, + evas_engine_directfb_context_render_op_get, /* rectangle draw funcs */ evas_engine_directfb_draw_rectangle, /* line draw funcs */ @@ -44,8 +46,11 @@ /* gardient draw funcs */ evas_engine_directfb_gradient_color_add, evas_engine_directfb_gradient_colors_clear, + evas_engine_directfb_gradient_data_set, + evas_engine_directfb_gradient_data_unset, evas_engine_directfb_gradient_free, evas_engine_directfb_gradient_fill_set, + evas_engine_directfb_gradient_range_offset_set, evas_engine_directfb_gradient_type_set, evas_engine_directfb_gradient_type_params_set, evas_engine_directfb_gradient_geometry_init, @@ -549,6 +554,25 @@ return ((RGBA_Draw_Context *)context)->interpolation.color_space; } +void +evas_engine_directfb_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); +} + +int +evas_engine_directfb_context_render_op_get(void *data, void *context) +{ + Render_Engine *re; + + re = (Render_Engine *)data; + return ((RGBA_Draw_Context *)context)->render_op; +} + + /* * Rectangles * @@ -762,6 +786,30 @@ context = NULL; } +void * +evas_engine_directfb_gradient_data_set(void *data, void *context, void *gradient, void *map, int len, int has_alpha) +{ + Render_Engine *re; + + re = (Render_Engine *)data; + if (!gradient) + gradient = evas_common_gradient_new(); + evas_common_gradient_data_set(gradient, map, len, has_alpha); + return gradient; + context = NULL; +} + +void * +evas_engine_directfb_gradient_data_unset(void *data, void *context, void *gradient) +{ + Render_Engine *re; + + re = (Render_Engine *)data; + evas_common_gradient_data_unset(gradient); + return gradient; + context = NULL; +} + void evas_engine_directfb_gradient_free(void *data, void *gradient) { @@ -781,6 +829,15 @@ } void +evas_engine_directfb_gradient_range_offset_set(void *data, void *gradient, float offset) +{ + Render_Engine *re; + + re = (Render_Engine *)data; + evas_common_gradient_range_offset_set(gradient, offset); +} + +void evas_engine_directfb_gradient_type_set(void *data, void *gradient, char *name) { Render_Engine *re; @@ -809,12 +866,12 @@ } int -evas_engine_directfb_gradient_alpha_get(void *data, void *gradient, int spread) +evas_engine_directfb_gradient_alpha_get(void *data, void *gradient, int spread, int op) { Render_Engine *re; re = (Render_Engine *)data; - return evas_common_gradient_has_alpha(gradient, spread); + return evas_common_gradient_has_alpha(gradient, spread, op); } void =================================================================== RCS file: /cvs/e/e17/libs/evas/src/modules/engines/directfb/evas_engine_dfb.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- evas_engine_dfb.h 28 Feb 2006 04:07:48 -0000 1.2 +++ evas_engine_dfb.h 2 May 2006 07:28:48 -0000 1.3 @@ -98,11 +98,16 @@ int h); void evas_engine_directfb_context_cutout_clear(void *data, void *context); -void evas_engine_directfb_context_anti_alias_set(void *data, void *context, unsigned char aa); +void evas_engine_directfb_context_anti_alias_set(void *data, void *context, + unsigned char aa); unsigned char evas_engine_directfb_context_anti_alias_get(void *data, void *context); void evas_engine_directfb_context_color_interpolation_set(void *data, void *context, int color_space); int evas_engine_directfb_context_color_interpolation_get(void *data, void *context); +void evas_engine_directfb_context_render_op_set(void *data, + void *context, int op); +int evas_engine_directfb_context_render_op_get(void *data, void *context); + void evas_engine_directfb_draw_rectangle(void *data, void *context, void *surface, int x, @@ -129,12 +134,19 @@ void *evas_engine_directfb_gradient_colors_clear(void *data, void *context, void *gradient); +void *evas_engine_directfb_gradient_data_set(void *data, + void *context, + void *gradient, void *map, int len, int has_alpha); +void *evas_engine_directfb_gradient_data_unset(void *data, + void *context, + void *gradient); void evas_engine_directfb_gradient_free(void *data, void *gradient); void evas_engine_directfb_gradient_fill_set(void *data, void *gradient, int x, int y, int w, int h); +void evas_engine_directfb_gradient_range_offset_set(void *data, void *gradient, float offset); void evas_engine_directfb_gradient_type_set(void *data, void *gradient, char *name); void evas_engine_directfb_gradient_type_params_set(void *data, void *gradient, char *params); void *evas_engine_directfb_gradient_geometry_init(void *data, void *gradient, int spread); -int evas_engine_directfb_gradient_alpha_get(void *data, void *gradient, int spread); +int evas_engine_directfb_gradient_alpha_get(void *data, void *gradient, int spread, int op); void evas_engine_directfb_gradient_map(void *data, void *context, void *gradient, int spread); void evas_engine_directfb_gradient_draw(void *data, void *context, ------------------------------------------------------- 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