Enlightenment CVS committal

Author  : moom
Project : e17
Module  : proto

Dir     : e17/proto/etk/src/lib


Modified Files:
        etk_engine.c etk_engine.h etk_window.c etk_window.h 


Log Message:
* [Window] Add etk_window_stacking_set/get() to change the stacking 
layer of a window ("normal", "always on top", "always below")


===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_engine.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- etk_engine.c        1 Sep 2006 10:53:20 -0000       1.9
+++ etk_engine.c        1 Sep 2006 13:32:30 -0000       1.10
@@ -538,6 +538,30 @@
 }
 
 /**
+ * @brief Calls the engines's method to set the stacking layer of the window
+ * @param window a window
+ * @param stacking the stacking layer to use
+ */
+void etk_engine_window_stacking_set(Etk_Window *window, Etk_Window_Stacking 
stacking)
+{
+   if (!_engine || !_engine->window_stacking_set)
+      return;   
+   _engine->window_stacking_set(window, stacking);
+}
+
+/**
+ * @brief Calls the engines's method to get the stacking layer of the window
+ * @param window a window
+ * @return Returns the stacking layer of the window
+ */
+Etk_Window_Stacking etk_engine_window_stacking_get(Etk_Window *window)
+{
+   if (!_engine || !_engine->window_stacking_get)
+      return ETK_WINDOW_NORMAL;   
+   return _engine->window_stacking_get(window);
+}
+
+/**
  * @brief Calls the engines's method to set whether a window is sticky. A 
sticky window is a window that appears on all
  * the virtual desktops
  * @param window a window
@@ -859,7 +883,9 @@
    INHERIT(window_fullscreen_set);
    INHERIT(window_fullscreen_get);
    INHERIT(window_raise);
-   INHERIT(window_lower);   
+   INHERIT(window_lower); 
+   INHERIT(window_stacking_set);
+   INHERIT(window_stacking_get);
    INHERIT(window_sticky_set);
    INHERIT(window_sticky_get);
    INHERIT(window_focused_set);
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_engine.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- etk_engine.h        1 Sep 2006 10:53:20 -0000       1.9
+++ etk_engine.h        1 Sep 2006 13:32:30 -0000       1.10
@@ -4,6 +4,7 @@
 
 #include "Evas.h"
 #include "etk_toplevel_widget.h"
+#include "etk_window.h"
 #include "etk_types.h"
 
 struct Etk_Engine
@@ -39,7 +40,9 @@
    void (*window_fullscreen_set)(Etk_Window *window, Etk_Bool fullscreen);
    Etk_Bool (*window_fullscreen_get)(Etk_Window *window);
    void (*window_raise)(Etk_Window *window);
-   void (*window_lower)(Etk_Window *window);   
+   void (*window_lower)(Etk_Window *window);
+   void (*window_stacking_set)(Etk_Window *window, Etk_Window_Stacking 
stacking);
+   Etk_Window_Stacking (*window_stacking_get)(Etk_Window *window);
    void (*window_sticky_set)(Etk_Window *window, Etk_Bool sticky);
    Etk_Bool (*window_sticky_get)(Etk_Window *window);
    void (*window_focused_set)(Etk_Window *window, Etk_Bool focused);
@@ -110,7 +113,9 @@
 void etk_engine_window_fullscreen_set(Etk_Window *window, Etk_Bool fullscreen);
 Etk_Bool etk_engine_window_fullscreen_get(Etk_Window *window);
 void etk_engine_window_raise(Etk_Window *window);
-void etk_engine_window_lower(Etk_Window *window);    
+void etk_engine_window_lower(Etk_Window *window);
+void etk_engine_window_stacking_set(Etk_Window *window, Etk_Window_Stacking 
stacking);
+Etk_Window_Stacking etk_engine_window_stacking_get(Etk_Window *window);
 void etk_engine_window_sticky_set(Etk_Window *window, Etk_Bool on);
 Etk_Bool etk_engine_window_sticky_get(Etk_Window *window);
 void etk_engine_window_focused_set(Etk_Window *window, Etk_Bool focused);
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_window.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -3 -r1.37 -r1.38
--- etk_window.c        1 Sep 2006 10:53:20 -0000       1.37
+++ etk_window.c        1 Sep 2006 13:32:30 -0000       1.38
@@ -238,6 +238,7 @@
  * @param window_to_modal the window to make modal
  * @param window the window on which @a window_to_modal will modal'ed on, or 
NULL to disable the modal state
  */
+/* TODO: grab the input */
 void etk_window_modal_for_window(Etk_Window *window_to_modal, Etk_Window 
*window)
 {
    if (window_to_modal)
@@ -265,6 +266,30 @@
    if (!window)
       return;
    etk_engine_window_lower(window);
+}
+
+/**
+ * @brief Sets the stacking layer of the window (normal, "always on top" or 
"always below")
+ * @param window a window
+ * @param stacking the stacking layer to use
+ */
+void etk_window_stacking_set(Etk_Window *window, Etk_Window_Stacking stacking)
+{
+   if (!window)
+      return;
+   etk_engine_window_stacking_set(window, stacking);
+}
+
+/**
+ * @brief Gets the stacking layer of the window
+ * @param window a window
+ * @return Returns the stacking layer of the window
+ */
+Etk_Window_Stacking etk_window_stacking_get(Etk_Window *window)
+{
+   if (!window)
+      return ETK_WINDOW_NORMAL;
+   return etk_engine_window_stacking_get(window);
 }
 
 /**
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_window.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- etk_window.h        1 Sep 2006 06:41:17 -0000       1.15
+++ etk_window.h        1 Sep 2006 13:32:30 -0000       1.16
@@ -18,6 +18,14 @@
 /** @brief Check if the object is an Etk_Window */
 #define ETK_IS_WINDOW(obj)    (ETK_OBJECT_CHECK_TYPE((obj), ETK_WINDOW_TYPE))
 
