Enlightenment CVS committal

Author  : moom
Project : e17
Module  : proto

Dir     : e17/proto/etk/src/lib


Modified Files:
        etk_combobox.c etk_embed.c etk_engine.c etk_engine.h 
        etk_main.c etk_menu_bar.c etk_toplevel_widget.c 
        etk_toplevel_widget.h etk_widget.c etk_window.c 


Log Message:
* Add a FB engine for ETK. It's disabled in the configure.in for now 
because it uses for now Ecore_LI which is not on the CVS (should be 
merged with Ecore_FB). The engine is far from being complete
* Fix a bug with etk_embed widgets that have menu bars or combobox.


===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_combobox.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- etk_combobox.c      26 Jul 2006 14:57:18 -0000      1.17
+++ etk_combobox.c      30 Jul 2006 21:09:32 -0000      1.18
@@ -1063,7 +1063,7 @@
 /* Called when the combobox button is toggled */
 static void _etk_combobox_button_toggled_cb(Etk_Object *object, void *data)
 {
-   int tx, ty;
+   int ex, ey, sx, sy;
    int bx, by, bw, bh;
    Etk_Combobox *combobox;
    Etk_Toplevel_Widget *toplevel;
@@ -1073,9 +1073,10 @@
    
    if (etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(combobox->button)))
    {
-      etk_toplevel_widget_geometry_get(toplevel, &tx, &ty, NULL, NULL);
       etk_widget_geometry_get(combobox->button, &bx, &by, &bw, &bh);
-      etk_popup_window_popup_at_xy(combobox->window, tx + bx, ty + by + bh);
+      etk_toplevel_widget_evas_position_get(toplevel, &ex, &ey);
+      etk_toplevel_widget_screen_position_get(toplevel, &sx, &sy);
+      etk_popup_window_popup_at_xy(combobox->window, sx + (bx - ex), sy + (by 
- ey) + bh);
       etk_window_resize(ETK_WINDOW(combobox->window), bw, 0);
    }
 }
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_embed.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- etk_embed.c 25 Jun 2006 02:27:54 -0000      1.3
+++ etk_embed.c 30 Jul 2006 21:09:32 -0000      1.4
@@ -13,8 +13,9 @@
  */
 
 static void _etk_embed_constructor(Etk_Embed *embed);
-static void _etk_embed_geometry_get(Etk_Toplevel_Widget *toplevel, int *x, int 
*y, int *w, int *h);
-static void _etk_embed_object_geometry_get(Etk_Toplevel_Widget *toplevel, int 
*x, int *y, int *w, int *h);
+static void _etk_embed_evas_position_get(Etk_Toplevel_Widget *toplevel, int 
*x, int *y);
+static void _etk_embed_screen_position_get(Etk_Toplevel_Widget *toplevel, int 
*x, int *y);
+static void _etk_embed_size_get(Etk_Toplevel_Widget *toplevel, int *w, int *h);
 
 /**************************
  *
@@ -59,10 +60,11 @@
    ETK_EMBED(embed)->window_position_get = window_position_get;
    ETK_EMBED(embed)->window_data = window_data;
    ETK_TOPLEVEL_WIDGET(embed)->evas = evas;
-   ETK_TOPLEVEL_WIDGET(embed)->geometry_get = _etk_embed_geometry_get;
-   ETK_TOPLEVEL_WIDGET(embed)->geometry_get = _etk_embed_object_geometry_get;
+   ETK_TOPLEVEL_WIDGET(embed)->evas_position_get = 
_etk_embed_evas_position_get;
+   ETK_TOPLEVEL_WIDGET(embed)->screen_position_get = 
_etk_embed_screen_position_get;
+   ETK_TOPLEVEL_WIDGET(embed)->size_get = _etk_embed_size_get;
    
-   /* TODO: font path */
+   /* TODO: remove font path */
    evas_font_path_append(evas, PACKAGE_DATA_DIR "/fonts/");
    /* TODO: FIXME: We need that to force the widget to realize */
    etk_object_properties_set(ETK_OBJECT(embed), "theme_group", "", NULL);
@@ -115,8 +117,14 @@
  *
  **************************/
 
