group { name: "elm/photocam/base/default"; inherit: "elm/scroller/base/default"; images.image: "knob_round_busy.png" COMP; images.image: "glow_round_corners.png" COMP; parts { part { name: "busy_clip"; type: RECT; description { state: "default" 0.0; visible: 0; color: 255 255 255 0; } description { state: "active" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "knob"; mouse_events: 0; clip_to: "busy_clip"; scale: 1; description { state: "default" 0.0; image.normal: "knob_round_busy.png"; min: 40 40; max: 40 40; align: 0.0 0.0; rel1.offset: 3 3; rel2.offset: 3 3; fixed: 1 1; } } part { name: "knob_spinner"; mouse_events: 0; clip_to: "busy_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "knob"; rel2.to: "knob"; image.normal: "glow_round_corners.png"; map.on: 1; map.smooth: 1; map.rotation.center: "knob"; } description { state: "spin" 0.0; inherit: "default" 0.0; map.rotation.z: 360; } } } programs { program { name: "spin"; signal: "elm,state,busy,start"; source: "elm"; action: ACTION_STOP; target: "spin"; target: "spin0"; target: "spin1"; target: "spin2"; target: "spin3"; target: "spin4"; after: "spin0"; } program { name: "spin0"; action: STATE_SET "default" 0.0; target: "knob_spinner"; after: "spin1"; } program { name: "spin1"; action: STATE_SET "spin" 0.0; transition: LINEAR 1.0; target: "knob_spinner"; after: "spin2"; } program { name: "spin2"; action: STATE_SET "default" 0.0; target: "knob_spinner"; after: "spin1"; } program { signal: "elm,state,busy,start"; source: "elm"; action: STATE_SET "active" 0.0; transition: SINUSOIDAL 0.25; target: "busy_clip"; } program { signal: "elm,state,busy,stop"; source: "elm"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 1.0; target: "busy_clip"; after: "spin3"; } program { name: "spin3"; action: ACTION_STOP; target: "spin"; target: "spin2"; after: "spin4"; } program { name: "spin4"; action: STATE_SET "default" 0.0; target: "knob_spinner"; } } }