group { name: "elm/bubble/top_left/default";
   alias: "elm/bubble/base/default";
   images.image: "bub_base_tl.png" COMP;
   images.image: "bub_base_tr.png" COMP;
   images.image: "bub_over_top.png" COMP;
   images.image: "shine.png" COMP;
   parts {
      part { name: "event"; type: RECT;
         description { state: "default" 0.0;
            color: 0 0 0 0;
         }
      }
      part { name: "elm.swallow.icon"; type: SWALLOW;
         description { state: "default" 0.0;
            fixed: 1 1;
            visible: 0;
            align: 0.0 0.0;
            aspect: 1.0 1.0; aspect_preference: VERTICAL;
            rel1.offset: 2 2;
            rel2 {
               to_y: "elm.text";
               relative: 0.0 1.0;
               offset: 2 -1;
            }
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "sizer.content"; type: TEXT; mouse_events:  0;
         scale: 1;
         description { state: "default" 0.0;
            fixed: 1 1;
            visible: 0;
            text { font: FN; size: 10;
               min: 0 0;
               text_class: "bubble";
            }
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            rel1.to: "elm.swallow.icon";
            rel2.to: "elm.swallow.icon";
            text {
               min: 1 1;
               ellipsis: -1;
               text: "M";
            }
         }
      }
      part { name: "elm.text"; type: TEXT; mouse_events: 0;
         effect: SHADOW BOTTOM;
         scale: 1;
         description { state: "default" 0.0;
            fixed: 0 1;
            align: 0.0 0.0;
            rel1 {
               to_x: "elm.swallow.icon";
               relative: 1.0 0.0;
               offset: 2 2;
            }
            rel2 {
               to_x: "elm.info";
               relative: 0.0 0.0;
               offset: -3 2;
            }
            color: FN_COL_DEFAULT;
            color_class: "bubble_text";
            text { font: FNBD; size: 10;
               min: 0 1;
               max: 0 1;
               align: 0.0 0.0;
               text_class: "bubble";
            }
         }
      }
      part { name: "elm.info"; type: TEXT; mouse_events: 0;
         effect: SHADOW BOTTOM;
         scale: 1;
         description { state: "default" 0.0;
            align: 1.0 0.0;
            fixed: 1 1;
            rel1.relative: 1.0 0.0;
            rel1.offset: -3 2;
            rel2.relative: 1.0 0.0;
            rel2.offset: -3 2;
            color: FN_COL_DISABLE;
            color_class: "bubble_info";
            text { font: FNBD; size: 10;
               min: 1 1;
               ellipsis: -1;
               max: 1 1;
               align: 1.0 0.0;
               text_class: "bubble_info";
            }
         }
      }
      part { name: "base"; mouse_events:  0;
         description { state: "default" 0.0;
            rel1 {
               to_y: "elm.swallow.icon";
               relative: 0.0 1.0;
               offset: 0 0;
            }
            image.normal: "bub_base_tl.png";
            image.border: 24 8 12 9;
            image.middle: SOLID;
            fill.smooth: 0;
         }
         description { state: "rtl" 0.0;
            inherit: "default" 0.0;
            image.normal: "bub_base_tr.png";
            image.border: 8 24 12 9;
         }
      }
      part { name: "elm.swallow.content";
         type: SWALLOW;
         description { state: "default" 0.0;
            rel1.to: "base";
            rel1.offset: 5 9;
            rel2.to: "base";
            rel2.offset: -6 -7;
         }
      }
      part { name: "over"; mouse_events:  0;
         description { state: "default" 0.0;
            rel1.to: "base";
            rel1.offset: 20 6;
            rel2.to: "base";
            rel2.offset: -6 6;
            rel2.relative: 1.0 0.4;
            image.normal: "bub_over_top.png";
            fill.smooth: 0;
         }
         description { state: "rtl" 0.0;
            inherit: "default" 0.0;
            rel1.offset: 5 6;
            rel2.offset: -21 6;
         }
      }
      part { name: "shine_clip"; type: RECT;
         description { state: "default" 0.0;
            rel1.to: "over";
            rel1.offset: 0 -10;
            rel2.to: "over";
         }
      }
      part { name: "shine"; mouse_events: 0;
         clip_to: "shine_clip";
         description { state: "default" 0.0;
            image.normal: "shine.png";
            rel1.offset: 0 -2;
            rel1.to: "over";
            rel2.relative: 1.0 0.0;
            rel2.offset: -1 2;
            rel2.to: "over";
            FIXED_SIZE(69, 5)
         }
      }
   }
   programs {
      program {
         signal: "elm,state,icon,visible"; source: "elm";
         action: STATE_SET "visible" 0.0;
         target: "elm.swallow.icon";
         target: "sizer.content";
      }
      program {
         signal: "elm,state,icon,hidden"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "elm.swallow.icon";
         target: "sizer.content";
      }
      program {
         signal: "edje,state,rtl"; source: "edje";
         action: STATE_SET "rtl" 0.0;
         target: "base";
         target: "over";
      }
      program {
         signal: "edje,state,ltr"; source: "edje";
         action: STATE_SET "default" 0.0;
         target: "base";
         target: "over";
      }
   }
}

group { name: "elm/bubble/top_right/default";
   images.image: "bub_base_tr.png" COMP;
   images.image: "bub_base_tl.png" COMP;
   images.image: "bub_over_top.png" COMP;
   images.image: "shine.png" COMP;
   parts {
      part { name: "event"; type: RECT;
         description { state: "default" 0.0;
            color: 0 0 0 0;
         }
      }
      part { name: "elm.swallow.icon"; type: SWALLOW;
         description { state: "default" 0.0;
            fixed: 1 1;
            visible: 0;
            align: 1.0 0.0;
            aspect: 1.0 1.0; aspect_preference: VERTICAL;
            rel1.offset: -3 2;
            rel1.relative: 1.0 0.0;
            rel2 {
               to_y: "elm.text";
               relative: 1.0 1.0;
               offset: -3 -1;
            }
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "sizer.content"; type: TEXT; mouse_events:  0;
         scale: 1;
         description { state: "default" 0.0;
            fixed: 1 1;
            visible: 0;
            text { font: FN; size: 10;
               min: 0 0;
               text_class: "bubble";
            }
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            rel1.to: "elm.swallow.icon";
            rel2.to: "elm.swallow.icon";
            text {
               min: 1 1;
               ellipsis: -1;
               text: "M";
            }
         }
      }
      part { name: "elm.text"; type: TEXT; mouse_events: 0;
         effect: SHADOW BOTTOM;
         scale: 1;
         description { state: "default" 0.0;
            fixed: 0 1;
            align: 0.0 0.0;
            rel1.offset: 2 2;
            rel2 {
               to_x: "elm.info";
               relative: 0.0 0.0;
               offset: -3 2;
            }
            color: FN_COL_DEFAULT;
            color_class: "bubble_text";
            text { font: FNBD; size: 10;
               min: 0 1;
               max: 0 1;
               align: 0.0 0.0;
               text_class: "bubble";
            }
         }
      }
      part { name: "elm.info"; type: TEXT; mouse_events: 0;
         effect: SHADOW BOTTOM;
         scale: 1;
         description { state: "default" 0.0;
            align: 1.0 0.0;
            fixed: 1 1;
            rel1.relative: 1.0 0.0;
            rel1.offset: -3 2;
            rel2.to_x: "elm.swallow.icon";
            rel2.relative: 0.0 0.0;
            rel2.offset: -3 2;
            color: FN_COL_DISABLE;
            color_class: "bubble_info";
            text { font: FNBD; size: 10;
               min: 1 1;
               ellipsis: -1;
               max: 1 1;
               align: 1.0 0.0;
               text_class: "bubble_info";
            }
         }
      }
      part { name: "base"; mouse_events:  0;
         description { state: "default" 0.0;
            rel1 {
               to_y: "elm.swallow.icon";
               relative: 0.0 1.0;
               offset: 0 0;
            }
            image.normal: "bub_base_tr.png";
            image.border: 8 24 12 9;
            image.middle: SOLID;
            fill.smooth: 0;
         }
         description { state: "rtl" 0.0;
            inherit: "default" 0.0;
            image.normal: "bub_base_tl.png";
            image.border: 24 8 12 9;
         }
      }
      part { name: "elm.swallow.content";
         type: SWALLOW;
         description { state: "default" 0.0;
            rel1.to: "base";
            rel1.offset: 5 9;
            rel2.to: "base";
            rel2.offset: -6 -7;
         }
      }
      part { name: "over"; mouse_events:  0;
         description { state: "default" 0.0;
            rel1.to: "base";
            rel1.offset: 5 6;
            rel2.to: "base";
            rel2.offset: -21 6;
            rel2.relative: 1.0 0.4;
            image.normal: "bub_over_top.png";
            fill.smooth: 0;
         }
         description { state: "rtl" 0.0;
            inherit: "default" 0.0;
            rel1.offset: 20 6;
            rel2.offset: -6 6;
         }
      }
      part { name: "shine_clip"; type: RECT;
         description { state: "default" 0.0;
            rel1.to: "over";
            rel1.offset: 0 -10;
            rel2.to: "over";
         }
      }
      part { name: "shine"; mouse_events: 0;
         clip_to: "shine_clip";
         description { state: "default" 0.0;
            image.normal: "shine.png";
            rel1.offset: 0 -2;
            rel1.to: "over";
            rel2.relative: 1.0 0.0;
            rel2.offset: -1 2;
            rel2.to: "over";
            FIXED_SIZE(69, 5)
         }
      }
   }
   programs {
      program {
         signal: "elm,state,icon,visible"; source: "elm";
         action: STATE_SET "visible" 0.0;
         target: "elm.swallow.icon";
         target: "sizer.content";
      }
      program {
         signal: "elm,state,icon,hidden"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "elm.swallow.icon";
         target: "sizer.content";
      }
      program {
         signal: "edje,state,rtl"; source: "edje";
         action: STATE_SET "rtl" 0.0;
         target: "base";
         target: "over";
      }
      program {
         signal: "edje,state,ltr"; source: "edje";
         action: STATE_SET "default" 0.0;
         target: "base";
         target: "over";
      }
   }
}

group { name: "elm/bubble/bottom_left/default";
   images.image: "bub_base_bl.png" COMP;
   images.image: "bub_base_br.png" COMP;
   images.image: "bub_over_bot.png" COMP;
   images.image: "shine.png" COMP;
   parts {
      part { name: "event"; type: RECT;
         description { state: "default" 0.0;
            color: 0 0 0 0;
         }
      }
      part { name: "elm.swallow.icon"; type: SWALLOW;
         description { state: "default" 0.0;
            fixed: 1 1;
            visible: 0;
            align: 0.0 1.0;
            aspect: 1.0 1.0; aspect_preference: VERTICAL;
            rel1 {
               to_y: "elm.text";
               offset: 2 0;
            }
            rel2 {
               relative: 0.0 1.0;
               offset: 2 -3;
            }
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "sizer.content"; type: TEXT; mouse_events:  0;
         scale: 1;
         description { state: "default" 0.0;
            fixed: 1 1;
            visible: 0;
            text { font: FN; size: 10;
               min: 0 0;
               text_class: "bubble";
            }
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            rel1.to: "elm.swallow.icon";
            rel2.to: "elm.swallow.icon";
            text {
               min: 1 1;
               ellipsis: -1;
               text: "M";
            }
         }
      }
      part { name: "elm.text"; type: TEXT; mouse_events: 0;
         effect: SHADOW BOTTOM;
         scale: 1;
         description { state: "default" 0.0;
            fixed: 0 1;
            align: 0.0 1.0;
            rel1 {
               to_x: "elm.swallow.icon";
               relative: 1.0 1.0;
               offset: 2 -3;
            }
            rel2 {
               to_x: "elm.info";
               relative: 0.0 1.0;
               offset: -3 -3;
            }
            color: FN_COL_DEFAULT;
            color_class: "bubble_text";
            text { font: FNBD; size: 10;
               min: 0 1;
               max: 0 1;
               align: 0.0 1.0;
               text_class: "bubble";
            }
         }
      }
      part { name: "elm.info"; type: TEXT; mouse_events: 0;
         effect: SHADOW BOTTOM;
         scale: 1;
         description { state: "default" 0.0;
            align: 1.0 1.0;
            fixed: 1 1;
            rel1.relative: 1.0 1.0;
            rel1.offset: -3 -3;
            rel2.relative: 1.0 1.0;
            rel2.offset: -3 -3;
            color: FN_COL_DISABLE;
            color_class: "bubble_info";
            text { font: FNBD; size: 10;
               min: 1 1;
               ellipsis: -1;
               max: 1 1;
               align: 1.0 1.0;
               text_class: "bubble_info";
            }
         }
      }
      part { name: "base"; mouse_events:  0;
         description { state: "default" 0.0;
            rel2 {
               to_y: "elm.swallow.icon";
               relative: 1.0 0.0;
            }
            image.normal: "bub_base_bl.png";
            image.border: 24 8 8 13;
            image.middle: SOLID;
            fill.smooth: 0;
         }
         description { state: "rtl" 0.0;
            inherit: "default" 0.0;
            image.normal: "bub_base_br.png";
            image.border: 8 24 8 13;
         }
      }
      part { name: "elm.swallow.content";
         type: SWALLOW;
         description { state: "default" 0.0;
            rel1.to: "base";
            rel1.offset: 5 4;
            rel2.to: "base";
            rel2.offset: -6 -12;
         }
      }
      part { name: "over"; mouse_events:  0;
         description { state: "default" 0.0;
            rel1.to: "base";
            rel1.offset: 2 1;
            rel2.to: "base";
            rel2.offset: -3 1;
            rel2.relative: 1.0 0.4;
            image.normal: "bub_over_bot.png";
            fill.smooth: 0;
         }
      }
      part { name: "shine_clip"; type: RECT;
         description { state: "default" 0.0;
            rel1.to: "over";
            rel1.offset: 0 -10;
            rel2.to: "over";
         }
      }
      part { name: "shine"; mouse_events: 0;
         clip_to: "shine_clip";
         description { state: "default" 0.0;
            image.normal: "shine.png";
            rel1.offset: 0 -2;
            rel1.to: "over";
            rel2.relative: 1.0 0.0;
            rel2.offset: -1 2;
            rel2.to: "over";
            FIXED_SIZE(69, 5)
         }
      }
   }
   programs {
      program {
         signal: "elm,state,icon,visible"; source: "elm";
         action: STATE_SET "visible" 0.0;
         target: "elm.swallow.icon";
         target: "sizer.content";
      }
      program {
         signal: "elm,state,icon,hidden"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "elm.swallow.icon";
         target: "sizer.content";
      }
      program {
         signal: "edje,state,rtl"; source: "edje";
         action: STATE_SET "rtl" 0.0;
         target: "base";
      }
      program {
         signal: "edje,state,ltr"; source: "edje";
         action: STATE_SET "default" 0.0;
         target: "base";
      }
   }
}

group { name: "elm/bubble/bottom_right/default";
   images.image: "bub_base_br.png" COMP;
   images.image: "bub_base_bl.png" COMP;
   images.image: "bub_over_bot.png" COMP;
   images.image: "shine.png" COMP;
   parts {
      part { name: "event"; type: RECT;
         description { state: "default" 0.0;
            color: 0 0 0 0;
         }
      }
      part { name: "elm.swallow.icon"; type: SWALLOW;
         description { state: "default" 0.0;
            fixed: 1 1;
            visible: 0;
            align: 1.0 1.0;
            aspect: 1.0 1.0; aspect_preference: VERTICAL;
            rel1 {
               to_y: "elm.text";
               offset: -3 0;
            }
            rel2 {
               relative: 1.0 1.0;
               offset: -3 -3;
            }
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "sizer.content"; type: TEXT; mouse_events:  0;
         scale: 1;
         description { state: "default" 0.0;
            fixed: 1 1;
            visible: 0;
            text { font: FN; size: 10;
               min: 0 0;
               text_class: "bubble";
            }
         }
         description { state: "visible" 0.0;
            inherit: "default" 0.0;
            rel1.to: "elm.swallow.icon";
            rel2.to: "elm.swallow.icon";
            text {
               min: 1 1;
               ellipsis: -1;
               text: "M";
            }
         }
      }
      part { name: "elm.text"; type: TEXT; mouse_events: 0;
         effect: SHADOW BOTTOM;
         scale: 1;
         description { state: "default" 0.0;
            fixed: 0 1;
            align: 0.0 1.0;
            rel1 {
               relative: 0.0 1.0;
               offset: 2 -3;
            }
            rel2 {
               to_x: "elm.info";
               relative: 0.0 1.0;
               offset: -3 -3;
            }
            color: FN_COL_DEFAULT;
            color_class: "bubble_text";
            text { font: FNBD; size: 10;
               min: 0 1;
               max: 0 1;
               align: 0.0 1.0;
               text_class: "bubble";
            }
         }
      }
      part { name: "elm.info"; type: TEXT; mouse_events: 0;
         effect: SHADOW BOTTOM;
         scale: 1;
         description { state: "default" 0.0;
            align: 1.0 1.0;
            fixed: 1 1;
            rel1.relative: 1.0 1.0;
            rel1.offset: -3 -3;
            rel2.to_x: "elm.swallow.icon";
            rel2.relative: 0.0 1.0;
            rel2.offset: -3 -3;
            color: FN_COL_DISABLE;
            color_class: "bubble_info";
            text { font: FNBD; size: 10;
               min: 1 1;
               ellipsis: -1;
               max: 1 1;
               align: 1.0 1.0;
               text_class: "bubble_info";
            }
         }
      }
      part { name: "base"; mouse_events:  0;
         description { state: "default" 0.0;
            rel2 {
               to_y: "elm.swallow.icon";
               relative: 1.0 0.0;
            }
            image.normal: "bub_base_br.png";
            image.border: 8 24 8 13;
            image.middle: SOLID;
            fill.smooth: 0;
         }
         description { state: "rtl" 0.0;
            inherit: "default" 0.0;
            image.normal: "bub_base_bl.png";
            image.border: 24 8 8 13;
         }
      }
      part { name: "elm.swallow.content";
         type: SWALLOW;
         description { state: "default" 0.0;
            rel1.to: "base";
            rel1.offset: 5 4;
            rel2.to: "base";
            rel2.offset: -6 -12;
         }
      }
      part { name: "over"; mouse_events:  0;
         description { state: "default" 0.0;
            rel1.to: "base";
            rel1.offset: 2 1;
            rel2.to: "base";
            rel2.offset: -3 1;
            rel2.relative: 1.0 0.4;
            image.normal: "bub_over_bot.png";
            fill.smooth: 0;
         }
      }
      part { name: "shine_clip"; type: RECT;
         description { state: "default" 0.0;
            rel1.to: "over";
            rel1.offset: 0 -10;
            rel2.to: "over";
         }
      }
      part { name: "shine"; mouse_events: 0;
         clip_to: "shine_clip";
         description { state: "default" 0.0;
            image.normal: "shine.png";
            rel1.offset: 0 -2;
            rel1.to: "over";
            rel2.relative: 1.0 0.0;
            rel2.offset: -1 2;
            rel2.to: "over";
            FIXED_SIZE(69, 5)
         }
      }
   }
   programs {
      program {
         signal: "elm,state,icon,visible"; source: "elm";
         action: STATE_SET "visible" 0.0;
         target: "elm.swallow.icon";
         target: "sizer.content";
      }
      program {
         signal: "elm,state,icon,hidden"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "elm.swallow.icon";
         target: "sizer.content";
      }
      program {
         signal: "edje,state,rtl"; source: "edje";
         action: STATE_SET "rtl" 0.0;
         target: "base";
      }
      program {
         signal: "edje,state,ltr"; source: "edje";
         action: STATE_SET "default" 0.0;
         target: "base";
      }
   }
}
