Tizen 2.1 base
[framework/uifw/ecore.git] / src / lib / ecore_cocoa / Ecore_Cocoa.h
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
29 extern "C" {
30 #endif
31
32 typedef struct _Ecore_Cocoa_Window Ecore_Cocoa_Window;
33
34 EAPI extern int ECORE_COCOA_EVENT_GOT_FOCUS;
35 EAPI extern int ECORE_COCOA_EVENT_LOST_FOCUS;
36 EAPI extern int ECORE_COCOA_EVENT_RESIZE;
37 EAPI extern int ECORE_COCOA_EVENT_EXPOSE;
38
39 typedef struct _Ecore_Cocoa_Event_Video_Resize Ecore_Cocoa_Event_Video_Resize;
40 struct _Ecore_Cocoa_Event_Video_Resize
41 {
42    int             w;
43    int             h;
44 };
45
46
47 /* Core */
48
49 EAPI int  ecore_cocoa_init(void);
50 EAPI int  ecore_cocoa_shutdown(void);
51 EAPI void ecore_cocoa_feed_events(void);
52
53 /* Window */
54
55 EAPI Ecore_Cocoa_Window *ecore_cocoa_window_new(int x,
56                                                 int y,
57                                                 int width,
58                                                 int height);
59
60 EAPI void ecore_cocoa_window_free(Ecore_Cocoa_Window *window);
61
62 EAPI void *ecore_cocoa_window_hwnd_get(Ecore_Cocoa_Window *window);
63
64 EAPI void ecore_cocoa_window_move(Ecore_Cocoa_Window *window,
65                                   int                 x,
66                                   int                 y);
67
68 EAPI void ecore_cocoa_window_resize(Ecore_Cocoa_Window *window,
69                                     int                 width,
70                                     int                 height);
71
72 EAPI void ecore_cocoa_window_move_resize(Ecore_Cocoa_Window *window,
73                                          int                 x,
74                                          int                 y,
75                                          int                 width,
76                                          int                 height);
77
78 EAPI void ecore_cocoa_window_geometry_get(Ecore_Cocoa_Window *window,
79                                           int                *x,
80                                           int                *y,
81                                           int                *width,
82                                           int                *height);
83
84 EAPI void ecore_cocoa_window_size_get(Ecore_Cocoa_Window *window,
85                                       int                *width,
86                                       int                *height);
87
88 EAPI void ecore_cocoa_window_size_min_set(Ecore_Cocoa_Window *window,
89                                           unsigned int        min_width,
90                                           unsigned int        min_height);
91
92 EAPI void ecore_cocoa_window_size_min_get(Ecore_Cocoa_Window *window,
93                                           unsigned int       *min_width,
94                                           unsigned int       *min_height);
95
96 EAPI void ecore_cocoa_window_size_max_set(Ecore_Cocoa_Window *window,
97                                           unsigned int        max_width,
98                                           unsigned int        max_height);
99
100 EAPI void ecore_cocoa_window_size_max_get(Ecore_Cocoa_Window *window,
101                                           unsigned int       *max_width,
102                                           unsigned int       *max_height);
103
104 EAPI void ecore_cocoa_window_size_base_set(Ecore_Cocoa_Window *window,
105                                            unsigned int        base_width,
106                                            unsigned int        base_height);
107
108 EAPI void ecore_cocoa_window_size_base_get(Ecore_Cocoa_Window *window,
109                                            unsigned int       *base_width,
110                                            unsigned int       *base_height);
111
112 EAPI void ecore_cocoa_window_size_step_set(Ecore_Cocoa_Window *window,
113                                            unsigned int        step_width,
114                                            unsigned int        step_height);
115
116 EAPI void ecore_cocoa_window_size_step_get(Ecore_Cocoa_Window *window,
117                                            unsigned int       *step_width,
118                                            unsigned int       *step_height);
119
120 EAPI void ecore_cocoa_window_show(Ecore_Cocoa_Window *window);
121
122 EAPI void ecore_cocoa_window_hide(Ecore_Cocoa_Window *window);
123
124 EAPI void ecore_cocoa_window_raise(Ecore_Cocoa_Window *window);
125
126 EAPI void ecore_cocoa_window_lower(Ecore_Cocoa_Window *window);
127
128 EAPI void ecore_cocoa_window_title_set(Ecore_Cocoa_Window *window,
129                                        const char         *title);
130
131 EAPI void ecore_cocoa_window_focus_set(Ecore_Cocoa_Window *window);
132
133 EAPI void ecore_cocoa_window_iconified_set(Ecore_Cocoa_Window *window,
134                                            int                 on);
135
136 EAPI void ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,
137                                             int                 on);
138
139 EAPI void ecore_cocoa_window_view_set(Ecore_Cocoa_Window *window,
140                                       void *view);
141
142
143 #ifdef __cplusplus
144 }
145 #endif
146
147 #endif