From 5b73f44fd13d8045f262095fc10e88865b3e928f Mon Sep 17 00:00:00 2001 From: doursse Date: Thu, 5 Jun 2008 05:27:29 +0000 Subject: [PATCH] * add a function that returns the Windows window of an Ecore_WinCE_Window. Needed for a use of ecore_wince without ecore_evas * That stupid OS does not send a specific message when you show a window. Force the SHOWWINDOW message when showing / hiding. It works with CEgcc, but I don't know if it will work with vc++ for WinCE SVN revision: 34740 --- legacy/ecore/src/lib/ecore_wince/Ecore_WinCE.h | 2 ++ legacy/ecore/src/lib/ecore_wince/ecore_wince.c | 6 ------ .../ecore/src/lib/ecore_wince/ecore_wince_window.c | 13 +++++++++++++ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/legacy/ecore/src/lib/ecore_wince/Ecore_WinCE.h b/legacy/ecore/src/lib/ecore_wince/Ecore_WinCE.h index e2908100a5..bc6ae59ad4 100644 --- a/legacy/ecore/src/lib/ecore_wince/Ecore_WinCE.h +++ b/legacy/ecore/src/lib/ecore_wince/Ecore_WinCE.h @@ -217,6 +217,8 @@ EAPI void ecore_wince_window_suspend_set(Ecore_WinCE_Window *window, int (*suspe EAPI void ecore_wince_window_resume_set(Ecore_WinCE_Window *window, int (*resume)(void)); +EAPI void *ecore_wince_window_window_get(Ecore_WinCE_Window *window); + #ifdef __cplusplus } diff --git a/legacy/ecore/src/lib/ecore_wince/ecore_wince.c b/legacy/ecore/src/lib/ecore_wince/ecore_wince.c index d68a02374a..48bb114b57 100644 --- a/legacy/ecore/src/lib/ecore_wince/ecore_wince.c +++ b/legacy/ecore/src/lib/ecore_wince/ecore_wince.c @@ -304,12 +304,6 @@ _ecore_wince_window_procedure(HWND window, _ecore_wince_event_handle_expose(data); EndPaint(window, &paint); } -/* if (GetUpdateRect(window, &rect, FALSE)) */ -/* { */ -/* printf (" * ecore message : painting...\n"); */ -/* data->update = rect; */ -/* _ecore_wince_event_handle_expose(data); */ -/* } */ return 0; } default: diff --git a/legacy/ecore/src/lib/ecore_wince/ecore_wince_window.c b/legacy/ecore/src/lib/ecore_wince/ecore_wince_window.c index e1df612b28..e9b8b8f6a1 100644 --- a/legacy/ecore/src/lib/ecore_wince/ecore_wince_window.c +++ b/legacy/ecore/src/lib/ecore_wince/ecore_wince_window.c @@ -124,6 +124,7 @@ ecore_wince_window_show(Ecore_WinCE_Window *window) fprintf (stderr, " ** ecore_wince_window_show %p\n", window); ShowWindow(((struct _Ecore_WinCE_Window *)window)->window, SW_SHOWNORMAL); UpdateWindow(((struct _Ecore_WinCE_Window *)window)->window); + SendMessage(((struct _Ecore_WinCE_Window *)window)->window, WM_SHOWWINDOW, 1, 0); } void @@ -133,6 +134,7 @@ ecore_wince_window_hide(Ecore_WinCE_Window *window) fprintf (stderr, " ** ecore_wince_window_hide %p\n", window); ShowWindow(((struct _Ecore_WinCE_Window *)window)->window, SW_HIDE); + SendMessage(((struct _Ecore_WinCE_Window *)window)->window, WM_SHOWWINDOW, 0, 0); } void @@ -159,6 +161,17 @@ ecore_wince_window_resume_set(Ecore_WinCE_Window *window, int (*resume)(void)) w->resume = resume; } +void * +ecore_wince_window_window_get(Ecore_WinCE_Window *window) +{ + struct _Ecore_WinCE_Window *w; + + if (!window) + return NULL; + + return ((struct _Ecore_WinCE_Window *)window)->window; +} + /***** Private functions definitions *****/