Adding a transition layout animation for edje box.
authorbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 29 Sep 2010 00:28:54 +0000 (00:28 +0000)
committerbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 29 Sep 2010 00:28:54 +0000 (00:28 +0000)
commit1cc91384488cf507569529485d33659a110cc161
treea71cda1d3a14f1b4e9460025a8c7d5070024a713
parent4254d31fa852d483c39e16186353719c739add67
Adding a transition layout animation for edje box.

Perform an animation when changing the layout from an edje box.

By: Otavio Pontes <otavio@profusion.mobi>

-------

Sample EDC:

{{{

collections {
   group {
      name: "main";
      min: 500 500;
      max: 500 500;
      parts {
         part {
            name: "bg";
            type: RECT;
            description {
               color: 255 255 255 255;
               rel1 { relative: 0.0 0.0; }
               rel2 { relative: 1.0 1.0; }
            }
         }
         part {
            name: "box1";
            type: BOX;
            description {
               state: "default" 0.0;
               box {
                  layout: vertical;
                  padding: 0 0;
               }
               rel1 {
                  relative: 0.0 0.0;
               }
               rel2 {
                  relative: 1.0 1.0;
               }
            }
            description {
               state: "default" 0.1;
               inherit: "default" 0.0;
               box {
                  padding: 10 10;
                  layout: horizontal;
               }
            }
            description {
               state: "default" 0.2;
               inherit: "default" 0.0;
               box {
                  layout: vertical;
               }
               rel1 {
                  relative: 0.0 0.0;
                  offset: 100 100;
               }
               rel2 {
                  relative: 1.0 1.0;
               }
            }
            box {
               items {
                  item {
                     name: "rect1";
                     type: GROUP;
                     source: "grp_rect1";
                     weight: 1.0 1.0;
                     align: -1 -1;
                  }
                  item {
                     name: "rect2";
                     type: GROUP;
                     source: "grp_rect2";
                     weight: 1.0 1.0;
                     align: -1 -1;
                  }
               }
            }
         }
      }
      programs {
         program {
            name: "change_layout";
            signal: "mouse,clicked,1";
            source: "box1";
            action: STATE_SET "default" 0.1;
            target: "box1";
            transition: LINEAR 5.0;
            after: "change_back";
         }
         program {
            name: "change_back";
            action: STATE_SET "default" 0.2;
            target: "box1";
            transition: LINEAR 5.0;
         }
     }
   }
   group {
      name: "grp_rect1";
      parts {
         part {
            name: "r1";
            type: RECT;
            description {
               state: "default" 0.0;
               color: 255 0 0 255;
               rel1 { relative: 0.0 0.0; }
               rel2 { relative: 1.0 1.0; }
            }
            description {
               state: "default" 0.1;
               inherit: "default" 0.0;
               color: 255 0 0 255;
            }
         }
      }
   }
   group {
      name: "grp_rect2";
      parts {
         part {
            name: "r2";
            type: RECT;
            description {
               state: "default" 0.0;
               color: 0 255 0 255;
               rel1 { relative: 0.0 0.0; }
               rel2 { relative: 1.0 1.0; }
            }
            description {
               state: "default" 0.1;
               color: 0 0 255 255;
            }
         }
      }
   }
}

}}}

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@52871 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
src/lib/Makefile.am
src/lib/edje_box_layout.c [new file with mode: 0644]
src/lib/edje_calc.c
src/lib/edje_load.c
src/lib/edje_private.h
src/lib/edje_util.c