#define PANEMIN  10
#define PANEMIN2 16
#define PANEWID  32

group { name: "elm/panes/vertical/default";
   images.image: "holes_vert.png" COMP;
   parts {
      part { name: "whole"; type: SPACER;
         description { state: "default" 0.0;
         }
      }
      part { name: "right_constraint"; type: SPACER;
         dragable { confine: "whole";
            x: 1 1 1;
            y: 0 0 0;
         }
         description { state: "default" 0.0;
            max: 0 0;
         }
      }
      part { name: "left_constraint"; type: SPACER;
         dragable { confine: "whole";
            x: 1 1 1;
            y: 0 0 0;
         }
         description { state: "default" 0.0;
            max: 0 0;
         }
      }
      part { name: "sub_whole"; type: SPACER;
         description { state: "default" 0.0;
            rel1.relative: 1.0 0.0;
            rel1.to_x: "left_constraint";
            rel2.relative: 0.0 1.0;
            rel2.to_x: "right_constraint";
         }
      }
      part { name: "whole_left"; type: RECT;
         description { state: "default" 0.0;
            rel2.to_x: "elm.bar";
            rel2.relative: 1.0 1.0;
            rel2.offset: -4 -1;
         }
      }
      part { name: "whole_right"; type: RECT;
         description { state: "default" 0.0;
            rel1.to_x: "elm.bar";
            rel1.relative: 0.0 0.0;
            rel1.offset: 3 0;
         }
      }
      part { name: "elm.swallow.left"; type: SWALLOW;
         clip_to: "whole_left";
         description { state: "default" 0.0;
            rel2.to_x: "elm.bar";
            rel2.relative: 1.0 1.0;
            rel2.offset: -4 -1;
         }
      }
      part { name: "elm.swallow.right"; type: SWALLOW;
         clip_to: "whole_right";
         description { state: "default" 0.0;
            rel1.to_x: "elm.bar";
            rel1.relative: 0.0 0.0;
            rel1.offset: 3 0;
         }
      }
      part { name: "elm.bar"; type: SPACER;
         dragable { confine: "sub_whole";
            x: 1 1 1;
            y: 0 0 0;
         }
         description { state: "default" 0.0;
            max: 0 99999;
            min: 0 14;
            fixed: 1 1;
            rel1.relative: 0.0 0.5;
            rel2.relative: 1.0 0.5;
         }
      }
      part { name: "dots"; mouse_events: 0;
         description { state: "default" 0.0;
            image.normal: "holes_vert.png";
            rel1.to: "elm.bar";
            rel2.to: "elm.bar";
            FIXED_SIZE(4, 14)
         }
      }
      part { name: "elm.swallow.event"; type: SWALLOW;
         description { state: "default" 0.0;
            visible: 0;
            min: PANEMIN PANEMIN2;
            fixed: 1 1;
            rel1.to: "elm.bar";
            rel2.to: "elm.bar";
         }
      }
      part { name: "bar"; type: RECT;
         dragable.events: "elm.bar";
         description { state: "default" 0.0;
            min: PANEMIN PANEWID;
            max: 99999 99999;
            fixed: 1 1;
            rel1.to_x: "elm.swallow.event";
            rel2.to_x: "elm.swallow.event";
            color: 0 0 0 0;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            visible: 0;
         }
      }
   }
   programs {
      program {signal: "mouse,down,1"; source: "bar"; // for "press" smart callback
         action: SIGNAL_EMIT "elm,action,press" "elm";
      }
      program { signal: "mouse,up,1"; source: "bar"; // for "unpress" smart callback
         action: SIGNAL_EMIT "elm,action,unpress" "elm";
      }
      program { signal: "mouse,clicked,1"; source: "bar"; // for "clicked" smart callback
         action: SIGNAL_EMIT "elm,action,click" "elm";
      }
      program { signal: "mouse,down,1,double"; source: "bar"; // for "clicked,double" smart callback
         action: SIGNAL_EMIT "elm,action,click,double" "elm";
      }
      program { // for elm_panes_fixed_set()
         signal: "elm,panes,fixed"; source: "elm";
         action: STATE_SET "disabled" 0.0;
         target: "bar";
      }
      program { // for elm_panes_fixed_set()
         signal: "elm,panes,unfixed"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "bar";
      }
   }
}

