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

Reply via email to