discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=34d1bbd63179d5a91b1d9ea49fc0bfc9525b3421

commit 34d1bbd63179d5a91b1d9ea49fc0bfc9525b3421
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Mar 6 18:56:58 2015 -0500

    ibar/ibox icon label positioning rewrite
    
    the original code for handling label positioning was not robust enough to 
handle
    cases such as ibar scrolling or gadget moving. this greatly simplifies the 
code
    as well as handling all cases and providing small animations for moving the 
label
    when necessary
---
 data/themes/edc/ibar-ibox.edc | 114 ++++++++++++++++--------------------------
 1 file changed, 43 insertions(+), 71 deletions(-)

diff --git a/data/themes/edc/ibar-ibox.edc b/data/themes/edc/ibar-ibox.edc
index fbd13c3..02664ae 100644
--- a/data/themes/edc/ibar-ibox.edc
+++ b/data/themes/edc/ibar-ibox.edc
@@ -431,31 +431,6 @@ group { name: "e/modules/ibox/icon_overlay";
    images.image: "darken_rounded_square.png" COMP;
    script {
       public urgent;
-      public origin;
-
-      public refresh_origin(){
-         new partid;
-
-         partid = get_part_id("e.text.label");
-         custom_state(partid, "default", 0.0);
-
-         if (get_int(origin) == 2){
-           //top
-           set_state_val(partid, STATE_ALIGNMENT, 0.5, 0.5);
-         }else if (get_int(origin) == 3){
-           //right
-           set_state_val(partid, STATE_ALIGNMENT, 0.0, 0.5);
-         }else if (get_int(origin) == 4){
-           //left
-           set_state_val(partid, STATE_ALIGNMENT, 1.0, 0.5);
-         }else{
-           //bottom
-           set_state_val(partid, STATE_ALIGNMENT, 0.5, 0.5);
-         }
-
-         /* apply the custom state */
-         set_state(partid, "custom", 0.0);
-      }
    }
    parts {
       part { name: "item_clip"; type: RECT;
@@ -520,19 +495,7 @@ group { name: "e/modules/ibox/icon_overlay";
             rel2.to: "background";
          }
       }
-      part { name: "clipper"; type: RECT;
-         description{ state: "default" 0.0;
-            rel1.to: "bevel";
-            rel2.to: "bevel";
-            color: 255 255 255 0;
-         }
-         description{ state: "visible" 0.0;
-            inherit: "default" 0.0;
-            color: 255 255 255 255;
-         }
-      }
       part { name: "bevel"; mouse_events: 0;
-         clip_to: "clipper";
          description { state: "default" 0.0;
             rel1.offset: -10 -6;
             rel1.to: "e.text.label";
@@ -542,29 +505,47 @@ group { name: "e/modules/ibox/icon_overlay";
             image.border: 15 15 15 15;
             fill.smooth: 0;
             fixed: 1 1;
+            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: "spacer"; type: SPACER;
-         description { state: "default" 0.0;
-            rel1.relative: 0.0 1.0;
-            rel2.relative: 1.0 1.0;
+      text { name: "spacer";
+         effect: SHADOW BOTTOM;
+         scale: 1;
+         desc { color: 0 0 0 0;
+            rel1.relative: 1 0;
+            rel2.relative: 0 1;
+            text {
+               source: "e.text.label";
+               text_source: "e.text.label";
+            }
+            link.base: "e,origin,center" "e";
+            link.transition: SINUSOIDAL 0.1 CURRENT;
          }
-         description { state:  "visible" 0.0;
-            rel1.relative: 0.0 0.5;
-            rel2.relative: 1.0 0.5;
+         desc { "left"; inherit: "default";
+            align: 0.0 0.5;
+            link.base: "e,origin,left" "e";
+            link.transition: SINUSOIDAL 0.1 CURRENT;
+         }
+         desc { "right"; inherit: "default";
+            align: 1.0 0.5;
+            link.base: "e,origin,right" "e";
+            link.transition: SINUSOIDAL 0.1 CURRENT;
          }
-
       }
       part { name: "e.text.label"; type: TEXT; mouse_events: 0;
          effect: SHADOW BOTTOM;
          scale: 1;
-         clip_to: "clipper";
          description { state: "default" 0.0;
-            rel1.to: "spacer";
-            rel1.relative: 0.0 0.0;
-            rel2.to: "spacer";
-            rel2.relative: 1.0 1.0;
-            color_class: "module_label";
+            rel1.to_x: "spacer";
+            rel2.to_x: "spacer";
+            rel1.relative: 0 1;
+            color_class: "module_label_invisible";
             color3: 255 255 255 255;
             text { font: FN; size: 10;
                min: 1 1;
@@ -572,7 +553,13 @@ group { name: "e/modules/ibox/icon_overlay";
                align: 0.5 0.5;
                text_class: "module_normal";
             }
-            align: 0.5 0.5;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            rel1.relative: 0.0 0.5;
+            rel2.relative: 1.0 0.5;
+            color_class: "module_label";
+            color3: 255 255 255 255;
          }
       }
    }
@@ -612,31 +599,16 @@ group { name: "e/modules/ibox/icon_overlay";
          signal: "e,action,show,label"; source: "e";
          action: STATE_SET "visible" 0.0;
          transition: SINUSOIDAL 0.5;
-         target: "spacer";
-         target: "clipper";
+         target: "e.text.label";
+         target: "bevel";
       }
       program {
          signal: "e,action,hide,label"; source: "e";
          action: STATE_SET "default" 0.0;
          transition: SINUSOIDAL 1.0;
-         target: "spacer";
-         target: "clipper";
-      }
-#define ORIGIN_PRO(_NAME,_ID) \
-      program { \
-         signal: "e,origin,"_NAME; source: "e"; \
-         script { \
-            set_int(origin, _ID); \
-            refresh_origin(); \
-         } \
+         target: "e.text.label";
+         target: "bevel";
       }
-
-      ORIGIN_PRO("bottom", 1)
-      ORIGIN_PRO("top", 2);
-      ORIGIN_PRO("right", 3);
-      ORIGIN_PRO("left", 4);
-
-#undef ORIGIN_PRO
       program { name: "show_bevel";
          action: STATE_SET visible 0.0;
          transition: SINUSOIDAL 1.0;

-- 


Reply via email to