+/** @brief Describes how the window is stacked */
+typedef enum Etk_Window_Stacking
+{
+   ETK_WINDOW_NORMAL,      /**< The window is stacked in the default layer */
+   ETK_WINDOW_ABOVE,       /**< The window is stacked above all the other 
windows */
+   ETK_WINDOW_BELOW,       /**< The window is stacked below all the other 
windows */
+} Etk_Window_Stacking;
+
 /**
  * @struct Etk_Window
  * @brief A window which can be borderless, decorated or not, sticky, ...
@@ -48,12 +56,12 @@
    void (*delete_request_cb)(Etk_Window *window);   
 };
 
-Etk_Type *etk_window_type_get();
+Etk_Type   *etk_window_type_get();
 Etk_Widget *etk_window_new();
 
-void etk_window_title_set(Etk_Window *window, const char *title);
+void        etk_window_title_set(Etk_Window *window, const char *title);
 const char *etk_window_title_get(Etk_Window *window);
-void etk_window_wmclass_set(Etk_Window *window, const char *window_name, const 
char *window_class);
+void        etk_window_wmclass_set(Etk_Window *window, const char 
*window_name, const char *window_class);
 
 void etk_window_move(Etk_Window *window, int x, int y);
 void etk_window_resize(Etk_Window *window, int w, int h);
@@ -62,35 +70,36 @@
 void etk_window_move_to_mouse(Etk_Window *window);
 void etk_window_modal_for_window(Etk_Window *window_to_modal, Etk_Window 
*window);
 
-void etk_window_raise(Etk_Window *window);
-void etk_window_lower(Etk_Window *window);
+void                etk_window_raise(Etk_Window *window);
+void                etk_window_lower(Etk_Window *window);
+void                etk_window_stacking_set(Etk_Window *window, 
Etk_Window_Stacking stacking);
+Etk_Window_Stacking etk_window_stacking_get(Etk_Window *window);
 
-void etk_window_iconified_set(Etk_Window *window, Etk_Bool iconified);
+void     etk_window_iconified_set(Etk_Window *window, Etk_Bool iconified);
 Etk_Bool etk_window_iconified_get(Etk_Window *window);
-void etk_window_maximized_set(Etk_Window *window, Etk_Bool maximized);
+void     etk_window_maximized_set(Etk_Window *window, Etk_Bool maximized);
 Etk_Bool etk_window_maximized_get(Etk_Window *window);
-void etk_window_fullscreen_set(Etk_Window *window, Etk_Bool fullscreen);
+void     etk_window_fullscreen_set(Etk_Window *window, Etk_Bool fullscreen);
 Etk_Bool etk_window_fullscreen_get(Etk_Window *window);
 
-void etk_window_focused_set(Etk_Window *window, Etk_Bool focused);
+void     etk_window_focused_set(Etk_Window *window, Etk_Bool focused);
 Etk_Bool etk_window_focused_get(Etk_Window *window);
 
-void etk_window_sticky_set(Etk_Window *window, Etk_Bool sticky);
+void     etk_window_sticky_set(Etk_Window *window, Etk_Bool sticky);
 Etk_Bool etk_window_sticky_get(Etk_Window *window);
-void etk_window_decorated_set(Etk_Window *window, Etk_Bool decorated);
+void     etk_window_decorated_set(Etk_Window *window, Etk_Bool decorated);
 Etk_Bool etk_window_decorated_get(Etk_Window *window);
-void etk_window_shaped_set(Etk_Window *window, Etk_Bool shaped);
+void     etk_window_shaped_set(Etk_Window *window, Etk_Bool shaped);
 Etk_Bool etk_window_shaped_get(Etk_Window *window);
 
-void etk_window_skip_taskbar_hint_set(Etk_Window *window, Etk_Bool 
skip_taskbar_hint);
+void     etk_window_skip_taskbar_hint_set(Etk_Window *window, Etk_Bool 
skip_taskbar_hint);
 Etk_Bool etk_window_skip_taskbar_hint_get(Etk_Window *window);
-void etk_window_skip_pager_hint_set(Etk_Window *window, Etk_Bool 
skip_pager_hint);
+void     etk_window_skip_pager_hint_set(Etk_Window *window, Etk_Bool 
skip_pager_hint);
 Etk_Bool etk_window_skip_pager_hint_get(Etk_Window *window);
 
 /* Misc */
 Etk_Bool etk_window_hide_on_delete(Etk_Object *window, void *data);
 
-  
 /** @} */
 
 #endif



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to