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

Reply via email to