Enlightenment CVS committal Author : andrunko Project : e17 Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_evas Modified Files: Ecore_Evas.h ecore_evas.c ecore_evas_buffer.c ecore_evas_directfb.c ecore_evas_fb.c ecore_evas_private.h ecore_evas_sdl.c ecore_evas_win32.c ecore_evas_x.c Log Message: Added Ecore_IMF module. Added Ecore_IMF module. This module enables different input methods to be used with Ecore. Input methods modules can be created using the Ecore_IMF interface. Added ecore_evas_window_get method to allow input methods to request the window related to a given Ecore_Evas when available. =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/Ecore_Evas.h,v retrieving revision 1.34 retrieving revision 1.35 diff -u -3 -r1.34 -r1.35 --- Ecore_Evas.h 5 Nov 2007 20:23:39 -0000 1.34 +++ Ecore_Evas.h 19 Nov 2007 18:27:11 -0000 1.35 @@ -232,6 +232,7 @@ EAPI int ecore_evas_sticky_get(Ecore_Evas *ee); EAPI void ecore_evas_ignore_events_set(Ecore_Evas *ee, int ignore); EAPI int ecore_evas_ignore_events_get(Ecore_Evas *ee); +EAPI void *ecore_evas_window_get(Ecore_Evas *ee); #ifdef __cplusplus } =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -3 -r1.43 -r1.44 --- ecore_evas.c 6 Nov 2007 07:21:08 -0000 1.43 +++ ecore_evas.c 19 Nov 2007 18:27:11 -0000 1.44 @@ -1773,6 +1773,20 @@ return ee->ignore_events ? 1 : 0; } +EAPI void * +ecore_evas_window_get(Ecore_Evas *ee) +{ + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, + "ecore_evas_window_get"); + return NULL; + } + + if (ee->engine.func->fn_window_get) return ee->engine.func->fn_window_get(ee); + return NULL; +} + #ifndef _WIN32 /* fps debug calls - for debugging how much time your app actually spends */ /* rendering graphics... :) */ =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_buffer.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- ecore_evas_buffer.c 26 Aug 2007 11:17:21 -0000 1.17 +++ ecore_evas_buffer.c 19 Nov 2007 18:27:11 -0000 1.18 @@ -425,6 +425,7 @@ NULL, NULL, NULL, + NULL, NULL }; #endif =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_directfb.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- ecore_evas_directfb.c 26 Sep 2007 15:41:50 -0000 1.12 +++ ecore_evas_directfb.c 19 Nov 2007 18:27:11 -0000 1.13 @@ -497,8 +497,19 @@ if(ee->func.fn_resize) ee->func.fn_resize(ee); } } +#endif +static void * +_ecore_evas_directfb_window_get(Ecore_Evas *ee) +{ +#ifdef BUILD_ECORE_EVAS_DIRECTFB + return ee->engine.directfb.window; +#else + return 0; +#endif +} +#ifdef BUILD_ECORE_EVAS_DIRECTFB static const Ecore_Evas_Engine_Func _ecore_directfb_engine_func = { _ecore_evas_directfb_free, /* free an ecore_evas */ @@ -544,7 +555,8 @@ NULL, /* withdrawn */ NULL, /* sticky */ NULL, /* ignore events */ - NULL /* alpha */ + NULL, /* alpha */ + _ecore_evas_directfb_window_get /* window_get */ }; #endif @@ -554,15 +566,9 @@ Ecore_DirectFB_Window * ecore_evas_directfb_window_get(Ecore_Evas *ee) { -#ifdef BUILD_ECORE_EVAS_DIRECTFB - return ee->engine.directfb.window; -#else - ee = NULL; - return NULL; -#endif + return (Ecore_DirectFB_Window *) _ecore_evas_directfb_window_get(ee); } - EAPI Ecore_Evas * ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w, int h) { =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_fb.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -3 -r1.31 -r1.32 --- ecore_evas_fb.c 19 Nov 2007 08:42:33 -0000 1.31 +++ ecore_evas_fb.c 19 Nov 2007 18:27:11 -0000 1.32 @@ -557,6 +557,7 @@ _ecore_evas_fullscreen_set, NULL, NULL, + NULL, NULL }; #endif =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_private.h,v retrieving revision 1.36 retrieving revision 1.37 diff -u -3 -r1.36 -r1.37 --- ecore_evas_private.h 6 Nov 2007 07:21:08 -0000 1.36 +++ ecore_evas_private.h 19 Nov 2007 18:27:11 -0000 1.37 @@ -124,6 +124,7 @@ void (*fn_sticky_set) (Ecore_Evas *ee, int sticky); void (*fn_ignore_events_set) (Ecore_Evas *ee, int ignore); void (*fn_alpha_set) (Ecore_Evas *ee, int alpha); + void *(*fn_window_get) (Ecore_Evas *ee); }; struct _Ecore_Evas_Engine =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_sdl.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- ecore_evas_sdl.c 26 Sep 2007 15:41:50 -0000 1.4 +++ ecore_evas_sdl.c 19 Nov 2007 18:27:11 -0000 1.5 @@ -419,6 +419,7 @@ NULL, NULL, NULL, + NULL, NULL }; #endif =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_win32.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ecore_evas_win32.c 23 Sep 2007 11:57:34 -0000 1.2 +++ ecore_evas_win32.c 19 Nov 2007 18:27:11 -0000 1.3 @@ -874,8 +874,19 @@ /* else */ /* _ecore_evas_win32_state_update(ee); */ } +#endif +static void * +_ecore_evas_win32_window_get(Ecore_Evas *ee) +{ +#ifdef BUILD_ECORE_WIN32 + return ee->engine.win32.window; +#else + return NULL; +#endif /* BUILD_ECORE_WIN32 */ +} +#ifdef BUILD_ECORE_WIN32 static const Ecore_Evas_Engine_Func _ecore_win32_engine_func = { _ecore_evas_win32_free, @@ -921,7 +932,8 @@ NULL, /* _ecore_evas_x_withdrawn_set */ NULL, /* _ecore_evas_x_sticky_set */ NULL, /* _ecore_evas_x_ignore_events_set */ - NULL /* _ecore_evas_x_alpha_set */ + NULL, /* _ecore_evas_x_alpha_set */ + _ecore_evas_win32_window_get }; #endif /* BUILD_ECORE_WIN32 */ @@ -1037,11 +1049,7 @@ EAPI Ecore_Win32_Window * ecore_evas_software_ddraw_window_get(Ecore_Evas *ee) { -#ifdef BUILD_ECORE_WIN32 - return ee->engine.win32.window; -#else - return NULL; -#endif /* BUILD_ECORE_WIN32 */ + return (Ecore_Win32_Window *) _ecore_evas_win32_window_get(ee); } EAPI Ecore_Evas * @@ -1154,9 +1162,5 @@ EAPI Ecore_Win32_Window * ecore_evas_direct3d_window_get(Ecore_Evas *ee) { -#ifdef BUILD_ECORE_WIN32 - return ee->engine.win32.window; -#else - return NULL; -#endif /* BUILD_ECORE_WIN32 */ + return (Ecore_Win32_Window *) _ecore_evas_win32_window_get(ee); } =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_x.c,v retrieving revision 1.117 retrieving revision 1.118 diff -u -3 -r1.117 -r1.118 --- ecore_evas_x.c 6 Nov 2007 07:21:08 -0000 1.117 +++ ecore_evas_x.c 19 Nov 2007 18:27:11 -0000 1.118 @@ -2026,6 +2026,16 @@ } } +static void * +_ecore_evas_x_window_get(Ecore_Evas *ee) +{ +#ifdef BUILD_ECORE_EVAS_X11 + return (void *) ee->engine.x.win; +#else + return 0; +#endif +} + static void _ecore_evas_x_show(Ecore_Evas *ee) { @@ -2544,7 +2554,8 @@ _ecore_evas_x_withdrawn_set, _ecore_evas_x_sticky_set, _ecore_evas_x_ignore_events_set, - _ecore_evas_x_alpha_set + _ecore_evas_x_alpha_set, + _ecore_evas_x_window_get }; #endif @@ -2819,11 +2830,7 @@ EAPI Ecore_X_Window ecore_evas_software_x11_window_get(Ecore_Evas *ee) { -#ifdef BUILD_ECORE_EVAS_X11 - return ee->engine.x.win; -#else - return 0; -#endif + return (Ecore_X_Window) _ecore_evas_x_window_get(ee); } /** @@ -2834,11 +2841,7 @@ EAPI Ecore_X_Window ecore_evas_software_x11_subwindow_get(Ecore_Evas *ee) { -#ifdef BUILD_ECORE_EVAS_X11 - return ee->engine.x.win; -#else - return 0; -#endif + return (Ecore_X_Window) _ecore_evas_x_window_get(ee); } /** @@ -3012,11 +3015,7 @@ EAPI Ecore_X_Window ecore_evas_gl_x11_window_get(Ecore_Evas *ee) { -#ifdef BUILD_ECORE_EVAS_X11 - return ee->engine.x.win; -#else - return 0; -#endif + return (Ecore_X_Window) _ecore_evas_x_window_get(ee); } /** @@ -3027,11 +3026,7 @@ EAPI Ecore_X_Window ecore_evas_gl_x11_subwindow_get(Ecore_Evas *ee) { -#ifdef BUILD_ECORE_EVAS_X11 - return ee->engine.x.win; -#else - return 0; -#endif + return (Ecore_X_Window) _ecore_evas_x_window_get(ee); } /** @@ -3264,11 +3259,7 @@ EAPI Ecore_X_Window ecore_evas_xrender_x11_window_get(Ecore_Evas *ee) { -#ifdef BUILD_ECORE_EVAS_X11 - return ee->engine.x.win; -#else - return 0; -#endif + return (Ecore_X_Window) _ecore_evas_x_window_get(ee); } /** @@ -3279,11 +3270,7 @@ EAPI Ecore_X_Window ecore_evas_xrender_x11_subwindow_get(Ecore_Evas *ee) { -#ifdef BUILD_ECORE_EVAS_X11 - return ee->engine.x.win; -#else - return 0; -#endif + return (Ecore_X_Window) _ecore_evas_x_window_get(ee); } /** @@ -3474,11 +3461,7 @@ EAPI Ecore_X_Window ecore_evas_software_x11_16_window_get(Ecore_Evas *ee) { -#if BUILD_ECORE_EVAS_X11_16 - return ee->engine.x.win; -#else - return 0; -#endif + return (Ecore_X_Window) _ecore_evas_x_window_get(ee); } /** @@ -3489,11 +3472,7 @@ EAPI Ecore_X_Window ecore_evas_software_x11_16_subwindow_get(Ecore_Evas *ee) { -#if BUILD_ECORE_EVAS_X11_16 - return ee->engine.x.win; -#else - return 0; -#endif + return (Ecore_X_Window) _ecore_evas_x_window_get(ee); } /** ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs