From: <cap...@us...> - 2008-12-31 09:45:24
|
Revision: 523 http://enna.svn.sourceforge.net/enna/?rev=523&view=rev Author: captainigloo Date: 2008-12-31 09:45:13 +0000 (Wed, 31 Dec 2008) Log Message: ----------- * Remove box.[ch] and use elm_box * Remove edc description for scrollframe * Swallow picture object into picture swallow Modified Paths: -------------- trunk/wall-e/data/theme/default/default.edc trunk/wall-e/src/bin/Makefile.am trunk/wall-e/src/bin/main.c trunk/wall-e/src/bin/wall.c Removed Paths: ------------- trunk/wall-e/src/bin/box.c trunk/wall-e/src/bin/box.h Modified: trunk/wall-e/data/theme/default/default.edc =================================================================== --- trunk/wall-e/data/theme/default/default.edc 2008-12-31 08:55:18 UTC (rev 522) +++ trunk/wall-e/data/theme/default/default.edc 2008-12-31 09:45:13 UTC (rev 523) @@ -149,322 +149,7 @@ } } } - /////////////////////////////////////////////////////////////////////////////// - group { name: "walle/scroller/base/default"; - script { - public sbvis_v, sbvis_h, sbvis_timer; - public timer0(val) { - new v; - v = get_int(sbvis_v); - if (v) { - emit("do-hide-vbar", ""); - set_int(sbvis_v, 0); - } - v = get_int(sbvis_h); - if (v) { - emit("do-hide-hbar", ""); - set_int(sbvis_h, 0); - } - set_int(sbvis_timer, 0); - return 0; - } - } - parts { - part { name: "bg"; - type: RECT; - description { state: "default" 0.0; - color: 255 255 255 0; - } - } - part { name: "clipper"; - type: RECT; - mouse_events: 0; - description { state: "default" 0.0; - rel1.to: "bg"; - rel2.to: "bg"; - } - } - part { name: "walle.swallow.content"; - clip_to: "clipper"; - type: SWALLOW; - description { state: "default" 0.0; - } - } - part { name: "sb_vbar_clip_vis"; - type: RECT; - mouse_events: 0; - description { state: "default" 0.0; - } - description { state: "hidden" 0.0; - visible: 0; - color: 255 255 255 0; - } - } - part { name: "sb_vbar_clip"; - clip_to: "sb_vbar_clip_vis"; - type: RECT; - mouse_events: 0; - description { state: "default" 0.0; - } - description { state: "hidden" 0.0; - visible: 0; - color: 255 255 255 0; - } - } - part { name: "sb_vbar_bg"; - clip_to: "sb_vbar_clip"; - type: RECT; - mouse_events: 0; - description { state: "default" 0.0; - color: 0 0 0 50; - fixed: 1 1; - visible: 1; - min: 17 17; - align: 1.0 0.0; - rel1 { - relative: 1.0 0.0; - //offset: -2 0; - } - rel2 { - relative: 1.0 1.0; - //offset: -2 -1; - to_y: "sb_hbar"; - } - } - } - part { name: "sb_vbar"; - type: RECT; - mouse_events: 0; - description { state: "default" 0.0; - fixed: 1 1; - visible: 0; - min: 17 17; - align: 1.0 0.0; - rel1 { - relative: 1.0 0.0; - //offset: -2 0; - } - rel2 { - relative: 1.0 0.0; - //offset: -2 -1; - to_y: "sb_hbar"; - } - } - } - part { name: "walle.dragable.vbar"; - clip_to: "sb_vbar_clip"; - mouse_events: 0; - dragable { - x: 0 0 0; - y: 1 1 0; - confine: "sb_vbar"; - } - description { state: "default" 0.0; - fixed: 1 1; - min: 9 43; - max: 9 43; - rel1 { - relative: 0.5 0.5; - offset: 0 0; - to: "sb_vbar"; - } - rel2 { - relative: 0.5 0.5; - offset: 0 0; - to: "sb_vbar"; - } - image { - normal: "vbar.png"; - //border: 8 8 8 8; - } - } - } - part { name: "sb_hbar_clip_vis"; - type: RECT; - mouse_events: 0; - description { state: "default" 0.0; - } - description { state: "hidden" 0.0; - visible: 0; - color: 255 255 255 0; - } - } - part { name: "sb_hbar_clip"; - clip_to: "sb_hbar_clip_vis"; - type: RECT; - mouse_events: 0; - description { state: "default" 0.0; - } - description { state: "hidden" 0.0; - visible: 0; - color: 255 255 255 0; - } - } - - part { name: "sb_hbar_bg"; - clip_to: "sb_hbar_clip"; - type: RECT; - mouse_events: 0; - description { state: "default" 0.0; - color: 0 0 0 50; - fixed: 1 1; - visible: 1; - min: 17 17; - align: 0.0 1.0; - rel1 { - relative: 0.0 1.0; - //offset: -2 0; - } - rel2 { - relative: 0.0 1.0; - //offset: -2 -1; - to_x: "sb_vbar"; - } - } - } - part { name: "sb_hbar"; - type: RECT; - mouse_events: 0; - description { state: "default" 0.0; - fixed: 1 1; - visible: 0; - min: 17 17; - align: 0.0 1.0; - rel1 { - relative: 0.0 1.0; - //offset: 0 -2; - } - rel2 { - relative: 0.0 1.0; - //offset: -1 -2; - to_x: "sb_vbar"; - } - } - } - - part { name: "walle.dragable.hbar"; - clip_to: "sb_hbar_clip"; - mouse_events: 0; - dragable { - x: 1 1 0; - y: 0 0 0; - confine: "sb_hbar"; - } - description { state: "default" 0.0; - fixed: 1 1; - min: 43 9; - max: 43 9; - rel1 { - relative: 0.5 0.5; - offset: 0 0; - to: "sb_hbar"; - } - rel2 { - relative: 0.5 0.5; - offset: 0 0; - to: "sb_hbar"; - } - image { - normal: "hbar.png"; - } - } - } - - } - programs { - program { name: "load"; - signal: "load"; - source: ""; - script { - set_state(PART:"sb_hbar_clip", "hidden", 0.0); - set_state(PART:"sb_vbar_clip", "hidden", 0.0); - set_int(sbvis_h, 0); - set_int(sbvis_v, 0); - set_int(sbvis_timer, 0); - } - } - - program { name: "vbar_show"; - signal: "walle,action,show,vbar"; - source: "walle"; - action: STATE_SET "default" 0.0; - target: "sb_vbar_clip_vis"; - } - program { name: "vbar_hide"; - signal: "walle,action,hide,vbar"; - source: "walle"; - action: STATE_SET "hidden" 0.0; - target: "sb_vbar_clip_vis"; - - } - program { name: "hbar_show"; - signal: "walle,action,show,hbar"; - source: "walle"; - action: STATE_SET "default" 0.0; - target: "sb_hbar_clip_vis"; - } - program { name: "hbar_hide"; - signal: "walle,action,hide,hbar"; - source: "walle"; - action: STATE_SET "hidden" 0.0; - target: "sb_hbar_clip_vis"; - } - - program { name: "sb_vbar_show"; - signal: "do-show-vbar"; - source: ""; - action: STATE_SET "default" 0.0; - transition: LINEAR 1.0; - target: "sb_vbar_clip"; - } - program { name: "sb_vbar_hide"; - signal: "do-hide-vbar"; - source: ""; - action: STATE_SET "hidden" 0.0; - transition: LINEAR 1.0; - target: "sb_vbar_clip"; - } - program { name: "sb_hbar_show"; - signal: "do-show-hbar"; - source: ""; - action: STATE_SET "default" 0.0; - transition: LINEAR 1.0; - target: "sb_hbar_clip"; - } - program { name: "sb_hbar_hide"; - signal: "do-hide-hbar"; - source: ""; - action: STATE_SET "hidden" 0.0; - transition: LINEAR 1.0; - target: "sb_hbar_clip"; - } - program { name: "scroll"; - signal: "walle,action,scroll"; - source: "walle"; - action: STATE_SET "default" 0.0; - script { - new v; - v = get_int(sbvis_v); - if (!v) { - emit("do-show-vbar", ""); - set_int(sbvis_v, 1); - } - v = get_int(sbvis_h); - if (!v) { - emit("do-show-hbar", ""); - set_int(sbvis_h, 1); - } - v = get_int(sbvis_timer); - if (v > 0) cancel_timer(v); - v = timer(2.0, "timer0", 0); - set_int(sbvis_timer, v); - } - } - } - } - ////////////////////////////////////////////////////////////////// - group { name: "walle/picture/item"; @@ -532,6 +217,7 @@ name: "shadow_picture"; type: IMAGE; mouse_events: 0; + //clip_to: "bg"; description { state: "default" 0.0; @@ -563,13 +249,13 @@ { relative: 0.0 0.0; to: "bg"; - offset: 10 10; + //offset: 10 10; } rel2 { relative: 1.0 1.0; to: "bg"; - offset: -11 -11; + //offset: -11 -11; } } } Modified: trunk/wall-e/src/bin/Makefile.am =================================================================== --- trunk/wall-e/src/bin/Makefile.am 2008-12-31 08:55:18 UTC (rev 522) +++ trunk/wall-e/src/bin/Makefile.am 2008-12-31 09:45:13 UTC (rev 523) @@ -4,8 +4,7 @@ wall_e_SOURCES = \ main.c \ -wall.c \ -box.c +wall.c wall_e_CPPFLAGS = \ -I$(top_srcdir) \ @@ -16,4 +15,4 @@ wall_e_LDFLAGS = @lt_enable_auto_import@ -Wl,--as-needed -EXTRA_DIST = wall.h box.h wall-e.h +EXTRA_DIST = wall.h wall-e.h Deleted: trunk/wall-e/src/bin/box.c =================================================================== --- trunk/wall-e/src/bin/box.c 2008-12-31 08:55:18 UTC (rev 522) +++ trunk/wall-e/src/bin/box.c 2008-12-31 09:45:13 UTC (rev 523) @@ -1,577 +0,0 @@ -#include <string.h> - -#include <Evas.h> - -#include "box.h" - -typedef struct _Smart_Data Smart_Data; -typedef struct _Box_Item Box_Item; - -struct _Smart_Data -{ - Evas_Coord x, y, w, h; - Evas_Object *obj; - Evas_Object *clip; - Evas_Bool changed : 1; - Evas_Bool horizontal : 1; - Evas_Bool homogenous : 1; - Evas_Bool deleting : 1; - Eina_List *items; -}; - -/* local subsystem functions */ -static void _smart_adopt(Smart_Data *sd, Evas_Object *obj); -static void _smart_disown(Evas_Object *obj); -static void _smart_item_del_hook(void *data, Evas *e, Evas_Object *obj, void *event_info); -static void _smart_item_changed_size_hints_hook(void *data, Evas *e, Evas_Object *obj, void *event_info); -static void _smart_reconfigure(Smart_Data *sd); -static void _smart_extents_calculate(Smart_Data *sd); - -static void _smart_init(void); -static void _smart_add(Evas_Object *obj); -static void _smart_del(Evas_Object *obj); -static void _smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y); -static void _smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h); -static void _smart_show(Evas_Object *obj); -static void _smart_hide(Evas_Object *obj); -static void _smart_color_set(Evas_Object *obj, int r, int g, int b, int a); -static void _smart_clip_set(Evas_Object *obj, Evas_Object *clip); -static void _smart_clip_unset(Evas_Object *obj); - -/* local subsystem globals */ -static Evas_Smart *_e_smart = NULL; - -/* externally accessible functions */ -Evas_Object * -walle_box_add(Evas *evas) -{ - _smart_init(); - return evas_object_smart_add(evas, _e_smart); -} - -void -walle_box_orientation_set(Evas_Object *obj, int horizontal) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - if (sd->horizontal == horizontal) return; - sd->horizontal = horizontal; - _smart_reconfigure(sd); -} - -int -walle_box_orientation_get(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return 0; - return sd->horizontal; -} - -void -walle_box_homogenous_set(Evas_Object *obj, int homogenous) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - if (sd->homogenous == homogenous) return; - sd->homogenous = homogenous; - _smart_reconfigure(sd); -} - -int -walle_box_pack_start(Evas_Object *obj, Evas_Object *child) -{ - Smart_Data *sd; - - if (!child) return 0; - sd = evas_object_smart_data_get(obj); - if (!sd) return 0; - _smart_adopt(sd, child); - sd->items = eina_list_prepend(sd->items, child); - _smart_reconfigure(sd); - return 0; -} - -int -walle_box_pack_end(Evas_Object *obj, Evas_Object *child) -{ - Smart_Data *sd; - - if (!child) return 0; - sd = evas_object_smart_data_get(obj); - if (!sd) return 0; - _smart_adopt(sd, child); - sd->items = eina_list_append(sd->items, child); - _smart_reconfigure(sd); - return eina_list_count(sd->items) - 1; -} - -int -walle_box_pack_before(Evas_Object *obj, Evas_Object *child, Evas_Object *before) -{ - Smart_Data *sd; - int i = 0; - Eina_List *l; - - if (!child) return 0; - sd = evas_object_smart_data_get(obj); - if (!sd) return 0; - _smart_adopt(sd, child); - sd->items = eina_list_prepend_relative(sd->items, child, before); - for (i = 0, l = sd->items; l; l = l->next, i++) - { - if (l->data == child) break; - } - _smart_reconfigure(sd); - return i; -} - -int -walle_box_pack_after(Evas_Object *obj, Evas_Object *child, Evas_Object *after) -{ - Smart_Data *sd; - int i = 0; - Eina_List *l; - - if (!child) return 0; - sd = evas_object_smart_data_get(obj); - if (!sd) return 0; - _smart_adopt(sd, child); - sd->items = eina_list_append_relative(sd->items, child, after); - for (i = 0, l = sd->items; l; l = l->next, i++) - { - if (l->data == child) break; - } - _smart_reconfigure(sd); - return i; -} - -void -walle_box_unpack(Evas_Object *obj) -{ - Smart_Data *sd; - - if (!obj) return; - sd = evas_object_smart_data_get(evas_object_smart_parent_get(obj)); - if (!sd) return; - sd->items = eina_list_remove(sd->items, obj); - _smart_disown(obj); - if (!sd->deleting) _smart_reconfigure(sd); -} - -/* local subsystem functions */ -static void -_smart_adopt(Smart_Data *sd, Evas_Object *obj) -{ - evas_object_clip_set(obj, sd->clip); - evas_object_smart_member_add(obj, sd->obj); - evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, - _smart_item_del_hook, NULL); - evas_object_event_callback_add(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, - _smart_item_changed_size_hints_hook, NULL); - if ((!evas_object_visible_get(sd->clip)) && - (evas_object_visible_get(sd->obj))) - evas_object_show(sd->clip); -} - -static void -_smart_disown(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(evas_object_smart_parent_get(obj)); - if (!sd) return; - if (sd->items) - { - if (evas_object_visible_get(sd->clip)) - evas_object_hide(sd->clip); - } - evas_object_event_callback_del(obj, EVAS_CALLBACK_DEL, - _smart_item_del_hook); - evas_object_event_callback_del(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, - _smart_item_changed_size_hints_hook); - evas_object_smart_member_del(obj); - evas_object_clip_unset(obj); -} - -static void -_smart_item_del_hook(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - walle_box_unpack(obj); -} - -static void -_smart_item_changed_size_hints_hook(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(evas_object_smart_parent_get(obj)); - _smart_reconfigure(sd); -} - -static void -_smart_reconfigure(Smart_Data *sd) -{ - Evas_Coord x, y, w, h, xx, yy; - Eina_List *l; - Evas_Coord minw, minh, wdif, hdif, mnw, mnh, mxw, mxh; - int count, expand, fw, fh, xw, xh; - double ax, ay, wx, wy; - - _smart_extents_calculate(sd); - - x = sd->x; - y = sd->y; - w = sd->w; - h = sd->h; - - evas_object_size_hint_min_get(sd->obj, &minw, &minh); - evas_object_size_hint_align_get(sd->obj, &ax, &ay); - count = eina_list_count(sd->items); - expand = 0; - if (w < minw) - { - x = x + ((w - minw) * (1.0 - ax)); - w = minw; - } - if (h < minh) - { - y = y + ((h - minh) * (1.0 - ay)); - h = minh; - } - for (l = sd->items; l; l = l->next) - { - evas_object_size_hint_weight_get(l->data, &wx, &wy); - if (sd->horizontal) - { - if (wx > 0.0) expand++; - } - else - { - if (wy > 0.0) expand++; - } - } - if (expand == 0) - { - evas_object_size_hint_align_get(sd->obj, &ax, &ay); - if (sd->horizontal) - { - x += (double)(w - minw) * ax; - w = minw; - } - else - { - y += (double)(h - minh) * ay; - h = minh; - } - } - wdif = w - minw; - hdif = h - minh; - xx = x; - yy = y; - for (l = sd->items; l; l = l->next) - { - Evas_Object *obj; - - obj = l->data; - evas_object_size_hint_align_get(l->data, &ax, &ay); - evas_object_size_hint_weight_get(l->data, &wx, &wy); - evas_object_size_hint_min_get(l->data, &mnw, &mnh); - evas_object_size_hint_max_get(l->data, &mxw, &mxh); - fw = fh = 0; - xw = xh = 0; - if (ax == -1.0) {fw = 1; ax = 0.5;} - if (ay == -1.0) {fh = 1; ay = 0.5;} - if (wx > 0.0) xw = 1; - if (wy > 0.0) xh = 1; - if (sd->horizontal) - { - if (sd->homogenous) - { - Evas_Coord ww, hh, ow, oh; - - ww = (w / (Evas_Coord)count); - hh = h; - ow = mnw; - if (fw) ow = ww; - if ((mxw >= 0) && (mxw < ow)) - ow = mxw; - oh = mnh; - if (fh) oh = hh; - if ((mxh >= 0) && (mxh < oh)) - oh = mxh; - evas_object_move(obj, - xx + (Evas_Coord)(((double)(ww - ow)) * ax), - yy + (Evas_Coord)(((double)(hh - oh)) * ay)); - evas_object_resize(obj, ow, oh); - xx += ww; - } - else - { - Evas_Coord ww, hh, ow, oh; - - ww = mnw; - if ((expand > 0) && (xw)) - { - if (expand == 1) ow = wdif; - else ow = (w - minw) / expand; - wdif -= ow; - ww += ow; - } - hh = h; - ow = mnw; - if (fw) ow = ww; - if ((mxw >= 0) && (mxw < ow)) ow = mxw; - oh = mnh; - if (fh) oh = hh; - if ((mxh >= 0) && (mxh < oh)) oh = mxh; - evas_object_move(obj, - xx + (Evas_Coord)(((double)(ww - ow)) * ax), - yy + (Evas_Coord)(((double)(hh - oh)) * ay)); - evas_object_resize(obj, ow, oh); - xx += ww; - } - } - else - { - if (sd->homogenous) - { - Evas_Coord ww, hh, ow, oh; - - ww = w; - hh = (h / (Evas_Coord)count); - ow = mnw; - if (fw) ow = ww; - if ((mxw >= 0) && (mxw < ow)) ow = mxw; - oh = mnh; - if (fh) oh = hh; - if ((mxh >= 0) && (mxh < oh)) oh = mxh; - evas_object_move(obj, - xx + (Evas_Coord)(((double)(ww - ow)) * ax), - yy + (Evas_Coord)(((double)(hh - oh)) * ay)); - evas_object_resize(obj, ow, oh); - yy += hh; - } - else - { - Evas_Coord ww, hh, ow, oh; - - ww = w; - hh = mnh; - if ((expand > 0) && (xh)) - { - if (expand == 1) oh = hdif; - else oh = (h - minh) / expand; - hdif -= oh; - hh += oh; - } - ow = mnw; - if (fw) ow = ww; - if ((mxw >= 0) && (mxw < ow)) ow = mxw; - oh = mnh; - if (fh) oh = hh; - if ((mxh >= 0) && (mxh < oh)) oh = mxh; - evas_object_move(obj, - xx + (Evas_Coord)(((double)(ww - ow)) * ax), - yy + (Evas_Coord)(((double)(hh - oh)) * ay)); - evas_object_resize(obj, ow, oh); - yy += hh; - } - } - } -} - -static void -_smart_extents_calculate(Smart_Data *sd) -{ - Eina_List *l; - Evas_Coord minw, minh, maxw, maxh, mnw, mnh; - - /* FIXME: need to calc max */ - minw = 0; - minh = 0; - maxw = -1; - maxh = -1; - if (sd->homogenous) - { - for (l = sd->items; l; l = l->next) - { - evas_object_size_hint_min_get(l->data, &mnw, &mnh); - if (minh < mnh) minh = mnh; - if (minw < mnw) minw = mnw; - } - if (sd->horizontal) - minw *= eina_list_count(sd->items); - else - minh *= eina_list_count(sd->items); - } - else - { - for (l = sd->items; l; l = l->next) - { - evas_object_size_hint_min_get(l->data, &mnw, &mnh); - if (sd->horizontal) - { - if (minh < mnh) minh = mnh; - minw += mnw; - } - else - { - if (minw < mnw) minw = mnw; - minh += mnh; - } - } - } - evas_object_size_hint_min_set(sd->obj, minw, minh); -} - -static void -_smart_init(void) -{ - if (_e_smart) return; - { - static const Evas_Smart_Class sc = - { - "e_box", - EVAS_SMART_CLASS_VERSION, - _smart_add, - _smart_del, - _smart_move, - _smart_resize, - _smart_show, - _smart_hide, - _smart_color_set, - _smart_clip_set, - _smart_clip_unset, - NULL, - NULL, - NULL, - NULL - }; - _e_smart = evas_smart_class_new(&sc); - } -} - -static void -_smart_add(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = calloc(1, sizeof(Smart_Data)); - if (!sd) return; - sd->obj = obj; - sd->clip = evas_object_rectangle_add(evas_object_evas_get(obj)); - evas_object_smart_member_add(sd->clip, obj); - evas_object_move(sd->clip, -100004, -100004); - evas_object_resize(sd->clip, 200008, 200008); - evas_object_color_set(sd->clip, 255, 255, 255, 255); - evas_object_smart_data_set(obj, sd); -} - -static void -_smart_del(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - sd->deleting = 1; - while (sd->items) - { - Evas_Object *child; - - child = sd->items->data; - walle_box_unpack(child); - } - evas_object_del(sd->clip); - free(sd); -} - -static void -_smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y) -{ - Smart_Data *sd; - Eina_List *l; - Evas_Coord dx, dy; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - dx = x - sd->x; - dy = y - sd->y; - for (l = sd->items; l; l = l->next) - { - Evas_Coord ox, oy; - - evas_object_geometry_get(l->data, &ox, &oy, NULL, NULL); - evas_object_move(l->data, ox + dx, oy + dy); - } - sd->x = x; - sd->y = y; -} - -static void -_smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - sd->w = w; - sd->h = h; - _smart_reconfigure(sd); -} - -static void -_smart_show(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - if (sd->items) evas_object_show(sd->clip); -} - -static void -_smart_hide(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - evas_object_hide(sd->clip); -} - -static void -_smart_color_set(Evas_Object *obj, int r, int g, int b, int a) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - evas_object_color_set(sd->clip, r, g, b, a); -} - -static void -_smart_clip_set(Evas_Object *obj, Evas_Object *clip) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - evas_object_clip_set(sd->clip, clip); -} - -static void -_smart_clip_unset(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - evas_object_clip_unset(sd->clip); -} Deleted: trunk/wall-e/src/bin/box.h =================================================================== --- trunk/wall-e/src/bin/box.h 2008-12-31 08:55:18 UTC (rev 522) +++ trunk/wall-e/src/bin/box.h 2008-12-31 09:45:13 UTC (rev 523) @@ -1,13 +0,0 @@ -#include <Evas.h> - -Evas_Object *walle_box_add (Evas *evas); -void walle_box_orientation_set (Evas_Object *obj, int horizontal); -int walle_box_orientation_get (Evas_Object *obj); -void walle_box_homogenous_set (Evas_Object *obj, int homogenous); -int walle_box_pack_start (Evas_Object *obj, Evas_Object *child); -int walle_box_pack_end (Evas_Object *obj, Evas_Object *child); -int walle_box_pack_before (Evas_Object *obj, Evas_Object *child, Evas_Object *before); -int walle_box_pack_after (Evas_Object *obj, Evas_Object *child, Evas_Object *after); -void walle_box_unpack (Evas_Object *obj); -void walle_box_min_size_get (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh); -void walle_box_max_size_get (Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh); Modified: trunk/wall-e/src/bin/main.c =================================================================== --- trunk/wall-e/src/bin/main.c 2008-12-31 08:55:18 UTC (rev 522) +++ trunk/wall-e/src/bin/main.c 2008-12-31 09:45:13 UTC (rev 523) @@ -68,10 +68,11 @@ static void _walle_picture_cb_resize(void *data, Evas *e, Evas_Object *obj, void *einfo) { Evas_Coord w = 0, h = 0; + Evas_Object *o_pict = data; /* callback when a picture is resized */ - evas_object_geometry_get(obj, NULL, NULL, &w, &h); + evas_object_geometry_get(o_pict, NULL, NULL, &w, &h); printf("picture resize : %dx%d\n", w, h); - evas_object_image_fill_set(obj, 0, 0, w, h); + evas_object_image_fill_set(o_pict, 0, 0, w, h); } @@ -99,15 +100,15 @@ { case EVAS_LOAD_ERROR_NONE: { - evas_object_event_callback_add(o, EVAS_CALLBACK_RESIZE, _walle_picture_cb_resize, NULL); + evas_object_event_callback_add(o, EVAS_CALLBACK_RESIZE, _walle_picture_cb_resize, o); evas_object_image_size_get(o, &w, &h); oh = 200; ow = oh * (float)w/(float)h; evas_object_image_load_size_set(o, ow, oh); evas_object_image_fill_set(o, 0, 0, ow, oh); - //evas_object_image_preload(o, 0); + evas_object_image_preload(o, 0); evas_object_show(o); - //evas_object_resize(o, ow, oh); + evas_object_resize(o, ow, oh); evas_object_size_hint_min_set(o, ow, oh); walle_wall_append(walle->o_wall, o); } Modified: trunk/wall-e/src/bin/wall.c =================================================================== --- trunk/wall-e/src/bin/wall.c 2008-12-31 08:55:18 UTC (rev 522) +++ trunk/wall-e/src/bin/wall.c 2008-12-31 09:45:13 UTC (rev 523) @@ -3,7 +3,7 @@ #include <Edje.h> #include <Evas.h> -#include "box.h" +#include <Elementary.h> typedef struct _Walle_Wall_Data Walle_Wall_Data; struct _Walle_Wall_Data @@ -117,19 +117,19 @@ priv->nb_lines = 1; - priv->o_box = walle_box_add(evas_object_evas_get(o));; - walle_box_orientation_set(priv->o_box, 0); - walle_box_homogenous_set(priv->o_box, 1); + priv->o_box = elm_box_add(o); + elm_box_horizontal_set(priv->o_box, 0); + elm_box_homogenous_set(priv->o_box, 1); evas_object_show(priv->o_box); - o_box = walle_box_add(evas_object_evas_get(o));; - walle_box_orientation_set(o_box, 1); - walle_box_homogenous_set(o_box, 0); + o_box = elm_box_add(o); + elm_box_horizontal_set(o_box, 1); + elm_box_homogenous_set(o_box, 0); evas_object_size_hint_align_set(o_box, 0, 0.5); //evas_object_size_hint_weight_set(o_box, 1.0, 1.0); - walle_box_pack_end(priv->o_box, o_box); + elm_box_pack_end(priv->o_box, o_box); priv->o_boxes = eina_list_append(priv->o_boxes, o_box); evas_object_show(o_box); priv->vertical = 0; @@ -186,12 +186,12 @@ for (i = 0; i < nb_lines; i++) { - o_box = walle_box_add(evas_object_evas_get(obj));; - walle_box_orientation_set(o_box, 1); - walle_box_homogenous_set(o_box, 0); + o_box = elm_box_add(obj); + elm_box_horizontal_set(o_box, 1); + elm_box_homogenous_set(o_box, 0); evas_object_size_hint_align_set(o_box, 0, 0.5); evas_object_size_hint_weight_set(o_box, 1.0, 1.0); - walle_box_pack_end(priv->o_box, o_box); + elm_box_pack_end(priv->o_box, o_box); priv->o_boxes = eina_list_append(priv->o_boxes, o_box); evas_object_show(o_box); } @@ -270,37 +270,35 @@ Evas_Object *o_box; Walle_Picture_Item *pi; Evas_Coord ow, oh; - Evas_Object *o_rect; + WALLE_WALL_DATA_GET_OR_RETURN(o, priv); pi = calloc(1, sizeof(Walle_Picture_Item)); pi->priv = priv; pi->o_edje = edje_object_add(evas_object_evas_get(o)); + /* FIXME change this to retrieve theme filename from config option */ edje_object_file_set(pi->o_edje, PACKAGE_DATA_DIR"/data/default.edj", "walle/picture/item"); + evas_object_show(pi->o_edje); pi->o_pict = child; -// evas_object_geometry_get(child, NULL, NULL, &ow, &oh); - evas_object_size_hint_min_get(child, &ow, &oh); + evas_object_geometry_get(child, NULL, NULL, &ow, &oh); + printf("child size %d %d\n", ow, oh); + edje_extern_object_min_size_set(pi->o_edje, ow, oh); - edje_object_calc_force(pi->o_edje); - printf("edje %d %d\n", ow, oh); - evas_object_show(pi->o_edje); - o_rect = evas_object_rectangle_add(evas_object_evas_get(o)); - evas_object_color_set(o_rect, 255, 0, 0, 255); + evas_object_size_hint_min_set(child, 0, 0); + edje_object_part_swallow(pi->o_edje, "walle.swallow.content", child); - - edje_object_part_swallow(pi->o_edje, "walle.swallow.content", o_rect); - n = priv->nb_items % priv->nb_lines; pi->row = n; o_box = eina_list_nth(priv->o_boxes, n); - walle_box_pack_end(o_box, pi->o_edje); - priv->nb_items ++; + elm_box_pack_end(o_box, pi->o_edje); + + priv->nb_items ++; evas_object_event_callback_add(pi->o_edje, EVAS_CALLBACK_MOUSE_DOWN, _walle_wall_event_mouse_down_cb, pi); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |