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";
      }
   }
}