-/* Gets the geometry of the embed toplevel widget */
-static void _etk_embed_geometry_get(Etk_Toplevel_Widget *toplevel, int *x, int 
*y, int *w, int *h)
+/* Gets the evas position of the embed widget */
+static void _etk_embed_evas_position_get(Etk_Toplevel_Widget *toplevel, int 
*x, int *y)
+{
+   etk_widget_geometry_get(ETK_WIDGET(toplevel), x, y, NULL, NULL);
+}
+
+/* Gets the screen position of the embed widget */
+static void _etk_embed_screen_position_get(Etk_Toplevel_Widget *toplevel, int 
*x, int *y)
 {
    Etk_Embed *embed;
    int win_x, win_y;
@@ -124,7 +132,7 @@
    if (!(embed = ETK_EMBED(toplevel)))
       return;
    
-   etk_widget_geometry_get(ETK_WIDGET(toplevel), x, y, w, h);
+   etk_widget_geometry_get(ETK_WIDGET(embed), x, y, NULL, NULL);
    if (embed->window_position_get)
    {
       embed->window_position_get(embed->window_data, &win_x, &win_y);
@@ -133,10 +141,10 @@
    }
 }
 
-/* Gets the geometry of the evas object of the embed toplevel widget */
-static void _etk_embed_object_geometry_get(Etk_Toplevel_Widget *toplevel, int 
*x, int *y, int *w, int *h)
+/* Gets the size of the embed widget */
+static void _etk_embed_size_get(Etk_Toplevel_Widget *toplevel, int *w, int *h)
 {
-   etk_widget_geometry_get(ETK_WIDGET(toplevel), x, y, w, h);
+   etk_widget_geometry_get(ETK_WIDGET(toplevel), NULL, NULL, w, h);
 }
 
 /** @} */
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_engine.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- etk_engine.c        28 Jul 2006 02:13:07 -0000      1.6
+++ etk_engine.c        30 Jul 2006 21:09:32 -0000      1.7
@@ -361,18 +361,51 @@
 }
 
 /**
- * @brief Calls the engines's method to get the geometry of a window
+ * @brief Calls the engines's method to get the position of a window, relative 
to the evas where it is drawn
  * @param window a window
- * @param x the location where to store the x position of the window
- * @param y the location where to store the y position of the window
- * @param w the location where to store the width of the window
- * @param h the location where to store the height of the window
+ * @param x the location where to store the x evas position of the window
+ * @param y the location where to store the y evas position of the window
  */
-void etk_engine_window_geometry_get(Etk_Window *window, int *x, int *y, int 
*w, int *h)
+void etk_engine_window_evas_position_get(Etk_Window *window, int *x, int *y)
 {
-   if (!_engine || !_engine->window_geometry_get)
-      return;   
-   _engine->window_geometry_get(window, x, y, w, h);
+   if (x)   *x = 0;
+   if (y)   *y = 0;
+   
+   if (!_engine || !_engine->window_evas_position_get)
+      return;
+   _engine->window_evas_position_get(window, x, y);
+}
+
+/**
+ * @brief Calls the engines's method to get the position of a window, relative 
to the screen
+ * @param window a window
+ * @param x the location where to store the x screen position of the window
+ * @param y the location where to store the y screen position of the window
+ */
+void etk_engine_window_screen_position_get(Etk_Window *window, int *x, int *y)
+{
+   if (x)   *x = 0;
+   if (y)   *y = 0;
+   
+   if (!_engine || !_engine->window_screen_position_get)
+      return;
+   _engine->window_screen_position_get(window, x, y);
+}
+
+/**
+ * @brief Calls the engines's method to get the size of a window
+ * @param window a window
+ * @param x the location where to store the width of the window
+ * @param y the location where to store the height of the window
+ */
+void etk_engine_window_size_get(Etk_Window *window, int *w, int *h)
+{
+   if (w)   *w = 0;
+   if (h)   *h = 0;
+   
+   if (!_engine || !_engine->window_size_get)
+      return;
+   _engine->window_size_get(window, w, h);
 }
 
 void etk_engine_window_center_on_window(Etk_Window *window_to_center, 
Etk_Window *window)
@@ -609,7 +642,7 @@
 Etk_Bool etk_engine_dnd_init()
 {
    if (!_engine || !_engine->dnd_init)
-           return ETK_FALSE;
+           return ETK_TRUE;
    return _engine->dnd_init();
 }
 
@@ -680,7 +713,9 @@
    INHERIT(window_move);
    INHERIT(window_resize);
    INHERIT(window_size_min_set);
