raster pushed a commit to branch master.

commit 29c530c591551957c9b8130b9b39e5da08497d61
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Thu Jul 25 18:32:09 2013 +0900

    make elm player fully baked theme-wise.
---
 edje/edc/elm/button.edc       |   6 +
 edje/edc/elm/icon.edc         |   6 +
 edje/edc/elm/player.edc       | 279 ++++++++++++++++++++++++++++++++++++++++--
 edje/edc/elm/slider.edc       |  11 +-
 edje/edc/elm/toolbar.edc      |   1 -
 edje/img/icon_eject.png       | Bin 0 -> 2542 bytes
 edje/img/icon_eject_mono.png  | Bin 0 -> 218 bytes
 edje/img/icon_mute.png        | Bin 0 -> 4369 bytes
 edje/img/icon_mute_mono.png   | Bin 0 -> 383 bytes
 edje/img/icon_volume.png      | Bin 0 -> 5142 bytes
 edje/img/icon_volume_mono.png | Bin 0 -> 700 bytes
 eject.svgz                    | Bin 0 -> 3895 bytes
 mock-19.xcf.gz                | Bin 129938 -> 143554 bytes
 mute.svgz                     | Bin 0 -> 3927 bytes
 speaker.svgz                  | Bin 0 -> 4110 bytes
 15 files changed, 293 insertions(+), 10 deletions(-)