group { name: "elm/panes/horizontal/default";
   images.image: "holes_horiz.png" COMP;
   parts {
      part { name: "whole"; type: SPACER;
         description { state: "default" 0.0;
         }
      }
      part { name: "right_constraint"; type: SPACER;
         dragable { confine: "whole";
            x: 0 0 0;
            y: 1 1 1;
         }
         description { state: "default" 0.0;
            max: 0 0;
         }
      }
      part { name: "left_constraint"; type: SPACER;
         dragable { confine: "whole";
            x: 0 0 0;
            y: 1 1 1;
         }
         description { state: "default" 0.0;
            max: 0 0;
         }
      }
      part { name: "sub_whole"; type: SPACER;
         description { state: "default" 0.0;
            rel1.relative: 0.0 1.0;
            rel1.to_y: "left_constraint";
            rel2.relative: 1.0 0.0;
            rel2.to_y: "right_constraint";
         }
      }
      part { name: "whole_left"; type: RECT;
         description { state: "default" 0.0;
            rel2.to_y: "elm.bar";
            rel2.relative: 1.0 1.0;
            rel2.offset: -1 -4;
         }
      }
      part { name: "whole_right"; type: RECT;
         description { state: "default" 0.0;
            rel1.to_y: "elm.bar";
            rel1.relative: 0.0 0.0;
            rel1.offset: 0 3;
         }
      }
      part { name: "elm.swallow.left"; type: SWALLOW;
         clip_to: "whole_left";
         description { state: "default" 0.0;
            rel2.to_y: "elm.bar";
            rel2.relative: 1.0 1.0;
            rel2.offset: -1 -4;
         }
      }
      part { name: "elm.swallow.right"; type: SWALLOW;
         clip_to: "whole_right";
         description { state: "default" 0.0;
            rel1.to_y: "elm.bar";
            rel1.relative: 0.0 0.0;
            rel1.offset: 0 3;
         }
      }
      part { name: "elm.bar"; type: SPACER;
         dragable { confine: "sub_whole";
            x: 0 0 0;
            y: 1 1 1;
         }
         description { state: "default" 0.0;
            max: 99999 0;
            min: 14 0;
            fixed: 1 1;
            rel1.relative: 0.5 0.0;
            rel2.relative: 0.5 1.0;
         }
      }
      part { name: "dots"; mouse_events: 0;
         description { state: "default" 0.0;
            image.normal: "holes_horiz.png";
            rel1.to: "elm.bar";
            rel2.to: "elm.bar";
            FIXED_SIZE(14, 4)
         }
      }
      part { name: "elm.swallow.event"; type: SWALLOW;
         description { state: "default" 0.0;
            visible: 0;
            min: PANEMIN2 PANEMIN;
            fixed: 1 1;
            rel1.to: "elm.bar";
            rel2.to: "elm.bar";
         }
      }
      part { name: "bar"; type: RECT;
         dragable.events: "elm.bar";
         description { state: "default" 0.0;
            min: PANEWID PANEMIN;
            max: 99999 99999;
            fixed: 1 1;
            rel1.to_y: "elm.swallow.event";
            rel2.to_y: "elm.swallow.event";
            color: 0 0 0 0;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            visible: 0;
         }
      }
   }
   programs {
      program {signal: "mouse,down,1"; source: "bar"; // for "press" smart callback
         action: SIGNAL_EMIT "elm,action,press" "elm";
      }
      program { signal: "mouse,up,1"; source: "bar"; // for "unpress" smart callback
         action: SIGNAL_EMIT "elm,action,unpress" "elm";
      }
      program { signal: "mouse,clicked,1"; source: "bar"; // for "clicked" smart callback
         action: SIGNAL_EMIT "elm,action,click" "elm";
      }
      program { signal: "mouse,down,1,double"; source: "bar"; // for "clicked,double" smart callback
         action: SIGNAL_EMIT "elm,action,click,double" "elm";
      }
      program { // for elm_panes_fixed_set()
         signal: "elm,panes,fixed"; source: "elm";
         action: STATE_SET "disabled" 0.0;
         target: "bar";
      }
      program { // for elm_panes_fixed_set()
         signal: "elm,panes,unfixed"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "bar";
      }
   }
}

////////////////////////////////////////////////////////////////////////////

