'everything'
authorHannes Janetzek <hannes.janetzek@gmail.com>
Sat, 29 Aug 2009 06:29:24 +0000 (06:29 +0000)
committerHannes Janetzek <hannes.janetzek@gmail.com>
Sat, 29 Aug 2009 06:29:24 +0000 (06:29 +0000)
- draw dropshadow when e_config->use_composite is enabled

SVN revision: 42085

data/themes/default.edc
src/modules/everything/evry.c

index 52fa2fe445eb73e9e58df47329e71e2d9e8cc3c8..07fe0917ad9aa2e657ccce16c27194df39531a62 100644 (file)
@@ -26581,16 +26581,10 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
 
    /////////////////////////////////////////////////////////////////////////////
    /*** MOD: EVERYTHING ***/
-   /* #define DROP_SHADOW 1 */
    
    ICON("everything-launch","icon_advanced.png",64)
      
    group { name: "e/modules/everything/main";
-   /* #ifdef DROP_SHADOW
-    *     min: 516 222;
-    * #else
-    *     min: 416 122;
-    * #endif */
        images {
           image: "base_bg.png" COMP;
           image: "inset_sunk.png" COMP;
@@ -26600,42 +26594,62 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
        }
        data.item: "shaped" "1";
        parts {
+          part { name: "win";
+              type: RECT;
+              description { state: "default" 0.0;
+                  visible: 0;
+                  min: 416 118;
+              }
+              description { state: "composite" 0.0;
+                  visible: 0;
+                  min: 516 218;
+              }               
+          }
+          part { name: "frame";
+              type: RECT;
+              description { state: "default" 0.0;
+                  visible: 0;
+              }
+              description { state: "composite" 0.0;
+                  visible: 0;
+                  rel1.offset: 50 50;
+                  rel2.offset: -50 -51;
+              }               
+          }
           part { name: "shadow";
               description { state: "default" 0.0;
                   visible: 0;
-                  rel1.to: "bg";
-                  rel1.offset: -46 -46;
-                  rel2.to: "bg";
-                  rel2.offset: 45 45;
                   image {
                       normal: "everything_drop.png";
                       border: 50 50 50 50;
                   }
+                  rel1.offset: 4 4;
+                  rel2.offset: -5 -5;
                   fill.smooth: 0;
                   color: 255 255 255 220;
               }
-              description { state: "default" 0.0;
+              description { state: "composite" 0.0;
+                  inherit: "default" 0.0;
                   visible: 1;
               }
           }
           part { name: "bg";
               description { state: "default" 0;
                   min: 416 118;
-                  rel1.relative: 0.5 0.0;
-                  rel1.offset: 0 0;
-                  rel2.relative: 0.5 1.0;
-                  rel2.offset: 0 -1;
+                  max: 416 118;
+                  rel1 {
+                      to: "frame";
+                      relative: 0.5 0.0;
+                  }
+                  rel2 {
+                      to: "frame";
+                      relative: 0.5 1.0;
+                  }
                   image {
                       normal: "bt_base2.png";
                       border: 7 7 5 5;
                   }
               }
-              description { state: "composite" 0;
-                  inherit: "default" 0.0;
-                  min: 516 118;
-                  rel1.offset: 0 50;
-                  rel2.offset: 0 -51;
-              }
           }
           part { name: "border_bg";
               mouse_events:  0;
@@ -26651,7 +26665,7 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
                   }
               }
           }
-          part { name: "frame";
+          part { name: "clip";
               type: RECT;
               description { state: "default" 0;
                   color: 255 255 255 255;
@@ -26667,7 +26681,7 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
           }
           part { name: "selector_frame";
               type: RECT;
-              clip_to: "frame";
+              clip_to: "clip";
               description { state: "default" 0;
                   min: 600 110;
                   align: 0.0 0.0;
@@ -26790,6 +26804,14 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
               target: "e.swallow.object_selector";
               target: "e.swallow.subject_selector";
           }
+          program { name: "composite_mode";
+              signal: "e,state,composited";
+              source: "e";
+              action: STATE_SET "composite" 0.0;
+              target: "win";
+              target: "frame";
+              target: "shadow";
+          }
        }
    }
 
@@ -27018,12 +27040,47 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
           image: "everything_drop.png" COMP;
        }
        /* offset to main popup */
-       data.item: "offset_composite_y" "-52";
        data.item: "offset_y" "-2";
+       data.item: "offset_composite_y" "-52";
        data.item: "shaped" "1";
 
        parts {
+          part { name: "win";
+              type: RECT;
+              description { state: "default" 0.0;
+                  visible: 0;
+                  min: 380 255;
+              }
+              description { state: "composite" 0.0;
+                  visible: 0;
+                  min: 480 305;
+              }               
+          }
+          part { name: "frame";
+              type: RECT;
+              description { state: "default" 0.0;
+                  visible: 0;
+              }
+              description { state: "composite" 0.0;
+                  visible: 0;
+                  rel1.offset: 50 0;
+                  rel2.offset: -51 -51;
+              }               
+          }
+          part { name: "shadow_clip";
+              type: RECT;
+              description { state: "default" 0.0;
+                  rel1.to: "shadow";
+                  rel2.to: "shadow";
+                  color: 255 255 255 0;
+              }
+              description { state: "visible" 0.0;
+                  inherit: "default" 0.0;
+                  color: 255 255 255 255;
+              }               
+          }
           part { name: "shadow";
+              clip_to: "shadow_clip";
               description { state: "default" 0.0;
                   visible: 0;
                   rel1.offset: 0 -50;
@@ -27037,56 +27094,40 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
                       border: 50 50 50 50;
                   }
                   fill.smooth: 0;
-                  color: 255 255 255 140;
               }
-              description { state: "visible" 0.0;
-                  visible: 1;
+              description { state: "composite" 0.0;
                   inherit: "default" 0.0;
+                  visible: 1;
                   rel1.offset: 0 -50;
                   rel2 {
                       relative: 1.0 1.0;
                       to_y: "base";
                       offset: -1 49;
                   } 
-                  color: 255 255 255 255;
               }
           }
-          part { name: "frame";
-              type: RECT;
-              description { state: "default" 0.0;
-                  min: 380 265;
-                  visible: 0;
-              }
-              description { state: "composite" 0.0;
-                  min: 480 315;
-                  rel1.offset: 50 0;
-                  rel2.offset: -50 -51;
-              }
-              
-          }
           part { name: "base";
               type: RECT;
               description { state: "default" 0.0;
                   rel1 {
                       relative: 0.0 1.0;
-                      to_y: "input_base";
                       to_x: "frame";
-                      offset: 0 0;
+                      to_y: "input_base";
                   }
                    rel2 {
+                       to_x: "frame";
                        to_y: "input_base";
-                       offset: -1 0;
                    }
                }
                description { state: "visible" 0.0;
                    rel1 {
                        relative: 0.0 1.0;
-                       to_y: "input_base";
                        to_x: "frame";
-                       offset: 0 0;
+                       to_y: "input_base";
                    }
                    rel2 {
-                       offset: -1 -11;
+                       to: "frame";
+                       offset: -1 -1;
                    }
                }
            }
@@ -27317,7 +27358,6 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
               }
           }
           part { name: "list_bg";
-              /* type: RECT; */
               clip_to: "base";
               description { state: "default" 0.0;
                   image.normal: "vgrad_dark.png";
@@ -27330,7 +27370,6 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
                       offset: 0  0;
                   }
                   fill.smooth: 0;
-                  /* color: 234 234 234 255; */
               }
           }
           part { name: "e.swallow.list";
@@ -27419,9 +27458,7 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
               action: STATE_SET "visible" 0.0;
               transition: DECELERATE 0.1;
               target: "base";
-              /* #ifdef DROP_SHADOW
-               * target: "shadow";
-               * #endif */
+              target: "shadow_clip";
           }
           program { name: "hide_list";
               signal: "e,state,list_hide";
@@ -27429,9 +27466,7 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
               action: STATE_SET "default" 0.0;
               transition: ACCELERATE 0.08; 
               target: "base";
-              /* #ifdef DROP_SHADOW
-               * target: "shadow";
-               * #endif */
+              target: "shadow_clip";
           }
           program { name: "show_entry";
               signal: "e,state,entry_show";
@@ -27466,6 +27501,14 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
               transition: SINUSOIDAL 0.15;
               target: "bar_clip";
           }