-   INHERIT(window_geometry_get);
+   INHERIT(window_evas_position_get);
+   INHERIT(window_screen_position_get);
+   INHERIT(window_size_get);
    INHERIT(window_center_on_window);
    INHERIT(window_move_to_mouse);
    INHERIT(window_modal_for_window);
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_engine.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- etk_engine.h        28 Jul 2006 00:57:05 -0000      1.6
+++ etk_engine.h        30 Jul 2006 21:09:32 -0000      1.7
@@ -30,7 +30,9 @@
    void (*window_move)(Etk_Window *window, int x, int y);
    void (*window_resize)(Etk_Window *window, int w, int h);
    void (*window_size_min_set)(Etk_Window *window, int w, int h);
-   void (*window_geometry_get)(Etk_Window *window, int *x, int *y, int *w, int 
*h);
+   void (*window_evas_position_get)(Etk_Window *window, int *x, int *y);
+   void (*window_screen_position_get)(Etk_Window *window, int *x, int *y);
+   void (*window_size_get)(Etk_Window *window, int *w, int *h);
    void (*window_center_on_window)(Etk_Window *window_to_center, Etk_Window 
*window);
    void (*window_move_to_mouse)(Etk_Window *window);
    void (*window_modal_for_window)(Etk_Window *window_to_modal, Etk_Window 
*window);
@@ -100,7 +102,9 @@
 void etk_engine_window_move(Etk_Window *window, int x, int y);
 void etk_engine_window_resize(Etk_Window *window, int w, int h);
 void etk_engine_window_size_min_set(Etk_Window *window, int w, int h);
-void etk_engine_window_geometry_get(Etk_Window *window, int *x, int *y, int 
*w, int *h);
+void etk_engine_window_evas_position_get(Etk_Window *window, int *x, int *y);
+void etk_engine_window_screen_position_get(Etk_Window *window, int *x, int *y);
+void etk_engine_window_size_get(Etk_Window *window, int *w, int *h);
 void etk_engine_window_center_on_window(Etk_Window *window_to_center, 
Etk_Window *window);
 void etk_engine_window_move_to_mouse(Etk_Window *window);  
 void etk_engine_window_modal_for_window(Etk_Window *window_to_modal, 
Etk_Window *window);
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_main.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- etk_main.c  27 Jul 2006 16:49:35 -0000      1.26
+++ etk_main.c  30 Jul 2006 21:09:32 -0000      1.27
@@ -17,6 +17,7 @@
 #include "etk_theme.h"
 #include "etk_dnd.h"
 #include "etk_tooltips.h"
+#include "etk_textblock.h"
 #include "config.h"
 
 /**
@@ -66,6 +67,8 @@
       ETK_WARNING("Edje initialization failed!");
       return ETK_FALSE;
    }
+   
+   etk_theme_init();
    if (!etk_engine_init())
    {
       ETK_WARNING("Etk_Engine initialization failed!");
@@ -81,8 +84,6 @@
       ETK_WARNING("Etk_dnd initialization failed!");
       return ETK_FALSE;
    }
-      
-   etk_theme_init();
    etk_tooltips_init();
    
    /* Initialize Gettext */
@@ -107,10 +108,13 @@
    etk_object_destroy_all_objects();
    etk_signal_shutdown();
    etk_type_shutdown();
-   etk_theme_shutdown();
+   
+   etk_textblock_shutdown();
    etk_tooltips_shutdown();
    etk_dnd_shutdown();
    etk_engine_shutdown();
+   etk_theme_shutdown();
+   
    edje_shutdown();
    ecore_shutdown();
    evas_shutdown();
@@ -246,10 +250,10 @@
    if (!widget)
       return;
    
-   if (is_top_level && ETK_TOPLEVEL_WIDGET(widget)->object_geometry_get)
+   if (is_top_level)
    {
-      
ETK_TOPLEVEL_WIDGET(widget)->object_geometry_get(ETK_TOPLEVEL_WIDGET(widget),
-         &geometry.x, &geometry.y, &geometry.w, &geometry.h);
+      etk_toplevel_widget_evas_position_get(ETK_TOPLEVEL_WIDGET(widget), 
&geometry.x, &geometry.y);
+      etk_toplevel_widget_size_get(ETK_TOPLEVEL_WIDGET(widget), &geometry.w, 
&geometry.h);
    }
    else
       etk_widget_geometry_get(widget, &geometry.x, &geometry.y, &geometry.w, 
&geometry.h);
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_menu_bar.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- etk_menu_bar.c      25 May 2006 21:07:00 -0000      1.6
+++ etk_menu_bar.c      30 Jul 2006 21:09:32 -0000      1.7
@@ -183,7 +183,7 @@
    }
    
    /* If the mouse pointer is above a menu item, we select it */
