eo, evas, edje: reorder structure for reducing memory usage.

This commit is contained in:
Cedric BAIL 2013-03-12 19:01:32 +09:00
parent 85810dac8c
commit 4d316f3bec
4 changed files with 56 additions and 52 deletions

View File

@ -1234,9 +1234,6 @@ struct _Edje
const char *group;
const char *parent;
Evas_Coord x, y, w, h;
Edje_Size min;
double paused_at;
Evas_Object *obj; /* the smart object */
Edje_File *file; /* the file the data comes form */
Edje_Part_Collection *collection; /* the description being used */
@ -1254,8 +1251,6 @@ struct _Edje
Eina_List *markup_filter_callbacks;
void *script_only_data;
unsigned int table_parts_size;
Eina_List *groups;
struct {
@ -1267,13 +1262,6 @@ struct _Edje
const Edje_Signal_Callback_Group *callbacks;
int references;
int block;
int load_error;
int freeze;
FLOAT_T scale;
Eina_Bool is_rtl : 1;
struct {
Edje_Text_Change_Cb func;
void *data;
@ -1284,29 +1272,41 @@ struct _Edje
void *data;
int num;
} message;
int processing_messages;
int state;
int preload_count;
lua_State *L;
Eina_Inlist *lua_objs;
int lua_ref;
struct {
Edje_Item_Provider_Cb func;
void *data;
} item_provider;
Eina_List *user_defined;
int walking_callbacks;
#ifdef HAVE_EPHYSICS
EPhysics_World *world;
#endif
Eina_List *user_defined;
lua_State *L;
Eina_Inlist *lua_objs;
int lua_ref;
int processing_messages;
int state;
int preload_count;
unsigned int table_parts_size;
int walking_callbacks;
int references;
int block;
int load_error;
int freeze;
Evas_Coord x, y, w, h;
Edje_Size min;
double paused_at;
FLOAT_T scale;
Eina_Bool is_rtl : 1;
Eina_Bool dirty : 1;
Eina_Bool recalc : 1;
Eina_Bool delete_callbacks : 1;

View File

@ -38,7 +38,6 @@ struct _Eo {
Eo *parent;
Eina_Inlist *children;
const Eo_Class *klass;
int refcount;
#ifdef EO_DEBUG
Eina_Inlist *xrefs;
#endif
@ -47,6 +46,8 @@ struct _Eo {
Eo_Kls_Itr mro_itr;
int refcount;
Eina_Bool do_error:1;
Eina_Bool condtor_done:1;
@ -99,17 +100,17 @@ struct _Eo_Class
const Eo_Class *parent;
const Eo_Class_Description *desc;
Dich_Chain1 *chain; /**< The size is chain size */
size_t chain_size;
size_t base_id;
const Eo_Class **extensions;
Eo_Extension_Data_Offset *extn_data_off;
size_t extn_data_size;
const Eo_Class **mro;
Eo_Kls_Itr mro_itr;
size_t extn_data_size;
size_t chain_size;
size_t base_id;
size_t data_offset; /* < Offset of the data within object data. */
Eina_Bool constructed : 1;

View File

@ -25,33 +25,36 @@ struct _Evas_Object_Text
DATA32 magic;
struct {
const char *utf8_text; /* The text exposed to the API */
const char *font;
Evas_Font_Description *fdesc;
const char *source;
Evas_Font_Size size;
struct {
unsigned char r, g, b, a;
} outline, shadow, glow, glow2;
unsigned char style;
double ellipsis;
const char *utf8_text; /* The text exposed to the API */
const char *font;
Evas_Font_Description *fdesc;
const char *source;
Eina_Unicode *text;
double ellipsis;
Evas_Font_Size size;
unsigned char style;
} cur, prev;
float ascent, descent;
float max_ascent, max_descent;
struct {
Evas_Object_Text_Item *ellipsis_start;
Evas_Object_Text_Item *ellipsis_end;
Evas_Coord w, h;
} last_computed;
Evas_BiDi_Paragraph_Props *bidi_par_props;
const char *bidi_delimiters;
Evas_Object_Text_Item *items;
Evas_Font_Set *font;
struct {
Evas_Coord w, h;
Evas_Object_Text_Item *ellipsis_start;
Evas_Object_Text_Item *ellipsis_end;
} last_computed;
float ascent, descent;
float max_ascent, max_descent;
Evas_BiDi_Direction bidi_dir : 2;
char changed : 1;

View File

@ -612,12 +612,6 @@ struct _Evas_Object_Protected_Data
unsigned char delete_me;
Evas_Object_Pointer_Mode pointer_mode : 2;
Eina_Bool store : 1;
Eina_Bool pass_events : 1;
Eina_Bool freeze_events : 1;
Eina_Bool repeat_events : 1;
struct {
Eina_Bool pass_events : 1;
Eina_Bool pass_events_valid : 1;
@ -626,28 +620,34 @@ struct _Evas_Object_Protected_Data
Eina_Bool src_invisible : 1;
Eina_Bool src_invisible_valid : 1;
} parent_cache;
Evas_Object_Pointer_Mode pointer_mode : 2;
Eina_Bool store : 1;
Eina_Bool pass_events : 1;
Eina_Bool freeze_events : 1;
Eina_Bool repeat_events : 1;
Eina_Bool restack : 1;
Eina_Bool is_active : 1;
Eina_Bool precise_is_inside : 1;
Eina_Bool is_static_clip : 1;
Eina_Bool render_pre : 1;
Eina_Bool rect_del : 1;
Eina_Bool mouse_in : 1;
Eina_Bool pre_render_done : 1;
Eina_Bool intercepted : 1;
Eina_Bool focused : 1;
Eina_Bool in_layer : 1;
Eina_Bool no_propagate : 1;
Eina_Bool changed : 1;
Eina_Bool changed_move : 1;
Eina_Bool changed_color : 1;
Eina_Bool changed_map : 1;
Eina_Bool changed_pchange : 1;
Eina_Bool changed_src_visible : 1;
Eina_Bool del_ref : 1;
Eina_Bool del_ref : 1;
Eina_Bool is_frame : 1;
Eina_Bool child_has_map : 1;
Eina_Bool eo_del_called : 1;