/* TODO: replicate diagonal swallow slots to the other hover styles */ group { name: "elm/hover/base/default"; parts { part { name: "elm.swallow.offset"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.0; rel1.relative: 0.0 0.0; rel2.relative: 0.0 0.0; } } part { name: "elm.swallow.size"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.0; rel1.to: "elm.swallow.offset"; rel1.relative: 1.0 1.0; rel2.to: "elm.swallow.offset"; rel2.relative: 1.0 1.0; } } part { name: "base"; type: RECT; mouse_events: 1; description { state: "default" 0.0; color: 0 0 0 64; } } part { name: "box"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 0 0 0 0; rel1.to: "elm.swallow.size"; rel1.offset: -2 -2; rel2.to: "elm.swallow.size"; rel2.offset: 1 1; } } part { name: "elm.swallow.slot.left"; type: SWALLOW; description { state: "default" 0.0; align: 1.0 0.5; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 0.0 0.0; rel1.offset: -1 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 0.0 1.0; rel2.offset: -1 -1; } } part { name: "elm.swallow.slot.top-left"; type: SWALLOW; description { state: "default" 0.0; align: 1.0 1.0; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 0.0 0.0; rel1.offset: 0 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 0.0 0.0; rel2.offset: -1 -1; } } part { name: "elm.swallow.slot.top"; type: SWALLOW; description { state: "default" 0.0; align: 0.5 1.0; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 0.0 0.0; rel1.offset: 0 -1; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 1.0 0.0; rel2.offset: -1 -1; } } part { name: "elm.swallow.slot.top-right"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 1.0; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 1.0 0.0; rel1.offset: 0 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 1.0 0.0; rel2.offset: -1 -1; } } part { name: "elm.swallow.slot.right"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.5; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 1.0 0.0; rel1.offset: 0 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 1.0 1.0; rel2.offset: 0 -1; } } part { name: "elm.swallow.slot.bottom-right"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.0; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 1.0 1.0; rel1.offset: 0 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 1.0 1.0; rel2.offset: -1 -1; } } part { name: "elm.swallow.slot.bottom"; type: SWALLOW; description { state: "default" 0.0; align: 0.5 0.0; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 0.0 1.0; rel1.offset: 0 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 1.0 1.0; rel2.offset: -1 0; } } part { name: "elm.swallow.slot.bottom-left"; type: SWALLOW; description { state: "default" 0.0; align: 1.0 0.0; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 0.0 1.0; rel1.offset: 0 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 0.0 1.0; rel2.offset: -1 0; } } part { name: "elm.swallow.slot.middle"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "elm.swallow.size"; rel2.to: "elm.swallow.size"; } } } programs { program { name: "end"; signal: "mouse,up,*"; source: "base"; action: SIGNAL_EMIT "elm,action,dismiss" "elm"; } } } group { name: "elm/hover/base/popout"; images.image: "button_normal.png" COMP; parts { part { name: "elm.swallow.offset"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.0; rel1.relative: 0.0 0.0; rel2.relative: 0.0 0.0; } } part { name: "elm.swallow.size"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.0; rel1.to: "elm.swallow.offset"; rel1.relative: 1.0 1.0; rel2.to: "elm.swallow.offset"; rel2.relative: 1.0 1.0; } } part { name: "base"; type: RECT; mouse_events: 1; description { state: "default" 0.0; color: 0 0 0 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 0 0 0 64; } } part { name: "leftclip"; type: RECT; description { state: "default" 0.0; rel2.to_x: "pop"; rel2.relative: 0.0 1.0; rel2.offset: 1 -1; } } part { name: "left"; clip_to: "leftclip"; description { state: "default" 0.0; visible: 0; rel1.to: "elm.swallow.slot.left"; rel1.offset: -5 -5; rel2.to: "elm.swallow.slot.left"; rel2.offset: 4 4; image.normal: "button_normal.png"; image.border: 4 4 3 5; image.middle: SOLID; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "elm.swallow.slot.left"; type: SWALLOW; clip_to: "leftclip"; description { state: "default" 0.0; align: 0.0 0.5; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 0.0 0.0; rel1.offset: -1 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 0.0 1.0; rel2.offset: -1 -1; } description { state: "visible" 0.0; inherit: "default" 0.0; rel1.offset: -7 0; rel2.offset: -7 -1; align: 1.0 0.5; } } part { name: "rightclip"; type: RECT; description { state: "default" 0.0; rel1.to_x: "pop"; rel1.relative: 1.0 0.0; rel1.offset: -2 0; } } part { name: "right"; clip_to: "rightclip"; description { state: "default" 0.0; visible: 0; rel1.to: "elm.swallow.slot.right"; rel1.offset: -5 -5; rel2.to: "elm.swallow.slot.right"; rel2.offset: 4 4; image.normal: "button_normal.png"; image.border: 4 4 3 5; image.middle: SOLID; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "elm.swallow.slot.right"; type: SWALLOW; clip_to: "rightclip"; description { state: "default" 0.0; align: 1.0 0.5; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 1.0 0.0; rel1.offset: 0 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 1.0 1.0; rel2.offset: 0 -1; } description { state: "visible" 0.0; inherit: "default" 0.0; rel1.offset: 6 0; rel2.offset: 6 -1; align: 0.0 0.5; } } part { name: "topclip"; type: RECT; description { state: "default" 0.0; rel2.to_y: "pop"; rel2.relative: 1.0 0.0; rel2.offset: -1 1; } } part { name: "top"; clip_to: "topclip"; description { state: "default" 0.0; visible: 0; rel1.to: "elm.swallow.slot.top"; rel1.offset: -5 -5; rel2.to: "elm.swallow.slot.top"; rel2.offset: 4 4; image.normal: "button_normal.png"; image.border: 4 4 3 5; image.middle: SOLID; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "elm.swallow.slot.top"; type: SWALLOW; clip_to: "topclip"; description { state: "default" 0.0; visible: 1; align: 0.5 0.0; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 0.0 0.0; rel1.offset: 0 -1; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 1.0 0.0; rel2.offset: -1 -1; } description { state: "visible" 0.0; inherit: "default" 0.0; rel1.offset: 0 -7; rel2.offset: -1 -7; align: 0.5 1.0; } } part { name: "bottomclip"; type: RECT; description { state: "default" 0.0; rel1.to_y: "pop"; rel1.relative: 0.0 1.0; rel1.offset: -1 -2; } } part { name: "bottom"; clip_to: "bottomclip"; description { state: "default" 0.0; visible: 0; rel1.to: "elm.swallow.slot.bottom"; rel1.offset: -5 -5; rel2.to: "elm.swallow.slot.bottom"; rel2.offset: 4 4; image.normal: "button_normal.png"; image.border: 4 4 3 5; image.middle: SOLID; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "elm.swallow.slot.bottom"; type: SWALLOW; clip_to: "bottomclip"; description { state: "default" 0.0; align: 0.5 1.0; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 0.0 1.0; rel1.offset: 0 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 1.0 1.0; rel2.offset: -1 0; } description { state: "visible" 0.0; inherit: "default" 0.0; rel1.offset: 0 6; rel2.offset: -1 6; align: 0.5 0.0; } } part { name: "pop"; mouse_events: 1; description { state: "default" 0.0; rel1.to: "elm.swallow.slot.middle"; rel1.offset: -6 -6; rel2.to: "elm.swallow.slot.middle"; rel2.offset: 5 5; image.normal: "button_normal.png"; image.border: 4 4 3 5; image.middle: SOLID; } } part { name: "elm.swallow.slot.middle"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "elm.swallow.size"; rel2.to: "elm.swallow.size"; } } } programs { program { name: "end"; signal: "mouse,up,*"; source: "base"; action: SIGNAL_EMIT "elm,action,dismiss" "elm"; } program { name: "show"; signal: "elm,action,show"; source: "elm"; action: STATE_SET "visible" 0.0; target: "base"; } program { name: "hide"; signal: "elm,action,hide"; source: "elm"; action: STATE_SET "default" 0.0; target: "base"; } program { name: "leftshow"; signal: "elm,action,slot,left,show"; source: "elm"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.5; target: "left"; target: "elm.swallow.slot.left"; } program { name: "lefthide"; signal: "elm,action,slot,left,hide"; source: "elm"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "left"; target: "elm.swallow.slot.left"; } program { name: "rightshow"; signal: "elm,action,slot,right,show"; source: "elm"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.5; target: "right"; target: "elm.swallow.slot.right"; } program { name: "righthide"; signal: "elm,action,slot,right,hide"; source: "elm"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "right"; target: "elm.swallow.slot.right"; } program { name: "topshow"; signal: "elm,action,slot,top,show"; source: "elm"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.5; target: "top"; target: "elm.swallow.slot.top"; } program { name: "tophide"; signal: "elm,action,slot,top,hide"; source: "elm"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "top"; target: "elm.swallow.slot.top"; } program { name: "bottomshow"; signal: "elm,action,slot,bottom,show"; source: "elm"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.5; target: "bottom"; target: "elm.swallow.slot.bottom"; } program { name: "bottomhide"; signal: "elm,action,slot,bottom,hide"; source: "elm"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "bottom"; target: "elm.swallow.slot.bottom"; } } } group { name: "elm/hover/base/hoversel_vertical/default"; alias: "elm/hover/base/hoversel_vertical/entry"; images.image: "button_normal.png" COMP; images.image: "vertical_separated_bar_glow.png" COMP; parts { part { name: "elm.swallow.offset"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.0; rel1.relative: 0.0 0.0; rel2.relative: 0.0 0.0; } } part { name: "elm.swallow.size"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.0; rel1.to: "elm.swallow.offset"; rel1.relative: 1.0 1.0; rel2.to: "elm.swallow.offset"; rel2.relative: 1.0 1.0; } } part { name: "button_image"; mouse_events: 1; description { state: "default" 0.0; rel1.to_x: "limit0"; rel1.to_y: "elm.swallow.slot.top"; rel1.offset: -10 -6; rel2.to_x: "limit1"; rel2.to_y: "elm.swallow.slot.middle"; rel2.relative: 1.0 0.0; rel2.offset: 9 5; image { normal: "button_normal.png"; border: 7 7 7 7; } image.middle: SOLID; } description { state: "bottom" 0.0; rel1.to_x: "limit0"; rel1.to_y: "elm.swallow.slot.middle"; rel1.relative: 0.0 1.0; rel1.offset: -10 -4; rel2.to_x: "limit1"; rel2.to_y: "elm.swallow.slot.bottom"; rel2.offset: 9 5; image { normal: "button_normal.png"; border: 7 7 7 7; } image.middle: SOLID; } } part { name: "limit0"; type: SPACER; description { state: "default" 0.0; rel1.to_x: "elm.swallow.slot.top"; rel1.offset: 1 0; rel2.to_x: "elm.swallow.slot.middle"; rel2.offset: 0 0; rel2.relative: 0.0 1.0; align: 0.0 0.5; min: 1 1; max: 1 99999; } description { state: "bottom" 0.0; inherit: "default" 0.0; rel1.to_x: "elm.swallow.slot.bottom"; } } part { name: "limit1"; type: SPACER; description { state: "default" 0.0; rel1.to_x: "elm.swallow.slot.middle"; rel1.offset: -1 0; rel1.relative: 1.0 0.0; rel2.to_x: "elm.swallow.slot.top"; rel2.offset: -2 0; align: 1.0 0.5; min: 1 1; max: 1 99999; } description { state: "bottom" 0.0; inherit: "default" 0.0; rel2.to_x: "elm.swallow.slot.bottom"; } } part { name: "select_line"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; align: 1.0 0.5; min: 15 10; rel1.to: "button_image"; rel1.relative: 1.0 0.0; rel1.offset: 1 -3; rel2.to: "button_image"; rel2.offset: 1 0; image.normal: "vertical_separated_bar_glow.png"; image.border: 7 7 7 7; fill.smooth : 0; } } part { name: "base"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 0 0 0 0; } } part { name: "topclip"; type: RECT; description { state: "default" 0.0; rel2.to_y: "button_image"; rel2.offset: -1 -6; } } part { name: "elm.swallow.slot.top"; type: SWALLOW; clip_to: "topclip"; description { state: "default" 0.0; visible: 1; align: 0.5 0.0; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 0.0 0.0; rel1.offset: 0 -1; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 1.0 0.0; rel2.offset: -1 -1; } description { state: "visible" 0.0; inherit: "default" 0.0; align: 0.5 1.0; } } part { name: "bottomclip"; type: RECT; description { state: "default" 0.0; rel1.to_y: "button_image"; rel1.offset: 0 3; } } part { name: "elm.swallow.slot.bottom"; type: SWALLOW; clip_to: "bottomclip"; description { state: "default" 0.0; align: 0.5 1.0; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 0.0 1.0; rel1.offset: 0 2; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 1.0 1.0; rel2.offset: -1 2; } description { state: "visible" 0.0; inherit: "default" 0.0; align: 0.5 0.0; } } part { name: "elm.swallow.slot.middle"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "elm.swallow.size"; rel2.to: "elm.swallow.size"; } } } programs { program { name: "end"; signal: "mouse,up,*"; source: "base"; action: SIGNAL_EMIT "elm,action,dismiss" "elm"; } program { name: "show"; signal: "elm,action,show"; source: "elm"; action: STATE_SET "visible" 0.0; target: "base"; } program { name: "hide"; signal: "elm,action,hide"; source: "elm"; action: STATE_SET "default" 0.0; target: "base"; } program { name: "topshow"; signal: "elm,action,slot,top,show"; source: "elm"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.5; target: "elm.swallow.slot.top"; } program { name: "topshow3"; signal: "elm,action,slot,top,show"; source: "elm"; action: STATE_SET "default" 0.0; target: "button_image"; target: "limit0"; target: "limit1"; } program { name: "tophide"; signal: "elm,action,slot,top,hide"; source: "elm"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "elm.swallow.slot.top"; } program { name: "bottomshow"; signal: "elm,action,slot,bottom,show"; source: "elm"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.5; target: "elm.swallow.slot.bottom"; } program { name: "bottomshow3"; signal: "elm,action,slot,bottom,show"; source: "elm"; action: STATE_SET "bottom" 0.0; target: "button_image"; target: "limit0"; target: "limit1"; } program { name: "bottomhide"; signal: "elm,action,slot,bottom,hide"; source: "elm"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "elm.swallow.slot.bottom"; } } } group { name: "elm/hover/base/hoversel_horizontal/default"; alias: "elm/hover/base/hoversel_horizontal/entry"; images.image: "button_normal.png" COMP; parts { part { name: "elm.swallow.offset"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.0; rel1.relative: 0.0 0.0; rel2.relative: 0.0 0.0; } } part { name: "elm.swallow.size"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.0; rel1.to: "elm.swallow.offset"; rel1.relative: 1.0 1.0; rel2.to: "elm.swallow.offset"; rel2.relative: 1.0 1.0; } } part { name: "base"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 0 0 0 0; } } part { name: "button_image"; mouse_events: 0; description { state: "default" 0.0; rel1.to_x: "elm.swallow.slot.left"; rel1.to_y: "elm.swallow.slot.middle"; rel1.offset: -6 0; rel2.to_x: "elm.swallow.slot.middle"; rel2.to_y: "elm.swallow.slot.middle"; rel2.relative: 0.0 1.0; rel2.offset: 4 1; image { normal: "button_normal.png"; border: 7 7 7 7; } image.middle: SOLID; } description { state: "right" 0.0; rel1.to_x: "elm.swallow.slot.middle"; rel1.to_y: "elm.swallow.slot.middle"; rel1.relative: 1.0 0.0; rel1.offset: -5 0; rel2.to_x: "elm.swallow.slot.right"; rel2.to_y: "elm.swallow.slot.middle"; rel2.offset: 5 1; image { normal: "button_normal.png"; border: 7 7 7 7; } image.middle: SOLID; } } part { name: "leftclip"; type: RECT; description { state: "default" 0.0; rel2.to_x: "elm.swallow.slot.middle"; rel2.relative: 0.0 1.0; } } part { name: "elm.swallow.slot.left"; type: SWALLOW; clip_to: "leftclip"; description { state: "default" 0.0; align: 0.0 0.5; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 0.0 0.0; rel1.offset: -1 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 0.0 1.0; rel2.offset: -1 -1; } description { state: "visible" 0.0; inherit: "default" 0.0; rel1.offset: -7 0; rel2.offset: -7 -1; align: 1.0 0.5; } } part { name: "rightclip"; type: RECT; description { state: "default" 0.0; rel1.to_x: "elm.swallow.slot.middle"; rel1.relative: 1.0 0.0; } } part { name: "elm.swallow.slot.right"; type: SWALLOW; clip_to: "rightclip"; description { state: "default" 0.0; align: 1.0 0.5; rel1.to: "elm.swallow.slot.middle"; rel1.relative: 1.0 0.0; rel1.offset: 0 0; rel2.to: "elm.swallow.slot.middle"; rel2.relative: 1.0 1.0; rel2.offset: 0 -1; } description { state: "visible" 0.0; inherit: "default" 0.0; rel1.offset: 6 0; rel2.offset: -6 -1; align: 0.0 0.5; } } part { name: "elm.swallow.slot.middle"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "elm.swallow.size"; rel2.to: "elm.swallow.size"; } } } programs { program { name: "end"; signal: "mouse,up,*"; source: "base"; action: SIGNAL_EMIT "elm,action,dismiss" "elm"; } program { name: "show"; signal: "elm,action,show"; source: "elm"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.5; target: "base"; } program { name: "hide"; signal: "elm,action,hide"; source: "elm"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "base"; } program { name: "leftshow"; signal: "elm,action,slot,left,show"; source: "elm"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.5; target: "elm.swallow.slot.left"; } program { name: "leftshow3"; signal: "elm,action,slot,left,show"; source: "elm"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "button_image"; } program { name: "lefthide"; signal: "elm,action,slot,left,hide"; source: "elm"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "elm.swallow.slot.left"; } program { name: "rightshow"; signal: "elm,action,slot,right,show"; source: "elm"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.5; target: "elm.swallow.slot.right"; } program { name: "rightshow3"; signal: "elm,action,slot,right,show"; source: "elm"; action: STATE_SET "right" 0.0; transition: DECELERATE 0.5; target: "button_image"; } program { name: "righthide"; signal: "elm,action,slot,right,hide"; source: "elm"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "elm.swallow.slot.right"; } } }