-   etk_toplevel_widget_geometry_get(toplevel, &tx, &ty, NULL, NULL);
+   etk_toplevel_widget_screen_position_get(toplevel, &tx, &ty);
    for (l = ETK_MENU_SHELL(menu_bar)->items; l; l = l->next)
    {
       item = ETK_WIDGET(l->data);
@@ -222,11 +222,12 @@
    /* Then we popup the child menu */
    if (item->submenu && (toplevel = 
etk_widget_toplevel_parent_get(ETK_WIDGET(menu_bar))))
    {
-      int ix, iy, ih, tx, ty;
+      int ix, iy, ih, ex, ey, sx, sy;
       
       etk_widget_geometry_get(ETK_WIDGET(item), &ix, &iy, NULL, &ih);
-      etk_toplevel_widget_geometry_get(toplevel, &tx, &ty, NULL, NULL);
-      etk_menu_popup_at_xy(item->submenu, tx + ix, ty + iy + ih);
+      etk_toplevel_widget_evas_position_get(toplevel, &ex, &ey);
+      etk_toplevel_widget_screen_position_get(toplevel, &sx, &sy);
+      etk_menu_popup_at_xy(item->submenu, sx + (ix - ex), sy + (iy - ey) + ih);
    }
    
    if (!_etk_menu_bar_mouse_move_handler)
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_toplevel_widget.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- etk_toplevel_widget.c       25 Jun 2006 02:22:04 -0000      1.16
+++ etk_toplevel_widget.c       30 Jul 2006 21:09:32 -0000      1.17
@@ -65,24 +65,57 @@
 }
 
 /**
- * @brief Gets the geometry of the toplevel widget
+ * @brief Gets the position of the toplevel widget, relative to the top left 
corner of the evas where it is drawn
  * @param toplevel_widget a toplevel widget
- * @param x the location where to set the x positon of the toplevel widget
- * @param y the location where to set the y positon of the toplevel widget
- * @param w the location where to set the width of the toplevel widget
- * @param h the location where to set the height of the toplevel widget
+ * @param x the location where to store the x evas position of the toplevel 
widget
+ * @param y the location where to store the y evas position of the toplevel 
widget
  */
-void etk_toplevel_widget_geometry_get(Etk_Toplevel_Widget *toplevel_widget, 
int *x, int *y, int *w, int *h)
+void etk_toplevel_widget_evas_position_get(Etk_Toplevel_Widget 
*toplevel_widget, int *x, int *y)
 {
-   if (!toplevel_widget || !toplevel_widget->geometry_get)
+   if (!toplevel_widget || !toplevel_widget->evas_position_get)
    {
       if (x)  *x = 0;
       if (y)  *y = 0;
+      return;
+   }
+   else
+      toplevel_widget->evas_position_get(toplevel_widget, x, y);
+}
+
+/**
+ * @brief Gets the position of the toplevel widget, relative to the top left 
corner of the screen
+ * @param toplevel_widget a toplevel widget
+ * @param x the location where to store the x screen position of the toplevel 
widget
+ * @param y the location where to store the y screen position of the toplevel 
widget
+ */
+void etk_toplevel_widget_screen_position_get(Etk_Toplevel_Widget 
*toplevel_widget, int *x, int *y)
+{
+   if (!toplevel_widget || !toplevel_widget->screen_position_get)
+   {
+      if (x)  *x = 0;
+      if (y)  *y = 0;
+      return;
+   }
+   else
+      toplevel_widget->screen_position_get(toplevel_widget, x, y);
+}
+
+/**
+ * @brief Gets the size of the toplevel widget
+ * @param toplevel_widget a toplevel widget
+ * @param w the location where to store the width of the toplevel widget
+ * @param h the location where to store the height of the toplevel widget
+ */
+void etk_toplevel_widget_size_get(Etk_Toplevel_Widget *toplevel_widget, int 
*w, int *h)
+{
+   if (!toplevel_widget || !toplevel_widget->size_get)
+   {
       if (w)  *w = 0;
       if (h)  *h = 0;
       return;
    }
-   toplevel_widget->geometry_get(toplevel_widget, x, y, w, h);
+   else
+      toplevel_widget->size_get(toplevel_widget, w, h);
 }
 
 /**
@@ -234,8 +267,9 @@
    toplevel_widget->focused_widget = NULL;
    toplevel_widget->pointer_stack = NULL;
    toplevel_widget->pointer_set = NULL;
-   toplevel_widget->geometry_get = NULL;
-   toplevel_widget->object_geometry_get = NULL;
+   toplevel_widget->evas_position_get = NULL;
+   toplevel_widget->screen_position_get = NULL;
+   toplevel_widget->size_get = NULL;
    ETK_WIDGET(toplevel_widget)->toplevel_parent = toplevel_widget;
 
    etk_signal_connect("realize", ETK_OBJECT(toplevel_widget), 
ETK_CALLBACK(_etk_toplevel_widget_realize_cb), NULL);
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_toplevel_widget.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- etk_toplevel_widget.h       25 Jun 2006 02:22:04 -0000      1.8
+++ etk_toplevel_widget.h       30 Jul 2006 21:09:32 -0000      1.9
@@ -22,7 +22,7 @@
  * @enum Etk_Pointer_Type
  * @brief The different types of mouse pointer
  */