+          program { name: "composite_mode";
+              signal: "e,state,composited";
+              source: "e";
+              action: STATE_SET "composite" 0.0;
+              target: "win";
+              target: "shadow";
+              target: "frame";
+          }
        }
    }
    
index adf2a086a2ea9a3cfe6c125f421db28462df2621..94f158cafe8cfe1cdc35b54369e6de4b9aaba3f1 100644 (file)
@@ -448,16 +448,31 @@ _evry_list_win_new(E_Zone *zone)
      }
    list_win->popup = popup;
 
-   evas_event_freeze(popup->evas);
-   evas_event_feed_mouse_in(popup->evas, ecore_x_current_time_get(), NULL);
-   evas_event_feed_mouse_move(popup->evas, -1000000, -1000000,
-                             ecore_x_current_time_get(), NULL);
+   /* evas_event_freeze(popup->evas);
+    * evas_event_feed_mouse_in(popup->evas, ecore_x_current_time_get(), NULL);
+    * evas_event_feed_mouse_move(popup->evas, -1000000, -1000000,
+    *                        ecore_x_current_time_get(), NULL); */
+
    o = edje_object_add(popup->evas);
    list_win->o_main = o;
    e_theme_edje_object_set(o, "base/theme/everything",
                           "e/modules/everything/list");
-   offset_y = edje_object_data_get(o, "offset_y");
+
+   if (e_config->use_composite)
+     {
+       edje_object_signal_emit(o, "e,state,composited", "e");
+       edje_object_message_signal_process(o);
+       edje_object_calc_force(o);
+       offset_y = edje_object_data_get(o, "offset_composite_y");
+     }
+   else
+     offset_y = edje_object_data_get(o, "offset_y");
+
    edje_object_size_min_calc(o, &mw, &mh);
+
+   printf("list  min size %d %d - %d\n", mw, mh, atoi(offset_y));
+   
+
    if (mh == 0) mh = 200;
    if (mw == 0) mw = win->popup->w / 2;
 
@@ -472,7 +487,7 @@ _evry_list_win_new(E_Zone *zone)
    evas_object_show(o);
    e_popup_edje_bg_object_set(popup, o);
 
-   evas_event_thaw(popup->evas);
+   /* evas_event_thaw(popup->evas); */
 
    return list_win;
 }
@@ -545,6 +560,13 @@ _evry_window_new(E_Zone *zone)
    e_theme_edje_object_set(o, "base/theme/everything",
                           "e/modules/everything/main");
 
+   if (e_config->use_composite)
+     {
+       edje_object_signal_emit(o, "e,state,composited", "e");
+       edje_object_message_signal_process(o);
+       edje_object_calc_force(o);
+     }
+   
    edje_object_size_min_calc(o, &mw, &mh);
 
    x = (zone->w / 2) - (mw / 2);