group { name: "elm/thumb/base/default";
   images.image: "knob_round_busy.png" COMP;
   images.image: "glow_round_corners.png" COMP;
   images.image: "shadow_square_tiny.png" COMP;
   parts {
      part { name: "shadow"; mouse_events: 0;
         description { state: "default" 0.0;
            rel1.offset: -3 -2;
            rel1.to: "bg";
            rel2.offset: 3 4;
            rel2.to: "bg";
            image.normal: "shadow_square_tiny.png";
            image.border: 6 6 6 6;
            fill.smooth: 0;
         }
      }
      part { name: "bg"; type: RECT;
         description { state: "default" 0.0;
            rel1.to: "elm.swallow.content";
            rel2.to: "elm.swallow.content";
            color: 64 64 64 255;
         }
      }
      part { name: "clip"; type: RECT;
         description { state: "default" 0.0;
            rel1.to: "elm.swallow.content";
            rel2.to: "elm.swallow.content";
         }
      }
      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: "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";
         description { state: "default" 0.0;
            fixed: 1 1;
            image.normal: "knob_round_busy.png";
            min: 40 40;
            max: 40 40;
            rel1.to: "bg";
            rel2.to: "bg";
         }
      }
      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,pulse,start";
         source: "elm";
         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: "spin";
      }
      program { name: "pulse_start";
         signal: "elm,state,pulse,start";
         source: "elm";
         action: STATE_SET "active" 0.0;
         transition: SINUSOIDAL 0.25;
         target: "busy_clip";
      }
      program { name: "pulse_stop";
         signal: "elm,state,pulse,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";
      }
   }
}

group { name: "elm/thumb/base/noframe";
   inherit: "elm/thumb/base/default";
   parts {
      part { name: "shadow"; mouse_events: 0;
         description { state: "default" 0.0;
            visible: 0;
         }
      }
      part { name: "bg"; mouse_events: 0;
         description { state: "default" 0.0;
            rel1.offset: 0 0;
            rel2.offset: -1 -1;
            visible: 0;
         }
      }
   }
}