diff --git a/edje/edc/elm/button.edc b/edje/edc/elm/button.edc
index 2599764..e604c76 100644
--- a/edje/edc/elm/button.edc
+++ b/edje/edc/elm/button.edc
@@ -688,6 +688,9 @@ group { name: "elm/button/base/media_player/prev/default";
    alias: "elm/button/base/media_player/forward/default";
    alias: "elm/button/base/media_player/next/default";
    alias: "elm/button/base/media_player/info/default";
+   alias: "elm/button/base/media_player/eject/default";
+   alias: "elm/button/base/media_player/volume/default";
+   alias: "elm/button/base/media_player/mute/default";
 
    alias: "elm/button/base/media_player/prev/flush";
    alias: "elm/button/base/media_player/rewind/flush";
@@ -697,6 +700,9 @@ group { name: "elm/button/base/media_player/prev/default";
    alias: "elm/button/base/media_player/forward/flush";
    alias: "elm/button/base/media_player/next/flush";
    alias: "elm/button/base/media_player/info/flush";
+   alias: "elm/button/base/media_player/eject/flush";
+   alias: "elm/button/base/media_player/volume/flush";
+   alias: "elm/button/base/media_player/mute/flush";
    
    images.image: "shadow_inset_bevels.png" COMP;
    images.image: "shadow_angled_in_sides.png" COMP;
diff --git a/edje/edc/elm/icon.edc b/edje/edc/elm/icon.edc
index 183c0b1..7551190 100644
--- a/edje/edc/elm/icon.edc
+++ b/edje/edc/elm/icon.edc
@@ -57,6 +57,9 @@ IC("media_player/play",    "icon_play.png",    16, 0);
 IC("media_player/prev",    "icon_prev.png",    16, 0);
 IC("media_player/rewind",  "icon_rewind.png",  16, 0);
 IC("media_player/stop",    "icon_stop.png",    16, 0);
+IC("media_player/eject",   "icon_eject.png",   16, 0);
+IC("media_player/volume",  "icon_volume.png",  16, 0);
+IC("media_player/mute",    "icon_mute.png",    16, 0);
 #undef IC
 
 #define IC(Name, File, Min, Max) \
@@ -79,5 +82,8 @@ IC("media_player/play",    "icon_play_mono.png",    16, 0);
 IC("media_player/prev",    "icon_prev_mono.png",    16, 0);
 IC("media_player/rewind",  "icon_rewind_mono.png",  16, 0);
 IC("media_player/stop",    "icon_stop_mono.png",    16, 0);
+IC("media_player/eject",   "icon_eject_mono.png",   16, 0);
+IC("media_player/volume",  "icon_volume_mono.png",  16, 0);
+IC("media_player/mute",    "icon_mute_mono.png",    16, 0);
 #undef IC
 
diff --git a/edje/edc/elm/player.edc b/edje/edc/elm/player.edc
index 9fa0b3c..0a2b191 100644
--- a/edje/edc/elm/player.edc
+++ b/edje/edc/elm/player.edc
@@ -3,12 +3,34 @@ group { name: "elm/player/base/default";
    images.image: "inset_shadow.png" COMP;
    images.image: "shine.png" COMP;
    images.image: "bevel_out.png" COMP;
-   
    images.image: "vgrad_med_lighter.png" COMP;
    images.image: "bevel_out.png" COMP;
    images.image: "shine.png" COMP;
    images.image: "vgrad_shadow_bi.png" COMP;
-   
+   images.image: "shadow_square_tiny.png" COMP;
+   script {
+      public in_control;
+      public in_volume;
+      public inside;
+      
+      public eval_in() {
+         new v1 = get_int(in_control);
+         new v2 = get_int(in_volume);
+         new isin = get_int(inside);
+         
+         if (isin) {
+            if ((!v1) && (!v2)) {
+               emit("conhide", "");
+               set_int(inside, 0);
+            }
+         } else {
+            if ((v1) || (v2)) {
+               emit("conshow", "");
+               set_int(inside, 1);
+            }
+         }
+      }
+   }
    parts {
       part { name: "bg"; type: RECT;
          description { state: "default" 0.0;
@@ -49,6 +71,19 @@ group { name: "elm/player/base/default";
             visible: 1;
          }
       }
+      part { name: "volpop_shadow"; mouse_events: 0;
+         clip_to: "volclip";
+         description { state: "default" 0.0;
+            rel1.offset: -3 -2;
+            rel1.to: "volpop";
+            rel2.offset: 3 4;
+            rel2.to: "volpop";
+            image.normal: "shadow_square_tiny.png";
+            image.border: 6 6 6 6;
+            fill.smooth: 0;
+         }
+      }
+      
       part { name: "bar";
          clip_to: "clipper";
          description { state: "default" 0.0;
@@ -56,7 +91,7 @@ group { name: "elm/player/base/default";
             image.normal: "vgrad_med_lighter.png";
             rel1.to_y: "elm.swallow.media_player.prev";
             rel1.offset: 1 -1;
-            rel2.to_y: "elm.swallow.media_player.position";
+            rel2.to_y: "elm.swallow.media_player.positionslider";
             rel2.offset: -2 -1;
             fill.smooth: 0;
             TILED_HORIZ(120)
@@ -94,6 +129,64 @@ group { name: "elm/player/base/default";
             FIXED_SIZE(69, 5)
          }
       }
+
+      part { name: "volclip"; type: RECT;
+         description { state: "default" 0.0;
+            rel1.to: "bg";
+            rel2.to: "bg";
+            color: 255 255 255 0;
+            visible: 0;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+            visible: 1;
+         }
+      }
+      part { name: "volpop";
+         clip_to: "volclip";
+         description { state: "default" 0.0;
+            color_class: "player_volume";
+            image.normal: "vgrad_med_lighter.png";
+            rel1.to: "elm.swallow.media_player.volumeslider";
+            rel1.offset: -1 -1;
+            rel2.to: "elm.swallow.media_player.volumeslider";
+            rel2.offset: 0 0;
+            fill.smooth: 0;
+            TILED_HORIZ(120)
+         }
+      }
+      part { name: "volpopclip"; type: RECT;
+         clip_to: "volclip";
+         description { state: "default" 0.0;
+            rel1.to: "volpop";
+            rel1.offset: 0 -5;
+            rel2.to: "volpop";
+            color: 255 255 255 255;
+         }
+      }
+      part { name: "volpopbev";
+         clip_to: "volpopclip";
+         description { state: "default" 0.0;
+            rel1.to: "volpop";
+            rel2.to: "volpop";
+            image.normal: "bevel_out.png";
+            image.border: 2 2 2 2;
+            fill.smooth: 0;
+         }
+      }
+      part { name: "volshine"; mouse_events: 0;
+         clip_to: "volpopclip";
+         description { state: "default" 0.0;
+            image.normal: "shine.png";
+            rel1.offset: 0 -2;
+            rel1.to: "volpop";
+            rel2.relative: 1.0 0.0;
+            rel2.offset: -1 2;
+            rel2.to: "volpop";
+            FIXED_SIZE(69, 5)
+         }
+      }
       
       part { name: "elm.swallow.media_player.prev"; type: SWALLOW; 
          clip_to: "clipper";
@@ -207,7 +300,7 @@ group { name: "elm/player/base/default";
             rel2.offset: 0 -1;
          }
       }
-      part { name: "elm.swallow.media_player.info"; type: SWALLOW; 
+      part { name: "elm.swallow.media_player.eject"; type: SWALLOW;
          clip_to: "clipper";
          scale: 1;
          description { state: "default" 0.0;
@@ -222,7 +315,55 @@ group { name: "elm/player/base/default";
             rel2.offset: 0 -1;
          }
       }
-      part { name: "elm.swallow.media_player.position"; type: SWALLOW; 
+      part { name: "elm.swallow.media_player.volume"; type: SWALLOW;
+         clip_to: "clipper";
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            min: BSZ BSZ;
+            align: 0.0 1.0;
+            rel1.to: "elm.swallow.media_player.eject";
+            rel1.relative: 1.0 0.0;
+            rel1.offset: 0 0;
+            rel2.to: "elm.swallow.media_player.eject";
+            rel2.relative: 1.0 1.0;
+            rel2.offset: 0 -1;
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "elm.swallow.media_player.mute"; type: SWALLOW; 
+         clip_to: "clipper";
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            min: BSZ BSZ;
+            rel1.to: "elm.swallow.media_player.volume";
+            rel2.to: "elm.swallow.media_player.volume";
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "elm.swallow.media_player.info"; type: SWALLOW; 
+         clip_to: "clipper";
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            min: BSZ BSZ;
+            align: 0.0 1.0;
+            rel1.to: "elm.swallow.media_player.volume";
+            rel1.relative: 1.0 0.0;
+            rel1.offset: 0 0;
+            rel2.to: "elm.swallow.media_player.volume";
+            rel2.relative: 1.0 1.0;
+            rel2.offset: 0 -1;
+         }
+      }
+      part { name: "elm.swallow.media_player.positionslider"; type: SWALLOW; 
          clip_to: "clipper";
          description { state: "default" 0.0;
             fixed: 0 1;
@@ -232,6 +373,20 @@ group { name: "elm/player/base/default";
             rel2.offset: -2 -1;
          }
       }
+     part { name: "elm.swallow.media_player.volumeslider"; type: SWALLOW;
+         clip_to: "volclip";
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            rel1.to_x: "elm.swallow.media_player.volume";
+            rel1.offset: 0 1;
+            rel2.to: "elm.swallow.media_player.volume";
+            rel2.offset: -1 -3;
+            rel2.relative: 1.0 0.0;
+            align: 0.5 1.0;
+            max: 99999 100;
+         }
+      }
       
       part { name: "shadow"; mouse_events: 0;
          description { state: "default" 0.0;
@@ -256,7 +411,10 @@ group { name: "elm/player/base/default";
             fill.smooth: 0;
          }
       }
+      
       part { name: "controls"; type: RECT; repeat_events: 1;
+         clip_to: "clipper";
+         scale: 1;
          description { state: "default" 0.0;
             min: BSZ BSZ;
             align: 0.5 1.0;
@@ -264,22 +422,95 @@ group { name: "elm/player/base/default";
             color: 0 0 0 0;
          }
       }
+      
+      part { name: "volumetop"; type: SPACER;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            rel1.to_y: "elm.swallow.media_player.volumeslider";
+            rel1.relative: 0.0 0.0;
+            rel2.to_y: "controls";
+            rel2.relative: 1.0 0.0;
+            align: 0.5 0.0;
+         }
+      }
+      part { name: "volume"; type: RECT; repeat_events: 1;
+         clip_to: "clipper";
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            rel1.to_y: "volumetop";
+            rel1.to_x: "elm.swallow.media_player.volume";
+            rel1.relative: -1.0 0.0;
+            rel1.offset: 0 -20;
+            rel2.to: "elm.swallow.media_player.volume";
+            rel2.relative: 2.0 1.0;
+            align: 0.5 1.0;
+            color: 0 0 0 0;
+            visible: 0;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
    }
    programs {
-      program {
+      program { name: "ci";
          signal: "mouse,in"; source: "controls";
+         script {
+            set_int(in_control, 1);
+            eval_in();
+         }
+      }
+      program { name: "co";
+         signal: "mouse,out"; source: "controls";
+         script {
+            set_int(in_control, 0);
+            eval_in();
+         }
+      }
+      program { name: "vi";
+         signal: "mouse,in"; source: "volume";
+         script {
+            set_int(in_volume, 1);
+            eval_in();
+         }
+      }
+      program { name: "vo";
+         signal: "mouse,out"; source: "volume";
+         script {
+            set_int(in_volume, 0);
+            eval_in();
+         }
+      }
+      program {
+         signal: "conshow"; source: "";
          action: STATE_SET "visible" 0.0;
          transition: DECELERATE 0.2;
          target: "elm.swallow.media_player.prev";
          target: "barshad";
+         target: "volume";
       }
       program {
-         signal: "mouse,out"; source: "controls";
+         signal: "conhide"; source: "";
          action: STATE_SET "default" 0.0;
          transition: DECELERATE 0.5;
          target: "elm.swallow.media_player.prev";
          target: "barshad";
+         target: "volume";
+      }
+      program {
+         signal: "mouse,in"; source: "volume";
+         action: STATE_SET "visible" 0.0;
+         transition: DECELERATE 0.5;
+         target: "volclip";
+      }
+      program {
+         signal: "mouse,out"; source: "volume";
+         action: STATE_SET "default" 0.0;
+         transition: DECELERATE 0.5;
+         target: "volclip";
       }
+      
       program {
          signal: "load"; source: "";
          after: "pause/0";
@@ -310,6 +541,38 @@ group { name: "elm/player/base/default";
          action: STATE_SET "default" 0.0;
          target: "elm.swallow.media_player.play";
       }
+
+      program {
+         signal: "load"; source: "";
+         after: "unmute/0";
+      }
+      program {
+         signal: "elm,player,mute"; source: "elm";
+         after: "mute/0";
+      }
+      program {
+         signal: "elm,player,unmute"; source: "elm";
+         after: "unmute/0";
+      }
+      program { name: "mute/0";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.swallow.media_player.volume";
+         after: "mute/1";
+      }
+      program { name: "mute/1";
+         action: STATE_SET "default" 0.0;
+         target: "elm.swallow.media_player.mute";
+      }
+      program { name: "unmute/0";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.swallow.media_player.mute";
+         after: "unmute/1";
+      }
+      program { name: "unmute/1";
+         action: STATE_SET "default" 0.0;
+         target: "elm.swallow.media_player.volume";
+      }
+      
    }
 }
 
@@ -356,7 +619,7 @@ group { name: "elm/player/base/flush";
             rel2.offset: 0 -1;
          }
       }
-      part { name: "elm.swallow.media_player.position";
+      part { name: "elm.swallow.media_player.positionslider";
          description { state: "default" 0.0;
             rel2.offset: -1 -1;
          }
diff --git a/edje/edc/elm/slider.edc b/edje/edc/elm/slider.edc
index 610c823..3356c13 100644
--- a/edje/edc/elm/slider.edc
+++ b/edje/edc/elm/slider.edc
@@ -31,6 +31,8 @@ group { name: "elm/slider/horizontal/default";
    alias: "elm/slider/horizontal/disabled";
    alias: "elm/slider/horizontal/media_player/position/default";
    alias: "elm/slider/horizontal/media_player/position/flush";
+   alias: "elm/slider/horizontal/media_player/volume/default";
+   alias: "elm/slider/horizontal/media_player/volume/flush";
    images.image: "slider_run_base_horiz.png" COMP;
    images.image: "slider_run_bevel_horiz.png" COMP;
    images.image: "slider_run_base_light_horiz.png" COMP;
@@ -614,6 +616,8 @@ group { name: "elm/slider/horizontal/indicator/default";
    alias: "elm/slider/horizontal/popup/default";
    alias: "elm/slider/horizontal/indicator/media_player/position/default";
    alias: "elm/slider/horizontal/indicator/media_player/position/flush"; 
+   alias: "elm/slider/horizontal/indicator/media_player/volume/default";
+   alias: "elm/slider/horizontal/indicator/media_player/volume/flush"; 
    images.image: "darken_rounded_square.png" COMP;
    parts {
       part { name: "base"; type: SPACER;
@@ -739,6 +743,8 @@ group { name: "elm/slider/vertical/default";
    alias: "elm/slider/vertical/disabled";
    alias: "elm/slider/vertical/media_player/position/default";
    alias: "elm/slider/vertical/media_player/position/flush";
+   alias: "elm/slider/vertical/media_player/volume/default";
+   alias: "elm/slider/vertical/media_player/volume/flush";
    images.image: "slider_run_base_vert.png" COMP;
    images.image: "slider_run_bevel_vert.png" COMP;
    images.image: "slider_run_base_light_vert.png" COMP;
@@ -1037,8 +1043,8 @@ group { name: "elm/slider/vertical/default";
          scale: 1;
          description { state: "default" 0.0;
             align: 0.5 1.0;
-            min: SOURCE;
             fixed: 1 1;
+            max: 0 0;
             rel1.to_y: "elm.swallow.end";
             rel1.relative: 0.0 0.0;
             rel1.offset: 2 1;
@@ -1048,6 +1054,7 @@ group { name: "elm/slider/vertical/default";
          }
          description { state: "visible" 0.0;
             inherit: "default" 0.0;
+            min: SOURCE;
             rel1.offset: 2 -3;
             rel2.offset: -3 -3;
          }
@@ -1321,6 +1328,8 @@ group { name: "elm/slider/vertical/indicator/default";
    alias: "elm/slider/vertical/popup/default";
    alias: "elm/slider/vertical/indicator/media_player/position/default";
    alias: "elm/slider/vertical/indicator/media_player/position/flush";
+   alias: "elm/slider/vertical/indicator/media_player/volume/default";
+   alias: "elm/slider/vertical/indicator/media_player/volume/flush";
    images.image: "darken_rounded_square.png" COMP;
    parts {
       part { name: "base"; type: SPACER;
diff --git a/edje/edc/elm/toolbar.edc b/edje/edc/elm/toolbar.edc
index 43fc700..a91035d 100644
--- a/edje/edc/elm/toolbar.edc
+++ b/edje/edc/elm/toolbar.edc
@@ -885,7 +885,6 @@ group { name: "elm/toolbar/item/default";
       }
       program { name: "st2";
          signal: "elm,text,visible"; source: "elm";
-         action: STATE_SET "default" 0.0;
          script {
             new m = get_int(btmode);
             m |= LABEL; set_int(btmode, m);
diff --git a/edje/img/icon_eject.png b/edje/img/icon_eject.png
new file mode 100644
index 0000000..10c7c49
Binary files /dev/null and b/edje/img/icon_eject.png differ
diff --git a/edje/img/icon_eject_mono.png b/edje/img/icon_eject_mono.png
new file mode 100644
index 0000000..a64bf82
Binary files /dev/null and b/edje/img/icon_eject_mono.png differ
diff --git a/edje/img/icon_mute.png b/edje/img/icon_mute.png
new file mode 100644
index 0000000..f242605
Binary files /dev/null and b/edje/img/icon_mute.png differ
diff --git a/edje/img/icon_mute_mono.png b/edje/img/icon_mute_mono.png
new file mode 100644
index 0000000..029e3d2
Binary files /dev/null and b/edje/img/icon_mute_mono.png differ
diff --git a/edje/img/icon_volume.png b/edje/img/icon_volume.png
new file mode 100644
index 0000000..f9a12d1
Binary files /dev/null and b/edje/img/icon_volume.png differ
diff --git a/edje/img/icon_volume_mono.png b/edje/img/icon_volume_mono.png
new file mode 100644
index 0000000..f6599f2
Binary files /dev/null and b/edje/img/icon_volume_mono.png differ
diff --git a/eject.svgz b/eject.svgz
new file mode 100644
index 0000000..9c90ea5
Binary files /dev/null and b/eject.svgz differ
diff --git a/mock-19.xcf.gz b/mock-19.xcf.gz
index c13c865..a5ee22b 100644
Binary files a/mock-19.xcf.gz and b/mock-19.xcf.gz differ
diff --git a/mute.svgz b/mute.svgz
new file mode 100644
index 0000000..32c21fe
Binary files /dev/null and b/mute.svgz differ
diff --git a/speaker.svgz b/speaker.svgz
new file mode 100644
index 0000000..e4ea888
Binary files /dev/null and b/speaker.svgz differ

-- 

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk

Reply via email to