-typedef enum _Etk_Pointer_Type
+typedef enum Etk_Pointer_Type
 {
    ETK_POINTER_DEFAULT,
    ETK_POINTER_MOVE,
@@ -52,8 +52,9 @@
    Etk_Bin bin;
 
    Evas *evas;
-   void (*geometry_get)(Etk_Toplevel_Widget *toplevel_widget, int *x, int *y, 
int *w, int *h);
-   void (*object_geometry_get)(Etk_Toplevel_Widget *toplevel_widget, int *x, 
int *y, int *w, int *h);
+   void (*evas_position_get)(Etk_Toplevel_Widget *toplevel_widget, int *x, int 
*y);
+   void (*screen_position_get)(Etk_Toplevel_Widget *toplevel_widget, int *x, 
int *y);
+   void (*size_get)(Etk_Toplevel_Widget *toplevel_widget, int *w, int *h); 
 
    Etk_Widget *focused_widget;
 
@@ -63,7 +64,10 @@
 
 Etk_Type *etk_toplevel_widget_type_get();
 Evas *etk_toplevel_widget_evas_get(Etk_Toplevel_Widget *toplevel_widget);
-void etk_toplevel_widget_geometry_get(Etk_Toplevel_Widget *toplevel_widget, 
int *x, int *y, int *w, int *h);
+
+void etk_toplevel_widget_evas_position_get(Etk_Toplevel_Widget 
*toplevel_widget, int *x, int *y);
+void etk_toplevel_widget_screen_position_get(Etk_Toplevel_Widget 
*toplevel_widget, int *x, int *y);
+void etk_toplevel_widget_size_get(Etk_Toplevel_Widget *toplevel_widget, int 
*w, int *h);
 
 void etk_toplevel_widget_focused_widget_set(Etk_Toplevel_Widget 
*toplevel_widget, Etk_Widget *widget);
 Etk_Widget *etk_toplevel_widget_focused_widget_get(Etk_Toplevel_Widget 
*toplevel_widget);
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_widget.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -3 -r1.57 -r1.58
--- etk_widget.c        26 Jul 2006 14:57:18 -0000      1.57
+++ etk_widget.c        30 Jul 2006 21:09:32 -0000      1.58
@@ -2407,7 +2407,7 @@
    
    if (widget->realized)
       _etk_widget_unrealize(widget);
-
+   
    /* First, we create the smart object */
    widget->smart_object = _etk_widget_smart_object_add(evas, widget);
    evas_object_event_callback_add(widget->smart_object, 
EVAS_CALLBACK_MOUSE_IN, _etk_widget_mouse_in_cb, widget);
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_window.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -3 -r1.31 -r1.32
--- etk_window.c        28 Jul 2006 02:13:07 -0000      1.31
+++ etk_window.c        30 Jul 2006 21:09:33 -0000      1.32
@@ -46,8 +46,9 @@
 static void _etk_window_hide_cb(Etk_Object *object, void *data);
 static void _etk_window_size_request_cb(Etk_Window *window, Etk_Size 
*requisition, void *data);
 static Etk_Bool _etk_window_delete_event_handler(Etk_Window *window);
-static void _etk_window_toplevel_geometry_get(Etk_Toplevel_Widget *toplevel, 
int *x, int *y, int *w, int *h);
-static void _etk_window_toplevel_object_geometry_get(Etk_Toplevel_Widget 
*toplevel, int *x, int *y, int *w, int *h);
+static void _etk_window_evas_position_get(Etk_Toplevel_Widget *toplevel, int 
*x, int *y);
+static void _etk_window_screen_position_get(Etk_Toplevel_Widget *toplevel, int 
*x, int *y);
+static void _etk_window_size_get(Etk_Toplevel_Widget *toplevel, int *w, int 
*h);
 static void _etk_window_pointer_set(Etk_Toplevel_Widget *toplevel_widget, 
Etk_Pointer_Type pointer_type);
 
 static void _etk_window_move_cb(Etk_Window *window);
@@ -185,7 +186,8 @@
 {
    if (!window)
       return;
-   etk_engine_window_geometry_get(window, x, y, w, h);
+   etk_toplevel_widget_screen_position_get(ETK_TOPLEVEL_WIDGET(window), x, y);
+   etk_toplevel_widget_size_get(ETK_TOPLEVEL_WIDGET(window), w, h);
 }
 
 /**
@@ -517,11 +519,12 @@
    etk_engine_window_constructor(window);
    
    ETK_TOPLEVEL_WIDGET(window)->pointer_set = _etk_window_pointer_set;
-   ETK_TOPLEVEL_WIDGET(window)->geometry_get = 
_etk_window_toplevel_geometry_get;
-   ETK_TOPLEVEL_WIDGET(window)->object_geometry_get = 
_etk_window_toplevel_object_geometry_get;
+   ETK_TOPLEVEL_WIDGET(window)->evas_position_get = 
_etk_window_evas_position_get;
+   ETK_TOPLEVEL_WIDGET(window)->screen_position_get = 
_etk_window_screen_position_get;
+   ETK_TOPLEVEL_WIDGET(window)->size_get = _etk_window_size_get;
    ETK_TOPLEVEL_WIDGET(window)->evas = etk_engine_window_evas_get(window);
    
-   /* TODO: font path */
+   /* TODO: remove the font path */
    evas_font_path_append(ETK_TOPLEVEL_WIDGET(window)->evas, PACKAGE_DATA_DIR 
"/fonts/");
    etk_signal_connect("size_request", ETK_OBJECT(window), 
ETK_CALLBACK(_etk_window_size_request_cb), NULL);
    etk_signal_connect("show", ETK_OBJECT(window), 
ETK_CALLBACK(_etk_window_show_cb), NULL);
@@ -699,31 +702,28 @@
    return ETK_FALSE;
 }
 
