Enlightenment CVS committal
Author : doursse
Project : e17
Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_wince
Modified Files:
Ecore_WinCE.h ecore_wince_event.c ecore_wince_private.h
ecore_wince_window.c
Log Message:
* add _size_get() and _geometry_get() methods
* fix use of resume() and suspend() functions when dealing with GAPI
===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_wince/Ecore_WinCE.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- Ecore_WinCE.h 5 Jun 2008 05:27:29 -0000 1.3
+++ Ecore_WinCE.h 5 Jun 2008 07:23:41 -0000 1.4
@@ -213,9 +213,19 @@
EAPI void ecore_wince_window_hide(Ecore_WinCE_Window *window);
-EAPI void ecore_wince_window_suspend_set(Ecore_WinCE_Window *window, int
(*suspend)(void));
+ EAPI void ecore_wince_window_suspend_set(Ecore_WinCE_Window *window, int
(*suspend)(int), int backend);
-EAPI void ecore_wince_window_resume_set(Ecore_WinCE_Window *window, int
(*resume)(void));
+EAPI void ecore_wince_window_resume_set(Ecore_WinCE_Window *window, int
(*resume)(int), int backend);
+
+EAPI void ecore_wince_window_geometry_get(Ecore_WinCE_Window *window,
+ int *x,
+ int *y,
+ int *width,
+ int *height);
+
+EAPI void ecore_wince_window_size_get(Ecore_WinCE_Window *window,
+ int *width,
+ int *height);
EAPI void *ecore_wince_window_window_get(Ecore_WinCE_Window *window);
===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_wince/ecore_wince_event.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- ecore_wince_event.c 3 Jun 2008 17:09:44 -0000 1.2
+++ ecore_wince_event.c 5 Jun 2008 07:23:41 -0000 1.3
@@ -355,7 +355,7 @@
}
if (window->resume)
- window->resume();
+ window->resume(window->backend);
e->window = window;
@@ -381,7 +381,7 @@
return;
}
if (window->suspend)
- window->suspend();
+ window->suspend(window->backend);
e->window = window;
===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_wince/ecore_wince_private.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- ecore_wince_private.h 3 Jun 2008 17:09:44 -0000 1.2
+++ ecore_wince_private.h 5 Jun 2008 07:23:41 -0000 1.3
@@ -24,14 +24,15 @@
};
-typedef int (*ecore_wince_suspend) (void);
-typedef int (*ecore_wince_resume) (void);
+typedef int (*ecore_wince_suspend) (int);
+typedef int (*ecore_wince_resume) (int);
struct _Ecore_WinCE_Window
{
HWND window;
+ int backend;
ecore_wince_suspend suspend;
ecore_wince_resume resume;
===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_wince/ecore_wince_window.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ecore_wince_window.c 5 Jun 2008 05:27:29 -0000 1.4
+++ ecore_wince_window.c 5 Jun 2008 07:23:41 -0000 1.5
@@ -138,7 +138,7 @@
}
void
-ecore_wince_window_suspend_set(Ecore_WinCE_Window *window, int
(*suspend)(void))
+ecore_wince_window_suspend_set(Ecore_WinCE_Window *window, int
(*suspend)(int), int backend)
{
struct _Ecore_WinCE_Window *w;
@@ -146,11 +146,12 @@
return;
w = (struct _Ecore_WinCE_Window *)window;
+ w->backend = backend;
w->suspend = suspend;
}
void
-ecore_wince_window_resume_set(Ecore_WinCE_Window *window, int (*resume)(void))
+ecore_wince_window_resume_set(Ecore_WinCE_Window *window, int (*resume)(int),
int backend)
{
struct _Ecore_WinCE_Window *w;
@@ -158,7 +159,88 @@
return;
w = (struct _Ecore_WinCE_Window *)window;
+ w->backend = backend;
w->resume = resume;
+}
+
+void
+ecore_wince_window_geometry_get(Ecore_WinCE_Window *window,
+ int *x,
+ int *y,
+ int *width,
+ int *height)
+{
+ RECT rect;
+ int w;
+ int h;
+
+ printf ("ecore_wince_window_geometry_get %p\n", window);
+ if (!window)
+ {
+ if (x) *x = 0;
+ if (y) *y = 0;
+ if (width) *width = GetSystemMetrics(SM_CXSCREEN);
+ if (height) *height = GetSystemMetrics(SM_CYSCREEN);
+
+ return;
+ }
+
+ if (!GetClientRect(((struct _Ecore_WinCE_Window *)window)->window,
+ &rect))
+ {
+ if (x) *x = 0;
+ if (y) *y = 0;
+ if (width) *width = 0;
+ if (height) *height = 0;
+
+ return;
+ }
+
+ w = rect.right - rect.left;
+ h = rect.bottom - rect.top;
+
+ if (!GetWindowRect(((struct _Ecore_WinCE_Window *)window)->window,
+ &rect))
+ {
+ if (x) *x = 0;
+ if (y) *y = 0;
+ if (width) *width = 0;
+ if (height) *height = 0;
+
+ return;
+ }
+
+ if (x) *x = rect.left;
+ if (y) *y = rect.top;
+ if (width) *width = w;
+ if (height) *height = h;
+}
+
+void
+ecore_wince_window_size_get(Ecore_WinCE_Window *window,
+ int *width,
+ int *height)
+{
+ RECT rect;
+
+ printf ("ecore_wince_window_size_get %p\n", window);
+ if (!window)
+ {
+ if (width) *width = GetSystemMetrics(SM_CXSCREEN);
+ if (height) *height = GetSystemMetrics(SM_CYSCREEN);
+
+ return;
+ }
+
+ if (!GetClientRect(((struct _Ecore_WinCE_Window *)window)->window,
+ &rect))
+ {
+ if (width) *width = 0;
+ if (height) *height = 0;
+ }
+
+ if (width) *width = rect.right - rect.left;
+ if (height) *height = rect.bottom - rect.top;
}
void *
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs