From: Enlightenment C. <no...@cv...> - 2008-05-01 04:14:10
|
Enlightenment CVS committal Author : barbieri Project : e17 Module : libs/evas Dir : e17/libs/evas/src/lib/canvas Modified Files: evas_object_gradient.c evas_object_main.c Log Message: Save 8 bytes from Evas_Object by packing interpolation.color_space. Interpolation color_space (now ASHV or ARGB) was being used inside a struct with 4 byte alignment. Remove it from the struct and make it a bitfield so can be packed with the other fields. This saves 2 integers, so 8 bytes. =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_object_gradient.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- evas_object_gradient.c 8 Feb 2008 22:35:19 -0000 1.20 +++ evas_object_gradient.c 1 May 2008 04:14:08 -0000 1.21 @@ -785,7 +785,7 @@ obj->cur.geometry.h = 0; obj->cur.layer = 0; obj->cur.anti_alias = 1; - obj->cur.interpolation.color_space = EVAS_COLOR_SPACE_ARGB; + obj->cur.interpolation_color_space = EVAS_COLOR_SPACE_ARGB; obj->cur.render_op = EVAS_RENDER_BLEND; /* set up object-specific settings */ obj->prev = obj->cur; @@ -933,7 +933,7 @@ (obj->cur.cache.clip.b != obj->prev.cache.clip.b) || (obj->cur.cache.clip.a != obj->prev.cache.clip.a))) { o->gradient_changed = 1; o->changed = 1; } - if (!o->gradient_changed && (obj->cur.interpolation.color_space != obj->prev.interpolation.color_space)) + if (!o->gradient_changed && (obj->cur.interpolation_color_space != obj->prev.interpolation_color_space)) { o->gradient_changed = 1; o->changed = 1; } if (!o->changed && (obj->cur.render_op != obj->prev.render_op)) o->changed = 1; @@ -973,7 +973,7 @@ obj->cur.cache.clip.b, obj->cur.cache.clip.a); obj->layer->evas->engine.func->context_color_interpolation_set(obj->layer->evas->engine.data.output, obj->layer->evas->engine.data.context, - obj->cur.interpolation.color_space); + obj->cur.interpolation_color_space); if (o->gradient_changed) obj->layer->evas->engine.func->gradient_render_pre(obj->layer->evas->engine.data.output, obj->layer->evas->engine.data.context, =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_object_main.c,v retrieving revision 1.65 retrieving revision 1.66 diff -u -3 -r1.65 -r1.66 --- evas_object_main.c 30 Apr 2008 22:51:08 -0000 1.65 +++ evas_object_main.c 1 May 2008 04:14:08 -0000 1.66 @@ -1193,9 +1193,9 @@ return; MAGIC_CHECK_END(); if (obj->delete_me) return; - if (obj->cur.interpolation.color_space == color_space) + if (obj->cur.interpolation_color_space == color_space) return; - obj->cur.interpolation.color_space = color_space; + obj->cur.interpolation_color_space = color_space; evas_object_change(obj); } @@ -1213,7 +1213,7 @@ return 0; MAGIC_CHECK_END(); if (obj->delete_me) return 0; - return obj->cur.interpolation.color_space; + return obj->cur.interpolation_color_space; } /** |