-/* Gets the geometry of the window toplevel widget */
-static void _etk_window_toplevel_geometry_get(Etk_Toplevel_Widget *toplevel, 
int *x, int *y, int *w, int *h)
+/* Gets the evas position of the window */
+static void _etk_window_evas_position_get(Etk_Toplevel_Widget *toplevel, int 
*x, int *y)
 {
-   etk_window_geometry_get(ETK_WINDOW(toplevel), x, y, w, h);
+   etk_engine_window_evas_position_get(ETK_WINDOW(toplevel), x, y);
 }
 
-/* Gets the geometry of the evas object of the window  toplevel widget */
-static void _etk_window_toplevel_object_geometry_get(Etk_Toplevel_Widget 
*toplevel, int *x, int *y, int *w, int *h)
+/* Gets the screen position of the window */
+static void _etk_window_screen_position_get(Etk_Toplevel_Widget *toplevel, int 
*x, int *y)
 {
-   if (!toplevel)
-      return;
-   
-   if (x)  *x = 0;
-   if (y)  *y = 0;
-   etk_window_geometry_get(ETK_WINDOW(toplevel), NULL, NULL, w, h);
+   etk_engine_window_screen_position_get(ETK_WINDOW(toplevel), x, y);
+}
+
+/* Gets the size of the window */
+static void _etk_window_size_get(Etk_Toplevel_Widget *toplevel, int *w, int *h)
+{
+   etk_engine_window_size_get(ETK_WINDOW(toplevel), w, h);
 }
 
 /* Sets the mouse pointer of the window */
 static void _etk_window_pointer_set(Etk_Toplevel_Widget *toplevel_widget, 
Etk_Pointer_Type pointer_type)
 {
-   Etk_Window *window;
-   
-   if (!(window = ETK_WINDOW(toplevel_widget)))
-      return;
-   etk_engine_window_pointer_set(window, pointer_type);
+   etk_engine_window_pointer_set(ETK_WINDOW(toplevel_widget), pointer_type);
 }
 
 /* Called when the window is moved by the engine */



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to