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