Enlightenment CVS committal

Author  : moom
Project : e17
Module  : libs/etk

Dir     : e17/libs/etk/src/engines/ecore_evas


Modified Files:
        Etk_Engine_Ecore_Evas.h ecore_evas.c 


Log Message:
Lib:
----
* [Tree2] More work and some fixes
* [Widget] Add etk_widget_padding_set()
* Various fixes

Engine:
-------
* [FB engine] Fb engine now supports mouse pointers, window's titles, 
borderless window, + a lot of fixes

Theme:
------
* The widget theme has been separated from the WM theme (the WM theme is 
used by the FB engine)


===================================================================
RCS file: /cvs/e/e17/libs/etk/src/engines/ecore_evas/Etk_Engine_Ecore_Evas.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- Etk_Engine_Ecore_Evas.h     5 Sep 2006 00:14:56 -0000       1.4
+++ Etk_Engine_Ecore_Evas.h     12 Jan 2007 02:53:55 -0000      1.5
@@ -9,6 +9,8 @@
 typedef struct Etk_Engine_Ecore_Evas_Window_Data
 {
    Ecore_Evas *ecore_evas;
+   int width;
+   int height;
 } Etk_Engine_Ecore_Evas_Window_Data;
 
 #endif
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/engines/ecore_evas/ecore_evas.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- ecore_evas.c        8 Oct 2006 10:04:53 -0000       1.14
+++ ecore_evas.c        12 Jan 2007 02:53:55 -0000      1.15
@@ -30,7 +30,7 @@
 static void _window_size_get(Etk_Window *window, int *w, int *h);
 static void _window_iconified_set(Etk_Window *window, Etk_Bool iconified);
 static Etk_Bool _window_iconified_get(Etk_Window *window);
-static void _window_maximized_set(Etk_Window *windo, Etk_Bool maximized);
+static void _window_maximized_set(Etk_Window *window, Etk_Bool maximized);
 static Etk_Bool _window_maximized_get(Etk_Window *window);
 static void _window_fullscreen_set(Etk_Window *window, Etk_Bool focused);
 static Etk_Bool _window_fullscreen_get(Etk_Window *window);
@@ -170,6 +170,8 @@
    Etk_Engine_Window_Data *engine_data;
    
    engine_data = window->engine_data;
+   engine_data->width = 0;
+   engine_data->height = 0;
 
    ETK_TOPLEVEL(window)->evas = ecore_evas_get(engine_data->ecore_evas);
    ecore_evas_data_set(engine_data->ecore_evas, "_Etk_Engine::Window", window);
@@ -261,11 +263,11 @@
    Etk_Engine_Window_Data *engine_data;
    int min_w, min_h;
    
-   engine_data = window->engine_data;            
+   engine_data = window->engine_data;
    ecore_evas_size_min_get(engine_data->ecore_evas, &min_w, &min_h);
-   window->width = ETK_MAX(w, min_w);
-   window->height = ETK_MAX(h, min_h);
-   ecore_evas_resize(engine_data->ecore_evas, window->width, window->height);
+   engine_data->width = ETK_MAX(w, min_w);
+   engine_data->height = ETK_MAX(h, min_h);
+   ecore_evas_resize(engine_data->ecore_evas, engine_data->width, 
engine_data->height);
 }
 
 /* Sets the minimum size of the window */
@@ -273,7 +275,13 @@
 {
    Etk_Engine_Window_Data *engine_data;
    
-   engine_data = window->engine_data;      
+   engine_data = window->engine_data;
+   if (engine_data->width < w || engine_data->height < h)
+   {
+      engine_data->width = ETK_MAX(w, engine_data->width);
+      engine_data->height = ETK_MAX(h, engine_data->height);
+      ecore_evas_resize(engine_data->ecore_evas, engine_data->width, 
engine_data->height);
+   }
    ecore_evas_size_min_set(engine_data->ecore_evas, w, h);
 }
 
@@ -289,15 +297,18 @@
 {
    Etk_Engine_Window_Data *engine_data;
    
-   engine_data = window->engine_data;   
+   engine_data = window->engine_data;
    ecore_evas_geometry_get(engine_data->ecore_evas, x, y, NULL, NULL);
 }
 
 /* Gets the size of the window */
 static void _window_size_get(Etk_Window *window, int *w, int *h)
 {
-   if (w)   *w = window->width;
-   if (h)   *h = window->height;
+   Etk_Engine_Window_Data *engine_data;
+   
+   engine_data = window->engine_data;
+   if (w)   *w = engine_data->width;
+   if (h)   *h = engine_data->height;
 }
 
 /* Sets whether or not the window is iconified */
@@ -415,7 +426,7 @@
 {
    Etk_Engine_Window_Data *engine_data;
    
-   engine_data = window->engine_data;   
+   engine_data = window->engine_data;
    ecore_evas_borderless_set(engine_data->ecore_evas, !decorated);
    etk_object_notify(ETK_OBJECT(window), "decorated");
 }
@@ -469,11 +480,13 @@
 static void _window_resize_cb(Ecore_Evas *ecore_evas)
 {
    Etk_Window *window;
+   Etk_Engine_Window_Data *engine_data;
    
    if (!(window = ETK_WINDOW(ecore_evas_data_get(ecore_evas, 
"_Etk_Engine::Window"))))
      return;
    
-   ecore_evas_geometry_get(ecore_evas, NULL, NULL, &window->width, 
&window->height);
+   engine_data = window->engine_data;
+   ecore_evas_geometry_get(ecore_evas, NULL, NULL, &engine_data->width, 
&engine_data->height);
    /* TODO: why use a func pointer here? */
    window->resize_cb(window);
 }



-------------------------------------------------------------------------
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