cerberus:/dan/e17/libs/ewl/src/lib> pahole -V ewl_widget.o struct Ewl_Config_Cache { int level; /* 0 4 */ unsigned char enable:1; /* 4 1 */ unsigned char segv:1; /* 4 1 */ unsigned char backtrace:1; /* 4 1 */ unsigned char evas_render:1; /* 4 1 */ unsigned char gc_reap:1; /* 4 1 */ unsigned char print_signals:1; /* 4 1 */ unsigned char print_keys:1; /* 4 1 */ /* size: 8, cachelines: 1 */ /* padding: 3 */ /* bit_padding: 1 bits */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct _IO_marker { struct _IO_marker * _next; /* 0 4 */ struct _IO_FILE * _sbuf; /* 4 4 */ int _pos; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct _IO_FILE { int _flags; /* 0 4 */ char * _IO_read_ptr; /* 4 4 */ char * _IO_read_end; /* 8 4 */ char * _IO_read_base; /* 12 4 */ char * _IO_write_base; /* 16 4 */ char * _IO_write_ptr; /* 20 4 */ char * _IO_write_end; /* 24 4 */ char * _IO_buf_base; /* 28 4 */ char * _IO_buf_end; /* 32 4 */ char * _IO_save_base; /* 36 4 */ char * _IO_backup_base; /* 40 4 */ char * _IO_save_end; /* 44 4 */ struct _IO_marker * _markers; /* 48 4 */ struct _IO_FILE * _chain; /* 52 4 */ int _fileno; /* 56 4 */ int _flags2; /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ __off_t _old_offset; /* 64 4 */ short unsigned int _cur_column; /* 68 2 */ signed char _vtable_offset; /* 70 1 */ char _shortbuf[1]; /* 71 1 */ _IO_lock_t * _lock; /* 72 4 */ __off64_t _offset; /* 76 8 */ void * __pad1; /* 84 4 */ void * __pad2; /* 88 4 */ void * __pad3; /* 92 4 */ void * __pad4; /* 96 4 */ size_t __pad5; /* 100 4 */ int _mode; /* 104 4 */ char _unused2[40]; /* 108 40 */ /* --- cacheline 2 boundary (128 bytes) was 20 bytes ago --- */ /* size: 148, cachelines: 3 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct Ewl_Embed { Ewl_Overlay overlay; /* 0 372 */ /* --- cacheline 5 boundary (320 bytes) was 52 bytes ago --- */ const char * engine_name; /* 372 4 */ void * engine; /* 376 4 */ void * canvas; /* 380 4 */ /* --- cacheline 6 boundary (384 bytes) --- */ void * canvas_window; /* 384 4 */ int cursor; /* 388 4 */ void * smart; /* 392 4 */ void * ev_clip; /* 396 4 */ Ecore_DList * tab_order; /* 400 4 */ Ecore_Hash * obj_cache; /* 404 4 */ struct { Ewl_Widget * clicked; /* 408 4 */ Ewl_Widget * focused; /* 412 4 */ Ewl_Widget * mouse_in; /* 416 4 */ Ewl_Widget * drop_widget; /* 420 4 */ Ewl_Widget * drag_widget; /* 424 4 */ } last; /* 408 20 */ int x; /* 428 4 */ int y; /* 432 4 */ int dnd_count; /* 436 4 */ int focus; /* 440 4 */ Ewl_Dnd_Types dnd_types; /* 444 8 */ /* --- cacheline 7 boundary (448 bytes) was 4 bytes ago --- */ Ewl_Widget * dnd_last_position; /* 452 4 */ /* size: 456, cachelines: 8 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct Ewl_Overlay { Ewl_Container container; /* 0 372 */ /* --- cacheline 5 boundary (320 bytes) was 52 bytes ago --- */ /* size: 372, cachelines: 6 */ /* last cacheline: 52 bytes */ }; /* definitions: 1 */ struct Ewl_Dnd_Types { int num_types; /* 0 4 */ char * * types; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct Ewl_Event_Mouse_Up { Ewl_Event_Mouse base; /* 0 12 */ int button; /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 1 */ struct Ewl_Event_Mouse_Down { Ewl_Event_Mouse base; /* 0 12 */ int button; /* 12 4 */ int clicks; /* 16 4 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct Ewl_Event_Mouse { unsigned int modifiers; /* 0 4 */ int x; /* 4 4 */ int y; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct Ewl_Container { Ewl_Widget widget; /* 0 336 */ /* --- cacheline 5 boundary (320 bytes) was 16 bytes ago --- */ Ecore_DList * children; /* 336 4 */ void * clip_box; /* 340 4 */ Ewl_Container * redirect; /* 344 4 */ Ewl_Child_Add child_add; /* 348 4 */ Ewl_Child_Remove child_remove; /* 352 4 */ Ewl_Child_Resize child_resize; /* 356 4 */ Ewl_Child_Show child_show; /* 360 4 */ Ewl_Child_Hide child_hide; /* 364 4 */ Ewl_Container_Iterator iterator; /* 368 4 */ /* size: 372, cachelines: 6 */ /* last cacheline: 52 bytes */ }; /* definitions: 1 */ struct Ewl_Widget { Ewl_Object object; /* 0 76 */ /* --- cacheline 1 boundary (64 bytes) was 12 bytes ago --- */ Ewl_Widget * parent; /* 76 4 */ Ewl_Callback_Chain callbacks[25]; /* 80 200 */ /* --- cacheline 4 boundary (256 bytes) was 24 bytes ago --- */ Ewl_Attach_List * attach; /* 280 4 */ void * smart_object; /* 284 4 */ void * fx_clip_box; /* 288 4 */ void * theme_object; /* 292 4 */ const char * theme_path; /* 296 4 */ const char * theme_group; /* 300 4 */ const char * theme_state; /* 304 4 */ const char * appearance; /* 308 4 */ const char * inheritance; /* 312 4 */ int layer; /* 316 4 */ /* --- cacheline 5 boundary (320 bytes) --- */ int toplayered; /* 320 4 */ Ecore_Hash * theme; /* 324 4 */ Ewl_Pair_List theme_text; /* 328 8 */ /* size: 336, cachelines: 6 */ /* last cacheline: 16 bytes */ }; /* definitions: 1 */ struct Ewl_Color_Set { int r; /* 0 4 */ int g; /* 4 4 */ int b; /* 8 4 */ int a; /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 1 */ struct Ewl_Callback_Chain { void * * list; /* 0 4 */ unsigned char mask; /* 4 1 */ unsigned char len; /* 5 1 */ unsigned char index; /* 6 1 */ /* size: 8, cachelines: 1 */ /* padding: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct Ewl_Pair_List { Ewl_Pair * * list; /* 0 4 */ unsigned int direct:1; /* 4 4 */ unsigned int len:31; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct Ewl_Pair { const char * key; /* 0 4 */ char * value; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct Ewl_Attach_List { void * * list; /* 0 4 */ unsigned int direct:1; /* 4 4 */ unsigned int len:31; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct Ewl_Object { struct { int x; /* 0 4 */ int y; /* 4 4 */ int w; /* 8 4 */ int h; /* 12 4 */ } current; /* 0 16 */ struct { int w; /* 16 4 */ int h; /* 20 4 */ } preferred; /* 16 8 */ struct { int w; /* 24 4 */ int h; /* 28 4 */ } maximum; /* 24 8 */ struct { int w; /* 32 4 */ int h; /* 36 4 */ } minimum; /* 32 8 */ struct { int l; /* 40 4 */ int r; /* 44 4 */ int t; /* 48 4 */ int b; /* 52 4 */ } pad; /* 40 16 */ struct { int l; /* 56 4 */ int r; /* 60 4 */ int t; /* 64 4 */ int b; /* 68 4 */ } insets; /* 56 16 */ /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ unsigned int flags; /* 72 4 */ /* size: 76, cachelines: 2 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct _ecore_hash { Ecore_Hash_Node * * buckets; /* 0 4 */ int size; /* 4 4 */ int nodes; /* 8 4 */ int index; /* 12 4 */ Ecore_Compare_Cb compare; /* 16 4 */ Ecore_Hash_Cb hash_func; /* 20 4 */ Ecore_Free_Cb free_key; /* 24 4 */ Ecore_Free_Cb free_value; /* 28 4 */ /* size: 32, cachelines: 1 */ /* last cacheline: 32 bytes */ }; /* definitions: 1 */ struct _ecore_hash_node { Ecore_Hash_Node * next; /* 0 4 */ void * key; /* 4 4 */ void * value; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct _ecore_list_node { void * data; /* 0 4 */ struct _ecore_list_node * next; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct _ecore_list { Ecore_List_Node * first; /* 0 4 */ Ecore_List_Node * last; /* 4 4 */ Ecore_List_Node * current; /* 8 4 */ Ecore_Free_Cb free_func; /* 12 4 */ int nodes; /* 16 4 */ int index; /* 20 4 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 1 */ cerberus:/dan/e17/libs/ewl/src/lib>