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