got those from "pahole" or manual inspection?
On 6/28/07, Enlightenment CVS <[EMAIL PROTECTED]> wrote: > Enlightenment CVS committal > > Author : raster > Project : e17 > Module : libs/edje > > Dir : e17/libs/edje/src/lib > > > Modified Files: > edje_private.h > > > Log Message: > > > save a few bytes by packing structures better... simple savings :) > > =================================================================== > RCS file: /cvs/e/e17/libs/edje/src/lib/edje_private.h,v > retrieving revision 1.125 > retrieving revision 1.126 > diff -u -3 -r1.125 -r1.126 > --- edje_private.h 27 May 2007 05:28:07 -0000 1.125 > +++ edje_private.h 28 Jun 2007 23:22:20 -0000 1.126 > @@ -400,19 +400,12 @@ > struct _Edje_Part > { > char *name; /* the name if any of the part */ > - int id; /* its id number */ > - unsigned char type; /* what type (image, rect, text) */ > - unsigned char effect; /* 0 = plain... */ > - unsigned char mouse_events; /* it will affect/respond to mouse > events */ > - unsigned char repeat_events; /* it will repeat events to objects > below */ > - int clip_to_id; /* the part id to clip this one to */ > - unsigned char use_alternate_font_metrics; > Edje_Part_Description *default_desc; /* the part descriptor for default */ > Evas_List *other_desc; /* other possible descriptors */ > + char *source; > + int id; /* its id number */ > + int clip_to_id; /* the part id to clip this one to */ > struct { > - signed char x; /* can u click & drag this bit in x dir */ > - signed char y; /* can u click & drag this bit in y dir */ > - > int step_x; /* drag jumps n pixels (0 = no limit) */ > int step_y; /* drag jumps n pixels (0 = no limit) */ > > @@ -423,8 +416,15 @@ > > /* davinchi */ > int events_id; /* If it is used as scrollbar */ > + > + char x; /* can u click & drag this bit in x dir */ > + char y; /* can u click & drag this bit in y dir */ > } dragable; > - char *source; > + unsigned char type; /* what type (image, rect, text) */ > + unsigned char effect; /* 0 = plain... */ > + unsigned char mouse_events; /* it will affect/respond to mouse > events */ > + unsigned char repeat_events; /* it will repeat events to objects > below */ > + unsigned char use_alternate_font_metrics; > }; > > struct _Edje_Part_Image_Id > @@ -435,12 +435,10 @@ > struct _Edje_Part_Description > { > struct { > - char *name; /* the named state if any */ > double value; /* the value of the state (for ranges) */ > + char *name; /* the named state if any */ > } state; > > - unsigned char visible; /* is it shown */ > - > struct { > double x, y; /* 0 <-> 1.0 alignment within allocated space */ > } align; > @@ -472,14 +470,14 @@ > } rel1, rel2; > > struct { > - int id; /* the image id to use */ > Evas_List *tween_list; /* list of Edje_Part_Image_Id */ > + int id; /* the image id to use */ > } image; > > struct { > - int id; /* the spectrum id to use */ > char *type; /* type of spectrum - 'linear', 'radial', etc */ > char *params; /* params for spectrum type */ > + int id; /* the spectrum id to use */ > int use_rel; /* 1 - use rel1,rel2; 0 - use fill */ > struct { > double relative_x; > @@ -495,32 +493,35 @@ > } border; > > struct { > - char smooth; /* fill with smooth scaling or not */ > double pos_rel_x; /* fill offset x relative to area */ > - int pos_abs_x; /* fill offset x added to fill offset */ > double rel_x; /* relative size compared to area */ > - int abs_x; /* size of fill added to relative fill */ > double pos_rel_y; /* fill offset y relative to area */ > - int pos_abs_y; /* fill offset y added to fill offset */ > double rel_y; /* relative size compared to area */ > + int pos_abs_x; /* fill offset x added to fill offset */ > + int abs_x; /* size of fill added to relative fill */ > + int pos_abs_y; /* fill offset y added to fill offset */ > int abs_y; /* size of fill added to relative fill */ > int angle; /* angle of fill -- currently only used by grads > */ > int spread; /* spread of fill -- currently only used by > grads */ > + char smooth; /* fill with smooth scaling or not */ > } fill; > > char *color_class; /* how to modify the color */ > > struct { > - unsigned char r, g, b, a; /* color for rect or text, shadow etc. */ > - } color, color2, color3; > - > - struct { > char *text; /* if "" or NULL, then leave text unchanged */ > char *text_class; /* how to apply/modify the font */ > char *style; /* the text style if a textblock */ > char *font; /* if a specific font is asked for */ > > + struct { > + double x, y; /* text alignment within bounds */ > + } align; > + > + double elipsis; /* 0.0 - 1.0 defining where the elipsis align > */ > int size; /* 0 = use user set size */ > + int id_source; /* -1 if none */ > + int id_text_source; /* -1 if none */ > > unsigned char fit_x; /* resize font size down to fit in x dir */ > unsigned char fit_y; /* resize font size down to fit in y dir */ > @@ -529,14 +530,13 @@ > unsigned char max_x; /* if text size should be part max size */ > unsigned char max_y; /* if text size should be part max size */ > > - struct { > - double x, y; /* text alignment within bounds */ > - } align; > - > - int id_source; /* -1 if none */ > - int id_text_source; /* -1 if none */ > - double elipsis; /* 0.0 - 1.0 defining where the elipsis align > */ > } text; > + > + struct { > + unsigned char r, g, b, a; /* color for rect or text, shadow etc. */ > + } color, color2, color3; > + > + unsigned char visible; /* is it shown */ > }; > > > @@ -572,18 +572,6 @@ > struct { > Evas_Coord w, h; > } min; > - unsigned short dirty : 1; > - unsigned short recalc : 1; > - unsigned short walking_callbacks : 1; > - unsigned short delete_callbacks : 1; > - unsigned short just_added_callbacks : 1; > - unsigned short have_objects : 1; > - unsigned short paused : 1; > - unsigned short no_anim : 1; > - unsigned short calc_only : 1; > - unsigned short walking_actions : 1; > - unsigned short block_break : 1; > - unsigned short delete_me : 1; > double paused_at; > Evas *evas; /* the Evas this Edje belongs to */ > Evas_Object *obj; /* the smart object */ > @@ -595,34 +583,52 @@ > Evas_List *pending_actions; > Evas_List *color_classes; > Evas_List *text_classes; > - int references; > - int block; > - int load_error; > - int freeze; > /* variable pool for Edje Embryo scripts */ > Edje_Var_Pool *var_pool; > /* for faster lookups to avoid nth list walks */ > - int table_parts_size; > Edje_Real_Part **table_parts; > - int table_programs_size; > Edje_Program **table_programs; > + int table_programs_size; > + int table_parts_size; > + > + int references; > + int block; > + int load_error; > + int freeze; > > struct { > void (*func) (void *data, Evas_Object *obj, const char *part); > void *data; > } text_change; > > - int processing_messages; > struct { > - int num; > void (*func) (void *data, Evas_Object *obj, > Edje_Message_Type type, int id, void *msg); > void *data; > + int num; > } message; > + int processing_messages; > + > + unsigned short dirty : 1; > + unsigned short recalc : 1; > + unsigned short walking_callbacks : 1; > + unsigned short delete_callbacks : 1; > + unsigned short just_added_callbacks : 1; > + unsigned short have_objects : 1; > + unsigned short paused : 1; > + unsigned short no_anim : 1; > + unsigned short calc_only : 1; > + unsigned short walking_actions : 1; > + unsigned short block_break : 1; > + unsigned short delete_me : 1; > }; > > struct _Edje_Real_Part > { > Edje *edje; > + Evas_Object *object; > + Evas_List *extra_objects; > + Evas_Object *swallowed_object; > + Edje_Part *part; > int x, y, w, h; > struct { > int x, y, w, h; > @@ -630,38 +636,32 @@ > struct { > int x, y; > } offset; > - Evas_Object *object; > - Evas_List *extra_objects; > - Evas_Object *swallowed_object; > struct { > struct { > int w, h; > } min, max; > struct { > - unsigned char mode; > int w, h; > + unsigned char mode; > } aspect; > } swallow_params; > - unsigned char calculated; > - unsigned char calculating; > - int clicked_button; > - unsigned char still_in : 1; > - Edje_Part *part; > struct { > + double x, y; > + struct { > + double x, y; > + } val, size, step, page; > struct { > - unsigned count; > + unsigned int count; > int x, y; > } down; > struct { > int x, y; > } tmp; > - double x, y; > unsigned char need_reset : 1; > - struct { > - double x, y; > - } val, size, step, page; > } drag; > struct { > + Edje_Real_Part *source; > + Edje_Real_Part *text_source; > const char *text; > const char *font; > const char *style; > @@ -676,12 +676,8 @@ > double elipsis; > int fit_x, fit_y; > } cache; > - Edje_Real_Part *source; > - Edje_Real_Part *text_source; > } text; > > - int gradient_id; > - > double description_pos; > Edje_Part_Description *chosen_description; > struct { > @@ -697,6 +693,14 @@ > > Edje_Running_Program *program; > Edje_Real_Part *events_to; > + > + int clicked_button; > + int gradient_id; > + > + unsigned char calculated; > + unsigned char calculating; > + > + unsigned char still_in : 1; > }; > > struct _Edje_Running_Program > @@ -726,8 +730,6 @@ > struct { > int x, y, w, h; > } req_drag; > - unsigned char visible : 1; > - unsigned char smooth : 1; > struct { > int x, y, w, h; > int angle; > @@ -749,6 +751,8 @@ > int id; > char *type; > } gradient; > + unsigned char visible : 1; > + unsigned char smooth : 1; > }; > > struct _Edje_Pending_Program > @@ -845,7 +849,6 @@ > > struct _Edje_Var > { > - unsigned char type; > union { > Edje_Var_Int i; > Edje_Var_Float f; > @@ -853,6 +856,7 @@ > Edje_Var_List l; > Edje_Var_Hash h; > } data; > + unsigned char type; > }; > > > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > enlightenment-cvs mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs > -- Gustavo Sverzut Barbieri -------------------------------------- Jabber: [EMAIL PROTECTED] MSN: [EMAIL PROTECTED] ICQ#: 17249123 Skype: gsbarbieri Mobile: +55 (81) 9927 0010 ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel