93b6fa70ec441a38ecf1a208182cd3b97309c9cf
[framework/uifw/ecore.git] / src / lib / ecore_win32 / ecore_win32_private.h
1 /*
2  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
3  */
4
5 #ifndef __ECORE_WIN32_PRIVATE_H__
6 #define __ECORE_WIN32_PRIVATE_H__
7
8
9 #define ECORE_WIN32_WINDOW_CLASS "Ecore_Win32_Window_Class"
10
11
12 typedef struct _Ecore_Win32_Callback_Data Ecore_Win32_Callback_Data;
13
14 struct _Ecore_Win32_Callback_Data
15 {
16    RECT         update;
17    HWND         window;
18    unsigned int message;
19    WPARAM       window_param;
20    LPARAM       data_param;
21    long         time;
22    int          x;
23    int          y;
24 };
25
26 struct _Ecore_Win32_Window
27 {
28    HWND                   window;
29
30    DWORD                  style;          /* used to go fullscreen to normal */
31    RECT                   rect;           /* used to go fullscreen to normal */
32
33    unsigned int           min_width;
34    unsigned int           min_height;
35    unsigned int           max_width;
36    unsigned int           max_height;
37    unsigned int           base_width;
38    unsigned int           base_height;
39    unsigned int           step_width;
40    unsigned int           step_height;
41
42    struct {
43       unsigned int        iconified         : 1;
44       unsigned int        modal             : 1;
45       unsigned int        sticky            : 1;
46       unsigned int        maximized_vert    : 1;
47       unsigned int        maximized_horz    : 1;
48       unsigned int        shaded            : 1;
49       unsigned int        hidden            : 1;
50       unsigned int        fullscreen        : 1;
51       unsigned int        above             : 1;
52       unsigned int        below             : 1;
53       unsigned int        demands_attention : 1;
54    } state;
55
56    struct {
57       unsigned int        desktop : 1;
58       unsigned int        dock    : 1;
59       unsigned int        toolbar : 1;
60       unsigned int        menu    : 1;
61       unsigned int        utility : 1;
62       unsigned int        splash  : 1;
63       unsigned int        dialog  : 1;
64       unsigned int        normal  : 1;
65    } type;
66
67    unsigned int           pointer_is_in : 1;
68    unsigned int           borderless    : 1;
69    unsigned int           iconified     : 1;
70    unsigned int           fullscreen    : 1;
71 };
72
73
74 extern HINSTANCE           _ecore_win32_instance;
75 extern double              _ecore_win32_double_click_time;
76 extern double              _ecore_win32_event_last_time;
77 extern Ecore_Win32_Window *_ecore_win32_event_last_window;
78
79
80 char *_ecore_win32_hwnd_str_get(HWND window);
81
82 void  _ecore_win32_event_handle_key_press(Ecore_Win32_Callback_Data *msg, int is_keystroke);
83 void  _ecore_win32_event_handle_key_release(Ecore_Win32_Callback_Data *msg, int is_keystroke);
84 void  _ecore_win32_event_handle_button_press(Ecore_Win32_Callback_Data *msg, int button);
85 void  _ecore_win32_event_handle_button_release(Ecore_Win32_Callback_Data *msg, int button);
86 void  _ecore_win32_event_handle_motion_notify(Ecore_Win32_Callback_Data *msg);
87 void  _ecore_win32_event_handle_enter_notify(Ecore_Win32_Callback_Data *msg);
88 void  _ecore_win32_event_handle_leave_notify(Ecore_Win32_Callback_Data *msg);
89 void  _ecore_win32_event_handle_focus_in(Ecore_Win32_Callback_Data *msg);
90 void  _ecore_win32_event_handle_focus_out(Ecore_Win32_Callback_Data *msg);
91 void  _ecore_win32_event_handle_expose(Ecore_Win32_Callback_Data *msg);
92 void  _ecore_win32_event_handle_create_notify(Ecore_Win32_Callback_Data *msg);
93 void  _ecore_win32_event_handle_destroy_notify(Ecore_Win32_Callback_Data *msg);
94 void  _ecore_win32_event_handle_map_notify(Ecore_Win32_Callback_Data *msg);
95 void  _ecore_win32_event_handle_unmap_notify(Ecore_Win32_Callback_Data *msg);
96 void  _ecore_win32_event_handle_configure_notify(Ecore_Win32_Callback_Data *msg);
97 void  _ecore_win32_event_handle_resize(Ecore_Win32_Callback_Data *msg);
98 void  _ecore_win32_event_handle_delete_request(Ecore_Win32_Callback_Data *msg);
99
100
101 #endif /* __ECORE_WIN32_PRIVATE_H__ */