group { name: "elm/panes/vertical/flush";
   images.image: "downlight_glow_left.png" COMP;
   images.image: "downlight_glow_right.png" COMP;
   parts {
      part { name: "whole"; type: SPACER;
         description { state: "default" 0.0;
         }
      }
      part { name: "right_constraint"; type: SPACER;
         dragable { confine: "whole";
            x: 1 1 1;
            y: 0 0 0;
         }
         description { state: "default" 0.0;
            max: 0 0;
         }
      }
      part { name: "left_constraint"; type: SPACER;
         dragable { confine: "whole";
            x: 1 1 1;
            y: 0 0 0;
         }
         description { state: "default" 0.0;
            max: 0 0;
         }
      }
      part { name: "sub_whole"; type: SPACER;
         description { state: "default" 0.0;
            rel1.relative: 1.0 0.0;
            rel1.to_x: "left_constraint";
            rel2.relative: 0.0 1.0;
            rel2.to_x: "right_constraint";
         }
      }
      part { name: "whole_left"; type: RECT;
         description { state: "default" 0.0;
            rel2.to_x: "elm.bar";
            rel2.relative: 1.0 1.0;
         }
      }
      part { name: "whole_right"; type: RECT;
         description { state: "default" 0.0;
            rel1.to_x: "elm.bar";
            rel1.relative: 0.0 0.0;
         }
      }
      part { name: "elm.swallow.left"; type: SWALLOW;
         clip_to: "whole_left";
         description { state: "default" 0.0;
            rel2.to_x: "elm.bar";
            rel2.relative: 1.0 1.0;
            fixed: 1 0;
         }
      }
      part { name: "elm.swallow.right"; type: SWALLOW;
         clip_to: "whole_right";
         description { state: "default" 0.0;
            rel1.to_x: "elm.bar";
            rel1.relative: 0.0 0.0;
            fixed: 1 0;
         }
      }
      part { name: "elm.bar"; type: SPACER;
         dragable { confine: "sub_whole";
            x: 1 1 1;
            y: 0 0 0;
         }
         description { state: "default" 0.0;
            max: 0 99999;
            min: 0 14;
            fixed: 1 1;
            rel1.relative: 0.0 0.5;
            rel2.relative: 1.0 0.5;
         }
      }
      part { name: "elm.swallow.event"; type: SWALLOW;
         description { state: "default" 0.0;
            visible: 0;
            min: PANEMIN PANEMIN2;
            fixed: 1 1;
            rel1.to: "elm.bar";
            rel2.to: "elm.bar";
         }
      }
      part { name: "bar"; type: RECT;
         dragable.events: "elm.bar";
         description { state: "default" 0.0;
            min: PANEMIN PANEWID;
            max: 99999 99999;
            fixed: 1 1;
            rel1.to_x: "elm.swallow.event";
            rel1.relative: 0.0 0.25;
            rel2.to_x: "elm.swallow.event";
            rel2.relative: 1.0 0.75;
            color: 0 0 0 0;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            visible: 0;
         }
      }
      part { name: "glow1a"; mouse_events: 0;
         description { state: "default" 0.0;
            image.normal: "downlight_glow_left.png";
            image.border: 0 3 0 0;
            max: 32 99999;
            rel2.to_x: "elm.bar";
            color: 255 255 255 0;
            align: 1.0 0.5;
         }
         description { state: "active" 0.0;
           inherit: "default" 0.0;
           color: 255 255 255 255;
         }
      }
      part { name: "glow1b"; mouse_events: 0;
         description { state: "default" 0.0;
            image.normal: "downlight_glow_right.png";
            max: 4 99999;
            rel1.to_x: "elm.bar";
            color: 255 255 255 0;
            align: 0.0 0.5;
         }
         description { state: "active" 0.0;
           inherit: "default" 0.0;
           color: 255 255 255 255;
         }
      }
      part { name: "glow2a"; mouse_events: 0;
         description { state: "default" 0.0;
            image.normal: "downlight_glow_left.png";
            max: 4 99999;
            rel2.to_x: "elm.bar";
            color: 255 255 255 0;
            align: 1.0 0.5;
         }
         description { state: "active" 0.0;
           inherit: "default" 0.0;
           color: 255 255 255 255;
         }
      }
      part { name: "glow2b"; mouse_events: 0;
         description { state: "default" 0.0;
            image.normal: "downlight_glow_right.png";
            image.border: 3 0 0 0;
            max: 32 99999;
            rel1.to_x: "elm.bar";
            color: 255 255 255 0;
            align: 0.0 0.5;
         }
         description { state: "active" 0.0;
           inherit: "default" 0.0;
           color: 255 255 255 255;
         }
      }
      part { name: "bar1"; type: RECT; repeat_events: 1;
         description { state: "default" 0.0;
            fixed: 1 1;
            rel1.to: "bar";
            rel2.to: "bar";
            rel2.relative: 0.5 1.0;
            color: 0 0 0 0;
         }
      }
      part { name: "bar2"; type: RECT; repeat_events: 1;
         description { state: "default" 0.0;
            fixed: 1 1;
            rel1.to: "bar";
            rel1.relative: 0.5 0.0;
            rel2.to: "bar";
            color: 0 0 0 0;
         }
      }
   }
   programs {
      program {signal: "mouse,down,1"; source: "bar"; // for "press" smart callback
         action: SIGNAL_EMIT "elm,action,press" "elm";
      }
      program { signal: "mouse,up,1"; source: "bar"; // for "unpress" smart callback
         action: SIGNAL_EMIT "elm,action,unpress" "elm";
      }
      program { signal: "mouse,clicked,1"; source: "bar"; // for "clicked" smart callback
         action: SIGNAL_EMIT "elm,action,click" "elm";
      }
      program { signal: "mouse,down,1,double"; source: "bar"; // for "clicked,double" smart callback
         action: SIGNAL_EMIT "elm,action,click,double" "elm";
      }
      program { // for elm_panes_fixed_set()
         signal: "elm,panes,fixed"; source: "elm";
         action: STATE_SET "disabled" 0.0;
         target: "bar";
      }
      program { // for elm_panes_fixed_set()
         signal: "elm,panes,unfixed"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "bar";
      }
      program {
         signal: "mouse,in"; source: "bar1";
         action: STATE_SET "active" 0.0;
         transition: BOUNCE 0.4 0.5 4;
         target: "glow1a";
         target: "glow1b";
      }
      program {
         signal: "mouse,out"; source: "bar1";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "glow1a";
         target: "glow1b";
      }
      program {
         signal: "mouse,in"; source: "bar2";
         action: STATE_SET "active" 0.0;
         transition: BOUNCE 0.4 0.5 4;
         target: "glow2a";
         target: "glow2b";
      }
      program {
         signal: "mouse,out"; source: "bar2";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "glow2a";
         target: "glow2b";
      }
   }
}

