new border style which greatly increases usability
authorMike Blumenkrantz <m.blumenkran@samsung.com>
Thu, 9 May 2013 13:25:52 +0000 (14:25 +0100)
committerMike Blumenkrantz <m.blumenkran@samsung.com>
Thu, 9 May 2013 13:25:52 +0000 (14:25 +0100)
as explained here: http://e18releasemanager.wordpress.com/2013/05/09/sparklebear/

data/themes/Makefile.am
data/themes/edc/border.edc
data/themes/img/vgrad_med_dark_sparkle.png [new file with mode: 0644]
data/themes/img/vgrad_med_lighter_sparkle.png [new file with mode: 0644]

index 8018c67..2956b9a 100644 (file)
@@ -357,7 +357,9 @@ img/vertical_separated_bar_glow.png \
 img/vgrad_med_curved.png \
 img/vgrad_med_darker.png \
 img/vgrad_med_dark.png \
+img/vgrad_med_dark_sparkle.png \
 img/vgrad_med_lighter.png \
+img/vgrad_med_lighter_sparkle.png \
 img/vgrad_med.png \
 img/vgrad_shadow_bi.png \
 img/vgrad_tall.png \
index 09b7b84..0ce612c 100644 (file)
@@ -711,6 +711,164 @@ group { name: "e/widgets/border/default/border";
    }
 }
 
+group { name: "e/widgets/border/sparkle/border";
+   inherit: "e/widgets/border/default/border";
+   images.image: "vgrad_med_lighter_sparkle.png" COMP;
+   images.image: "vgrad_med_dark_sparkle.png" COMP;
+   script {
+      public in_x, in_y, locked = 0;
+   }
+   parts {
+      part { name: "top";
+         description { state: "default" 0.0;
+            image.normal: "vgrad_med_lighter_sparkle.png";
+            visible: 0;
+         }
+         description { state: "focused" 0.0;
+            image.normal: "vgrad_med_dark_sparkle.png";
+            visible: 0;
+         }
+      }
+      part { name: "proxy"; type: PROXY; mouse_events: 0;
+         insert_after: "top";
+         description { state: "default";
+            source: "top";
+            rel1.to: "top";
+            rel2.to: "top";
+            fill.smooth: 0;
+            TILED_HORIZ(120)
+         }
+      }
+      part { name: "bevel";
+         description { state: "default" 0.0;
+            rel1.to: "proxy";
+            rel2.to: "proxy";
+         }
+      }
+      part { name: "e.text.title";
+         effect: GLOW;
+         description { state: "default" 0.0;
+            color3: 255 255 255 222;
+         }
+      }
+      part { name: "title2";
+         effect: OUTLINE_SHADOW;
+         description { state: "focused" 0.0;
+            color3: 0 0 0 255;
+         }
+      }
+      part { name: "e.event.icon";
+         description { state: "default" 0.0;
+            rel1.to: "proxy";
+         }
+      }
+      part { name: "e.event.close";
+         description { state: "default" 0.0;
+            rel2.to: "proxy";
+         }
+      }
+      part { name: "shine";
+         description { state: "default" 0.0;
+            visible: 0;
+         }
+      }
+   }
+   programs {
+      program { name: "in";
+         signal: "mouse,in"; source: "events";
+         
+         script {
+            new mx, my;
+
+            get_mouse(mx, my);
+            set_int(in_x, mx);
+            set_int(in_y, my);
+         }
+      }
+      program { name: "out";
+         signal: "mouse,out"; source: "events";
+         action: STATE_SET "default" 0.0;
+         target: "proxy";
+         transition: LINEAR 0.2;
+      }
+      program { name: "anim";
+         signal: "mouse,move"; source: "events";
+         script {
+            new mx, my;
+
+            if (get_int(locked) != 1) {
+               get_mouse(mx, my);
+               custom_state(PART:"proxy", "default", 0.0);
+               set_state_val(PART:"proxy", STATE_REL1_OFFSET, get_int(in_x) - mx, 0);
+               set_state_val(PART:"proxy", STATE_REL2_OFFSET, get_int(in_x) - mx, 0);
+               set_state(PART:"proxy", "custom", 0.0);
+            }
+         }
+      }
+      program { name: "lock";
+         after: "out";
+         script {
+            set_int(locked, 1);
+            set_int(in_x, 0);
+            set_int(in_y, 0);
+         }
+      }
+      program { name: "unlock";
+         script {
+            set_int(locked, 0);
+         }
+      }
+      program {
+         signal: "mouse,down,1"; source: "e.event.resize.tr";
+         after: "lock";
+      }
+      program {
+         signal: "mouse,down,1"; source: "e.event.resize.t";
+         after: "lock";
+      }
+      program {
+         signal: "mouse,down,1"; source: "e.event.resize.tl";
+         after: "lock";
+      }
+      program {
+         signal: "mouse,down,1"; source: "e.event.resize.br";
+         after: "lock";
+      }
+      program {
+         signal: "mouse,down,1"; source: "e.event.resize.b";
+         after: "lock";
+      }
+      program {
+         signal: "mouse,down,1"; source: "e.event.resize.bl";
+         after: "lock";
+      }
+      program {
+         signal: "mouse,up,1"; source: "e.event.resize.tr";
+         after: "unlock";
+      }
+      program {
+         signal: "mouse,up,1"; source: "e.event.resize.t";
+         after: "unlock";
+      }
+      program {
+         signal: "mouse,up,1"; source: "e.event.resize.tl";
+         after: "unlock";
+      }
+      program {
+         signal: "mouse,up,1"; source: "e.event.resize.br";
+         after: "unlock";
+      }
+      program {
+         signal: "mouse,up,1"; source: "e.event.resize.b";
+         after: "unlock";
+      }
+      program {
+         signal: "mouse,up,1"; source: "e.event.resize.bl";
+         after: "unlock";
+      }
+   }
+}
+
 group { name: "e/widgets/border/dialog/border";
    inherit: "e/widgets/border/default/border";
    parts {
diff --git a/data/themes/img/vgrad_med_dark_sparkle.png b/data/themes/img/vgrad_med_dark_sparkle.png
new file mode 100644 (file)
index 0000000..d6eb695
Binary files /dev/null and b/data/themes/img/vgrad_med_dark_sparkle.png differ
diff --git a/data/themes/img/vgrad_med_lighter_sparkle.png b/data/themes/img/vgrad_med_lighter_sparkle.png
new file mode 100644 (file)
index 0000000..cc327a1
Binary files /dev/null and b/data/themes/img/vgrad_med_lighter_sparkle.png differ