group { name: "elm/photo/base/default"; images { image: "frame_1.png" COMP; image: "frame_2.png" COMP; image: "dia_grad.png" COMP; image: "head.png" COMP; } parts { part { name: "base0"; mouse_events: 0; description { state: "default" 0.0; image.normal: "dia_grad.png"; rel1.to: "over"; rel2.to: "over"; fill { smooth: 0; size { relative: 0.0 1.0; offset: 64 0; } } } } part { name: "base"; mouse_events: 0; description { state: "default" 0.0; image { normal: "frame_2.png"; border: 5 5 32 26; middle: 0; } fill.smooth : 0; } } part { name: "head"; mouse_events: 0; description { state: "default" 0.0; rel1.offset: 4 4; rel2.offset: -5 -5; aspect: 1.0 1.0; aspect_preference: BOTH; image.normal: "head.png"; } } part { name: "clip"; mouse_events: 0; type: RECT; description { state: "default" 0.0; rel1.offset: 4 4; rel2.offset: -5 -5; color: 255 255 255 255; } } part { name: "elm.swallow.content"; type: SWALLOW; clip_to: "clip"; description { state: "default" 0.0; rel1.offset: 4 4; rel2.offset: -5 -5; } } part { name: "over"; mouse_events: 0; description { state: "default" 0.0; rel1.offset: 4 4; rel2.offset: -5 -5; image { normal: "frame_1.png"; border: 2 2 28 22; middle: 0; } fill.smooth: 0; } } } } group { name: "elm/photo/base/shadow"; images { image: "shadow.png" COMP; image: "black.png" COMP; } script { public message(Msg_Type:type, id, ...) { if( (type==MSG_INT_SET) && (id==0) ) { new w; new h; custom_state(PART:"size", "default", 0.0); w = getarg(2); h = getarg(3); set_state_val(PART:"size", STATE_REL1_OFFSET, - w/2, - h/2); set_state_val(PART:"size", STATE_REL2_OFFSET, w/2 + 1, h/2 + 1); set_state(PART:"size", "custom", 0.0); } } } parts { part { name: "size"; type: SWALLOW; description { state: "default" 0.0; rel1.relative: 0.5 0.5; rel2.relative: 0.5 0.5; } } part { name: "shadow"; type: IMAGE; repeat_events: 1; description { state: "default" 0.0; rel1.to: "size"; rel2.to: "size"; rel1.relative: -0.06 -0.06; rel2.relative: 1.07 1.07; image.normal: "shadow.png"; } } part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; rel1.offset: 3 3; rel2.offset: -3 -3; fixed: 1 1; } } part { name: "border"; type: IMAGE; repeat_events: 1; description { state: "default" 0.0; visible: 1; color: 0 0 0 255; rel1.to: "size"; rel2.to: "size"; image.normal: "black.png"; image.border: 1 1 1 1; image.middle: 0; } } } } ///////////////////////////////////////////////////////////////////////////////