group { name: "elm/panes/horizontal/flush";
   images.image: "downlight_glow.png" COMP;
   images.image: "downlight_glow_up.png" COMP;
   parts {
      part { name: "whole"; type: SPACER;
         description { state: "default" 0.0;
         }
      }
      part { name: "right_constraint"; type: SPACER;
         dragable { confine: "whole";
            x: 0 0 0;
            y: 1 1 1;
         }
         description { state: "default" 0.0;
            max: 0 0;
         }
      }
      part { name: "left_constraint"; type: SPACER;
         dragable { confine: "whole";
            x: 0 0 0;
            y: 1 1 1;
         }
         description { state: "default" 0.0;
            max: 0 0;
         }
      }
      part { name: "sub_whole"; type: SPACER;
         description { state: "default" 0.0;
            rel1.relative: 0.0 1.0;
            rel1.to_y: "left_constraint";
            rel2.relative: 1.0 0.0;
            rel2.to_y: "right_constraint";
         }
      }
      part { name: "whole_left"; type: RECT;
         description { state: "default" 0.0;
            rel2.to_y: "elm.bar";
            rel2.relative: 1.0 1.0;
         }
      }
      part { name: "whole_right"; type: RECT;
         description { state: "default" 0.0;
            rel1.to_y: "elm.bar";
            rel1.relative: 0.0 0.0;
         }
      }
      part { name: "elm.swallow.left"; type: SWALLOW;
         clip_to: "whole_left";
         description { state: "default" 0.0;
            rel2.to_y: "elm.bar";
            rel2.relative: 1.0 1.0;
            fixed: 0 1;
         }
      }
      part { name: "elm.swallow.right"; type: SWALLOW;
         clip_to: "whole_right";
         description { state: "default" 0.0;
            rel1.to_y: "elm.bar";
            rel1.relative: 0.0 0.0;
            fixed: 0 1;
         }
      }
      part { name: "elm.bar"; type: SPACER;
         dragable { confine: "sub_whole";
            x: 0 0 0;
            y: 1 1 1;
         }
         description { state: "default" 0.0;
            max: 99999 0;
            min: 14 0;
            fixed: 1 1;
            rel1.relative: 0.5 0.0;
            rel2.relative: 0.5 1.0;
         }
      }
      part { name: "elm.swallow.event"; type: SWALLOW;
         description { state: "default" 0.0;
            visible: 0;
            min: PANEMIN2 PANEMIN;
            fixed: 1 1;
            rel1.to: "elm.bar";
            rel2.to: "elm.bar";
         }
      }
      part { name: "bar"; type: RECT;
         dragable.events: "elm.bar";
         description { state: "default" 0.0;
            min: PANEWID PANEMIN;
            max: 99999 99999;
            fixed: 1 1;
            rel1.to_y: "elm.swallow.event";
            rel1.relative: 0.25 0.0;
            rel2.to_y: "elm.swallow.event";
            rel2.relative: 0.75 1.0;
            color: 0 0 0 0;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            visible: 0;
         }
      }
      part { name: "glow1a"; mouse_events: 0;
         description { state: "default" 0.0;
            image.normal: "downlight_glow_up.png";
            image.border: 0 0 0 3;
            max: 99999 32;
            rel2.to_y: "elm.bar";
            color: 255 255 255 0;
            align: 0.5 1.0;
         }
         description { state: "active" 0.0;
           inherit: "default" 0.0;
           color: 255 255 255 255;
         }
      }
      part { name: "glow1b"; mouse_events: 0;
         description { state: "default" 0.0;
            image.normal: "downlight_glow.png";
            max: 99999 4;
            rel1.to_y: "elm.bar";
            color: 255 255 255 0;
            align: 0.5 0.0;
         }
         description { state: "active" 0.0;
           inherit: "default" 0.0;
           color: 255 255 255 255;
         }
      }
      part { name: "glow2a"; mouse_events: 0;
         description { state: "default" 0.0;
            image.normal: "downlight_glow_up.png";
            max: 99999 4;
            rel2.to_y: "elm.bar";
            color: 255 255 255 0;
            align: 0.5 1.0;
         }
         description { state: "active" 0.0;
           inherit: "default" 0.0;
           color: 255 255 255 255;
         }
      }
      part { name: "glow2b"; mouse_events: 0;
         description { state: "default" 0.0;
            image.normal: "downlight_glow.png";
            image.border: 0 0 3 0;
            max: 99999 32;
            rel1.to_y: "elm.bar";
            color: 255 255 255 0;
            align: 0.5 0.0;
         }
         description { state: "active" 0.0;
           inherit: "default" 0.0;
           color: 255 255 255 255;
         }
      }
      part { name: "bar1"; type: RECT; repeat_events: 1;
         description { state: "default" 0.0;
            fixed: 1 1;
            rel1.to: "bar";
            rel2.to: "bar";
            rel2.relative: 1.0 0.5;
            color: 0 0 0 0;
         }
      }
      part { name: "bar2"; type: RECT; repeat_events: 1;
         description { state: "default" 0.0;
            fixed: 1 1;
            rel1.to: "bar";
            rel1.relative: 0.0 0.5;
            rel2.to: "bar";
            color: 0 0 0 0;
         }
      }
   }
   programs {
      program {
         signal: "mouse,in"; source: "bar1";
         action: STATE_SET "active" 0.0;
         transition: BOUNCE 0.4 0.5 4;
         target: "glow1a";
         target: "glow1b";
      }
      program {
         signal: "mouse,out"; source: "bar1";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "glow1a";
         target: "glow1b";
      }
      program {
         signal: "mouse,in"; source: "bar2";
         action: STATE_SET "active" 0.0;
         transition: BOUNCE 0.4 0.5 4;
         target: "glow2a";
         target: "glow2b";
      }
      program {
         signal: "mouse,out"; source: "bar2";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "glow2a";
         target: "glow2b";
      }
      program {signal: "mouse,down,1"; source: "bar"; // for "press" smart callback
         action: SIGNAL_EMIT "elm,action,press" "elm";
      }
      program { signal: "mouse,up,1"; source: "bar"; // for "unpress" smart callback
         action: SIGNAL_EMIT "elm,action,unpress" "elm";
      }
      program { signal: "mouse,clicked,1"; source: "bar"; // for "clicked" smart callback
         action: SIGNAL_EMIT "elm,action,click" "elm";
      }
      program { signal: "mouse,down,1,double"; source: "bar"; // for "clicked,double" smart callback
         action: SIGNAL_EMIT "elm,action,click,double" "elm";
      }
      program { // for elm_panes_fixed_set()
         signal: "elm,panes,fixed"; source: "elm";
         action: STATE_SET "disabled" 0.0;
         target: "bar";
      }
      program { // for elm_panes_fixed_set()
         signal: "elm,panes,unfixed"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "bar";
      }
   }
}
