elm_win: add elm_win_indcator_overlap mode into window's eo.
authorJi-Youn Park <jy0703.park@samsung.com>
Thu, 19 May 2016 08:49:40 +0000 (17:19 +0830)
committerJi-Youn Park <jy0703.park@samsung.com>
Thu, 19 May 2016 08:49:40 +0000 (17:19 +0830)
elm_window will be changed to control layout related with conformant.
one of features is overlap between indicator and layout.

src/lib/elementary/elm_win.c
src/lib/elementary/elm_win.eo

index 4fa67c9..9a49dc1 100644 (file)
@@ -5173,6 +5173,20 @@ _elm_win_indicator_opacity_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd)
 }
 
 EOLIAN static void
+_elm_win_indicator_overlap_set(Eo *obj EINA_UNUSED, Elm_Win_Data *sd EINA_UNUSED, Elm_Win_Indicator_Overlap_Mode mode EINA_UNUSED)
+{
+   //TODO: this mode will be implemented after removing the conformant.
+   return;
+}
+
+EOLIAN static Elm_Win_Indicator_Overlap_Mode
+_elm_win_indicator_overlap_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd EINA_UNUSED)
+{
+   //TODO: this mode will be implemented after removing the conformant.
+   return ELM_WIN_INDICATOR_OVERLAP_UNKNOWN;
+}
+
+EOLIAN static void
 _elm_win_screen_position_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, int *x, int *y)
 {
    if (x) *x = sd->screen.x;
index 428cac4..469d9df 100644 (file)
@@ -104,8 +104,9 @@ enum Elm.Win.Indicator_Mode
 
      Sometimes you don't want it because you provide the same functionality
      inside your app, so this will request that the indicator is hidden in
-     this circumstance if you use ELM_ILLUME_INDICATOR_HIDE. The default
-     is to have the indicator shown.
+     this circumstance. The default is depend on the environments.
+     For example, like phones, default is to have the indicator shown.
+     But like TV, default is to have the indicator hidden.
    ]]
 
    legacy: elm_win_indicator;
@@ -126,6 +127,20 @@ enum Elm.Win.Indicator_Opacity_Mode
    transparent [[Transparentizes the indicator]]
 }
 
+enum Elm.Win.Indicator_Overlap_Mode
+{
+   [[Defines the overlap modes of indicator that can be shown.
+     Using this mode, user can determine whether the content of window 
+     overlaps with indicator or not.]]
+   legacy: elm_win_indicator;
+
+   overlap_unknown, [[Unknown indicator overlap mode]]
+   overlap, [[Indicator can be overlapped with the content of window.
+              Content can be placed under the indicator in z-order.]]
+   nooverlap, [[Indicator can not be overlapped with the content of window.
+                  The Y coordinate of content is same as (Y coordinate of indicator + indicator height)]]
+}
+
 /**
  */
 enum Elm.Win.Keygrab_Mode
@@ -168,6 +183,39 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
    eo_prefix: elm_obj_win;
    event_prefix: elm_win;
    methods {
+      @property indicator_mode {
+         set {
+            [[Sets the indicator mode of the window.]]
+         }
+         get {
+            [[Get the indicator mode of the window.]]
+         }
+         values {
+            mode: Elm.Win.Indicator_Mode; [[The mode, one of #Elm_Win_Indicator_Mode.]]
+         }
+      }
+      @property indicator_opacity {
+         set {
+            [[Sets the indicator opacity mode of the window.]]
+         }
+         get {
+            [[Get the indicator opacity mode of the window.]]
+         }
+         values {
+            mode: Elm.Win.Indicator_Opacity_Mode; [[The mode, one of #Elm_Win_Indicator_Opacity_Mode.]]
+         }
+      }
+      @property indicator_overlap {
+         set {
+            [[Sets the indicator overlap mode of the window.]]
+         }
+         get {
+            [[Get the indicator overlap mode of the window.]]
+         }
+         values {
+            mode: Elm.Win.Indicator_Overlap_Mode; [[The mode, one of #Elm_Win_Indicator_Overlap_Mode.]]
+         }
+      }
       @property keyboard_win {
          set {
             [[Sets whether the window is a keyboard.]]
@@ -614,17 +662,6 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
                               otherwise it is width divided by height.]]
          }
       }
-      @property indicator_opacity {
-         set {
-            [[Sets the indicator opacity mode of the window.]]
-         }
-         get {
-            [[Get the indicator opacity mode of the window.]]
-         }
-         values {
-            mode: Elm.Win.Indicator_Opacity_Mode; [[The mode, one of #Elm_Win_Indicator_Opacity_Mode.]]
-         }
-      }
       @property demand_attention {
          set {
             [[Set the demand_attention state of a window.]]
@@ -758,17 +795,6 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
             set: bool; [[$true to set manual rotation done mode, $false otherwise.]]
          }
       }
-      @property indicator_mode {
-         set {
-            [[Sets the indicator mode of the window.]]
-         }
-         get {
-            [[Get the indicator mode of the window.]]
-         }
-         values {
-            mode: Elm.Win.Indicator_Mode; [[The mode, one of #Elm_Win_Indicator_Mode.]]
-         }
-      }
       @property conformant {
          set {
             [[Set if this window is an illume conformant window.]]