aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ecore/src/lib/ecore_cocoa
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-04 18:41:13 +1000
committerDavid Walter Seikel2012-01-04 18:41:13 +1000
commitdd7595a3475407a7fa96a97393bae8c5220e8762 (patch)
treee341e911d7eb911a51684a7412ef7f7c7605d28e /libraries/ecore/src/lib/ecore_cocoa
parentAdd the skeleton. (diff)
downloadSledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.zip
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.gz
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.bz2
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.xz
Add the base Enlightenment Foundation Libraries - eina, eet, evas, ecore, embryo, and edje.
Note that embryo wont be used, but I'm not sure yet if you can build edje without it.
Diffstat (limited to 'libraries/ecore/src/lib/ecore_cocoa')
-rw-r--r--libraries/ecore/src/lib/ecore_cocoa/Ecore_Cocoa.h147
-rw-r--r--libraries/ecore/src/lib/ecore_cocoa/Ecore_Cocoa_Keys.h285
-rw-r--r--libraries/ecore/src/lib/ecore_cocoa/Makefile.am29
-rw-r--r--libraries/ecore/src/lib/ecore_cocoa/Makefile.in823
-rw-r--r--libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa.m283
-rw-r--r--libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa_private.h11
-rw-r--r--libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa_window.m163
7 files changed, 1741 insertions, 0 deletions
diff --git a/libraries/ecore/src/lib/ecore_cocoa/Ecore_Cocoa.h b/libraries/ecore/src/lib/ecore_cocoa/Ecore_Cocoa.h
new file mode 100644
index 0000000..51c8ead
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_cocoa/Ecore_Cocoa.h
@@ -0,0 +1,147 @@
1#ifndef __ECORE_COCOA_H__
2#define __ECORE_COCOA_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_COCOA_WIP_GNSIDNQI
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#ifdef EAPI
15# undef EAPI
16#endif
17
18#ifdef __GNUC__
19# if __GNUC__ >= 4
20# define EAPI __attribute__ ((visibility("default")))
21# else
22# define EAPI
23# endif
24#else
25# define EAPI
26#endif
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32typedef struct _Ecore_Cocoa_Window Ecore_Cocoa_Window;
33
34EAPI extern int ECORE_COCOA_EVENT_GOT_FOCUS;
35EAPI extern int ECORE_COCOA_EVENT_LOST_FOCUS;
36EAPI extern int ECORE_COCOA_EVENT_RESIZE;
37EAPI extern int ECORE_COCOA_EVENT_EXPOSE;
38
39typedef struct _Ecore_Cocoa_Event_Video_Resize Ecore_Cocoa_Event_Video_Resize;
40struct _Ecore_Cocoa_Event_Video_Resize
41{
42 int w;
43 int h;
44};
45
46
47/* Core */
48
49EAPI int ecore_cocoa_init(void);
50EAPI int ecore_cocoa_shutdown(void);
51EAPI void ecore_cocoa_feed_events(void);
52
53/* Window */
54
55EAPI Ecore_Cocoa_Window *ecore_cocoa_window_new(int x,
56 int y,
57 int width,
58 int height);
59
60EAPI void ecore_cocoa_window_free(Ecore_Cocoa_Window *window);
61
62EAPI void *ecore_cocoa_window_hwnd_get(Ecore_Cocoa_Window *window);
63
64EAPI void ecore_cocoa_window_move(Ecore_Cocoa_Window *window,
65 int x,
66 int y);
67
68EAPI void ecore_cocoa_window_resize(Ecore_Cocoa_Window *window,
69 int width,
70 int height);
71
72EAPI void ecore_cocoa_window_move_resize(Ecore_Cocoa_Window *window,
73 int x,
74 int y,
75 int width,
76 int height);
77
78EAPI void ecore_cocoa_window_geometry_get(Ecore_Cocoa_Window *window,
79 int *x,
80 int *y,
81 int *width,
82 int *height);
83
84EAPI void ecore_cocoa_window_size_get(Ecore_Cocoa_Window *window,
85 int *width,
86 int *height);
87
88EAPI void ecore_cocoa_window_size_min_set(Ecore_Cocoa_Window *window,
89 unsigned int min_width,
90 unsigned int min_height);
91
92EAPI void ecore_cocoa_window_size_min_get(Ecore_Cocoa_Window *window,
93 unsigned int *min_width,
94 unsigned int *min_height);
95
96EAPI void ecore_cocoa_window_size_max_set(Ecore_Cocoa_Window *window,
97 unsigned int max_width,
98 unsigned int max_height);
99
100EAPI void ecore_cocoa_window_size_max_get(Ecore_Cocoa_Window *window,
101 unsigned int *max_width,
102 unsigned int *max_height);
103
104EAPI void ecore_cocoa_window_size_base_set(Ecore_Cocoa_Window *window,
105 unsigned int base_width,
106 unsigned int base_height);
107
108EAPI void ecore_cocoa_window_size_base_get(Ecore_Cocoa_Window *window,
109 unsigned int *base_width,
110 unsigned int *base_height);
111
112EAPI void ecore_cocoa_window_size_step_set(Ecore_Cocoa_Window *window,
113 unsigned int step_width,
114 unsigned int step_height);
115
116EAPI void ecore_cocoa_window_size_step_get(Ecore_Cocoa_Window *window,
117 unsigned int *step_width,
118 unsigned int *step_height);
119
120EAPI void ecore_cocoa_window_show(Ecore_Cocoa_Window *window);
121
122EAPI void ecore_cocoa_window_hide(Ecore_Cocoa_Window *window);
123
124EAPI void ecore_cocoa_window_raise(Ecore_Cocoa_Window *window);
125
126EAPI void ecore_cocoa_window_lower(Ecore_Cocoa_Window *window);
127
128EAPI void ecore_cocoa_window_title_set(Ecore_Cocoa_Window *window,
129 const char *title);
130
131EAPI void ecore_cocoa_window_focus_set(Ecore_Cocoa_Window *window);
132
133EAPI void ecore_cocoa_window_iconified_set(Ecore_Cocoa_Window *window,
134 int on);
135
136EAPI void ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,
137 int on);
138
139EAPI void ecore_cocoa_window_view_set(Ecore_Cocoa_Window *window,
140 void *view);
141
142
143#ifdef __cplusplus
144}
145#endif
146
147#endif
diff --git a/libraries/ecore/src/lib/ecore_cocoa/Ecore_Cocoa_Keys.h b/libraries/ecore/src/lib/ecore_cocoa/Ecore_Cocoa_Keys.h
new file mode 100644
index 0000000..7068bc2
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_cocoa/Ecore_Cocoa_Keys.h
@@ -0,0 +1,285 @@
1#ifndef ECORE_COCOA_KEYS_H__
2#define ECORE_COCOA_KEYS_H__
3
4struct _ecore_cocoa_keys_s
5{
6 int code;
7 const char *name;
8 const char *compose;
9};
10
11static const struct _ecore_cocoa_keys_s keystable[] =
12{
13
14{ 0, "0x00", "" },
15{ 0, "First", "" },
16{ 3, "Return", "\015" },
17{ 8, "BackSpace", "\010" },
18{ 9, "Tab", "\011" },
19{ 12, "Clear", "" },
20{ 13, "Return", "\015" },
21{ 19, "Pause", "" },
22{ 25, "BackTab", ""},
23{ 27, "Escape", "" },
24{ 32, "space", " " },
25{ 33, "exclam", "!" },
26{ 34, "quotedbl", "\"" },
27{ 35, "numbersign", "#" },
28{ 36, "dollar", "$" },
29{ 37, "percent", "%%" },
30{ 38, "ampersand", "&" },
31{ 39, "apostrophe", "'" },
32{ 40, "parenleft", "(" },
33{ 41, "parenright", ")" },
34{ 42, "asterisk", "*" },
35{ 43, "plus", "+" },
36{ 44, "comma", "," },
37{ 45, "minus", "-" },
38{ 46, "period", "." },
39{ 47, "slash", "/" },
40{ 48, "0", "0" },
41{ 49, "1", "1" },
42{ 50, "2", "2" },
43{ 51, "3", "3" },
44{ 52, "4", "4" },
45{ 53, "5", "5" },
46{ 54, "6", "6" },
47{ 55, "7", "7" },
48{ 56, "8", "8" },
49{ 57, "9", "9" },
50{ 58, "colon", ";" },
51{ 59, "semicolon", ";" },
52{ 60, "less", "<" },
53{ 61, "equal", "=" },
54{ 62, "greater", ">" },
55{ 63, "question", "?" },
56{ 64, "at", "@" },
57
58{ 91, "bracketleft", "[" },
59{ 92, "backslash", "\\" },
60{ 93, "bracketright", "]" },
61{ 94, "asciicircumm", "^" },
62{ 95, "underscore", "_" },
63{ 96, "backquote", "`" },
64{ 97, "a", "a" },
65{ 98, "b", "b" },
66{ 99, "c", "c" },
67{ 100, "d", "d" },
68{ 101, "e", "e" },
69{ 102, "f", "f" },
70{ 103, "g", "g" },
71{ 104, "h", "h" },
72{ 105, "i", "i" },
73{ 106, "j", "j" },
74{ 107, "k", "k" },
75{ 108, "l", "l" },
76{ 109, "m", "m" },
77{ 110, "n", "n" },
78{ 111, "o", "o" },
79{ 112, "p", "p" },
80{ 113, "q", "q" },
81{ 114, "r", "r" },
82{ 115, "s", "s" },
83{ 116, "t", "t" },
84{ 117, "u", "u" },
85{ 118, "v", "v" },
86{ 119, "w", "w" },
87{ 120, "x", "x" },
88{ 121, "y", "y" },
89{ 122, "z", "z" },
90{ 123, "braceleft", "" },
91{ 124, "pipe", "" },
92{ 125, "braceright", "" },
93{ 127, "Delete", "\177" },
94{ 126, "asciitilde", "~" },
95
96{ 160, "w0", "" },
97{ 161, "w1", "" },
98{ 162, "w2", "" },
99{ 163, "w3", "" },
100{ 164, "w4", "" },
101{ 165, "w5", "" },
102{ 166, "w6", "" },
103{ 167, "w7", "" },
104{ 168, "w8", "" },
105{ 169, "w9", "" },
106{ 170, "w10", "" },
107{ 171, "w11", "" },
108{ 172, "w12", "" },
109{ 173, "w13", "" },
110{ 174, "w14", "" },
111{ 175, "w15", "" },
112{ 176, "w16", "" },
113{ 177, "w17", "" },
114{ 178, "w18", "" },
115{ 179, "w19", "" },
116{ 180, "w20", "" },
117{ 181, "w21", "" },
118{ 182, "w22", "" },
119{ 183, "w23", "" },
120{ 184, "w24", "" },
121{ 185, "w25", "" },
122{ 186, "w26", "" },
123{ 187, "w27", "" },
124{ 188, "w28", "" },
125{ 189, "w29", "" },
126{ 190, "w30", "" },
127{ 191, "w31", "" },
128{ 192, "w32", "" },
129{ 193, "w33", "" },
130{ 194, "w34", "" },
131{ 195, "w35", "" },
132{ 196, "w36", "" },
133{ 197, "w37", "" },
134{ 198, "w38", "" },
135{ 199, "w39", "" },
136{ 200, "w40", "" },
137{ 201, "w41", "" },
138{ 202, "w42", "" },
139{ 203, "w43", "" },
140{ 204, "w44", "" },
141{ 205, "w45", "" },
142{ 206, "w46", "" },
143{ 207, "w47", "" },
144{ 208, "w48", "" },
145{ 209, "w49", "" },
146{ 210, "w50", "" },
147{ 211, "w51", "" },
148{ 212, "w52", "" },
149{ 213, "w53", "" },
150{ 214, "w54", "" },
151{ 215, "w55", "" },
152{ 216, "w56", "" },
153{ 217, "w57", "" },
154{ 218, "w58", "" },
155{ 219, "w59", "" },
156{ 220, "w60", "" },
157{ 221, "w61", "" },
158{ 222, "w62", "" },
159{ 223, "w63", "" },
160{ 224, "w64", "" },
161{ 225, "w65", "" },
162{ 226, "w66", "" },
163{ 227, "w67", "" },
164{ 228, "w68", "" },
165{ 229, "w69", "" },
166{ 230, "w70", "" },
167{ 231, "w71", "" },
168{ 232, "w72", "" },
169{ 233, "w73", "" },
170{ 234, "w74", "" },
171{ 235, "w75", "" },
172{ 236, "w76", "" },
173{ 237, "w77", "" },
174{ 238, "w78", "" },
175{ 239, "w79", "" },
176{ 240, "w80", "" },
177{ 241, "w81", "" },
178{ 242, "w82", "" },
179{ 243, "w83", "" },
180{ 244, "w84", "" },
181{ 245, "w85", "" },
182{ 246, "w86", "" },
183{ 247, "w87", "" },
184{ 248, "w88", "" },
185{ 249, "w89", "" },
186{ 250, "w90", "" },
187{ 251, "w91", "" },
188{ 252, "w92", "" },
189{ 253, "w93", "" },
190{ 254, "w94", "" },
191{ 255, "w95", "" },
192
193{ 256, "KP0", "0" },
194{ 257, "KP1", "1" },
195{ 258, "KP2", "2" },
196{ 259, "KP3", "3" },
197{ 260, "KP4", "4" },
198{ 261, "KP5", "5" },
199{ 262, "KP6", "6" },
200{ 263, "KP7", "7" },
201{ 264, "KP8", "8" },
202{ 265, "KP9", "9" },
203{ 266, "period", "." },
204{ 267, "KP_Divide", "/" },
205{ 268, "KP_Multiply", "*" },
206{ 269, "KP_Minus", "-" },
207{ 270, "KP_Plus", "+" },
208{ 271, "KP_Enter", "\015" },
209{ 272, "KP_Equals", "=" },
210
211{ NSUpArrowFunctionKey, "Up", "" },
212{ NSDownArrowFunctionKey, "Down", "" },
213{ NSRightArrowFunctionKey, "Right", "" },
214{ NSLeftArrowFunctionKey, "Left", "" },
215{ NSInsertFunctionKey, "Insert", "" },
216{ NSHomeFunctionKey, "Home", "" },
217{ NSEndFunctionKey, "End", "" },
218{ NSPageUpFunctionKey, "Page_Up", "" },
219{ NSPageDownFunctionKey, "Page_Down", "" },
220
221{ NSF1FunctionKey, "F1", "" },
222{ NSF2FunctionKey, "F2", "" },
223{ NSF3FunctionKey, "F3", "" },
224{ NSF4FunctionKey, "F4", "" },
225{ NSF5FunctionKey, "F5", "" },
226{ NSF6FunctionKey, "F6", "" },
227{ NSF7FunctionKey, "F7", "" },
228{ NSF8FunctionKey, "F8", "" },
229{ NSF9FunctionKey, "F9", "" },
230{ NSF10FunctionKey, "F10", "" },
231{ NSF11FunctionKey, "F11", "" },
232{ NSF12FunctionKey, "F12", "" },
233{ NSF13FunctionKey, "F13", "" },
234{ NSF14FunctionKey, "F14", "" },
235{ NSF15FunctionKey, "F15", "" },
236{ NSF16FunctionKey, "F16", "" },
237{ NSF17FunctionKey, "F17", "" },
238{ NSF18FunctionKey, "F18", "" },
239{ NSF19FunctionKey, "F19", "" },
240{ NSF20FunctionKey, "F20", "" },
241{ NSF21FunctionKey, "F21", "" },
242{ NSF22FunctionKey, "F22", "" },
243{ NSF23FunctionKey, "F23", "" },
244{ NSF24FunctionKey, "F24", "" },
245{ NSF25FunctionKey, "F25", "" },
246{ NSF26FunctionKey, "F26", "" },
247{ NSF27FunctionKey, "F27", "" },
248{ NSF28FunctionKey, "F28", "" },
249{ NSF29FunctionKey, "F29", "" },
250{ NSF30FunctionKey, "F30", "" },
251{ NSF31FunctionKey, "F31", "" },
252{ NSF32FunctionKey, "F32", "" },
253{ NSF33FunctionKey, "F33", "" },
254{ NSF34FunctionKey, "F34", "" },
255{ NSF35FunctionKey, "F35", "" },
256
257{ NSClearLineFunctionKey, "Num_Lock", "" },
258{ 301, "Caps_Lock", "" },
259{ NSScrollLockFunctionKey, "Scroll_Lock", "" },
260{ 303, "Shift_R", "" },
261{ 304, "Shift_L", "" },
262{ 305, "Control_R", "" },
263{ 306, "Control_L", "" },
264{ 307, "Alt_R", "" },
265{ 308, "Alt_L", "" },
266{ 309, "Meta_R", "" },
267{ 310, "Meta_L", "" },
268{ 311, "Super_L", "" },
269{ 312, "Super_R", "" },
270
271{ NSModeSwitchFunctionKey, "Mode", "" },
272{ 314, "Compose", "" },
273
274{ NSHelpFunctionKey, "Help", "" },
275{ NSPrintFunctionKey, "Print", "" },
276{ NSSysReqFunctionKey, "SysReq", "" },
277{ NSBreakFunctionKey, "Break", "" },
278{ NSMenuFunctionKey, "Menu", "" },
279{ 320, "Power", "" },
280{ 321, "Euro", "" },
281{ NSUndoFunctionKey, "Undo", "" }
282
283};
284
285#endif /* ECORE_COCOA_KEYS_H__ */
diff --git a/libraries/ecore/src/lib/ecore_cocoa/Makefile.am b/libraries/ecore/src/lib/ecore_cocoa/Makefile.am
new file mode 100644
index 0000000..4ac7b11
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_cocoa/Makefile.am
@@ -0,0 +1,29 @@
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@EVAS_CFLAGS@ \
9@EINA_CFLAGS@
10
11lib_LTLIBRARIES = libecore_cocoa.la
12includes_HEADERS = \
13Ecore_Cocoa.h \
14Ecore_Cocoa_Keys.h
15includesdir = $(includedir)/ecore-@VMAJ@
16
17libecore_cocoa_la_SOURCES = \
18ecore_cocoa.m \
19ecore_cocoa_window.m
20
21libecore_cocoa_la_LIBADD = \
22$(top_builddir)/src/lib/ecore/libecore.la \
23$(top_builddir)/src/lib/ecore_input/libecore_input.la \
24@EVAS_LIBS@ \
25@EINA_LIBS@
26
27libecore_cocoa_la_LDFLAGS = @cocoa_ldflags@ -version-info @version_info@ @release_info@
28
29EXTRA_DIST = ecore_cocoa_private.h
diff --git a/libraries/ecore/src/lib/ecore_cocoa/Makefile.in b/libraries/ecore/src/lib/ecore_cocoa/Makefile.in
new file mode 100644
index 0000000..ede48a2
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_cocoa/Makefile.in
@@ -0,0 +1,823 @@
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_cocoa
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/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \
54 $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
55 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
56 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
57 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
58 $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
59 $(top_srcdir)/configure.ac
60am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
61 $(ACLOCAL_M4)
62mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
63CONFIG_HEADER = $(top_builddir)/config.h
64CONFIG_CLEAN_FILES =
65CONFIG_CLEAN_VPATH_FILES =
66am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
67am__vpath_adj = case $$p in \
68 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
69 *) f=$$p;; \
70 esac;
71am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
72am__install_max = 40
73am__nobase_strip_setup = \
74 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
75am__nobase_strip = \
76 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
77am__nobase_list = $(am__nobase_strip_setup); \
78 for p in $$list; do echo "$$p $$p"; done | \
79 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
80 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
81 if (++n[$$2] == $(am__install_max)) \
82 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
83 END { for (dir in files) print dir, files[dir] }'
84am__base_list = \
85 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
86 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
87am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includesdir)"
88LTLIBRARIES = $(lib_LTLIBRARIES)
89libecore_cocoa_la_DEPENDENCIES = \
90 $(top_builddir)/src/lib/ecore/libecore.la \
91 $(top_builddir)/src/lib/ecore_input/libecore_input.la
92am_libecore_cocoa_la_OBJECTS = ecore_cocoa.lo ecore_cocoa_window.lo
93libecore_cocoa_la_OBJECTS = $(am_libecore_cocoa_la_OBJECTS)
94AM_V_lt = $(am__v_lt_$(V))
95am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
96am__v_lt_0 = --silent
97libecore_cocoa_la_LINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
98 $(LIBTOOLFLAGS) --mode=link $(OBJCLD) $(AM_OBJCFLAGS) \
99 $(OBJCFLAGS) $(libecore_cocoa_la_LDFLAGS) $(LDFLAGS) -o $@
100DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
101depcomp = $(SHELL) $(top_srcdir)/depcomp
102am__depfiles_maybe = depfiles
103am__mv = mv -f
104OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
105 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)
106LTOBJCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
107 $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) \
108 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
109 $(AM_OBJCFLAGS) $(OBJCFLAGS)
110AM_V_OBJC = $(am__v_OBJC_$(V))
111am__v_OBJC_ = $(am__v_OBJC_$(AM_DEFAULT_VERBOSITY))
112am__v_OBJC_0 = @echo " OBJC " $@;
113AM_V_at = $(am__v_at_$(V))
114am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
115am__v_at_0 = @
116OBJCLD = $(OBJC)
117OBJCLINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
118 --mode=link $(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) \
119 $(AM_LDFLAGS) $(LDFLAGS) -o $@
120AM_V_OBJCLD = $(am__v_OBJCLD_$(V))
121am__v_OBJCLD_ = $(am__v_OBJCLD_$(AM_DEFAULT_VERBOSITY))
122am__v_OBJCLD_0 = @echo " OBJCLD" $@;
123AM_V_GEN = $(am__v_GEN_$(V))
124am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
125am__v_GEN_0 = @echo " GEN " $@;
126SOURCES = $(libecore_cocoa_la_SOURCES)
127DIST_SOURCES = $(libecore_cocoa_la_SOURCES)
128HEADERS = $(includes_HEADERS)
129ETAGS = etags
130CTAGS = ctags
131DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
132ACLOCAL = @ACLOCAL@
133ALLOCA = @ALLOCA@
134AMTAR = @AMTAR@
135AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
136AR = @AR@
137AS = @AS@
138AUTOCONF = @AUTOCONF@
139AUTOHEADER = @AUTOHEADER@
140AUTOMAKE = @AUTOMAKE@
141AWK = @AWK@
142CARES_CFLAGS = @CARES_CFLAGS@
143CARES_LIBS = @CARES_LIBS@
144CC = @CC@
145CCDEPMODE = @CCDEPMODE@
146CFLAGS = @CFLAGS@
147CHECK_CFLAGS = @CHECK_CFLAGS@
148CHECK_LIBS = @CHECK_LIBS@
149CPP = @CPP@
150CPPFLAGS = @CPPFLAGS@
151CURL_CFLAGS = @CURL_CFLAGS@
152CURL_LIBS = @CURL_LIBS@
153CXX = @CXX@
154CXXCPP = @CXXCPP@
155CXXDEPMODE = @CXXDEPMODE@
156CXXFLAGS = @CXXFLAGS@
157CYGPATH_W = @CYGPATH_W@
158DEFS = @DEFS@
159DEPDIR = @DEPDIR@
160DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
161DIRECTFB_LIBS = @DIRECTFB_LIBS@
162DLLTOOL = @DLLTOOL@
163DSYMUTIL = @DSYMUTIL@
164DUMPBIN = @DUMPBIN@
165ECHO_C = @ECHO_C@
166ECHO_N = @ECHO_N@
167ECHO_T = @ECHO_T@
168ECORE_XCB_CFLAGS = @ECORE_XCB_CFLAGS@
169ECORE_XCB_LIBS = @ECORE_XCB_LIBS@
170EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
171EFL_ECORE_CON_BUILD = @EFL_ECORE_CON_BUILD@
172EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
173EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
174EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
175EFL_ECORE_IMF_EVAS_BUILD = @EFL_ECORE_IMF_EVAS_BUILD@
176EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
177EFL_ECORE_INPUT_EVAS_BUILD = @EFL_ECORE_INPUT_EVAS_BUILD@
178EFL_ECORE_IPC_BUILD = @EFL_ECORE_IPC_BUILD@
179EFL_ECORE_PSL1GHT_BUILD = @EFL_ECORE_PSL1GHT_BUILD@
180EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
181EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
182EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
183EFL_PTHREAD_CFLAGS = @EFL_PTHREAD_CFLAGS@
184EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
185EGREP = @EGREP@
186EINA_CFLAGS = @EINA_CFLAGS@
187EINA_LIBS = @EINA_LIBS@
188ESCAPE_CFLAGS = @ESCAPE_CFLAGS@
189ESCAPE_LIBS = @ESCAPE_LIBS@
190EVAS_CFLAGS = @EVAS_CFLAGS@
191EVAS_LIBS = @EVAS_LIBS@
192EVIL_CFLAGS = @EVIL_CFLAGS@
193EVIL_LIBS = @EVIL_LIBS@
194EXEEXT = @EXEEXT@
195FGREP = @FGREP@
196GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
197GLIB_CFLAGS = @GLIB_CFLAGS@
198GLIB_LIBS = @GLIB_LIBS@
199GMSGFMT = @GMSGFMT@
200GMSGFMT_015 = @GMSGFMT_015@
201GREP = @GREP@
202INSTALL = @INSTALL@
203INSTALL_DATA = @INSTALL_DATA@
204INSTALL_PROGRAM = @INSTALL_PROGRAM@
205INSTALL_SCRIPT = @INSTALL_SCRIPT@
206INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
207INTLLIBS = @INTLLIBS@
208INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
209KEYSYMDEFS = @KEYSYMDEFS@
210LD = @LD@
211LDFLAGS = @LDFLAGS@
212LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
213LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
214LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
215LIBICONV = @LIBICONV@
216LIBINTL = @LIBINTL@
217LIBOBJS = @LIBOBJS@
218LIBS = @LIBS@
219LIBTOOL = @LIBTOOL@
220LIPO = @LIPO@
221LN_S = @LN_S@
222LTLIBICONV = @LTLIBICONV@
223LTLIBINTL = @LTLIBINTL@
224LTLIBOBJS = @LTLIBOBJS@
225MAKEINFO = @MAKEINFO@
226MKDIR_P = @MKDIR_P@
227MSGFMT = @MSGFMT@
228MSGFMT_015 = @MSGFMT_015@
229MSGMERGE = @MSGMERGE@
230NM = @NM@
231NMEDIT = @NMEDIT@
232OBJC = @OBJC@
233OBJCDEPMODE = @OBJCDEPMODE@
234OBJCFLAGS = @OBJCFLAGS@
235OBJDUMP = @OBJDUMP@
236OBJEXT = @OBJEXT@
237OTOOL = @OTOOL@
238OTOOL64 = @OTOOL64@
239PACKAGE = @PACKAGE@
240PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
241PACKAGE_NAME = @PACKAGE_NAME@
242PACKAGE_STRING = @PACKAGE_STRING@
243PACKAGE_TARNAME = @PACKAGE_TARNAME@
244PACKAGE_URL = @PACKAGE_URL@
245PACKAGE_VERSION = @PACKAGE_VERSION@
246PATH_SEPARATOR = @PATH_SEPARATOR@
247PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
248PIXMAN_LIBS = @PIXMAN_LIBS@
249PKG_CONFIG = @PKG_CONFIG@
250PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
251PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
252POSUB = @POSUB@
253RANLIB = @RANLIB@
254SDL_CFLAGS = @SDL_CFLAGS@
255SDL_CONFIG = @SDL_CONFIG@
256SDL_LIBS = @SDL_LIBS@
257SED = @SED@
258SET_MAKE = @SET_MAKE@
259SHELL = @SHELL@
260SSL_CFLAGS = @SSL_CFLAGS@
261SSL_LIBS = @SSL_LIBS@
262STRIP = @STRIP@
263TLS2_CFLAGS = @TLS2_CFLAGS@
264TLS2_LIBS = @TLS2_LIBS@
265TLS_CFLAGS = @TLS_CFLAGS@
266TLS_LIBS = @TLS_LIBS@
267TSLIB_CFLAGS = @TSLIB_CFLAGS@
268TSLIB_LIBS = @TSLIB_LIBS@
269USE_NLS = @USE_NLS@
270VERSION = @VERSION@
271VMAJ = @VMAJ@
272WIN32_CFLAGS = @WIN32_CFLAGS@
273WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
274WIN32_LIBS = @WIN32_LIBS@
275XCB_COMPOSITE_CFLAGS = @XCB_COMPOSITE_CFLAGS@
276XCB_COMPOSITE_LIBS = @XCB_COMPOSITE_LIBS@
277XCB_CURSOR_CFLAGS = @XCB_CURSOR_CFLAGS@
278XCB_CURSOR_LIBS = @XCB_CURSOR_LIBS@
279XCB_DAMAGE_CFLAGS = @XCB_DAMAGE_CFLAGS@
280XCB_DAMAGE_LIBS = @XCB_DAMAGE_LIBS@
281XCB_DPMS_CFLAGS = @XCB_DPMS_CFLAGS@
282XCB_DPMS_LIBS = @XCB_DPMS_LIBS@
283XCB_RANDR_CFLAGS = @XCB_RANDR_CFLAGS@
284XCB_RANDR_LIBS = @XCB_RANDR_LIBS@
285XCB_RENDER_CFLAGS = @XCB_RENDER_CFLAGS@
286XCB_RENDER_LIBS = @XCB_RENDER_LIBS@
287XCB_SCREENSAVER_CFLAGS = @XCB_SCREENSAVER_CFLAGS@
288XCB_SCREENSAVER_LIBS = @XCB_SCREENSAVER_LIBS@
289XCB_SHAPE_CFLAGS = @XCB_SHAPE_CFLAGS@
290XCB_SHAPE_LIBS = @XCB_SHAPE_LIBS@
291XCB_SYNC_CFLAGS = @XCB_SYNC_CFLAGS@
292XCB_SYNC_LIBS = @XCB_SYNC_LIBS@
293XCB_X11_CFLAGS = @XCB_X11_CFLAGS@
294XCB_X11_LIBS = @XCB_X11_LIBS@
295XCB_XFIXES_CFLAGS = @XCB_XFIXES_CFLAGS@
296XCB_XFIXES_LIBS = @XCB_XFIXES_LIBS@
297XCB_XGESTURE_CFLAGS = @XCB_XGESTURE_CFLAGS@
298XCB_XGESTURE_LIBS = @XCB_XGESTURE_LIBS@
299XCB_XINERAMA_CFLAGS = @XCB_XINERAMA_CFLAGS@
300XCB_XINERAMA_LIBS = @XCB_XINERAMA_LIBS@
301XCB_XINPUT_CFLAGS = @XCB_XINPUT_CFLAGS@
302XCB_XINPUT_LIBS = @XCB_XINPUT_LIBS@
303XCB_XPRINT_CFLAGS = @XCB_XPRINT_CFLAGS@
304XCB_XPRINT_LIBS = @XCB_XPRINT_LIBS@
305XCB_XTEST_CFLAGS = @XCB_XTEST_CFLAGS@
306XCB_XTEST_LIBS = @XCB_XTEST_LIBS@
307XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
308XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
309XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
310XDAMAGE_LIBS = @XDAMAGE_LIBS@
311XDPMS_CFLAGS = @XDPMS_CFLAGS@
312XDPMS_LIBS = @XDPMS_LIBS@
313XFIXES_CFLAGS = @XFIXES_CFLAGS@
314XFIXES_LIBS = @XFIXES_LIBS@
315XGESTURE_CFLAGS = @XGESTURE_CFLAGS@
316XGESTURE_LIBS = @XGESTURE_LIBS@
317XGETTEXT = @XGETTEXT@
318XGETTEXT_015 = @XGETTEXT_015@
319XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
320XI2_CFLAGS = @XI2_CFLAGS@
321XI2_LIBS = @XI2_LIBS@
322XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
323XINERAMA_LIBS = @XINERAMA_LIBS@
324XKB_CFLAGS = @XKB_CFLAGS@
325XKB_LIBS = @XKB_LIBS@
326XMKMF = @XMKMF@
327XPRINT_CFLAGS = @XPRINT_CFLAGS@
328XPRINT_LIBS = @XPRINT_LIBS@
329XRANDR_CFLAGS = @XRANDR_CFLAGS@
330XRANDR_LIBS = @XRANDR_LIBS@
331XRENDER_CFLAGS = @XRENDER_CFLAGS@
332XRENDER_LIBS = @XRENDER_LIBS@
333XSS_CFLAGS = @XSS_CFLAGS@
334XSS_LIBS = @XSS_LIBS@
335XTEST_CFLAGS = @XTEST_CFLAGS@
336XTEST_LIBS = @XTEST_LIBS@
337X_CFLAGS = @X_CFLAGS@
338X_EXTRA_LIBS = @X_EXTRA_LIBS@
339X_LIBS = @X_LIBS@
340X_PRE_LIBS = @X_PRE_LIBS@
341Xcursor_cflags = @Xcursor_cflags@
342Xcursor_libs = @Xcursor_libs@
343abs_builddir = @abs_builddir@
344abs_srcdir = @abs_srcdir@
345abs_top_builddir = @abs_top_builddir@
346abs_top_srcdir = @abs_top_srcdir@
347ac_ct_CC = @ac_ct_CC@
348ac_ct_CXX = @ac_ct_CXX@
349ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
350ac_ct_OBJC = @ac_ct_OBJC@
351am__include = @am__include@
352am__leading_dot = @am__leading_dot@
353am__quote = @am__quote@
354am__tar = @am__tar@
355am__untar = @am__untar@
356bindir = @bindir@
357build = @build@
358build_alias = @build_alias@
359build_cpu = @build_cpu@
360build_os = @build_os@
361build_vendor = @build_vendor@
362builddir = @builddir@
363cocoa_ldflags = @cocoa_ldflags@
364datadir = @datadir@
365datarootdir = @datarootdir@
366dlopen_libs = @dlopen_libs@
367docdir = @docdir@
368dvidir = @dvidir@
369ecore_cocoa_cflags = @ecore_cocoa_cflags@
370ecore_cocoa_libs = @ecore_cocoa_libs@
371ecore_con_cflags = @ecore_con_cflags@
372ecore_con_libs = @ecore_con_libs@
373ecore_directfb_cflags = @ecore_directfb_cflags@
374ecore_directfb_libs = @ecore_directfb_libs@
375ecore_evas_cflags = @ecore_evas_cflags@
376ecore_evas_libs = @ecore_evas_libs@
377ecore_fb_cflags = @ecore_fb_cflags@
378ecore_fb_libs = @ecore_fb_libs@
379ecore_file_cflags = @ecore_file_cflags@
380ecore_file_libs = @ecore_file_libs@
381ecore_imf_cflags = @ecore_imf_cflags@
382ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
383ecore_imf_evas_libs = @ecore_imf_evas_libs@
384ecore_imf_libs = @ecore_imf_libs@
385ecore_imf_xim_cflags = @ecore_imf_xim_cflags@
386ecore_imf_xim_libs = @ecore_imf_xim_libs@
387ecore_input_cflags = @ecore_input_cflags@
388ecore_input_evas_cflags = @ecore_input_evas_cflags@
389ecore_input_evas_libs = @ecore_input_evas_libs@
390ecore_input_libs = @ecore_input_libs@
391ecore_ipc_cflags = @ecore_ipc_cflags@
392ecore_ipc_libs = @ecore_ipc_libs@
393ecore_psl1ght_cflags = @ecore_psl1ght_cflags@
394ecore_psl1ght_libs = @ecore_psl1ght_libs@
395ecore_sdl_cflags = @ecore_sdl_cflags@
396ecore_sdl_libs = @ecore_sdl_libs@
397ecore_win32_cflags = @ecore_win32_cflags@
398ecore_win32_libs = @ecore_win32_libs@
399ecore_wince_cflags = @ecore_wince_cflags@
400ecore_wince_libs = @ecore_wince_libs@
401ecore_x_cflags = @ecore_x_cflags@
402ecore_x_libs = @ecore_x_libs@
403ecore_x_libs_private = @ecore_x_libs_private@
404efl_doxygen = @efl_doxygen@
405efl_have_doxygen = @efl_have_doxygen@
406exec_prefix = @exec_prefix@
407have_ecore_x_xcb_define = @have_ecore_x_xcb_define@
408host = @host@
409host_alias = @host_alias@
410host_cpu = @host_cpu@
411host_os = @host_os@
412host_vendor = @host_vendor@
413htmldir = @htmldir@
414includedir = @includedir@
415infodir = @infodir@
416install_sh = @install_sh@
417libdir = @libdir@
418libexecdir = @libexecdir@
419localedir = @localedir@
420localstatedir = @localstatedir@
421lt_ECHO = @lt_ECHO@
422lt_enable_auto_import = @lt_enable_auto_import@
423mandir = @mandir@
424mkdir_p = @mkdir_p@
425oldincludedir = @oldincludedir@
426pdfdir = @pdfdir@
427pkgconfig_requires_private = @pkgconfig_requires_private@
428prefix = @prefix@
429program_transform_name = @program_transform_name@
430psdir = @psdir@
431release_info = @release_info@
432requirements_ecore = @requirements_ecore@
433requirements_ecore_cocoa = @requirements_ecore_cocoa@
434requirements_ecore_con = @requirements_ecore_con@
435requirements_ecore_directfb = @requirements_ecore_directfb@
436requirements_ecore_evas = @requirements_ecore_evas@
437requirements_ecore_fb = @requirements_ecore_fb@
438requirements_ecore_file = @requirements_ecore_file@
439requirements_ecore_imf = @requirements_ecore_imf@
440requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
441requirements_ecore_imf_xim = @requirements_ecore_imf_xim@
442requirements_ecore_input = @requirements_ecore_input@
443requirements_ecore_input_evas = @requirements_ecore_input_evas@
444requirements_ecore_ipc = @requirements_ecore_ipc@
445requirements_ecore_psl1ght = @requirements_ecore_psl1ght@
446requirements_ecore_sdl = @requirements_ecore_sdl@
447requirements_ecore_win32 = @requirements_ecore_win32@
448requirements_ecore_wince = @requirements_ecore_wince@
449requirements_ecore_x = @requirements_ecore_x@
450rt_libs = @rt_libs@
451sbindir = @sbindir@
452sharedstatedir = @sharedstatedir@
453srcdir = @srcdir@
454sysconfdir = @sysconfdir@
455target_alias = @target_alias@
456top_build_prefix = @top_build_prefix@
457top_builddir = @top_builddir@
458top_srcdir = @top_srcdir@
459version_info = @version_info@
460x_cflags = @x_cflags@
461x_includes = @x_includes@
462x_libs = @x_libs@
463MAINTAINERCLEANFILES = Makefile.in
464AM_CPPFLAGS = \
465-I$(top_srcdir)/src/lib/ecore \
466-I$(top_srcdir)/src/lib/ecore_input \
467-I$(top_builddir)/src/lib/ecore \
468-I$(top_builddir)/src/lib/ecore_input \
469@EVAS_CFLAGS@ \
470@EINA_CFLAGS@
471
472lib_LTLIBRARIES = libecore_cocoa.la
473includes_HEADERS = \
474Ecore_Cocoa.h \
475Ecore_Cocoa_Keys.h
476
477includesdir = $(includedir)/ecore-@VMAJ@
478libecore_cocoa_la_SOURCES = \
479ecore_cocoa.m \
480ecore_cocoa_window.m
481
482libecore_cocoa_la_LIBADD = \
483$(top_builddir)/src/lib/ecore/libecore.la \
484$(top_builddir)/src/lib/ecore_input/libecore_input.la \
485@EVAS_LIBS@ \
486@EINA_LIBS@
487
488libecore_cocoa_la_LDFLAGS = @cocoa_ldflags@ -version-info @version_info@ @release_info@
489EXTRA_DIST = ecore_cocoa_private.h
490all: all-am
491
492.SUFFIXES:
493.SUFFIXES: .lo .m .o .obj
494$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
495 @for dep in $?; do \
496 case '$(am__configure_deps)' in \
497 *$$dep*) \
498 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
499 && { if test -f $@; then exit 0; else break; fi; }; \
500 exit 1;; \
501 esac; \
502 done; \
503 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/ecore_cocoa/Makefile'; \
504 $(am__cd) $(top_srcdir) && \
505 $(AUTOMAKE) --gnu src/lib/ecore_cocoa/Makefile
506.PRECIOUS: Makefile
507Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
508 @case '$?' in \
509 *config.status*) \
510 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
511 *) \
512 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
513 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
514 esac;
515
516$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
517 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
518
519$(top_srcdir)/configure: $(am__configure_deps)
520 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
521$(ACLOCAL_M4): $(am__aclocal_m4_deps)
522 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
523$(am__aclocal_m4_deps):
524install-libLTLIBRARIES: $(lib_LTLIBRARIES)
525 @$(NORMAL_INSTALL)
526 test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
527 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
528 list2=; for p in $$list; do \
529 if test -f $$p; then \
530 list2="$$list2 $$p"; \
531 else :; fi; \
532 done; \
533 test -z "$$list2" || { \
534 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
535 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
536 }
537
538uninstall-libLTLIBRARIES:
539 @$(NORMAL_UNINSTALL)
540 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
541 for p in $$list; do \
542 $(am__strip_dir) \
543 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
544 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
545 done
546
547clean-libLTLIBRARIES:
548 -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
549 @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
550 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
551 test "$$dir" != "$$p" || dir=.; \
552 echo "rm -f \"$${dir}/so_locations\""; \
553 rm -f "$${dir}/so_locations"; \
554 done
555libecore_cocoa.la: $(libecore_cocoa_la_OBJECTS) $(libecore_cocoa_la_DEPENDENCIES)
556 $(AM_V_OBJCLD)$(libecore_cocoa_la_LINK) -rpath $(libdir) $(libecore_cocoa_la_OBJECTS) $(libecore_cocoa_la_LIBADD) $(LIBS)
557
558mostlyclean-compile:
559 -rm -f *.$(OBJEXT)
560
561distclean-compile:
562 -rm -f *.tab.c
563
564@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_cocoa.Plo@am__quote@
565@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_cocoa_window.Plo@am__quote@
566
567.m.o:
568@am__fastdepOBJC_TRUE@ $(AM_V_OBJC)$(OBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
569@am__fastdepOBJC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
570@am__fastdepOBJC_FALSE@ $(AM_V_OBJC) @AM_BACKSLASH@
571@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
572@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
573@am__fastdepOBJC_FALSE@ $(OBJCCOMPILE) -c -o $@ $<
574
575.m.obj:
576@am__fastdepOBJC_TRUE@ $(AM_V_OBJC)$(OBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
577@am__fastdepOBJC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
578@am__fastdepOBJC_FALSE@ $(AM_V_OBJC) @AM_BACKSLASH@
579@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
580@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
581@am__fastdepOBJC_FALSE@ $(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
582
583.m.lo:
584@am__fastdepOBJC_TRUE@ $(AM_V_OBJC)$(LTOBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
585@am__fastdepOBJC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
586@am__fastdepOBJC_FALSE@ $(AM_V_OBJC) @AM_BACKSLASH@
587@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
588@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
589@am__fastdepOBJC_FALSE@ $(LTOBJCCOMPILE) -c -o $@ $<
590
591mostlyclean-libtool:
592 -rm -f *.lo
593
594clean-libtool:
595 -rm -rf .libs _libs
596install-includesHEADERS: $(includes_HEADERS)
597 @$(NORMAL_INSTALL)
598 test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
599 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
600 for p in $$list; do \
601 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
602 echo "$$d$$p"; \
603 done | $(am__base_list) | \
604 while read files; do \
605 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
606 $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
607 done
608
609uninstall-includesHEADERS:
610 @$(NORMAL_UNINSTALL)
611 @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
612 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
613 test -n "$$files" || exit 0; \
614 echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
615 cd "$(DESTDIR)$(includesdir)" && rm -f $$files
616
617ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
618 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
619 unique=`for i in $$list; do \
620 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
621 done | \
622 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
623 END { if (nonempty) { for (i in files) print i; }; }'`; \
624 mkid -fID $$unique
625tags: TAGS
626
627TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
628 $(TAGS_FILES) $(LISP)
629 set x; \
630 here=`pwd`; \
631 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
632 unique=`for i in $$list; do \
633 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
634 done | \
635 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
636 END { if (nonempty) { for (i in files) print i; }; }'`; \
637 shift; \
638 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
639 test -n "$$unique" || unique=$$empty_fix; \
640 if test $$# -gt 0; then \
641 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
642 "$$@" $$unique; \
643 else \
644 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
645 $$unique; \
646 fi; \
647 fi
648ctags: CTAGS
649CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
650 $(TAGS_FILES) $(LISP)
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 test -z "$(CTAGS_ARGS)$$unique" \
658 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
659 $$unique
660
661GTAGS:
662 here=`$(am__cd) $(top_builddir) && pwd` \
663 && $(am__cd) $(top_srcdir) \
664 && gtags -i $(GTAGS_ARGS) "$$here"
665
666distclean-tags:
667 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
668
669distdir: $(DISTFILES)
670 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
671 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
672 list='$(DISTFILES)'; \
673 dist_files=`for file in $$list; do echo $$file; done | \
674 sed -e "s|^$$srcdirstrip/||;t" \
675 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
676 case $$dist_files in \
677 */*) $(MKDIR_P) `echo "$$dist_files" | \
678 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
679 sort -u` ;; \
680 esac; \
681 for file in $$dist_files; do \
682 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
683 if test -d $$d/$$file; then \
684 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
685 if test -d "$(distdir)/$$file"; then \
686 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
687 fi; \
688 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
689 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
690 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
691 fi; \
692 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
693 else \
694 test -f "$(distdir)/$$file" \
695 || cp -p $$d/$$file "$(distdir)/$$file" \
696 || exit 1; \
697 fi; \
698 done
699check-am: all-am
700check: check-am
701all-am: Makefile $(LTLIBRARIES) $(HEADERS)
702installdirs:
703 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includesdir)"; do \
704 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
705 done
706install: install-am
707install-exec: install-exec-am
708install-data: install-data-am
709uninstall: uninstall-am
710
711install-am: all-am
712 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
713
714installcheck: installcheck-am
715install-strip:
716 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
717 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
718 `test -z '$(STRIP)' || \
719 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
720mostlyclean-generic:
721
722clean-generic:
723
724distclean-generic:
725 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
726 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
727
728maintainer-clean-generic:
729 @echo "This command is intended for maintainers to use"
730 @echo "it deletes files that may require special tools to rebuild."
731 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
732clean: clean-am
733
734clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
735 mostlyclean-am
736
737distclean: distclean-am
738 -rm -rf ./$(DEPDIR)
739 -rm -f Makefile
740distclean-am: clean-am distclean-compile distclean-generic \
741 distclean-tags
742
743dvi: dvi-am
744
745dvi-am:
746
747html: html-am
748
749html-am:
750
751info: info-am
752
753info-am:
754
755install-data-am: install-includesHEADERS
756
757install-dvi: install-dvi-am
758
759install-dvi-am:
760
761install-exec-am: install-libLTLIBRARIES
762
763install-html: install-html-am
764
765install-html-am:
766
767install-info: install-info-am
768
769install-info-am:
770
771install-man:
772
773install-pdf: install-pdf-am
774
775install-pdf-am:
776
777install-ps: install-ps-am
778
779install-ps-am:
780
781installcheck-am:
782
783maintainer-clean: maintainer-clean-am
784 -rm -rf ./$(DEPDIR)
785 -rm -f Makefile
786maintainer-clean-am: distclean-am maintainer-clean-generic
787
788mostlyclean: mostlyclean-am
789
790mostlyclean-am: mostlyclean-compile mostlyclean-generic \
791 mostlyclean-libtool
792
793pdf: pdf-am
794
795pdf-am:
796
797ps: ps-am
798
799ps-am:
800
801uninstall-am: uninstall-includesHEADERS uninstall-libLTLIBRARIES
802
803.MAKE: install-am install-strip
804
805.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
806 clean-libLTLIBRARIES clean-libtool ctags distclean \
807 distclean-compile distclean-generic distclean-libtool \
808 distclean-tags distdir dvi dvi-am html html-am info info-am \
809 install install-am install-data install-data-am install-dvi \
810 install-dvi-am install-exec install-exec-am install-html \
811 install-html-am install-includesHEADERS install-info \
812 install-info-am install-libLTLIBRARIES install-man install-pdf \
813 install-pdf-am install-ps install-ps-am install-strip \
814 installcheck installcheck-am installdirs maintainer-clean \
815 maintainer-clean-generic mostlyclean mostlyclean-compile \
816 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
817 tags uninstall uninstall-am uninstall-includesHEADERS \
818 uninstall-libLTLIBRARIES
819
820
821# Tell versions [3.59,3.63) of GNU make to not export all variables.
822# Otherwise a system limit (for SysV at least) may be exceeded.
823.NOEXPORT:
diff --git a/libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa.m b/libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa.m
new file mode 100644
index 0000000..3f6023a
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa.m
@@ -0,0 +1,283 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif
4
5#include <Cocoa/Cocoa.h>
6
7#include <Eina.h>
8
9#include <Ecore.h>
10#include <ecore_private.h>
11#include <Ecore_Input.h>
12
13#include "Ecore_Cocoa.h"
14#include "Ecore_Cocoa_Keys.h"
15
16
17EAPI int ECORE_COCOA_EVENT_GOT_FOCUS = 0;
18EAPI int ECORE_COCOA_EVENT_LOST_FOCUS = 0;
19EAPI int ECORE_COCOA_EVENT_RESIZE = 0;
20EAPI int ECORE_COCOA_EVENT_EXPOSE = 0;
21
22static int _ecore_cocoa_init_count = 0;
23
24static int old_flags;
25
26EAPI int
27ecore_cocoa_init(void)
28{
29 if (++_ecore_cocoa_init_count != 1)
30 return _ecore_cocoa_init_count;
31
32 if (!ecore_event_init())
33 return --_ecore_cocoa_init_count;
34
35 NSApplicationLoad();
36
37 ECORE_COCOA_EVENT_GOT_FOCUS = ecore_event_type_new();
38 ECORE_COCOA_EVENT_LOST_FOCUS = ecore_event_type_new();
39 ECORE_COCOA_EVENT_RESIZE = ecore_event_type_new();
40 ECORE_COCOA_EVENT_EXPOSE = ecore_event_type_new();
41
42 return _ecore_cocoa_init_count;
43}
44
45/**
46 * Shuts down the Ecore_Cocoa library.
47 * @return @c The number of times the system has been initialised without
48 * being shut down.
49 * @ingroup Ecore_Cocoa_Library_Group
50 */
51EAPI int
52ecore_cocoa_shutdown(void)
53{
54 if (--_ecore_cocoa_init_count != 0)
55 return _ecore_cocoa_init_count;
56
57 ecore_event_shutdown();
58
59 return _ecore_cocoa_init_count;
60}
61
62EAPI void
63ecore_cocoa_feed_events(void)
64{
65 NSDate *date = [NSDate dateWithTimeIntervalSinceNow:0.001];
66 NSEvent *event = [NSApp nextEventMatchingMask:NSAnyEventMask
67 untilDate:date
68 inMode:NSDefaultRunLoopMode
69 dequeue:YES];
70 [date release];
71 if (!event) return; // SDL loops until null; maybe we should do that too. or not.
72
73 unsigned int time = (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff);
74
75 switch([event type])
76 {
77 case NSMouseMoved:
78 case NSLeftMouseDragged:
79 case NSRightMouseDragged:
80 case NSOtherMouseDragged:
81 {
82 Ecore_Event_Mouse_Move * ev = calloc(1, sizeof(Ecore_Event_Mouse_Move));
83 if (!ev) return;
84 ev->x = [event locationInWindow].x;
85 ev->y = [event locationInWindow].y;
86 ev->root.x = ev->x;
87 ev->root.y = ev->y;
88 ev->timestamp = time;
89 ev->window = [event window];
90 ev->modifiers = 0; /* FIXME: keep modifier around. */
91
92 ecore_event_add(ECORE_EVENT_MOUSE_MOVE, ev, NULL, NULL);
93
94 [NSApp sendEvent:event]; // pass along mouse events, for window manager
95 break;
96 }
97 case NSLeftMouseDown:
98 case NSRightMouseDown:
99 case NSOtherMouseDown:
100 {
101 Ecore_Event_Mouse_Button * ev = calloc(1, sizeof(Ecore_Event_Mouse_Button));
102 if (!ev) return;
103 ev->x = [event locationInWindow].x;
104 ev->y = [event locationInWindow].y;
105 ev->root.x = ev->x;
106 ev->root.y = ev->y;
107 ev->timestamp = time;
108 ev->buttons = [event buttonNumber] + 1; // Apple indexes buttons from 0
109
110 if ([event clickCount] == 2)
111 ev->double_click = 1;
112 else
113 ev->double_click = 0;
114
115 if ([event clickCount] >= 3)
116 ev->triple_click = 1;
117 else
118 ev->triple_click = 0;
119
120 ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL);
121
122 [NSApp sendEvent:event]; // pass along mouse events, for window manager
123 break;
124 }
125 case NSLeftMouseUp:
126 case NSRightMouseUp:
127 case NSOtherMouseUp:
128 {
129 Ecore_Event_Mouse_Button * ev = calloc(1, sizeof(Ecore_Event_Mouse_Button));
130 if (!ev) return;
131 ev->x = [event locationInWindow].x;
132 ev->y = [event locationInWindow].y;
133 ev->root.x = ev->x;
134 ev->root.y = ev->y;
135 ev->timestamp = time;
136 ev->buttons = [event buttonNumber] + 1; // Apple indexes buttons from 0
137
138 if ([event clickCount] == 2)
139 ev->double_click = 1;
140 else
141 ev->double_click = 0;
142
143 if ([event clickCount] >= 3)
144 ev->triple_click = 1;
145 else
146 ev->triple_click = 0;
147
148 ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL);
149
150 [NSApp sendEvent:event]; // pass along mouse events, for window manager
151 break;
152 }
153 case NSKeyDown:
154 {
155 Ecore_Event_Key *ev;
156 unsigned int i;
157
158 ev = calloc(1, sizeof (Ecore_Event_Key));
159 if (!ev) return;
160 ev->timestamp = time;
161
162 for (i = 0; i < sizeof (keystable) / sizeof (struct _ecore_cocoa_keys_s); ++i)
163 {
164 if (keystable[i].code == tolower([[event charactersIgnoringModifiers] characterAtIndex:0]))
165 {
166 ev->keyname = keystable[i].name;
167 ev->string = keystable[i].compose;
168
169 ecore_event_add(ECORE_EVENT_KEY_DOWN, ev, NULL, NULL);
170 return;
171 }
172 }
173
174 break;
175 }
176 case NSKeyUp:
177 {
178 Ecore_Event_Key *ev;
179 unsigned int i;
180
181 ev = calloc(1, sizeof (Ecore_Event_Key));
182 if (!ev) return;
183 ev->timestamp = time;
184
185 for (i = 0; i < sizeof (keystable) / sizeof (struct _ecore_cocoa_keys_s); ++i)
186 {
187 if (keystable[i].code == tolower([[event charactersIgnoringModifiers] characterAtIndex:0]))
188 {
189 ev->keyname = keystable[i].name;
190 ev->string = keystable[i].compose;
191
192 ecore_event_add(ECORE_EVENT_KEY_UP, ev, NULL, NULL);
193 return;
194 }
195 }
196
197 break;
198 }
199 case NSFlagsChanged:
200 {
201 int flags = [event modifierFlags];
202
203 Ecore_Event_Key *evDown = NULL;
204 Ecore_Event_Key *evUp = NULL;
205
206 evDown = calloc(1, sizeof (Ecore_Event_Key));
207 if (!evDown) return;
208
209 evUp = calloc(1, sizeof (Ecore_Event_Key));
210 if (!evUp)
211 {
212 free(evDown);
213 return;
214 }
215
216 // Turn special key flags on
217 if (flags & NSShiftKeyMask)
218 evDown->keyname = "Shift_L";
219 else if (flags & NSControlKeyMask)
220 evDown->keyname = "Control_L";
221 else if (flags & NSAlternateKeyMask)
222 evDown->keyname = "Alt_L";
223 else if (flags & NSCommandKeyMask)
224 evDown->keyname = "Super_L";
225 else if (flags & NSAlphaShiftKeyMask)
226 evDown->keyname = "Caps_Lock";
227
228 if (evDown->keyname)
229 {
230 evDown->timestamp = time;
231 evDown->string = "";
232 ecore_event_add(ECORE_EVENT_KEY_DOWN, evDown, NULL, NULL);
233 old_flags = flags;
234 break;
235 }
236
237 int changed_flags = flags ^ old_flags;
238
239 // Turn special key flags off
240 if (changed_flags & NSShiftKeyMask)
241 evUp->keyname = "Shift_L";
242 else if (changed_flags & NSControlKeyMask)
243 evUp->keyname = "Control_L";
244 else if (changed_flags & NSAlternateKeyMask)
245 evUp->keyname = "Alt_L";
246 else if (changed_flags & NSCommandKeyMask)
247 evUp->keyname = "Super_L";
248 else if (changed_flags & NSAlphaShiftKeyMask)
249 evUp->keyname = "Caps_Lock";
250
251 if (evUp->keyname)
252 {
253 evUp->timestamp = time;
254 evUp->string = "";
255 ecore_event_add(ECORE_EVENT_KEY_UP, evUp, NULL, NULL);
256 old_flags = flags;
257 break;
258 }
259
260 break;
261 }
262 case NSAppKitDefined:
263 {
264 if ([event subtype] == NSApplicationActivatedEventType)
265 ecore_event_add(ECORE_COCOA_EVENT_GOT_FOCUS, NULL, NULL, NULL);
266 else if ([event subtype] == NSApplicationDeactivatedEventType)
267 ecore_event_add(ECORE_COCOA_EVENT_LOST_FOCUS, NULL, NULL, NULL);
268 [NSApp sendEvent:event]; // pass along AppKit events, for window manager
269 break;
270 }
271 case NSScrollWheel:
272 {
273 break;
274 }
275 default:
276 {
277 [NSApp sendEvent:event];
278 break;
279 }
280 }
281
282 [event release];
283}
diff --git a/libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa_private.h b/libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa_private.h
new file mode 100644
index 0000000..0b4cf31
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa_private.h
@@ -0,0 +1,11 @@
1#ifndef _ECORE_COCOA_PRIVATE_H
2#define _ECORE_COCOA_PRIVATE_H
3
4struct _Ecore_Cocoa_Window
5{
6 NSWindow *window;
7 unsigned int borderless : 1;
8};
9
10
11#endif
diff --git a/libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa_window.m b/libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa_window.m
new file mode 100644
index 0000000..2091a69
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_cocoa/ecore_cocoa_window.m
@@ -0,0 +1,163 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif
4
5#include <Cocoa/Cocoa.h>
6
7#include "Ecore_Cocoa.h"
8#include "ecore_cocoa_private.h"
9
10Ecore_Cocoa_Window *
11ecore_cocoa_window_new(int x,
12 int y,
13 int width,
14 int height)
15{
16 Ecore_Cocoa_Window *w;
17
18 NSWindow *window = [[NSWindow alloc]
19 initWithContentRect:NSMakeRect(x, y, width, height)
20 styleMask:(NSTitledWindowMask |
21 NSClosableWindowMask |
22 NSResizableWindowMask |
23 NSMiniaturizableWindowMask)
24 backing:NSBackingStoreBuffered
25 defer:NO
26 screen:nil
27 ];
28
29 if (!window)
30 return NULL;
31
32 [window setBackgroundColor:[NSColor whiteColor]];
33
34 w = calloc(1, sizeof(Ecore_Cocoa_Window));
35 w->window = window;
36 w->borderless = 0;
37
38 return w;
39}
40
41void
42ecore_cocoa_window_free(Ecore_Cocoa_Window *window)
43{
44 if (!window)
45 return;
46
47 [window->window release];
48 free(window);
49}
50
51void
52ecore_cocoa_window_move(Ecore_Cocoa_Window *window,
53 int x,
54 int y)
55{
56 NSRect win_frame;
57
58 if (!window)
59 return;
60
61 win_frame = [window->window frame];
62 win_frame.origin.x = x;
63 win_frame.origin.y = y;
64
65 [window->window setFrame:win_frame display:YES];
66}
67
68void
69ecore_cocoa_window_resize(Ecore_Cocoa_Window *window,
70 int width,
71 int height)
72{
73 if (!window)
74 return;
75
76 NSRect win_frame;
77
78 if (!window)
79 return;
80
81 win_frame = [window->window frame];
82 win_frame.size.height = height;
83 win_frame.size.width = width;
84
85 [window->window setFrame:win_frame display:YES];
86}
87
88void
89ecore_cocoa_window_move_resize(Ecore_Cocoa_Window *window,
90 int x,
91 int y,
92 int width,
93 int height)
94{
95 if (!window)
96 return;
97
98 NSRect win_frame;
99
100 if (!window)
101 return;
102
103 win_frame = [window->window frame];
104 win_frame.size.height = height;
105 win_frame.size.width = width;
106 win_frame.origin.x = x;
107 win_frame.origin.y = y;
108
109 [window->window setFrame:win_frame display:YES];
110}
111
112void
113ecore_cocoa_window_title_set(Ecore_Cocoa_Window *window, const char *title)
114{
115 if (!window || !title)
116 return;
117
118 [window->window setTitle:[NSString stringWithUTF8String:title]];
119}
120
121void
122ecore_cocoa_window_show(Ecore_Cocoa_Window *window)
123{
124 if (!window || [window->window isVisible])
125 {
126 printf("Window(%p) is not visible\n", window->window);
127 return;
128 }
129
130 [window->window makeKeyAndOrderFront:NSApp];
131}
132
133void
134ecore_cocoa_window_hide(Ecore_Cocoa_Window *window)
135{
136 if (!window || ![window->window isVisible])
137 return;
138
139 [window->window orderOut:NSApp];
140}
141
142void
143ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,
144 int on)
145{
146 if (!window)
147 return;
148
149 if (on)
150 [window->window setContentBorderThickness:0.0
151 forEdje:NSMinXEdge | NSMinYEdge | NSMaxXEdge | NSMaxYEdge];
152}
153
154void
155ecore_cocoa_window_view_set(Ecore_Cocoa_Window *window,
156 void *view)
157{
158 if (!window || !view)
159 return;
160
161 [[window->window contentView] addSubview:view];
162
163}