aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ecore/src/lib/ecore_wince
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/ecore/src/lib/ecore_wince')
-rw-r--r--libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h314
-rw-r--r--libraries/ecore/src/lib/ecore_wince/Makefile.am35
-rw-r--r--libraries/ecore/src/lib/ecore_wince/Makefile.in843
-rw-r--r--libraries/ecore/src/lib/ecore_wince/ecore_wince.c400
-rw-r--r--libraries/ecore/src/lib/ecore_wince/ecore_wince_event.c1074
-rw-r--r--libraries/ecore/src/lib/ecore_wince/ecore_wince_private.h85
-rw-r--r--libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c827
7 files changed, 0 insertions, 3578 deletions
diff --git a/libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h b/libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h
deleted file mode 100644
index 63e20d5..0000000
--- a/libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h
+++ /dev/null
@@ -1,314 +0,0 @@
1#ifndef __ECORE_WINCE_H__
2#define __ECORE_WINCE_H__
3
4/*
5 * DO NOT USE THIS HEADER. IT IS WORK IN PROGRESS. IT IS NOT FINAL AND
6 * THE API MAY CHANGE.
7 */
8
9#ifndef ECORE_WINCE_WIP_OSXCKQSD
10# warning "You are using a work in progress API. This API is not stable"
11# warning "and is subject to change. You use this at your own risk."
12#endif
13
14#include <Eina.h>
15
16#ifdef EAPI
17# undef EAPI
18#endif
19
20#ifdef _WIN32
21# ifdef EFL_ECORE_WINCE_BUILD
22# ifdef DLL_EXPORT
23# define EAPI __declspec(dllexport)
24# else
25# define EAPI
26# endif /* ! DLL_EXPORT */
27# else
28# define EAPI __declspec(dllimport)
29# endif /* ! EFL_ECORE_WINCE_BUILD */
30#else
31# ifdef __GNUC__
32# if __GNUC__ >= 4
33# define EAPI __attribute__ ((visibility("default")))
34# else
35# define EAPI
36# endif
37# else
38# define EAPI
39# endif
40#endif /* ! _WINCE */
41
42#ifdef __cplusplus
43extern "C" {
44#endif
45
46/**
47 * @defgroup Ecore_WinCE_Group Ecore_WinCE library
48 *
49 * @{
50 */
51
52
53/**
54 * @typedef Ecore_WinCE_Window
55 * Abstract type for a window.
56 */
57typedef struct _Ecore_WinCE_Window Ecore_WinCE_Window;
58
59
60/**
61 * @typedef Ecore_WinCE_Event_Mouse_In
62 * Event sent when the mouse enters the window.
63 */
64typedef struct _Ecore_WinCE_Event_Mouse_In Ecore_WinCE_Event_Mouse_In;
65
66/**
67 * @typedef Ecore_WinCE_Event_Mouse_Out
68 * Event sent when the mouse leaves the window.
69 */
70typedef struct _Ecore_WinCE_Event_Mouse_Out Ecore_WinCE_Event_Mouse_Out;
71
72/**
73 * @typedef Ecore_WinCE_Event_Window_Focus_In
74 * Event sent when the window gets the focus.
75 */
76typedef struct _Ecore_WinCE_Event_Window_Focus_In Ecore_WinCE_Event_Window_Focus_In;
77
78/**
79 * @typedef Ecore_WinCE_Event_Window_Focus_Out
80 * Event sent when the window looses the focus.
81 */
82typedef struct _Ecore_WinCE_Event_Window_Focus_Out Ecore_WinCE_Event_Window_Focus_Out;
83
84/**
85 * @typedef Ecore_WinCE_Event_Window_Damage
86 * Event sent when the window is damaged.
87 */
88typedef struct _Ecore_WinCE_Event_Window_Damage Ecore_WinCE_Event_Window_Damage;
89
90/**
91 * @typedef Ecore_WinCE_Event_Window_Create
92 * Event sent when the window is created.
93 */
94typedef struct _Ecore_WinCE_Event_Window_Create Ecore_WinCE_Event_Window_Create;
95
96/**
97 * @typedef Ecore_WinCE_Event_Window_Destroy
98 * Event sent when the window is destroyed.
99 */
100typedef struct _Ecore_WinCE_Event_Window_Destroy Ecore_WinCE_Event_Window_Destroy;
101
102/**
103 * @typedef Ecore_WinCE_Event_Window_Hide
104 * Event sent when the window is hidden.
105 */
106typedef struct _Ecore_WinCE_Event_Window_Hide Ecore_WinCE_Event_Window_Hide;
107
108/**
109 * @typedef Ecore_WinCE_Event_Window_Show
110 * Event sent when the window is shown.
111 */
112typedef struct _Ecore_WinCE_Event_Window_Show Ecore_WinCE_Event_Window_Show;
113
114/**
115 * @typedef Ecore_WinCE_Event_Window_Delete_Request
116 * Event sent when the window is deleted.
117 */
118typedef struct _Ecore_WinCE_Event_Window_Delete_Request Ecore_WinCE_Event_Window_Delete_Request;
119
120
121/**
122 * @struct _Ecore_WinCE_Event_Mouse_In
123 * Event sent when the mouse enters the window.
124 */
125struct _Ecore_WinCE_Event_Mouse_In
126{
127 Ecore_WinCE_Window *window; /**< The window that received the event */
128 int x; /**< The x coordinate where the mouse entered */
129 int y; /**< The y coordinate where the mouse entered */
130 long time; /**< The time the event occurred */
131};
132
133/**
134 * @struct _Ecore_WinCE_Event_Mouse_Out
135 * Event sent when the mouse leaves the window.
136 */
137struct _Ecore_WinCE_Event_Mouse_Out
138{
139 Ecore_WinCE_Window *window; /**< The window that received the event */
140 int x; /**< The x coordinate where the mouse leaved */
141 int y; /**< The y coordinate where the mouse leaved */
142 long time; /**< The time the event occurred */
143};
144
145/**
146 * @struct _Ecore_WinCE_Event_Window_Focus_In
147 * Event sent when the window gets the focus.
148 */
149struct _Ecore_WinCE_Event_Window_Focus_In
150{
151 Ecore_WinCE_Window *window; /**< The window that received the event */
152 long time; /**< The time the event occurred */
153};
154
155/**
156 * @struct _Ecore_WinCE_Event_Window_Focus_Out
157 * Event sent when the window looses the focus.
158 */
159struct _Ecore_WinCE_Event_Window_Focus_Out
160{
161 Ecore_WinCE_Window *window; /**< The window that received the event */
162 long time; /**< The time the event occurred */
163};
164
165/**
166 * @struct _Ecore_WinCE_Event_Window_Damage
167 * Event sent when the window is damaged.
168 */
169struct _Ecore_WinCE_Event_Window_Damage
170{
171 Ecore_WinCE_Window *window; /**< The window that received the event */
172 int x; /**< The x coordinate of the top left corner of the damaged region */
173 int y; /**< The y coordinate of the top left corner of the damaged region */
174 int width; /**< The width of the damaged region */
175 int height; /**< The height of the damaged region */
176 long time; /**< The time the event occurred */
177};
178
179/**
180 * @struct _Ecore_WinCE_Event_Window_Create
181 * Event sent when the window is created.
182 */
183struct _Ecore_WinCE_Event_Window_Create
184{
185 Ecore_WinCE_Window *window; /**< The window that received the event */
186 long time; /**< The time the event occurred */
187};
188
189/**
190 * @struct _Ecore_WinCE_Event_Window_Destroy
191 * Event sent when the window is destroyed.
192 */
193struct _Ecore_WinCE_Event_Window_Destroy
194{
195 Ecore_WinCE_Window *window; /**< The window that received the event */
196 long time; /**< The time the event occurred */
197};
198
199/**
200 * @struct _Ecore_WinCE_Event_Window_Hide
201 * Event sent when the window is hidden.
202 */
203struct _Ecore_WinCE_Event_Window_Hide
204{
205 Ecore_WinCE_Window *window; /**< The window that received the event */
206 long time; /**< The time the event occurred */
207};
208
209/**
210 * @struct _Ecore_WinCE_Event_Window_Show
211 * Event sent when the window is shown.
212 */
213struct _Ecore_WinCE_Event_Window_Show
214{
215 Ecore_WinCE_Window *window; /**< The window that received the event */
216 long time; /**< The time the event occurred */
217};
218
219/**
220 * @struct _Ecore_WinCE_Event_Window_Delete_Request
221 * Event sent when the window is deleted.
222 */
223struct _Ecore_WinCE_Event_Window_Delete_Request
224{
225 Ecore_WinCE_Window *window; /**< The window that received the event */
226 long time; /**< The time the event occurred */
227};
228
229
230EAPI extern int ECORE_WINCE_EVENT_MOUSE_IN; /**< Ecore_Event for the #Ecore_WinCE_Event_Mouse_In event */
231EAPI extern int ECORE_WINCE_EVENT_MOUSE_OUT; /**< Ecore_Event for the #Ecore_WinCE_Event_Mouse_Out event */
232EAPI extern int ECORE_WINCE_EVENT_WINDOW_FOCUS_IN; /**< Ecore_Event for the #Ecore_WinCE_Event_Window_Focus_In event */
233EAPI extern int ECORE_WINCE_EVENT_WINDOW_FOCUS_OUT; /**< Ecore_Event for the #Ecore_WinCE_Event_Window_Focus_Out event */
234EAPI extern int ECORE_WINCE_EVENT_WINDOW_DAMAGE; /**< Ecore_Event for the #Ecore_WinCE_Event_Damage event */
235EAPI extern int ECORE_WINCE_EVENT_WINDOW_CREATE; /**< Ecore_Event for the #Ecore_WinCE_Event_Create event */
236EAPI extern int ECORE_WINCE_EVENT_WINDOW_DESTROY; /**< Ecore_Event for the #Ecore_WinCE_Event_Destroy event */
237EAPI extern int ECORE_WINCE_EVENT_WINDOW_HIDE; /**< Ecore_Event for the #Ecore_WinCE_Event_Hide event */
238EAPI extern int ECORE_WINCE_EVENT_WINDOW_SHOW; /**< Ecore_Event for the #Ecore_WinCE_Event_Show event */
239EAPI extern int ECORE_WINCE_EVENT_WINDOW_DELETE_REQUEST; /**< Ecore_Event for the #Ecore_WinCE_Event_Window_Delete_Request event */
240
241
242/* Core */
243
244EAPI int ecore_wince_init();
245EAPI int ecore_wince_shutdown();
246EAPI void ecore_wince_double_click_time_set(double t);
247EAPI double ecore_wince_double_click_time_get(void);
248EAPI long ecore_wince_current_time_get(void);
249
250/* Window */
251
252EAPI Ecore_WinCE_Window *ecore_wince_window_new(Ecore_WinCE_Window *parent,
253 int x,
254 int y,
255 int width,
256 int height);
257
258EAPI void ecore_wince_window_free(Ecore_WinCE_Window *window);
259
260EAPI void *ecore_wince_window_hwnd_get(Ecore_WinCE_Window *window);
261
262EAPI void ecore_wince_window_move(Ecore_WinCE_Window *window,
263 int x,
264 int y);
265
266EAPI void ecore_wince_window_resize(Ecore_WinCE_Window *window,
267 int width,
268 int height);
269
270EAPI void ecore_wince_window_move_resize(Ecore_WinCE_Window *window,
271 int x,
272 int y,
273 int width,
274 int height);
275
276EAPI void ecore_wince_window_show(Ecore_WinCE_Window *window);
277
278EAPI void ecore_wince_window_hide(Ecore_WinCE_Window *window);
279
280EAPI void ecore_wince_window_title_set(Ecore_WinCE_Window *window,
281 const char *title);
282
283EAPI void ecore_wince_window_focus(Ecore_WinCE_Window *window);
284
285EAPI void *ecore_wince_window_focus_get(void);
286
287EAPI void ecore_wince_window_backend_set(Ecore_WinCE_Window *window, int backend);
288
289EAPI void ecore_wince_window_suspend_cb_set(Ecore_WinCE_Window *window, int (*suspend_cb)(int));
290
291EAPI void ecore_wince_window_resume_cb_set(Ecore_WinCE_Window *window, int (*resume_cb)(int));
292
293EAPI void ecore_wince_window_geometry_get(Ecore_WinCE_Window *window,
294 int *x,
295 int *y,
296 int *width,
297 int *height);
298
299EAPI void ecore_wince_window_size_get(Ecore_WinCE_Window *window,
300 int *width,
301 int *height);
302
303EAPI void ecore_wince_window_fullscreen_set(Ecore_WinCE_Window *window,
304 Eina_Bool on);
305
306/**
307 * @}
308 */
309
310#ifdef __cplusplus
311}
312#endif
313
314#endif /* __ECORE_WINCE_H__ */
diff --git a/libraries/ecore/src/lib/ecore_wince/Makefile.am b/libraries/ecore/src/lib/ecore_wince/Makefile.am
deleted file mode 100644
index a264ffb..0000000
--- a/libraries/ecore/src/lib/ecore_wince/Makefile.am
+++ /dev/null
@@ -1,35 +0,0 @@
1MAINTAINERCLEANFILES = Makefile.in
2
3AM_CPPFLAGS = \
4-I$(top_srcdir)/src/lib/ecore \
5-I$(top_srcdir)/src/lib/ecore_input \
6-I$(top_builddir)/src/lib/ecore \
7-I$(top_builddir)/src/lib/ecore_input \
8@EFL_ECORE_WINCE_BUILD@ \
9@EVAS_CFLAGS@ \
10@EINA_CFLAGS@ \
11@WIN32_CPPFLAGS@
12
13AM_CFLAGS = @WIN32_CFLAGS@
14
15lib_LTLIBRARIES = libecore_wince.la
16
17includes_HEADERS = Ecore_WinCE.h
18includesdir = $(includedir)/ecore-@VMAJ@
19
20libecore_wince_la_SOURCES = \
21ecore_wince.c \
22ecore_wince_event.c \
23ecore_wince_window.c
24
25libecore_wince_la_LIBADD = \
26@WIN32_LIBS@ \
27$(top_builddir)/src/lib/ecore_input/libecore_input.la \
28$(top_builddir)/src/lib/ecore/libecore.la \
29@EVAS_LIBS@ \
30@EINA_LIBS@ \
31@EVIL_LIBS@
32
33libecore_wince_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@
34
35EXTRA_DIST = ecore_wince_private.h
diff --git a/libraries/ecore/src/lib/ecore_wince/Makefile.in b/libraries/ecore/src/lib/ecore_wince/Makefile.in
deleted file mode 100644
index 340416b..0000000
--- a/libraries/ecore/src/lib/ecore_wince/Makefile.in
+++ /dev/null
@@ -1,843 +0,0 @@
1# Makefile.in generated by automake 1.11.1 from Makefile.am.
2# @configure_input@
3
4# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
6# Inc.
7# This Makefile.in is free software; the Free Software Foundation
8# gives unlimited permission to copy and/or distribute it,
9# with or without modifications, as long as this notice is preserved.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
13# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
14# PARTICULAR PURPOSE.
15
16@SET_MAKE@
17
18
19VPATH = @srcdir@
20pkgdatadir = $(datadir)/@PACKAGE@
21pkgincludedir = $(includedir)/@PACKAGE@
22pkglibdir = $(libdir)/@PACKAGE@
23pkglibexecdir = $(libexecdir)/@PACKAGE@
24am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
25install_sh_DATA = $(install_sh) -c -m 644
26install_sh_PROGRAM = $(install_sh) -c
27install_sh_SCRIPT = $(install_sh) -c
28INSTALL_HEADER = $(INSTALL_DATA)
29transform = $(program_transform_name)
30NORMAL_INSTALL = :
31PRE_INSTALL = :
32POST_INSTALL = :
33NORMAL_UNINSTALL = :
34PRE_UNINSTALL = :
35POST_UNINSTALL = :
36build_triplet = @build@
37host_triplet = @host@
38subdir = src/lib/ecore_wince
39DIST_COMMON = $(includes_HEADERS) $(srcdir)/Makefile.am \
40 $(srcdir)/Makefile.in
41ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
42am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
43 $(top_srcdir)/m4/ac_path_generic.m4 \
44 $(top_srcdir)/m4/check_x_extension.m4 \
45 $(top_srcdir)/m4/ecore_check_module.m4 \
46 $(top_srcdir)/m4/ecore_check_options.m4 \
47 $(top_srcdir)/m4/efl_compiler_flag.m4 \
48 $(top_srcdir)/m4/efl_doxygen.m4 \
49 $(top_srcdir)/m4/efl_examples.m4 \
50 $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \
51 $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \
52 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
53 $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
54 $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
55 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
56 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
57 $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
58 $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
59am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
60 $(ACLOCAL_M4)
61mkinstalldirs = $(install_sh) -d
62CONFIG_HEADER = $(top_builddir)/config.h
63CONFIG_CLEAN_FILES =
64CONFIG_CLEAN_VPATH_FILES =
65am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
66am__vpath_adj = case $$p in \
67 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
68 *) f=$$p;; \
69 esac;
70am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
71am__install_max = 40
72am__nobase_strip_setup = \
73 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
74am__nobase_strip = \
75 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
76am__nobase_list = $(am__nobase_strip_setup); \
77 for p in $$list; do echo "$$p $$p"; done | \
78 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
79 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
80 if (++n[$$2] == $(am__install_max)) \
81 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
82 END { for (dir in files) print dir, files[dir] }'
83am__base_list = \
84 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
85 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
86am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includesdir)"
87LTLIBRARIES = $(lib_LTLIBRARIES)
88libecore_wince_la_DEPENDENCIES = \
89 $(top_builddir)/src/lib/ecore_input/libecore_input.la \
90 $(top_builddir)/src/lib/ecore/libecore.la
91am_libecore_wince_la_OBJECTS = ecore_wince.lo ecore_wince_event.lo \
92 ecore_wince_window.lo
93libecore_wince_la_OBJECTS = $(am_libecore_wince_la_OBJECTS)
94AM_V_lt = $(am__v_lt_$(V))
95am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
96am__v_lt_0 = --silent
97libecore_wince_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
98 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
99 $(AM_CFLAGS) $(CFLAGS) $(libecore_wince_la_LDFLAGS) $(LDFLAGS) \
100 -o $@
101DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
102depcomp = $(SHELL) $(top_srcdir)/depcomp
103am__depfiles_maybe = depfiles
104am__mv = mv -f
105COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
106 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
107LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
108 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
109 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
110 $(AM_CFLAGS) $(CFLAGS)
111AM_V_CC = $(am__v_CC_$(V))
112am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
113am__v_CC_0 = @echo " CC " $@;
114AM_V_at = $(am__v_at_$(V))
115am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
116am__v_at_0 = @
117CCLD = $(CC)
118LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
119 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
120 $(AM_LDFLAGS) $(LDFLAGS) -o $@
121AM_V_CCLD = $(am__v_CCLD_$(V))
122am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
123am__v_CCLD_0 = @echo " CCLD " $@;
124AM_V_GEN = $(am__v_GEN_$(V))
125am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
126am__v_GEN_0 = @echo " GEN " $@;
127SOURCES = $(libecore_wince_la_SOURCES)
128DIST_SOURCES = $(libecore_wince_la_SOURCES)
129HEADERS = $(includes_HEADERS)
130ETAGS = etags
131CTAGS = ctags
132DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
133ACLOCAL = @ACLOCAL@
134ALLOCA = @ALLOCA@
135AMTAR = @AMTAR@
136AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
137AR = @AR@
138AS = @AS@
139AUTOCONF = @AUTOCONF@
140AUTOHEADER = @AUTOHEADER@
141AUTOMAKE = @AUTOMAKE@
142AWK = @AWK@
143CARES_CFLAGS = @CARES_CFLAGS@
144CARES_LIBS = @CARES_LIBS@
145CC = @CC@
146CCDEPMODE = @CCDEPMODE@
147CFLAGS = @CFLAGS@
148CHECK_CFLAGS = @CHECK_CFLAGS@
149CHECK_LIBS = @CHECK_LIBS@
150CPP = @CPP@
151CPPFLAGS = @CPPFLAGS@
152CURL_CFLAGS = @CURL_CFLAGS@
153CURL_LIBS = @CURL_LIBS@
154CXX = @CXX@
155CXXCPP = @CXXCPP@
156CXXDEPMODE = @CXXDEPMODE@
157CXXFLAGS = @CXXFLAGS@
158CYGPATH_W = @CYGPATH_W@
159DEFS = @DEFS@
160DEPDIR = @DEPDIR@
161DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
162DIRECTFB_LIBS = @DIRECTFB_LIBS@
163DLLTOOL = @DLLTOOL@
164DSYMUTIL = @DSYMUTIL@
165DUMPBIN = @DUMPBIN@
166ECHO_C = @ECHO_C@
167ECHO_N = @ECHO_N@
168ECHO_T = @ECHO_T@
169ECORE_XCB_CFLAGS = @ECORE_XCB_CFLAGS@
170ECORE_XCB_LIBS = @ECORE_XCB_LIBS@
171EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
172EFL_ECORE_CON_BUILD = @EFL_ECORE_CON_BUILD@
173EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
174EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
175EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
176EFL_ECORE_IMF_EVAS_BUILD = @EFL_ECORE_IMF_EVAS_BUILD@
177EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
178EFL_ECORE_INPUT_EVAS_BUILD = @EFL_ECORE_INPUT_EVAS_BUILD@
179EFL_ECORE_IPC_BUILD = @EFL_ECORE_IPC_BUILD@
180EFL_ECORE_PSL1GHT_BUILD = @EFL_ECORE_PSL1GHT_BUILD@
181EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
182EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
183EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
184EFL_PTHREAD_CFLAGS = @EFL_PTHREAD_CFLAGS@
185EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
186EGREP = @EGREP@
187EINA_CFLAGS = @EINA_CFLAGS@
188EINA_LIBS = @EINA_LIBS@
189ESCAPE_CFLAGS = @ESCAPE_CFLAGS@
190ESCAPE_LIBS = @ESCAPE_LIBS@
191EVAS_CFLAGS = @EVAS_CFLAGS@
192EVAS_LIBS = @EVAS_LIBS@
193EVIL_CFLAGS = @EVIL_CFLAGS@
194EVIL_LIBS = @EVIL_LIBS@
195EXEEXT = @EXEEXT@
196EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
197EXOTIC_LIBS = @EXOTIC_LIBS@
198FGREP = @FGREP@
199GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
200GLIB_CFLAGS = @GLIB_CFLAGS@
201GLIB_LIBS = @GLIB_LIBS@
202GMSGFMT = @GMSGFMT@
203GMSGFMT_015 = @GMSGFMT_015@
204GREP = @GREP@
205INSTALL = @INSTALL@
206INSTALL_DATA = @INSTALL_DATA@
207INSTALL_PROGRAM = @INSTALL_PROGRAM@
208INSTALL_SCRIPT = @INSTALL_SCRIPT@
209INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
210INTLLIBS = @INTLLIBS@
211INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
212KEYSYMDEFS = @KEYSYMDEFS@
213LD = @LD@
214LDFLAGS = @LDFLAGS@
215LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
216LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
217LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
218LIBICONV = @LIBICONV@
219LIBINTL = @LIBINTL@
220LIBOBJS = @LIBOBJS@
221LIBS = @LIBS@
222LIBTOOL = @LIBTOOL@
223LIPO = @LIPO@
224LN_S = @LN_S@
225LTLIBICONV = @LTLIBICONV@
226LTLIBINTL = @LTLIBINTL@
227LTLIBOBJS = @LTLIBOBJS@
228MAKEINFO = @MAKEINFO@
229MKDIR_P = @MKDIR_P@
230MSGFMT = @MSGFMT@
231MSGFMT_015 = @MSGFMT_015@
232MSGMERGE = @MSGMERGE@
233NM = @NM@
234NMEDIT = @NMEDIT@
235OBJC = @OBJC@
236OBJCDEPMODE = @OBJCDEPMODE@
237OBJCFLAGS = @OBJCFLAGS@
238OBJDUMP = @OBJDUMP@
239OBJEXT = @OBJEXT@
240OTOOL = @OTOOL@
241OTOOL64 = @OTOOL64@
242PACKAGE = @PACKAGE@
243PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
244PACKAGE_NAME = @PACKAGE_NAME@
245PACKAGE_STRING = @PACKAGE_STRING@
246PACKAGE_TARNAME = @PACKAGE_TARNAME@
247PACKAGE_URL = @PACKAGE_URL@
248PACKAGE_VERSION = @PACKAGE_VERSION@
249PATH_SEPARATOR = @PATH_SEPARATOR@
250PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
251PIXMAN_LIBS = @PIXMAN_LIBS@
252PKG_CONFIG = @PKG_CONFIG@
253PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
254PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
255POSUB = @POSUB@
256RANLIB = @RANLIB@
257SCIM_CFLAGS = @SCIM_CFLAGS@
258SCIM_LIBS = @SCIM_LIBS@
259SDL_CFLAGS = @SDL_CFLAGS@
260SDL_CONFIG = @SDL_CONFIG@
261SDL_LIBS = @SDL_LIBS@
262SED = @SED@
263SET_MAKE = @SET_MAKE@
264SHELL = @SHELL@
265SHM_OPEN_LIBS = @SHM_OPEN_LIBS@
266SSL_CFLAGS = @SSL_CFLAGS@
267SSL_LIBS = @SSL_LIBS@
268STRIP = @STRIP@
269TLS2_CFLAGS = @TLS2_CFLAGS@
270TLS2_LIBS = @TLS2_LIBS@
271TLS_CFLAGS = @TLS_CFLAGS@
272TLS_LIBS = @TLS_LIBS@
273TSLIB_CFLAGS = @TSLIB_CFLAGS@
274TSLIB_LIBS = @TSLIB_LIBS@
275USE_NLS = @USE_NLS@
276VERSION = @VERSION@
277VMAJ = @VMAJ@
278WAYLAND_CFLAGS = @WAYLAND_CFLAGS@
279WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
280WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
281WAYLAND_LIBS = @WAYLAND_LIBS@
282WIN32_CFLAGS = @WIN32_CFLAGS@
283WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
284WIN32_LIBS = @WIN32_LIBS@
285XCB_COMPOSITE_CFLAGS = @XCB_COMPOSITE_CFLAGS@
286XCB_COMPOSITE_LIBS = @XCB_COMPOSITE_LIBS@
287XCB_CURSOR_CFLAGS = @XCB_CURSOR_CFLAGS@
288XCB_CURSOR_LIBS = @XCB_CURSOR_LIBS@
289XCB_DAMAGE_CFLAGS = @XCB_DAMAGE_CFLAGS@
290XCB_DAMAGE_LIBS = @XCB_DAMAGE_LIBS@
291XCB_DPMS_CFLAGS = @XCB_DPMS_CFLAGS@
292XCB_DPMS_LIBS = @XCB_DPMS_LIBS@
293XCB_RANDR_CFLAGS = @XCB_RANDR_CFLAGS@
294XCB_RANDR_LIBS = @XCB_RANDR_LIBS@
295XCB_RENDER_CFLAGS = @XCB_RENDER_CFLAGS@
296XCB_RENDER_LIBS = @XCB_RENDER_LIBS@
297XCB_SCREENSAVER_CFLAGS = @XCB_SCREENSAVER_CFLAGS@
298XCB_SCREENSAVER_LIBS = @XCB_SCREENSAVER_LIBS@
299XCB_SHAPE_CFLAGS = @XCB_SHAPE_CFLAGS@
300XCB_SHAPE_LIBS = @XCB_SHAPE_LIBS@
301XCB_SYNC_CFLAGS = @XCB_SYNC_CFLAGS@
302XCB_SYNC_LIBS = @XCB_SYNC_LIBS@
303XCB_X11_CFLAGS = @XCB_X11_CFLAGS@
304XCB_X11_LIBS = @XCB_X11_LIBS@
305XCB_XFIXES_CFLAGS = @XCB_XFIXES_CFLAGS@
306XCB_XFIXES_LIBS = @XCB_XFIXES_LIBS@
307XCB_XGESTURE_CFLAGS = @XCB_XGESTURE_CFLAGS@
308XCB_XGESTURE_LIBS = @XCB_XGESTURE_LIBS@
309XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
310XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
311XCB_XINPUT_CFLAGS = @XCB_XINPUT_CFLAGS@
312XCB_XINPUT_LIBS = @XCB_XINPUT_LIBS@
313XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
314XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
315XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
316XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
317XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
318XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
319XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
320XDAMAGE_LIBS = @XDAMAGE_LIBS@
321XDPMS_CFLAGS = @XDPMS_CFLAGS@
322XDPMS_LIBS = @XDPMS_LIBS@
323XFIXES_CFLAGS = @XFIXES_CFLAGS@
324XFIXES_LIBS = @XFIXES_LIBS@
325XGESTURE_CFLAGS = @XGESTURE_CFLAGS@
326XGESTURE_LIBS = @XGESTURE_LIBS@
327XGETTEXT = @XGETTEXT@
328XGETTEXT_015 = @XGETTEXT_015@
329XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
330XI2_CFLAGS = @XI2_CFLAGS@
331XI2_LIBS = @XI2_LIBS@
332XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
333XINERAMA_LIBS = @XINERAMA_LIBS@
334XKB_CFLAGS = @XKB_CFLAGS@
335XKB_LIBS = @XKB_LIBS@
336XMKMF = @XMKMF@
337XPRINT_CFLAGS = @XPRINT_CFLAGS@
338XPRINT_LIBS = @XPRINT_LIBS@
339XRANDR_CFLAGS = @XRANDR_CFLAGS@
340XRANDR_LIBS = @XRANDR_LIBS@
341XRENDER_CFLAGS = @XRENDER_CFLAGS@
342XRENDER_LIBS = @XRENDER_LIBS@
343XSS_CFLAGS = @XSS_CFLAGS@
344XSS_LIBS = @XSS_LIBS@
345XTEST_CFLAGS = @XTEST_CFLAGS@
346XTEST_LIBS = @XTEST_LIBS@
347X_CFLAGS = @X_CFLAGS@
348X_EXTRA_LIBS = @X_EXTRA_LIBS@
349X_LIBS = @X_LIBS@
350X_PRE_LIBS = @X_PRE_LIBS@
351Xcursor_cflags = @Xcursor_cflags@
352Xcursor_libs = @Xcursor_libs@
353abs_builddir = @abs_builddir@
354abs_srcdir = @abs_srcdir@
355abs_top_builddir = @abs_top_builddir@
356abs_top_srcdir = @abs_top_srcdir@
357ac_ct_CC = @ac_ct_CC@
358ac_ct_CXX = @ac_ct_CXX@
359ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
360ac_ct_OBJC = @ac_ct_OBJC@
361am__include = @am__include@
362am__leading_dot = @am__leading_dot@
363am__quote = @am__quote@
364am__tar = @am__tar@
365am__untar = @am__untar@
366bindir = @bindir@
367build = @build@
368build_alias = @build_alias@
369build_cpu = @build_cpu@
370build_os = @build_os@
371build_vendor = @build_vendor@
372builddir = @builddir@
373cocoa_ldflags = @cocoa_ldflags@
374datadir = @datadir@
375datarootdir = @datarootdir@
376dlopen_libs = @dlopen_libs@
377docdir = @docdir@
378dvidir = @dvidir@
379ecore_cocoa_cflags = @ecore_cocoa_cflags@
380ecore_cocoa_libs = @ecore_cocoa_libs@
381ecore_con_cflags = @ecore_con_cflags@
382ecore_con_libs = @ecore_con_libs@
383ecore_directfb_cflags = @ecore_directfb_cflags@
384ecore_directfb_libs = @ecore_directfb_libs@
385ecore_evas_cflags = @ecore_evas_cflags@
386ecore_evas_libs = @ecore_evas_libs@
387ecore_fb_cflags = @ecore_fb_cflags@
388ecore_fb_libs = @ecore_fb_libs@
389ecore_file_cflags = @ecore_file_cflags@
390ecore_file_libs = @ecore_file_libs@
391ecore_imf_cflags = @ecore_imf_cflags@
392ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
393ecore_imf_evas_libs = @ecore_imf_evas_libs@
394ecore_imf_libs = @ecore_imf_libs@
395ecore_imf_scim_cflags = @ecore_imf_scim_cflags@
396ecore_imf_scim_libs = @ecore_imf_scim_libs@
397ecore_imf_xim_cflags = @ecore_imf_xim_cflags@
398ecore_imf_xim_libs = @ecore_imf_xim_libs@
399ecore_input_cflags = @ecore_input_cflags@
400ecore_input_evas_cflags = @ecore_input_evas_cflags@
401ecore_input_evas_libs = @ecore_input_evas_libs@
402ecore_input_libs = @ecore_input_libs@
403ecore_ipc_cflags = @ecore_ipc_cflags@
404ecore_ipc_libs = @ecore_ipc_libs@
405ecore_psl1ght_cflags = @ecore_psl1ght_cflags@
406ecore_psl1ght_libs = @ecore_psl1ght_libs@
407ecore_sdl_cflags = @ecore_sdl_cflags@
408ecore_sdl_libs = @ecore_sdl_libs@
409ecore_wayland_cflags = @ecore_wayland_cflags@
410ecore_wayland_libs = @ecore_wayland_libs@
411ecore_win32_cflags = @ecore_win32_cflags@
412ecore_win32_libs = @ecore_win32_libs@
413ecore_wince_cflags = @ecore_wince_cflags@
414ecore_wince_libs = @ecore_wince_libs@
415ecore_x_cflags = @ecore_x_cflags@
416ecore_x_libs = @ecore_x_libs@
417ecore_x_libs_private = @ecore_x_libs_private@
418efl_doxygen = @efl_doxygen@
419efl_have_doxygen = @efl_have_doxygen@
420exec_prefix = @exec_prefix@
421have_ecore_x_xcb_define = @have_ecore_x_xcb_define@
422host = @host@
423host_alias = @host_alias@
424host_cpu = @host_cpu@
425host_os = @host_os@
426host_vendor = @host_vendor@
427htmldir = @htmldir@
428includedir = @includedir@
429infodir = @infodir@
430install_sh = @install_sh@
431libdir = @libdir@
432libexecdir = @libexecdir@
433localedir = @localedir@
434localstatedir = @localstatedir@
435lt_ECHO = @lt_ECHO@
436lt_enable_auto_import = @lt_enable_auto_import@
437mandir = @mandir@
438mkdir_p = @mkdir_p@
439oldincludedir = @oldincludedir@
440pdfdir = @pdfdir@
441pkgconfig_requires_private = @pkgconfig_requires_private@
442prefix = @prefix@
443program_transform_name = @program_transform_name@
444psdir = @psdir@
445release_info = @release_info@
446requirements_ecore = @requirements_ecore@
447requirements_ecore_cocoa = @requirements_ecore_cocoa@
448requirements_ecore_con = @requirements_ecore_con@
449requirements_ecore_directfb = @requirements_ecore_directfb@
450requirements_ecore_evas = @requirements_ecore_evas@
451requirements_ecore_fb = @requirements_ecore_fb@
452requirements_ecore_file = @requirements_ecore_file@
453requirements_ecore_imf = @requirements_ecore_imf@
454requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
455requirements_ecore_imf_scim = @requirements_ecore_imf_scim@
456requirements_ecore_imf_xim = @requirements_ecore_imf_xim@
457requirements_ecore_input = @requirements_ecore_input@
458requirements_ecore_input_evas = @requirements_ecore_input_evas@
459requirements_ecore_ipc = @requirements_ecore_ipc@
460requirements_ecore_psl1ght = @requirements_ecore_psl1ght@
461requirements_ecore_sdl = @requirements_ecore_sdl@
462requirements_ecore_wayland = @requirements_ecore_wayland@
463requirements_ecore_win32 = @requirements_ecore_win32@
464requirements_ecore_wince = @requirements_ecore_wince@
465requirements_ecore_x = @requirements_ecore_x@
466rt_libs = @rt_libs@
467sbindir = @sbindir@
468sharedstatedir = @sharedstatedir@
469srcdir = @srcdir@
470sysconfdir = @sysconfdir@
471target_alias = @target_alias@
472top_build_prefix = @top_build_prefix@
473top_builddir = @top_builddir@
474top_srcdir = @top_srcdir@
475version_info = @version_info@
476x_cflags = @x_cflags@
477x_includes = @x_includes@
478x_libs = @x_libs@
479MAINTAINERCLEANFILES = Makefile.in
480AM_CPPFLAGS = \
481-I$(top_srcdir)/src/lib/ecore \
482-I$(top_srcdir)/src/lib/ecore_input \
483-I$(top_builddir)/src/lib/ecore \
484-I$(top_builddir)/src/lib/ecore_input \
485@EFL_ECORE_WINCE_BUILD@ \
486@EVAS_CFLAGS@ \
487@EINA_CFLAGS@ \
488@WIN32_CPPFLAGS@
489
490AM_CFLAGS = @WIN32_CFLAGS@
491lib_LTLIBRARIES = libecore_wince.la
492includes_HEADERS = Ecore_WinCE.h
493includesdir = $(includedir)/ecore-@VMAJ@
494libecore_wince_la_SOURCES = \
495ecore_wince.c \
496ecore_wince_event.c \
497ecore_wince_window.c
498
499libecore_wince_la_LIBADD = \
500@WIN32_LIBS@ \
501$(top_builddir)/src/lib/ecore_input/libecore_input.la \
502$(top_builddir)/src/lib/ecore/libecore.la \
503@EVAS_LIBS@ \
504@EINA_LIBS@ \
505@EVIL_LIBS@
506
507libecore_wince_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@
508EXTRA_DIST = ecore_wince_private.h
509all: all-am
510
511.SUFFIXES:
512.SUFFIXES: .c .lo .o .obj
513$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
514 @for dep in $?; do \
515 case '$(am__configure_deps)' in \
516 *$$dep*) \
517 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
518 && { if test -f $@; then exit 0; else break; fi; }; \
519 exit 1;; \
520 esac; \
521 done; \
522 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/ecore_wince/Makefile'; \
523 $(am__cd) $(top_srcdir) && \
524 $(AUTOMAKE) --gnu src/lib/ecore_wince/Makefile
525.PRECIOUS: Makefile
526Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
527 @case '$?' in \
528 *config.status*) \
529 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
530 *) \
531 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
532 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
533 esac;
534
535$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
536 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
537
538$(top_srcdir)/configure: $(am__configure_deps)
539 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
540$(ACLOCAL_M4): $(am__aclocal_m4_deps)
541 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
542$(am__aclocal_m4_deps):
543install-libLTLIBRARIES: $(lib_LTLIBRARIES)
544 @$(NORMAL_INSTALL)
545 test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
546 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
547 list2=; for p in $$list; do \
548 if test -f $$p; then \
549 list2="$$list2 $$p"; \
550 else :; fi; \
551 done; \
552 test -z "$$list2" || { \
553 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
554 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
555 }
556
557uninstall-libLTLIBRARIES:
558 @$(NORMAL_UNINSTALL)
559 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
560 for p in $$list; do \
561 $(am__strip_dir) \
562 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
563 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
564 done
565
566clean-libLTLIBRARIES:
567 -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
568 @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
569 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
570 test "$$dir" != "$$p" || dir=.; \
571 echo "rm -f \"$${dir}/so_locations\""; \
572 rm -f "$${dir}/so_locations"; \
573 done
574libecore_wince.la: $(libecore_wince_la_OBJECTS) $(libecore_wince_la_DEPENDENCIES)
575 $(AM_V_CCLD)$(libecore_wince_la_LINK) -rpath $(libdir) $(libecore_wince_la_OBJECTS) $(libecore_wince_la_LIBADD) $(LIBS)
576
577mostlyclean-compile:
578 -rm -f *.$(OBJEXT)
579
580distclean-compile:
581 -rm -f *.tab.c
582
583@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wince.Plo@am__quote@
584@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wince_event.Plo@am__quote@
585@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wince_window.Plo@am__quote@
586
587.c.o:
588@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
589@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
590@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
591@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
592@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
593@am__fastdepCC_FALSE@ $(COMPILE) -c $<
594
595.c.obj:
596@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
597@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
598@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
599@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
600@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
601@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
602
603.c.lo:
604@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
605@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
606@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
607@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
608@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
609@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
610
611mostlyclean-libtool:
612 -rm -f *.lo
613
614clean-libtool:
615 -rm -rf .libs _libs
616install-includesHEADERS: $(includes_HEADERS)
617 @$(NORMAL_INSTALL)
618 test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
619 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
620 for p in $$list; do \
621 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
622 echo "$$d$$p"; \
623 done | $(am__base_list) | \
624 while read files; do \
625 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
626 $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
627 done
628
629uninstall-includesHEADERS:
630 @$(NORMAL_UNINSTALL)
631 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
632 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
633 test -n "$$files" || exit 0; \
634 echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
635 cd "$(DESTDIR)$(includesdir)" && rm -f $$files
636
637ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
638 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
639 unique=`for i in $$list; do \
640 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
641 done | \
642 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
643 END { if (nonempty) { for (i in files) print i; }; }'`; \
644 mkid -fID $$unique
645tags: TAGS
646
647TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
648 $(TAGS_FILES) $(LISP)
649 set x; \
650 here=`pwd`; \
651 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
652 unique=`for i in $$list; do \
653 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
654 done | \
655 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
656 END { if (nonempty) { for (i in files) print i; }; }'`; \
657 shift; \
658 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
659 test -n "$$unique" || unique=$$empty_fix; \
660 if test $$# -gt 0; then \
661 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
662 "$$@" $$unique; \
663 else \
664 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
665 $$unique; \
666 fi; \
667 fi
668ctags: CTAGS
669CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
670 $(TAGS_FILES) $(LISP)
671 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
672 unique=`for i in $$list; do \
673 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
674 done | \
675 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
676 END { if (nonempty) { for (i in files) print i; }; }'`; \
677 test -z "$(CTAGS_ARGS)$$unique" \
678 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
679 $$unique
680
681GTAGS:
682 here=`$(am__cd) $(top_builddir) && pwd` \
683 && $(am__cd) $(top_srcdir) \
684 && gtags -i $(GTAGS_ARGS) "$$here"
685
686distclean-tags:
687 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
688
689distdir: $(DISTFILES)
690 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
691 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
692 list='$(DISTFILES)'; \
693 dist_files=`for file in $$list; do echo $$file; done | \
694 sed -e "s|^$$srcdirstrip/||;t" \
695 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
696 case $$dist_files in \
697 */*) $(MKDIR_P) `echo "$$dist_files" | \
698 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
699 sort -u` ;; \
700 esac; \
701 for file in $$dist_files; do \
702 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
703 if test -d $$d/$$file; then \
704 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
705 if test -d "$(distdir)/$$file"; then \
706 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
707 fi; \
708 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
709 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
710 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
711 fi; \
712 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
713 else \
714 test -f "$(distdir)/$$file" \
715 || cp -p $$d/$$file "$(distdir)/$$file" \
716 || exit 1; \
717 fi; \
718 done
719check-am: all-am
720check: check-am
721all-am: Makefile $(LTLIBRARIES) $(HEADERS)
722installdirs:
723 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includesdir)"; do \
724 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
725 done
726install: install-am
727install-exec: install-exec-am
728install-data: install-data-am
729uninstall: uninstall-am
730
731install-am: all-am
732 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
733
734installcheck: installcheck-am
735install-strip:
736 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
737 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
738 `test -z '$(STRIP)' || \
739 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
740mostlyclean-generic:
741
742clean-generic:
743
744distclean-generic:
745 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
746 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
747
748maintainer-clean-generic:
749 @echo "This command is intended for maintainers to use"
750 @echo "it deletes files that may require special tools to rebuild."
751 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
752clean: clean-am
753
754clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
755 mostlyclean-am
756
757distclean: distclean-am
758 -rm -rf ./$(DEPDIR)
759 -rm -f Makefile
760distclean-am: clean-am distclean-compile distclean-generic \
761 distclean-tags
762
763dvi: dvi-am
764
765dvi-am:
766
767html: html-am
768
769html-am:
770
771info: info-am
772
773info-am:
774
775install-data-am: install-includesHEADERS
776
777install-dvi: install-dvi-am
778
779install-dvi-am:
780
781install-exec-am: install-libLTLIBRARIES
782
783install-html: install-html-am
784
785install-html-am:
786
787install-info: install-info-am
788
789install-info-am:
790
791install-man:
792
793install-pdf: install-pdf-am
794
795install-pdf-am:
796
797install-ps: install-ps-am
798
799install-ps-am:
800
801installcheck-am:
802
803maintainer-clean: maintainer-clean-am
804 -rm -rf ./$(DEPDIR)
805 -rm -f Makefile
806maintainer-clean-am: distclean-am maintainer-clean-generic
807
808mostlyclean: mostlyclean-am
809
810mostlyclean-am: mostlyclean-compile mostlyclean-generic \
811 mostlyclean-libtool
812
813pdf: pdf-am
814
815pdf-am:
816
817ps: ps-am
818
819ps-am:
820
821uninstall-am: uninstall-includesHEADERS uninstall-libLTLIBRARIES
822
823.MAKE: install-am install-strip
824
825.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
826 clean-libLTLIBRARIES clean-libtool ctags distclean \
827 distclean-compile distclean-generic distclean-libtool \
828 distclean-tags distdir dvi dvi-am html html-am info info-am \
829 install install-am install-data install-data-am install-dvi \
830 install-dvi-am install-exec install-exec-am install-html \
831 install-html-am install-includesHEADERS install-info \
832 install-info-am install-libLTLIBRARIES install-man install-pdf \
833 install-pdf-am install-ps install-ps-am install-strip \
834 installcheck installcheck-am installdirs maintainer-clean \
835 maintainer-clean-generic mostlyclean mostlyclean-compile \
836 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
837 tags uninstall uninstall-am uninstall-includesHEADERS \
838 uninstall-libLTLIBRARIES
839
840
841# Tell versions [3.59,3.63) of GNU make to not export all variables.
842# Otherwise a system limit (for SysV at least) may be exceeded.
843.NOEXPORT:
diff --git a/libraries/ecore/src/lib/ecore_wince/ecore_wince.c b/libraries/ecore/src/lib/ecore_wince/ecore_wince.c
deleted file mode 100644
index 5638ad3..0000000
--- a/libraries/ecore/src/lib/ecore_wince/ecore_wince.c
+++ /dev/null
@@ -1,400 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif
4
5#include <stdlib.h>
6#include <stdio.h> /* for printf */
7
8#define WIN32_LEAN_AND_MEAN
9#include <windows.h>
10#undef WIN32_LEAN_AND_MEAN
11
12#include <Eina.h>
13#include <Ecore.h>
14#include <Ecore_Input.h>
15
16#include "Ecore_WinCE.h"
17#include "ecore_wince_private.h"
18
19/*============================================================================*
20 * Local *
21 *============================================================================*/
22
23/**
24 * @cond LOCAL
25 */
26
27static int _ecore_wince_init_count = 0;
28
29LRESULT CALLBACK
30_ecore_wince_window_procedure(HWND window,
31 UINT message,
32 WPARAM window_param,
33 LPARAM data_param)
34{
35 Ecore_WinCE_Callback_Data *data;
36 POINTS pt;
37 DWORD coord;
38
39 data = (Ecore_WinCE_Callback_Data *)malloc(sizeof(Ecore_WinCE_Callback_Data));
40 if (!data) return DefWindowProc(window, message, window_param, data_param);
41
42 data->window = window;
43 data->message = message;
44 data->window_param = window_param;
45 data->data_param = data_param;
46 data->time = GetTickCount();
47 coord = GetMessagePos();
48 pt = MAKEPOINTS(coord);
49 data->x = pt.x;
50 data->y = pt.y;
51
52 switch (data->message)
53 {
54 /* Keyboard input notifications */
55 case WM_CHAR:
56 _ecore_wince_event_handle_key_press(data, 0);
57 break;
58 case WM_HOTKEY:
59 _ecore_wince_event_handle_key_press(data, 1);
60 break;
61 case WM_KEYDOWN:
62 case WM_SYSKEYDOWN:
63 _ecore_wince_event_handle_key_press(data, 1);
64 break;
65 case WM_KEYUP:
66 case WM_SYSKEYUP:
67 _ecore_wince_event_handle_key_release(data, 1);
68 break;
69 case WM_SETFOCUS:
70 _ecore_wince_event_handle_focus_in(data);
71 break;
72 case WM_KILLFOCUS:
73 _ecore_wince_event_handle_focus_out(data);
74 break;
75 /* Mouse input notifications */
76 case WM_LBUTTONDOWN:
77 _ecore_wince_event_handle_button_press(data, 1);
78 break;
79 case WM_LBUTTONUP:
80 _ecore_wince_event_handle_button_release(data, 1);
81 break;
82 case WM_MOUSEMOVE:
83 {
84 RECT rect;
85 Ecore_WinCE_Window *w = NULL;
86
87 w = (Ecore_WinCE_Window *)GetWindowLong(window, GWL_USERDATA);
88
89 if (GetClientRect(window, &rect))
90 {
91 POINT pt;
92
93 INF("mouse in window");
94
95 pt.x = LOWORD(data_param);
96 pt.y = HIWORD(data_param);
97 if (!PtInRect(&rect, pt))
98 {
99 if (w->pointer_is_in)
100 {
101 w->pointer_is_in = 0;
102 _ecore_wince_event_handle_leave_notify(data);
103 }
104 }
105 else
106 {
107 if (!w->pointer_is_in)
108 {
109 w->pointer_is_in = 1;
110 _ecore_wince_event_handle_enter_notify(data);
111 }
112 }
113 }
114 else
115 {
116 ERR("GetClientRect() failed");
117 }
118 _ecore_wince_event_handle_motion_notify(data);
119
120 break;
121 }
122 /* Window notifications */
123 case WM_CREATE:
124 _ecore_wince_event_handle_create_notify(data);
125 break;
126 case WM_DESTROY:
127 _ecore_wince_event_handle_destroy_notify(data);
128 break;
129 case WM_SHOWWINDOW:
130 if ((data->data_param == SW_OTHERUNZOOM) ||
131 (data->data_param == SW_OTHERZOOM))
132 break;
133
134 if (data->window_param)
135 _ecore_wince_event_handle_map_notify(data);
136 else
137 _ecore_wince_event_handle_unmap_notify(data);
138
139 break;
140 case WM_CLOSE:
141 _ecore_wince_event_handle_delete_request(data);
142 break;
143 /* GDI notifications */
144 case WM_ERASEBKGND:
145 return 1;
146 case WM_PAINT:
147 {
148 PAINTSTRUCT paint;
149
150 if (BeginPaint(window, &paint))
151 {
152 data->update = paint.rcPaint;
153 _ecore_wince_event_handle_expose(data);
154 EndPaint(window, &paint);
155 }
156 break;
157 }
158 default:
159 return DefWindowProc(window, message, window_param, data_param);
160 }
161
162 return 0;
163}
164
165static void
166_ecore_wince_error_print_cb(const Eina_Log_Domain *d __UNUSED__,
167 Eina_Log_Level level __UNUSED__,
168 const char *file __UNUSED__,
169 const char *fnc,
170 int line,
171 const char *fmt,
172 void *data __UNUSED__,
173 va_list args)
174{
175 fprintf(stderr, "[%s:%d] ", fnc, line);
176 vfprintf(stderr, fmt, args);
177}
178
179/**
180 * @endcond
181 */
182
183
184/*============================================================================*
185 * Global *
186 *============================================================================*/
187
188
189double _ecore_wince_double_click_time = 0.25;
190long _ecore_wince_event_last_time = 0;
191Ecore_WinCE_Window *_ecore_wince_event_last_window = NULL;
192HINSTANCE _ecore_wince_instance = NULL;
193int _ecore_wince_log_dom_global = -1;
194
195int ECORE_WINCE_EVENT_MOUSE_IN = 0;
196int ECORE_WINCE_EVENT_MOUSE_OUT = 0;
197int ECORE_WINCE_EVENT_WINDOW_FOCUS_IN = 0;
198int ECORE_WINCE_EVENT_WINDOW_FOCUS_OUT = 0;
199int ECORE_WINCE_EVENT_WINDOW_DAMAGE = 0;
200int ECORE_WINCE_EVENT_WINDOW_CREATE = 0;
201int ECORE_WINCE_EVENT_WINDOW_DESTROY = 0;
202int ECORE_WINCE_EVENT_WINDOW_SHOW = 0;
203int ECORE_WINCE_EVENT_WINDOW_HIDE = 0;
204int ECORE_WINCE_EVENT_WINDOW_DELETE_REQUEST = 0;
205
206/*============================================================================*
207 * API *
208 *============================================================================*/
209
210/**
211 * @addtogroup Ecore_WinCE_Group Ecore_WinCE library
212 *
213 * Ecore_WinCE is a library that wraps Windows CE graphic functions
214 * and integrate them nicely into the Ecore main loop.
215 *
216 * @{
217 */
218
219/**
220 * @brief Initialize the Ecore_WinCE library.
221 *
222 * @return 1 or greater on success, 0 on error.
223 *
224 * This function sets up the Windows CE graphic system. It returns 0 on
225 * failure, otherwise it returns the number of times it has already been
226 * called.
227 *
228 * When Ecore_WinCE is not used anymore, call ecore_wince_shutdown()
229 * to shut down the Ecore_WinCE library.
230 */
231EAPI int
232ecore_wince_init()
233{
234 WNDCLASS wc;
235
236 if (++_ecore_wince_init_count != 1)
237 return _ecore_wince_init_count;
238
239 if (!eina_init())
240 return --_ecore_wince_init_count;
241
242 eina_log_print_cb_set(_ecore_wince_error_print_cb, NULL);
243 _ecore_wince_log_dom_global = eina_log_domain_register
244 ("ecore_wince", ECORE_WINCE_DEFAULT_LOG_COLOR);
245 if (_ecore_wince_log_dom_global < 0)
246 {
247 EINA_LOG_ERR("Ecore_WinCE: Could not register log domain");
248 goto shutdown_eina;
249 }
250
251 if (!ecore_event_init())
252 {
253 ERR("Ecore_WinCE: Could not init ecore_event");
254 goto unregister_log_domain;
255 }
256
257 _ecore_wince_instance = GetModuleHandle(NULL);
258 if (!_ecore_wince_instance)
259 {
260 ERR("GetModuleHandle() failed");
261 goto shutdown_ecore_event;
262 }
263
264 memset (&wc, 0, sizeof (wc));
265 wc.style = CS_HREDRAW | CS_VREDRAW;
266 wc.lpfnWndProc = _ecore_wince_window_procedure;
267 wc.cbClsExtra = 0;
268 wc.cbWndExtra = 0;
269 wc.hInstance = _ecore_wince_instance;
270 wc.hIcon = NULL;
271 wc.hCursor = LoadCursor (NULL, IDC_ARROW);
272 wc.hbrBackground = GetSysColorBrush(COLOR_BTNFACE);
273 wc.lpszMenuName = NULL;
274 wc.lpszClassName = ECORE_WINCE_WINDOW_CLASS;
275
276 if(!RegisterClass(&wc))
277 {
278 ERR("RegisterClass() failed");
279 goto free_library;
280 }
281
282 if (!ECORE_WINCE_EVENT_MOUSE_IN)
283 {
284 ECORE_WINCE_EVENT_MOUSE_IN = ecore_event_type_new();
285 ECORE_WINCE_EVENT_MOUSE_OUT = ecore_event_type_new();
286 ECORE_WINCE_EVENT_WINDOW_FOCUS_IN = ecore_event_type_new();
287 ECORE_WINCE_EVENT_WINDOW_FOCUS_OUT = ecore_event_type_new();
288 ECORE_WINCE_EVENT_WINDOW_DAMAGE = ecore_event_type_new();
289 ECORE_WINCE_EVENT_WINDOW_CREATE = ecore_event_type_new();
290 ECORE_WINCE_EVENT_WINDOW_DESTROY = ecore_event_type_new();
291 ECORE_WINCE_EVENT_WINDOW_SHOW = ecore_event_type_new();
292 ECORE_WINCE_EVENT_WINDOW_HIDE = ecore_event_type_new();
293 ECORE_WINCE_EVENT_WINDOW_DELETE_REQUEST = ecore_event_type_new();
294 }
295
296 return _ecore_wince_init_count;
297
298 free_library:
299 FreeLibrary(_ecore_wince_instance);
300 shutdown_ecore_event:
301 ecore_event_shutdown();
302 unregister_log_domain:
303 eina_log_domain_unregister(_ecore_wince_log_dom_global);
304 shutdown_eina:
305 eina_shutdown();
306
307 return --_ecore_wince_init_count;
308}
309
310/**
311 * @brief Shut down the Ecore_WinCE library.
312 *
313 * @return 0 when the library is completely shut down, 1 or
314 * greater otherwise.
315 *
316 * This function shuts down the Ecore_WinCE library. It returns 0 when it has
317 * been called the same number of times than ecore_wince_init(). In that case
318 * it shuts down all the Windows CE graphic system.
319 */
320EAPI int
321ecore_wince_shutdown()
322{
323 HWND task_bar;
324
325 if (--_ecore_wince_init_count != 0)
326 return _ecore_wince_init_count;
327
328 /* force task bar to be shown (in case the application exits */
329 /* while being fullscreen) */
330 task_bar = FindWindow(L"HHTaskBar", NULL);
331 if (task_bar)
332 {
333 ShowWindow(task_bar, SW_SHOW);
334 EnableWindow(task_bar, TRUE);
335 }
336
337 if (!UnregisterClass(ECORE_WINCE_WINDOW_CLASS, _ecore_wince_instance))
338 ERR("UnregisterClass() failed");
339
340 if (!FreeLibrary(_ecore_wince_instance))
341 ERR("FreeLibrary() failed");
342
343 _ecore_wince_instance = NULL;
344
345 ecore_event_shutdown();
346 eina_log_domain_unregister(_ecore_wince_log_dom_global);
347 _ecore_wince_log_dom_global = -1;
348 eina_shutdown();
349
350 return _ecore_wince_init_count;
351}
352
353/**
354 * @brief Set the timeout for a double and triple clicks to be flagged.
355 *
356 * @param t The time in seconds.
357 *
358 * This function sets the time @p t between clicks before the
359 * double_click flag is set in a button down event. If 3 clicks occur
360 * within double this time, the triple_click flag is also set.
361 */
362EAPI void
363ecore_wince_double_click_time_set(double t)
364{
365 if (t < 0.0) t = 0.0;
366 _ecore_wince_double_click_time = t;
367}
368
369/**
370 * @brief Retrieve the double and triple click flag timeout.
371 *
372 * @return The timeout for double clicks in seconds.
373 *
374 * This function returns the double clicks in seconds. If
375 * ecore_wince_double_click_time_set() has not been called, the
376 * default value is returned. See ecore_wince_double_click_time_set()
377 * for more informations.
378 */
379EAPI double
380ecore_wince_double_click_time_get(void)
381{
382 return _ecore_wince_double_click_time;
383}
384
385/**
386 * @brief Return the last event time.
387 *
388 * @return The last envent time.
389 *
390 * This function returns the last event time.
391 */
392EAPI long
393ecore_wince_current_time_get(void)
394{
395 return _ecore_wince_event_last_time;
396}
397
398/**
399 * @}
400 */
diff --git a/libraries/ecore/src/lib/ecore_wince/ecore_wince_event.c b/libraries/ecore/src/lib/ecore_wince/ecore_wince_event.c
deleted file mode 100644
index 41c355b..0000000
--- a/libraries/ecore/src/lib/ecore_wince/ecore_wince_event.c
+++ /dev/null
@@ -1,1074 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif
4
5#include <stdlib.h>
6
7#define WIN32_LEAN_AND_MEAN
8#include <windows.h>
9#undef WIN32_LEAN_AND_MEAN
10
11#include <Eina.h>
12#include <Ecore.h>
13#include <Ecore_Input.h>
14
15#include "Ecore_WinCE.h"
16#include "ecore_wince_private.h"
17
18/*============================================================================*
19 * Local *
20 *============================================================================*/
21
22/**
23 * @cond LOCAL
24 */
25
26typedef enum
27{
28 ECORE_WINCE_KEY_MASK_LSHIFT = 1 << 0,
29 ECORE_WINCE_KEY_MASK_RSHIFT = 1 << 1,
30 ECORE_WINCE_KEY_MASK_LCONTROL = 1 << 2,
31 ECORE_WINCE_KEY_MASK_RCONTROL = 1 << 3,
32 ECORE_WINCE_KEY_MASK_LMENU = 1 << 4,
33 ECORE_WINCE_KEY_MASK_RMENU = 1 << 5
34} Ecore_Wince_Key_Mask;
35
36static Ecore_WinCE_Window *_ecore_wince_mouse_down_last_window = NULL;
37static Ecore_WinCE_Window *_ecore_wince_mouse_down_last_last_window = NULL;
38static long _ecore_wince_mouse_down_last_time = 0;
39static long _ecore_wince_mouse_down_last_last_time = 0;
40static int _ecore_wince_mouse_down_did_triple = 0;
41static int _ecore_wince_mouse_up_count = 0;
42static Ecore_Wince_Key_Mask _ecore_wince_key_mask = 0;
43
44static void
45_ecore_wince_event_free_key_down(void *data __UNUSED__,
46 void *ev)
47{
48 Ecore_Event_Key *e;
49
50 e = ev;
51 if (e->keyname) free((char *)e->keyname);
52 if (e->key) free((char *)e->key);
53 if (e->string) free((char *)e->string);
54 free(e);
55}
56
57static void
58_ecore_wince_event_free_key_up(void *data __UNUSED__,
59 void *ev)
60{
61 Ecore_Event_Key *e;
62
63 e = ev;
64 if (e->keyname) free((char *)e->keyname);
65 if (e->key) free((char *)e->key);
66 if (e->string) free((char *)e->string);
67 free(e);
68}
69
70static int
71_ecore_wince_event_keystroke_get(int key,
72 Eina_Bool is_down,
73 char **keyname,
74 char **keysymbol,
75 char **keycompose)
76{
77 char *kn;
78 char *ks;
79 char *kc;
80
81 *keyname = NULL;
82 *keysymbol = NULL;
83 *keycompose = NULL;
84
85 switch (key)
86 {
87 /* Keystroke */
88 case VK_PRIOR:
89 kn = "Prior";
90 ks = "Prior";
91 kc = "Prior";
92 break;
93 case VK_NEXT:
94 kn = "Next";
95 ks = "Next";
96 kc = "Next";
97 break;
98 case VK_END:
99 kn = "End";
100 ks = "End";
101 kc = "End";
102 break;
103 case VK_HOME:
104 kn = "Home";
105 ks = "Home";
106 kc = "Home";
107 break;
108 case VK_LEFT:
109 kn = "Left";
110 ks = "Left";
111 kc = "Left";
112 break;
113 case VK_UP:
114 kn = "Up";
115 ks = "Up";
116 kc = "Up";
117 break;
118 case VK_RIGHT:
119 kn = "Right";
120 ks = "Right";
121 kc = "Right";
122 break;
123 case VK_DOWN:
124 kn = "Down";
125 ks = "Down";
126 kc = "Down";
127 break;
128 case VK_INSERT:
129 kn = "Insert";
130 ks = "Insert";
131 kc = "Insert";
132 break;
133 case VK_DELETE:
134 kn = "Delete";
135 ks = "Delete";
136 kc = "Delete";
137 break;
138 case VK_F1:
139 kn = "F1";
140 ks = "F1";
141 kc = "";
142 break;
143 case VK_F2:
144 kn = "F2";
145 ks = "F2";
146 kc = "";
147 break;
148 case VK_F3:
149 kn = "F3";
150 ks = "F3";
151 kc = "";
152 break;
153 case VK_F4:
154 kn = "F4";
155 ks = "F4";
156 kc = "";
157 break;
158 case VK_F5:
159 kn = "F5";
160 ks = "F5";
161 kc = "";
162 break;
163 case VK_F6:
164 kn = "F6";
165 ks = "F6";
166 kc = "";
167 break;
168 case VK_F7:
169 kn = "F7";
170 ks = "F7";
171 kc = "";
172 break;
173 case VK_F8:
174 kn = "F8";
175 ks = "F8";
176 kc = "";
177 break;
178 case VK_F9:
179 kn = "F9";
180 ks = "F9";
181 kc = "";
182 break;
183 case VK_F10:
184 kn = "F10";
185 ks = "F10";
186 kc = "";
187 break;
188 case VK_F11:
189 kn = "F11";
190 ks = "F11";
191 kc = "";
192 break;
193 case VK_F12:
194 kn = "F12";
195 ks = "F12";
196 kc = "";
197 break;
198 case VK_F13:
199 kn = "F13";
200 ks = "F13";
201 kc = "";
202 break;
203 case VK_F14:
204 kn = "F14";
205 ks = "F14";
206 kc = "";
207 break;
208 case VK_F15:
209 kn = "F15";
210 ks = "F15";
211 kc = "";
212 break;
213 case VK_F16:
214 kn = "F16";
215 ks = "F16";
216 kc = "";
217 break;
218 case VK_F17:
219 kn = "F17";
220 ks = "F17";
221 kc = "";
222 break;
223 case VK_F18:
224 kn = "F18";
225 ks = "F18";
226 kc = "";
227 break;
228 case VK_F19:
229 kn = "F19";
230 ks = "F19";
231 kc = "";
232 break;
233 case VK_F20:
234 /*
235 * VK_F20 indicates that an arrow key came from a rocker.
236 * This can safely be ignored.
237 */
238 return 0;
239 case VK_F21:
240 /*
241 * VK_F21 indicates that an arrow key came from a directional
242 * pad. This can safely be ignored.
243 */
244 return 0;
245 case VK_F22:
246 kn = "F22";
247 ks = "F22";
248 kc = "";
249 break;
250 case VK_F23:
251 /*
252 * Sent with VK_RETURN when doing an action (usually the middle
253 * button on a directional pad. This can safely be ignored.
254 */
255 return 0;
256 case VK_F24:
257 kn = "F24";
258 ks = "F24";
259 kc = "";
260 break;
261 case VK_APPS:
262 kn = "Application";
263 ks = "Application";
264 kc = "";
265 break;
266 case VK_SHIFT:
267 {
268 SHORT res;
269
270 if (is_down)
271 {
272 res = GetKeyState(VK_LSHIFT);
273 if (res & 0x8000)
274 {
275 _ecore_wince_key_mask |= ECORE_WINCE_KEY_MASK_LSHIFT;
276 kn = "Shift_L";
277 ks = "Shift_L";
278 kc = "";
279 }
280 res = GetKeyState(VK_RSHIFT);
281 if (res & 0x8000)
282 {
283 _ecore_wince_key_mask |= ECORE_WINCE_KEY_MASK_RSHIFT;
284 kn = "Shift_R";
285 ks = "Shift_R";
286 kc = "";
287 }
288 }
289 else /* is_up */
290 {
291 res = GetKeyState(VK_LSHIFT);
292 if (!(res & 0x8000) &&
293 (_ecore_wince_key_mask & ECORE_WINCE_KEY_MASK_LSHIFT))
294 {
295 kn = "Shift_L";
296 ks = "Shift_L";
297 kc = "";
298 _ecore_wince_key_mask &= ~ECORE_WINCE_KEY_MASK_LSHIFT;
299 }
300 res = GetKeyState(VK_RSHIFT);
301 if (!(res & 0x8000) &&
302 (_ecore_wince_key_mask & ECORE_WINCE_KEY_MASK_RSHIFT))
303 {
304 kn = "Shift_R";
305 ks = "Shift_R";
306 kc = "";
307 _ecore_wince_key_mask &= ~ECORE_WINCE_KEY_MASK_RSHIFT;
308 }
309 }
310 break;
311 }
312 case VK_CONTROL:
313 {
314 SHORT res;
315
316 if (is_down)
317 {
318 res = GetKeyState(VK_LCONTROL);
319 if (res & 0x8000)
320 {
321 _ecore_wince_key_mask |= ECORE_WINCE_KEY_MASK_LCONTROL;
322 kn = "Control_L";
323 ks = "Control_L";
324 kc = "";
325 break;
326 }
327 res = GetKeyState(VK_RCONTROL);
328 if (res & 0x8000)
329 {
330 _ecore_wince_key_mask |= ECORE_WINCE_KEY_MASK_RCONTROL;
331 kn = "Control_R";
332 ks = "Control_R";
333 kc = "";
334 break;
335 }
336 }
337 else /* is_up */
338 {
339 res = GetKeyState(VK_LCONTROL);
340 if (!(res & 0x8000) &&
341 (_ecore_wince_key_mask & ECORE_WINCE_KEY_MASK_LCONTROL))
342 {
343 kn = "Control_L";
344 ks = "Control_L";
345 kc = "";
346 _ecore_wince_key_mask &= ~ECORE_WINCE_KEY_MASK_LCONTROL;
347 break;
348 }
349 res = GetKeyState(VK_RCONTROL);
350 if (!(res & 0x8000) &&
351 (_ecore_wince_key_mask & ECORE_WINCE_KEY_MASK_RCONTROL))
352 {
353 kn = "Control_R";
354 ks = "Control_R";
355 kc = "";
356 _ecore_wince_key_mask &= ~ECORE_WINCE_KEY_MASK_RCONTROL;
357 break;
358 }
359 }
360 break;
361 }
362 case VK_MENU:
363 {
364 SHORT res;
365
366 if (is_down)
367 {
368 res = GetKeyState(VK_LMENU);
369 if (res & 0x8000)
370 {
371 _ecore_wince_key_mask |= ECORE_WINCE_KEY_MASK_LMENU;
372 kn = "Alt_L";
373 ks = "Alt_L";
374 kc = "";
375 }
376 res = GetKeyState(VK_RMENU);
377 if (res & 0x8000)
378 {
379 _ecore_wince_key_mask |= ECORE_WINCE_KEY_MASK_RMENU;
380 kn = "Alt_R";
381 ks = "Alt_R";
382 kc = "";
383 }
384 }
385 else /* is_up */
386 {
387 res = GetKeyState(VK_LMENU);
388 if (!(res & 0x8000) &&
389 (_ecore_wince_key_mask & ECORE_WINCE_KEY_MASK_LMENU))
390 {
391 kn = "Alt_L";
392 ks = "Alt_L";
393 kc = "";
394 _ecore_wince_key_mask &= ~ECORE_WINCE_KEY_MASK_LMENU;
395 }
396 res = GetKeyState(VK_RMENU);
397 if (!(res & 0x8000) &&
398 (_ecore_wince_key_mask & ECORE_WINCE_KEY_MASK_RMENU))
399 {
400 kn = "Alt_R";
401 ks = "Alt_R";
402 kc = "";
403 _ecore_wince_key_mask &= ~ECORE_WINCE_KEY_MASK_RMENU;
404 }
405 }
406 break;
407 }
408 default:
409 /* other non keystroke characters */
410 return 0;
411 }
412 *keyname = strdup(kn);
413 if (!*keyname) return 0;
414 *keysymbol = strdup(ks);
415 if (!*keysymbol)
416 {
417 free(*keyname);
418 *keyname = NULL;
419 return 0;
420 }
421 *keycompose = strdup(kc);
422 if (!*keycompose)
423 {
424 free(*keyname);
425 free(*keysymbol);
426 *keyname = NULL;
427 *keysymbol = NULL;
428 return 0;
429 }
430
431 return 1;
432}
433
434static int
435_ecore_wince_event_char_get(int key,
436 char **keyname,
437 char **keysymbol,
438 char **keycompose)
439{
440 char kn[32];
441 char ks[32];
442 char kc[32];
443
444 *keyname = NULL;
445 *keysymbol = NULL;
446 *keycompose = NULL;
447
448 switch (key)
449 {
450 case VK_APP3:
451 case VK_BACK:
452 strncpy(kn, "BackSpace", 32);
453 strncpy(ks, "BackSpace", 32);
454 strncpy(kc, "BackSpace", 32);
455 break;
456 case VK_APP4:
457 case VK_TAB:
458 strncpy(kn, "Tab", 32);
459 strncpy(ks, "Tab", 32);
460 strncpy(kc, "Tab", 32);
461 break;
462 case VK_APP5:
463 case 0x0a:
464 /* Line feed (Shift + Enter) */
465 strncpy(kn, "LineFeed", 32);
466 strncpy(ks, "LineFeed", 32);
467 strncpy(kc, "LineFeed", 32);
468 break;
469 case VK_APP2:
470 case VK_RETURN:
471 strncpy(kn, "Return", 32);
472 strncpy(ks, "Return", 32);
473 strncpy(kc, "Return", 32);
474 break;
475 case VK_APP1:
476 case VK_ESCAPE:
477 strncpy(kn, "Escape", 32);
478 strncpy(ks, "Escape", 32);
479 strncpy(kc, "Escape", 32);
480 break;
481 case VK_SPACE:
482 strncpy(kn, "space", 32);
483 strncpy(ks, "space", 32);
484 strncpy(kc, " ", 32);
485 break;
486 default:
487 /* displayable characters */
488 printf (" * key : %d\n", key);
489 kn[0] = (TCHAR)key;
490 kn[1] = '\0';
491 ks[0] = (TCHAR)key;
492 ks[1] = '\0';
493 kc[0] = (TCHAR)key;
494 kc[1] = '\0';
495 break;
496 }
497 *keyname = strdup(kn);
498 if (!*keyname) return 0;
499 *keysymbol = strdup(ks);
500 if (!*keysymbol)
501 {
502 free(*keyname);
503 *keyname = NULL;
504 return 0;
505 }
506 *keycompose = strdup(kc);
507 if (!*keycompose)
508 {
509 free(*keyname);
510 free(*keysymbol);
511 *keyname = NULL;
512 *keysymbol = NULL;
513 return 0;
514 }
515
516 return 1;
517}
518
519/**
520 * @endcond
521 */
522
523
524/*============================================================================*
525 * Global *
526 *============================================================================*/
527
528void
529_ecore_wince_event_handle_key_press(Ecore_WinCE_Callback_Data *msg,
530 int is_keystroke)
531{
532 Ecore_Event_Key *e;
533
534 INF("key pressed");
535
536 e = (Ecore_Event_Key *)malloc(sizeof(Ecore_Event_Key));
537 if (!e) return;
538
539 if (is_keystroke)
540 {
541 if (!_ecore_wince_event_keystroke_get(LOWORD(msg->window_param),
542 EINA_TRUE,
543 (char **)&e->keyname,
544 (char **)&e->key,
545 (char **)&e->string))
546 {
547 free(e);
548 return;
549 }
550 }
551 else
552 {
553 if (!_ecore_wince_event_char_get(LOWORD(msg->window_param),
554 (char **)&e->keyname,
555 (char **)&e->key,
556 (char **)&e->string))
557 {
558 free(e);
559 return;
560 }
561 }
562
563 e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA);
564 e->event_window = e->window;
565 if (!e->window)
566 {
567 free(e);
568 return;
569 }
570 e->timestamp = msg->time;
571
572 _ecore_wince_event_last_time = e->timestamp;
573
574 ecore_event_add(ECORE_EVENT_KEY_DOWN, e, _ecore_wince_event_free_key_down, NULL);
575}
576
577void
578_ecore_wince_event_handle_key_release(Ecore_WinCE_Callback_Data *msg,
579 int is_keystroke)
580{
581 Ecore_Event_Key *e;
582
583 INF("key released");
584
585 e = (Ecore_Event_Key *)calloc(1, sizeof(Ecore_Event_Key));
586 if (!e) return;
587
588 if (is_keystroke)
589 {
590 if (!_ecore_wince_event_keystroke_get(LOWORD(msg->window_param),
591 EINA_FALSE,
592 (char **)&e->keyname,
593 (char **)&e->key,
594 (char **)&e->string))
595 {
596 free(e);
597 return;
598 }
599 }
600 else
601 {
602 if (!_ecore_wince_event_char_get(LOWORD(msg->window_param),
603 (char **)&e->keyname,
604 (char **)&e->key,
605 (char **)&e->string))
606 {
607 free(e);
608 return;
609 }
610 }
611
612 e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA);
613 e->event_window = e->window;
614 if (!e->window)
615 {
616 free(e);
617 return;
618 }
619 e->timestamp = msg->time;
620
621 _ecore_wince_event_last_time = e->timestamp;
622
623 ecore_event_add(ECORE_EVENT_KEY_UP, e, _ecore_wince_event_free_key_up, NULL);
624}
625
626void
627_ecore_wince_event_handle_button_press(Ecore_WinCE_Callback_Data *msg,
628 int button)
629{
630 Ecore_WinCE_Window *window;
631
632 INF("mouse button pressed");
633
634 window = (Ecore_WinCE_Window *)GetWindowLong(msg->window, GWL_USERDATA);
635
636 {
637 Ecore_Event_Mouse_Move *e;
638
639 e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
640 if (!e) return;
641
642 e->window = (Ecore_Window)window;
643 e->event_window = e->window;
644 e->x = LOWORD(msg->data_param);
645 e->y = HIWORD(msg->data_param);
646 e->timestamp = msg->time;
647
648 _ecore_wince_event_last_time = e->timestamp;
649 _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
650
651 ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
652 }
653
654 {
655 Ecore_Event_Mouse_Button *e;
656
657 if (_ecore_wince_mouse_down_did_triple)
658 {
659 _ecore_wince_mouse_down_last_window = NULL;
660 _ecore_wince_mouse_down_last_last_window = NULL;
661 _ecore_wince_mouse_down_last_time = 0;
662 _ecore_wince_mouse_down_last_last_time = 0;
663 }
664
665 e = (Ecore_Event_Mouse_Button *)calloc(1, sizeof(Ecore_Event_Mouse_Button));
666 if (!e) return;
667
668 e->window = (Ecore_Window)window;
669 e->event_window = e->window;
670 e->buttons = button;
671 e->x = LOWORD(msg->data_param);
672 e->y = HIWORD(msg->data_param);
673 e->timestamp = msg->time;
674
675 if (((e->timestamp - _ecore_wince_mouse_down_last_time) <= (long)(1000 * _ecore_wince_double_click_time)) &&
676 (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window))
677 e->double_click = 1;
678
679 if (((e->timestamp - _ecore_wince_mouse_down_last_last_time) <= (long)(2 * 1000 * _ecore_wince_double_click_time)) &&
680 (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window) &&
681 (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_last_window))
682 {
683 e->triple_click = 1;
684 _ecore_wince_mouse_down_did_triple = 1;
685 }
686 else
687 _ecore_wince_mouse_down_did_triple = 0;
688
689 if (!e->double_click && !e->triple_click)
690 _ecore_wince_mouse_up_count = 0;
691
692 _ecore_wince_event_last_time = e->timestamp;
693 _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
694
695 if (!_ecore_wince_mouse_down_did_triple)
696 {
697 _ecore_wince_mouse_down_last_last_window = _ecore_wince_mouse_down_last_window;
698 _ecore_wince_mouse_down_last_window = (Ecore_WinCE_Window *)e->window;
699 _ecore_wince_mouse_down_last_last_time = _ecore_wince_mouse_down_last_time;
700 _ecore_wince_mouse_down_last_time = e->timestamp;
701 }
702
703 ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, e, NULL, NULL);
704 }
705}
706
707void
708_ecore_wince_event_handle_button_release(Ecore_WinCE_Callback_Data *msg,
709 int button)
710{
711 Ecore_WinCE_Window *window;
712
713 INF("mouse button released");
714
715 window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
716
717 {
718 Ecore_Event_Mouse_Move *e;
719
720 e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
721 if (!e) return;
722
723 e->window = (Ecore_Window)window;
724 e->event_window = e->window;
725 e->x = LOWORD(msg->data_param);
726 e->y = HIWORD(msg->data_param);
727 e->timestamp = msg->time;
728
729 _ecore_wince_event_last_time = e->timestamp;
730 _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
731
732 ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
733 }
734
735 {
736 Ecore_Event_Mouse_Button *e;
737
738 e = (Ecore_Event_Mouse_Button *)calloc(1, sizeof(Ecore_Event_Mouse_Button));
739 if (!e) return;
740
741 e->window = (Ecore_Window)window;
742 e->event_window = e->window;
743 e->buttons = button;
744 e->x = LOWORD(msg->data_param);
745 e->y = HIWORD(msg->data_param);
746 e->timestamp = msg->time;
747
748 _ecore_wince_mouse_up_count++;
749
750 if ((_ecore_wince_mouse_up_count >= 2) &&
751 ((e->timestamp - _ecore_wince_mouse_down_last_time) <= (long)(1000 * _ecore_wince_double_click_time)) &&
752 (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window))
753 e->double_click = 1;
754
755 if ((_ecore_wince_mouse_up_count >= 3) &&
756 ((e->timestamp - _ecore_wince_mouse_down_last_last_time) <= (long)(2 * 1000 * _ecore_wince_double_click_time)) &&
757 (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window) &&
758 (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_last_window))
759 e->triple_click = 1;
760
761 _ecore_wince_event_last_time = e->timestamp;
762 _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
763
764 ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, e, NULL, NULL);
765 }
766}
767
768void
769_ecore_wince_event_handle_motion_notify(Ecore_WinCE_Callback_Data *msg)
770{
771 Ecore_Event_Mouse_Move *e;
772
773 INF("mouse moved");
774
775 e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
776 if (!e) return;
777
778 e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA);
779 e->event_window = e->window;
780 e->x = LOWORD(msg->data_param);
781 e->y = HIWORD(msg->data_param);
782 e->timestamp = msg->time;
783
784 ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
785}
786
787void
788_ecore_wince_event_handle_enter_notify(Ecore_WinCE_Callback_Data *msg)
789{
790 Ecore_WinCE_Window *window;
791
792 INF("mouse in");
793
794 window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
795
796 {
797 Ecore_Event_Mouse_Move *e;
798
799 e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
800 if (!e) return;
801
802 e->window = (Ecore_Window)window;
803 e->event_window = e->window;
804 e->x = msg->x;
805 e->y = msg->y;
806 e->timestamp = msg->time;
807
808 _ecore_wince_event_last_time = e->timestamp;
809 _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
810
811 ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
812 }
813
814 {
815 Ecore_WinCE_Event_Mouse_In *e;
816
817 e = (Ecore_WinCE_Event_Mouse_In *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_In));
818 if (!e) return;
819
820 e->window = window;
821 e->x = msg->x;
822 e->y = msg->y;
823 e->time = msg->time;
824
825 _ecore_wince_event_last_time = e->time;
826
827 ecore_event_add(ECORE_WINCE_EVENT_MOUSE_IN, e, NULL, NULL);
828 }
829}
830
831void
832_ecore_wince_event_handle_leave_notify(Ecore_WinCE_Callback_Data *msg)
833{
834 Ecore_WinCE_Window *window;
835
836 INF("mouse out");
837
838 window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
839
840 {
841 Ecore_Event_Mouse_Move *e;
842
843 e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
844 if (!e) return;
845
846 e->window = (Ecore_Window)window;
847 e->event_window = e->window;
848 e->x = msg->x;
849 e->y = msg->y;
850 e->timestamp = msg->time;
851
852 _ecore_wince_event_last_time = e->timestamp;
853 _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
854
855 ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
856 }
857
858 {
859 Ecore_WinCE_Event_Mouse_Out *e;
860
861 e = (Ecore_WinCE_Event_Mouse_Out *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Out));
862 if (!e) return;
863
864 e->window = window;
865 e->x = msg->x;
866 e->y = msg->y;
867 e->time = msg->time;
868
869 _ecore_wince_event_last_time = e->time;
870
871 ecore_event_add(ECORE_WINCE_EVENT_MOUSE_OUT, e, NULL, NULL);
872 }
873}
874
875void
876_ecore_wince_event_handle_focus_in(Ecore_WinCE_Callback_Data *msg)
877{
878 Ecore_WinCE_Event_Window_Focus_In *e;
879 Ecore_WinCE_Window *window;
880
881 INF("focus in");
882
883 e = (Ecore_WinCE_Event_Window_Focus_In *)calloc(1, sizeof(Ecore_WinCE_Event_Window_Focus_In));
884 if (!e) return;
885
886 window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
887 if (!e->window)
888 {
889 free(e);
890 return;
891 }
892
893 if (window->resume_cb)
894 window->resume_cb(window->backend);
895
896 e->window = window;
897
898 e->time = _ecore_wince_event_last_time;
899 _ecore_wince_event_last_time = e->time;
900
901 ecore_event_add(ECORE_WINCE_EVENT_WINDOW_FOCUS_IN, e, NULL, NULL);
902}
903
904void
905_ecore_wince_event_handle_focus_out(Ecore_WinCE_Callback_Data *msg)
906{
907 Ecore_WinCE_Event_Window_Focus_Out *e;
908 Ecore_WinCE_Window *window;
909
910 INF("focus out");
911
912 e = (Ecore_WinCE_Event_Window_Focus_Out *)calloc(1, sizeof(Ecore_WinCE_Event_Window_Focus_Out));
913 if (!e) return;
914
915 window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
916 if (!e->window)
917 {
918 free(e);
919 return;
920 }
921 if (window->suspend_cb)
922 window->suspend_cb(window->backend);
923
924 e->window = window;
925
926 e->time = _ecore_wince_event_last_time;
927 _ecore_wince_event_last_time = e->time;
928
929 ecore_event_add(ECORE_WINCE_EVENT_WINDOW_FOCUS_OUT, e, NULL, NULL);
930}
931
932void
933_ecore_wince_event_handle_expose(Ecore_WinCE_Callback_Data *msg)
934{
935 Ecore_WinCE_Event_Window_Damage *e;
936
937 INF("window expose");
938
939 e = (Ecore_WinCE_Event_Window_Damage *)calloc(1, sizeof(Ecore_WinCE_Event_Window_Damage));
940 if (!e) return;
941
942 e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
943 if (!e->window)
944 {
945 free(e);
946 return;
947 }
948
949 e->x = msg->update.left;
950 e->y = msg->update.top;
951 e->width = msg->update.right - msg->update.left;
952 e->height = msg->update.bottom - msg->update.top;
953 INF("window expose size: %dx%d", e->width, e->height);
954
955 e->time = _ecore_wince_event_last_time;
956
957 ecore_event_add(ECORE_WINCE_EVENT_WINDOW_DAMAGE, e, NULL, NULL);
958}
959
960void
961_ecore_wince_event_handle_create_notify(Ecore_WinCE_Callback_Data *msg)
962{
963 Ecore_WinCE_Event_Window_Create *e;
964
965 INF("window create notify");
966
967 e = calloc(1, sizeof(Ecore_WinCE_Event_Window_Create));
968 if (!e) return;
969
970 e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
971 if (!e->window)
972 {
973 free(e);
974 return;
975 }
976
977 e->time = _ecore_wince_event_last_time;
978
979 ecore_event_add(ECORE_WINCE_EVENT_WINDOW_CREATE, e, NULL, NULL);
980}
981
982void
983_ecore_wince_event_handle_destroy_notify(Ecore_WinCE_Callback_Data *msg)
984{
985 Ecore_WinCE_Event_Window_Destroy *e;
986
987 INF("window destroy notify");
988
989 e = calloc(1, sizeof(Ecore_WinCE_Event_Window_Destroy));
990 if (!e) return;
991
992 e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
993 if (!e->window)
994 {
995 free(e);
996 return;
997 }
998
999 e->time = _ecore_wince_event_last_time;
1000/* if (e->window == _ecore_wince_event_last_window) _ecore_wince_event_last_window = NULL; */
1001
1002 ecore_event_add(ECORE_WINCE_EVENT_WINDOW_DESTROY, e, NULL, NULL);
1003}
1004
1005void
1006_ecore_wince_event_handle_map_notify(Ecore_WinCE_Callback_Data *msg)
1007{
1008 Ecore_WinCE_Event_Window_Show *e;
1009
1010 INF("window map notify");
1011
1012 e = calloc(1, sizeof(Ecore_WinCE_Event_Window_Show));
1013 if (!e) return;
1014
1015 e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
1016 if (!e->window)
1017 {
1018 free(e);
1019 return;
1020 }
1021
1022 e->time = _ecore_wince_event_last_time;
1023
1024 ecore_event_add(ECORE_WINCE_EVENT_WINDOW_SHOW, e, NULL, NULL);
1025}
1026
1027void
1028_ecore_wince_event_handle_unmap_notify(Ecore_WinCE_Callback_Data *msg)
1029{
1030 Ecore_WinCE_Event_Window_Hide *e;
1031
1032 INF("window unmap notify");
1033
1034 e = calloc(1, sizeof(Ecore_WinCE_Event_Window_Hide));
1035 if (!e) return;
1036
1037 e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
1038 if (!e->window)
1039 {
1040 free(e);
1041 return;
1042 }
1043
1044 e->time = _ecore_wince_event_last_time;
1045
1046 ecore_event_add(ECORE_WINCE_EVENT_WINDOW_HIDE, e, NULL, NULL);
1047}
1048
1049void
1050_ecore_wince_event_handle_delete_request(Ecore_WinCE_Callback_Data *msg)
1051{
1052 Ecore_WinCE_Event_Window_Delete_Request *e;
1053
1054 INF("window delete request");
1055
1056 e = calloc(1, sizeof(Ecore_WinCE_Event_Window_Delete_Request));
1057 if (!e) return;
1058
1059 e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
1060 if (!e->window)
1061 {
1062 free(e);
1063 return;
1064 }
1065
1066 e->time = _ecore_wince_event_last_time;
1067
1068 ecore_event_add(ECORE_WINCE_EVENT_WINDOW_DELETE_REQUEST, e, NULL, NULL);
1069}
1070
1071/*============================================================================*
1072 * API *
1073 *============================================================================*/
1074
diff --git a/libraries/ecore/src/lib/ecore_wince/ecore_wince_private.h b/libraries/ecore/src/lib/ecore_wince/ecore_wince_private.h
deleted file mode 100644
index b506312..0000000
--- a/libraries/ecore/src/lib/ecore_wince/ecore_wince_private.h
+++ /dev/null
@@ -1,85 +0,0 @@
1#ifndef __ECORE_WINCE_PRIVATE_H__
2#define __ECORE_WINCE_PRIVATE_H__
3
4
5/* logging messages macros */
6extern int _ecore_wince_log_dom_global;
7
8#ifdef ECORE_WINCE_DEFAULT_LOG_COLOR
9#undef ECORE_WINCE_DEFAULT_LOG_COLOR
10#endif
11#define ECORE_WINCE_DEFAULT_LOG_COLOR EINA_COLOR_LIGHTBLUE
12
13#ifdef ERR
14# undef ERR
15#endif
16#define ERR(...) EINA_LOG_DOM_ERR(_ecore_wince_log_dom_global , __VA_ARGS__)
17#ifdef DBG
18# undef DBG
19#endif
20#define DBG(...) EINA_LOG_DOM_DBG(_ecore_wince_log_dom_global , __VA_ARGS__)
21#ifdef INF
22# undef INF
23#endif
24#define INF(...) EINA_LOG_DOM_INFO(_ecore_wince_log_dom_global , __VA_ARGS__)
25
26#define ECORE_WINCE_WINDOW_CLASS L"Ecore_WinCE_Window_Class"
27
28
29typedef struct _Ecore_WinCE_Callback_Data Ecore_WinCE_Callback_Data;
30
31struct _Ecore_WinCE_Callback_Data
32{
33 RECT update;
34 HWND window;
35 unsigned int message;
36 WPARAM window_param;
37 LPARAM data_param;
38 long time;
39 int x;
40 int y;
41};
42
43
44typedef int (*ecore_wince_suspend_cb) (int);
45typedef int (*ecore_wince_resume_cb) (int);
46
47
48struct _Ecore_WinCE_Window
49{
50 HWND window;
51
52 int backend;
53 ecore_wince_suspend_cb suspend_cb;
54 ecore_wince_resume_cb resume_cb;
55
56 RECT rect; /* used to go fullscreen to normal */
57
58 unsigned int pointer_is_in : 1;
59 unsigned int fullscreen : 1;
60};
61
62extern HINSTANCE _ecore_wince_instance;
63extern double _ecore_wince_double_click_time;
64extern long _ecore_wince_event_last_time;
65extern Ecore_WinCE_Window *_ecore_wince_event_last_window;
66
67
68void _ecore_wince_event_handle_key_press(Ecore_WinCE_Callback_Data *msg, int is_keystroke);
69void _ecore_wince_event_handle_key_release(Ecore_WinCE_Callback_Data *msg, int is_keystroke);
70void _ecore_wince_event_handle_button_press(Ecore_WinCE_Callback_Data *msg, int button);
71void _ecore_wince_event_handle_button_release(Ecore_WinCE_Callback_Data *msg, int button);
72void _ecore_wince_event_handle_motion_notify(Ecore_WinCE_Callback_Data *msg);
73void _ecore_wince_event_handle_enter_notify(Ecore_WinCE_Callback_Data *msg);
74void _ecore_wince_event_handle_leave_notify(Ecore_WinCE_Callback_Data *msg);
75void _ecore_wince_event_handle_focus_in(Ecore_WinCE_Callback_Data *msg);
76void _ecore_wince_event_handle_focus_out(Ecore_WinCE_Callback_Data *msg);
77void _ecore_wince_event_handle_expose(Ecore_WinCE_Callback_Data *msg);
78void _ecore_wince_event_handle_create_notify(Ecore_WinCE_Callback_Data *msg);
79void _ecore_wince_event_handle_destroy_notify(Ecore_WinCE_Callback_Data *msg);
80void _ecore_wince_event_handle_map_notify(Ecore_WinCE_Callback_Data *msg);
81void _ecore_wince_event_handle_unmap_notify(Ecore_WinCE_Callback_Data *msg);
82void _ecore_wince_event_handle_delete_request(Ecore_WinCE_Callback_Data *msg);
83
84
85#endif /* __ECORE_WINCE_PRIVATE_H__ */
diff --git a/libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c b/libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c
deleted file mode 100644
index 72353ce..0000000
--- a/libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c
+++ /dev/null
@@ -1,827 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif
4
5#define WIN32_LEAN_AND_MEAN
6#include <windows.h>
7#undef WIN32_LEAN_AND_MEAN
8
9#include <Evil.h>
10#include <Eina.h>
11
12#include "Ecore_WinCE.h"
13#include "ecore_wince_private.h"
14
15/*============================================================================*
16 * Local *
17 *============================================================================*/
18
19/**
20 * @cond LOCAL
21 */
22
23
24typedef BOOL (__stdcall *UnregisterFunc1Proc)(UINT, UINT);
25
26static int
27_ecore_wince_hardware_keys_register(HWND window)
28{
29 HINSTANCE core_dll;
30 UnregisterFunc1Proc unregister_fct;
31 int i;
32
33 core_dll = LoadLibrary(L"coredll.dll");
34 if (!core_dll)
35 {
36 ERR("LoadLibrary() failed");
37 return 0;
38 }
39
40 unregister_fct = (UnregisterFunc1Proc)GetProcAddress(core_dll, L"UnregisterFunc1");
41 if (!unregister_fct)
42 {
43 ERR("GetProcAddress() failed");
44 FreeLibrary(core_dll);
45 return 0;
46 }
47
48 for (i = 0xc1; i <= 0xcf; i++)
49 {
50 unregister_fct(MOD_WIN, i);
51 RegisterHotKey(window, i, MOD_WIN, i);
52 }
53
54 FreeLibrary(core_dll);
55
56 return 1;
57}
58
59/**
60 * @endcond
61 */
62
63
64/*============================================================================*
65 * Global *
66 *============================================================================*/
67
68/*============================================================================*
69 * API *
70 *============================================================================*/
71
72/**
73 * @addtogroup Ecore_WinCE_Group Ecore_WinCE library
74 *
75 * @{
76 */
77
78/**
79 * @brief Creates a new window.
80 *
81 * @param parent The parent window.
82 * @param x The x coordinate of the top-left corner of the window.
83 * @param y The y coordinate of the top-left corner of the window.
84 * @param width The width of the window.
85 * @param height The height of hte window.
86 * @return A newly allocated window.
87 *
88 * This function creates a new window which parent is @p parent. @p width and
89 * @p height are the size of the window content (the client part),
90 * without the border and title bar. @p x and @p y are the system
91 * coordinates of the top left cerner of the window (that is, of the
92 * title bar). This function returns a newly created window on
93 * success, and @c NULL on failure.
94 */
95EAPI Ecore_WinCE_Window *
96ecore_wince_window_new(Ecore_WinCE_Window *parent,
97 int x,
98 int y,
99 int width,
100 int height)
101{
102 Ecore_WinCE_Window *w;
103 HWND window;
104 RECT rect;
105
106 INF("creating window");
107
108 w = (Ecore_WinCE_Window *)calloc(1, sizeof(Ecore_WinCE_Window));
109 if (!w)
110 {
111 ERR("malloc() failed");
112 return NULL;
113 }
114
115 rect.left = 0;
116 rect.top = 0;
117 rect.right = width;
118 rect.bottom = height;
119 if (!AdjustWindowRectEx(&rect, WS_CAPTION | WS_SYSMENU | WS_VISIBLE, FALSE, WS_EX_TOPMOST))
120 {
121 ERR("AdjustWindowRectEx() failed");
122 free(w);
123 return NULL;
124 }
125
126 window = CreateWindowEx(WS_EX_TOPMOST,
127 ECORE_WINCE_WINDOW_CLASS,
128 L"",
129 WS_CAPTION | WS_SYSMENU | WS_VISIBLE,
130 x, y,
131 rect.right - rect.left, rect.bottom - rect.top,
132 parent ? ((Ecore_WinCE_Window *)parent)->window : NULL,
133 NULL, _ecore_wince_instance, NULL);
134 if (!window)
135 {
136 ERR("CreateWindowEx() failed");
137 free(w);
138 return NULL;
139 }
140
141 if (!_ecore_wince_hardware_keys_register(window))
142 {
143 ERR("_ecore_wince_hardware_keys_register() failed");
144 DestroyWindow(window);
145 free(w);
146 return NULL;
147 }
148
149 w->window = window;
150
151 SetLastError(0);
152 if (!SetWindowLong(window, GWL_USERDATA, (LONG)w) && (GetLastError() != 0))
153 {
154 ERR("SetWindowLong() failed");
155 DestroyWindow(window);
156 free(w);
157 return NULL;
158 }
159
160 w->pointer_is_in = 0;
161
162 return w;
163}
164
165/**
166 * @brief Free the given window.
167 *
168 * @param window The window to free.
169 *
170 * This function frees @p window. If @p window is @c NULL, this
171 * function does nothing.
172 */
173EAPI void
174ecore_wince_window_free(Ecore_WinCE_Window *window)
175{
176 if (!window) return;
177
178 INF("destroying window");
179
180 DestroyWindow(window->window);
181 free(window);
182}
183
184/**
185 * @brief Return the window HANDLE associated to the given window.
186 *
187 * @param window The window to retrieve the HANDLE from.
188 *
189 * This function returns the window HANDLE associated to @p window. If
190 * @p window is @c NULL, this function returns @c NULL.
191 */
192EAPI void *
193ecore_wince_window_hwnd_get(Ecore_WinCE_Window *window)
194{
195 if (!window)
196 return NULL;
197
198 return window->window;
199}
200
201/**
202 * @brief Move the given window to a given position.
203 *
204 * @param window The window to move.
205 * @param x The x coordinate of the destination position.
206 * @param y The y coordinate of the destination position.
207 *
208 * This function move @p window to the new position of coordinates @p x
209 * and @p y. If @p window is @c NULL, or if it is fullscreen, or on
210 * error, this function does nothing.
211 */
212EAPI void
213ecore_wince_window_move(Ecore_WinCE_Window *window,
214 int x,
215 int y)
216{
217 RECT rect;
218
219 if (!window || window->fullscreen)
220 return;
221
222 INF("moving window (%dx%d)", x, y);
223
224 if (!GetWindowRect(window->window, &rect))
225 {
226 ERR("GetWindowRect() failed");
227 return;
228 }
229
230 if (!MoveWindow(window->window, x, y,
231 rect.right - rect.left,
232 rect.bottom - rect.top,
233 TRUE))
234 {
235 ERR("MoveWindow() failed");
236 }
237}
238
239/**
240 * @brief Resize the given window to a given size.
241 *
242 * @param window The window to resize.
243 * @param width The new width.
244 * @param height The new height.
245 *
246 * This function resize @p window to the new @p width and @p height.
247 * If @p window is @c NULL, or if it is fullscreen, or on error, this
248 * function does nothing.
249 */
250EAPI void
251ecore_wince_window_resize(Ecore_WinCE_Window *window,
252 int width,
253 int height)
254{
255 RECT rect;
256 DWORD style;
257 DWORD exstyle;
258 int x;
259 int y;
260
261 if (!window || window->fullscreen)
262 return;
263
264 INF("resizing window (%dx%d)", width, height);
265
266 if (!GetWindowRect(window->window, &rect))
267 {
268 ERR("GetWindowRect() failed");
269 return;
270 }
271
272 x = rect.left;
273 y = rect.top;
274 rect.left = 0;
275 rect.top = 0;
276 rect.right = width;
277 rect.bottom = height;
278 if (!(style = GetWindowLong(window->window, GWL_STYLE)))
279 {
280 ERR("GetWindowLong() failed");
281 return;
282 }
283 if (!(exstyle = GetWindowLong(window->window, GWL_EXSTYLE)))
284 {
285 ERR("GetWindowLong() failed");
286 return;
287 }
288 if (!AdjustWindowRectEx(&rect, style, FALSE, exstyle))
289 {
290 ERR("AdjustWindowRectEx() failed");
291 return;
292 }
293
294 if (!MoveWindow(window->window, x, y,
295 rect.right - rect.left,
296 rect.bottom - rect.top,
297 FALSE))
298 {
299 ERR("MoveWindow() failed");
300 }
301}
302
303/**
304 * @brief Move and resize the given window to a given position and size.
305 *
306 * @param window The window to move and resize.
307 * @param x The x coordinate of the destination position.
308 * @param y The x coordinate of the destination position.
309 * @param width The new width.
310 * @param height The new height.
311 *
312 * This function resize @p window to the new position of coordinates @p x
313 * and @p y and the new @p width and @p height. If @p window is @c NULL,
314 * or if it is fullscreen, or on error, this function does nothing.
315 */
316EAPI void
317ecore_wince_window_move_resize(Ecore_WinCE_Window *window,
318 int x,
319 int y,
320 int width,
321 int height)
322{
323 RECT rect;
324 DWORD style;
325 DWORD exstyle;
326
327 if (!window || window->fullscreen)
328 return;
329
330 INF("moving and resizing window (%dx%d %dx%d)", x, y, width, height);
331
332 rect.left = 0;
333 rect.top = 0;
334 rect.right = width;
335 rect.bottom = height;
336 if (!(style = GetWindowLong(window->window, GWL_STYLE)))
337 {
338 ERR("GetWindowLong() failed");
339 return;
340 }
341 if (!(exstyle = GetWindowLong(window->window, GWL_EXSTYLE)))
342 {
343 ERR("GetWindowLong() failed");
344 return;
345 }
346 if (!AdjustWindowRectEx(&rect, style, FALSE, exstyle))
347 {
348 ERR("AdjustWindowRectEx() failed");
349 return;
350 }
351
352 if (!MoveWindow(window->window, x, y,
353 rect.right - rect.left,
354 rect.bottom - rect.top,
355 TRUE))
356 {
357 ERR("MoveWindow() failed");
358 }
359}
360
361/**
362 * @brief Show the given window.
363 *
364 * @param window The window to show.
365 *
366 * This function shows @p window. If @p window is @c NULL, or on
367 * error, this function does nothing.
368 */
369EAPI void
370ecore_wince_window_show(Ecore_WinCE_Window *window)
371{
372 if (!window) return;
373
374 INF("showing window");
375
376 if (!ShowWindow(window->window, SW_SHOWNORMAL))
377 {
378 ERR("ShowWindow() failed");
379 return;
380 }
381 if (!UpdateWindow(window->window))
382 {
383 ERR("UpdateWindow() failed");
384 }
385 if (!SendMessage(window->window, WM_SHOWWINDOW, 1, 0))
386 {
387 ERR("SendMessage() failed");
388 }
389}
390
391/**
392 * @brief Hide the given window.
393 *
394 * @param window The window to show.
395 *
396 * This function hides @p window. If @p window is @c NULL, or on
397 * error, this function does nothing.
398 */
399EAPI void
400ecore_wince_window_hide(Ecore_WinCE_Window *window)
401{
402 if (!window) return;
403
404 INF("hiding window");
405
406 if (!ShowWindow(window->window, SW_HIDE))
407 {
408 ERR("ShowWindow() failed");
409 return;
410 }
411 if (!SendMessage(window->window, WM_SHOWWINDOW, 0, 0))
412 {
413 ERR("SendMessage() failed");
414 }
415}
416
417/**
418 * @brief Set the title of the given window.
419 *
420 * @param window The window to set the title.
421 * @param title The new title.
422 *
423 * This function sets the title of @p window to @p title. If @p window
424 * is @c NULL, or if @p title is @c NULL or empty, or on error, this
425 * function does nothing.
426 */
427EAPI void
428ecore_wince_window_title_set(Ecore_WinCE_Window *window,
429 const char *title)
430{
431 wchar_t *wtitle;
432
433 if (!window) return;
434
435 if (!title || !title[0]) return;
436
437 INF("setting window title");
438
439 wtitle = evil_char_to_wchar(title);
440 if (!wtitle) return;
441
442 if (!SetWindowText(window->window, wtitle))
443 {
444 ERR("SetWindowText() failed");
445 }
446 free(wtitle);
447}
448
449/**
450 * @brief Set the focus to the given window.
451 *
452 * @param window The window to give focus to.
453 *
454 * This function gives the focus to @p window. If @p window is
455 * @c NULL, this function does nothing.
456 */
457EAPI void
458ecore_wince_window_focus(Ecore_WinCE_Window *window)
459{
460 if (!window) return;
461
462 INF("focusing window");
463
464 if (!SetFocus(window->window))
465 {
466 ERR("SetFocus() failed");
467 }
468}
469
470/**
471 * @brief Get the current focused window.
472 *
473 * @return The window that has focus.
474 *
475 * This function returns the window that has focus. If the calling
476 * thread's message queue does not have an associated window with the
477 * keyboard focus, the return value is @c NULL.
478 *
479 * @note Even if the returned value is @c NULL, another thread's queue
480 * may be associated with a window that has the keyboard focus.
481 *
482 * @note The returned value is of type HWND.
483 */
484EAPI void *
485ecore_wince_window_focus_get(void)
486{
487 HWND focused;
488
489 INF("getting focused window");
490
491 focused = GetFocus();
492 if (!focused)
493 {
494 ERR("GetFocus() failed");
495 return NULL;
496 }
497
498 return focused;
499}
500
501/**
502 * @brief Set the graphic backend used for the given window.
503 *
504 * @param window The window.
505 * @param backend The backend.
506 *
507 * This function sets the graphic backend to use with @p window to
508 * @p backend. If @p window if @c NULL, this function does nothing.
509 *
510 * The valid values for @p backend are
511 *
512 * @li 0: automatic choice of the backend.
513 * @li 1: the framebuffer (fast but could be not well suported).
514 * @li 2: GAPI (less fast but almost always supported).
515 * @li 3: DirectDraw (less fast than GAPI but almost always
516 * supported).
517 * @li 4: GDI (the slowest but always supported).
518 *
519 * The @p backend is used only in Evas and Ecore_Evas. So this
520 * function should not be called if Ecore_Evas is used.
521 */
522EAPI void
523ecore_wince_window_backend_set(Ecore_WinCE_Window *window,
524 int backend)
525{
526 if (!window)
527 return;
528
529 INF("setting backend");
530
531 window->backend = backend;
532}
533
534/**
535 * @brief Set the suspend callback used for the given window.
536 *
537 * @param window The window.
538 * @param suspend_cb The suspend callback.
539 *
540 * This function sets the suspend callback to use with @p window to
541 * @p suspend_cb. If @p window if @c NULL, this function does nothing.
542 *
543 * The @p suspend_cb is used only in Evas and Ecore_Evas. So this
544 * function should not be called if Ecore_Evas is used.
545 */
546EAPI void
547ecore_wince_window_suspend_cb_set(Ecore_WinCE_Window *window, int (*suspend_cb)(int))
548{
549 if (!window)
550 return;
551
552 INF("setting suspend callback");
553
554 window->suspend_cb = suspend_cb;
555}
556
557/**
558 * @brief Set the resume callback used for the given window.
559 *
560 * @param window The window.
561 * @param resume_cb The resume callback.
562 *
563 * This function sets the resume callback to use with @p window to
564 * @p resume_cb. If @p window if @c NULL, this function does nothing.
565 *
566 * The @p resume_cb is used only in Evas and Ecore_Evas. So this
567 * function should not be called if Ecore_Evas is used.
568 */
569EAPI void
570ecore_wince_window_resume_cb_set(Ecore_WinCE_Window *window, int (*resume_cb)(int))
571{
572 if (!window)
573 return;
574
575 INF("setting resume callback");
576
577 window->resume_cb = resume_cb;
578}
579
580/**
581 * @brief Get the geometry of the given window.
582 *
583 * @param window The window to retrieve the geometry from.
584 * @param x The x coordinate of the position.
585 * @param y The x coordinate of the position.
586 * @param width The width.
587 * @param height The height.
588 *
589 * This function retrieves the position and size of @p window. @p x,
590 * @p y, @p width and @p height can be buffers that will be filled with
591 * the corresponding values. If one of them is @c NULL, nothing will
592 * be done for that parameter. If @p window is @c NULL, and if the
593 * buffers are not @c NULL, they will be filled with respectively 0,
594 * 0, the size of the screen and the height of the screen.
595 */
596EAPI void
597ecore_wince_window_geometry_get(Ecore_WinCE_Window *window,
598 int *x,
599 int *y,
600 int *width,
601 int *height)
602{
603 RECT rect;
604 int w;
605 int h;
606
607 INF("getting window geometry");
608
609 if (!window)
610 {
611 if (x) *x = 0;
612 if (y) *y = 0;
613 if (width) *width = GetSystemMetrics(SM_CXSCREEN);
614 if (height) *height = GetSystemMetrics(SM_CYSCREEN);
615
616 return;
617 }
618
619 if (!GetClientRect(window->window, &rect))
620 {
621 ERR("GetClientRect() failed");
622
623 if (x) *x = 0;
624 if (y) *y = 0;
625 if (width) *width = 0;
626 if (height) *height = 0;
627
628 return;
629 }
630
631 w = rect.right - rect.left;
632 h = rect.bottom - rect.top;
633
634 if (!GetWindowRect(window->window, &rect))
635 {
636 ERR("GetWindowRect() failed");
637
638 if (x) *x = 0;
639 if (y) *y = 0;
640 if (width) *width = 0;
641 if (height) *height = 0;
642
643 return;
644 }
645
646 if (x) *x = rect.left;
647 if (y) *y = rect.top;
648 if (width) *width = w;
649 if (height) *height = h;
650}
651
652/**
653 * @brief Get the size of the given window.
654 *
655 * @param window The window to retrieve the size from.
656 * @param width The width.
657 * @param height The height.
658 *
659 * This function retrieves the size of @p window. @p width and
660 * @p height can be buffers that will be filled with the corresponding
661 * values. If one of them is @c NULL, nothing will be done for that
662 * parameter. If @p window is @c NULL, and if the buffers are not
663 * @c NULL, they will be filled with respectively the size of the screen
664 * and the height of the screen.
665 */
666EAPI void
667ecore_wince_window_size_get(Ecore_WinCE_Window *window,
668 int *width,
669 int *height)
670{
671 RECT rect;
672
673 INF("getting window size");
674
675 if (!window)
676 {
677 if (width) *width = GetSystemMetrics(SM_CXSCREEN);
678 if (height) *height = GetSystemMetrics(SM_CYSCREEN);
679
680 return;
681 }
682
683 if (!GetClientRect(window->window, &rect))
684 {
685 ERR("GetClientRect() failed");
686
687 if (width) *width = 0;
688 if (height) *height = 0;
689 }
690
691 if (width) *width = rect.right - rect.left;
692 if (height) *height = rect.bottom - rect.top;
693}
694
695/**
696 * @brief Set the given window to fullscreen.
697 *
698 * @param window The window.
699 * @param on EINA_TRUE for fullscreen mode, EINA_FALSE for windowed mode.
700 *
701 * This function set @p window to fullscreen or windowed mode. If @p on
702 * is set to EINA_TRUE, the window will be fullscreen, if it is set to
703 * EINA_FALSE, it will be windowed. If @p window is @c NULL or if the
704 * state does not change (like setting to fullscreen while the window
705 * is already fullscreen), this function does nothing.
706 */
707EAPI void
708ecore_wince_window_fullscreen_set(Ecore_WinCE_Window *window,
709 Eina_Bool on)
710{
711 HWND task_bar;
712
713 if (!window) return;
714
715 if (((window->fullscreen) && (on)) ||
716 ((!window->fullscreen) && (!on)))
717 return;
718
719 INF("setting fullscreen: %s", on ? "yes" : "no");
720
721 window->fullscreen = !!on;
722
723 if (on)
724 {
725 /* save the position and size of the window */
726 if (!GetWindowRect(window->window, &window->rect))
727 {
728 ERR("GetWindowRect() failed");
729 return;
730 }
731
732 /* hide task bar */
733 task_bar = FindWindow(L"HHTaskBar", NULL);
734 if (!task_bar)
735 {
736 INF("FindWindow(): can not find task bar");
737 }
738 if (!ShowWindow(task_bar, SW_HIDE))
739 {
740 INF("ShowWindow(): task bar already hidden");
741 }
742 if (!EnableWindow(task_bar, FALSE))
743 {
744 INF("EnableWindow(): input already disabled");
745 }
746
747 /* style: visible + popup */
748 if (!SetWindowLong(window->window, GWL_STYLE, WS_POPUP | WS_VISIBLE))
749 {
750 INF("SetWindowLong() failed");
751 }
752
753 /* resize window to fit the entire screen */
754 if (!SetWindowPos(window->window, HWND_TOPMOST,
755 0, 0,
756 GetSystemMetrics(SM_CXSCREEN),
757 GetSystemMetrics(SM_CYSCREEN),
758 SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED))
759 {
760 INF("SetWindowPos() failed");
761 }
762 /*
763 * It seems that SetWindowPos is not sufficient.
764 * Call MoveWindow with the correct size and force painting.
765 * Note that UpdateWindow (forcing repainting) is not sufficient
766 */
767 if (!MoveWindow(window->window,
768 0, 0,
769 GetSystemMetrics(SM_CXSCREEN),
770 GetSystemMetrics(SM_CYSCREEN),
771 TRUE))
772 {
773 INF("MoveWindow() failed");
774 }
775 }
776 else
777 {
778 /* show task bar */
779 task_bar = FindWindow(L"HHTaskBar", NULL);
780 if (!task_bar)
781 {
782 INF("FindWindow(): can not find task bar");
783 }
784 if (!ShowWindow(task_bar, SW_SHOW))
785 {
786 INF("ShowWindow(): task bar already visible");
787 }
788 if (!EnableWindow(task_bar, TRUE))
789 {
790 INF("EnableWindow(): input already enabled");
791 }
792
793 /* style: visible + caption + sysmenu */
794 if (!SetWindowLong(window->window, GWL_STYLE, WS_CAPTION | WS_SYSMENU | WS_VISIBLE))
795 {
796 INF("SetWindowLong() failed");
797 }
798 /* restaure the position and size of the window */
799 if (!SetWindowPos(window->window, HWND_TOPMOST,
800 window->rect.left,
801 window->rect.top,
802 window->rect.right - window->rect.left,
803 window->rect.bottom - window->rect.top,
804 SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED))
805 {
806 INF("SetWindowLong() failed");
807 }
808 /*
809 * It seems that SetWindowPos is not sufficient.
810 * Call MoveWindow with the correct size and force painting.
811 * Note that UpdateWindow (forcing repainting) is not sufficient
812 */
813 if (!MoveWindow(window->window,
814 window->rect.left,
815 window->rect.top,
816 window->rect.right - window->rect.left,
817 window->rect.bottom - window->rect.top,
818 TRUE))
819 {
820 INF("MoveWindow() failed");
821 }
822 }
823}
824
825/**
826 * @}
827 */