2 * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
9 #define WIN32_LEAN_AND_MEAN
11 #undef WIN32_LEAN_AND_MEAN
15 #include "Ecore_Win32.h"
16 #include "ecore_win32_private.h"
22 ecore_win32_cursor_new(const void *pixels_and,
23 const void *pixels_xor,
29 Ecore_Win32_Cursor *cursor = NULL;
33 INF("creating cursor");
35 cursor_width = GetSystemMetrics(SM_CXCURSOR);
36 cursor_height = GetSystemMetrics(SM_CYCURSOR);
38 if ((cursor_width != width) ||
39 (cursor_height != height))
42 if (!(cursor = CreateCursor(_ecore_win32_instance,
53 ecore_win32_cursor_free(Ecore_Win32_Cursor *cursor)
55 INF("destroying cursor");
57 DestroyCursor(cursor);
61 ecore_win32_cursor_shape_get(Ecore_Win32_Cursor_Shape shape)
63 Ecore_Win32_Cursor *cursor = NULL;
64 const char *cursor_name;
66 INF("geting shape cursor");
70 case ECORE_WIN32_CURSOR_SHAPE_APP_STARTING:
71 cursor_name = IDC_APPSTARTING;
73 case ECORE_WIN32_CURSOR_SHAPE_ARROW:
74 cursor_name = IDC_ARROW;
76 case ECORE_WIN32_CURSOR_SHAPE_CROSS:
77 cursor_name = IDC_CROSS;
79 case ECORE_WIN32_CURSOR_SHAPE_HAND:
80 cursor_name = IDC_HAND;
82 case ECORE_WIN32_CURSOR_SHAPE_HELP:
83 cursor_name = IDC_HELP;
85 case ECORE_WIN32_CURSOR_SHAPE_I_BEAM:
86 cursor_name = IDC_IBEAM;
88 case ECORE_WIN32_CURSOR_SHAPE_NO:
91 case ECORE_WIN32_CURSOR_SHAPE_SIZE_ALL:
92 cursor_name = IDC_SIZEALL;
94 case ECORE_WIN32_CURSOR_SHAPE_SIZE_NESW:
95 cursor_name = IDC_SIZENESW;
97 case ECORE_WIN32_CURSOR_SHAPE_SIZE_NS:
98 cursor_name = IDC_SIZENS;
100 case ECORE_WIN32_CURSOR_SHAPE_SIZE_NWSE:
101 cursor_name = IDC_SIZENWSE;
103 case ECORE_WIN32_CURSOR_SHAPE_SIZE_WE:
104 cursor_name = IDC_SIZEWE;
106 case ECORE_WIN32_CURSOR_SHAPE_UP_ARROW:
107 cursor_name = IDC_UPARROW;
109 case ECORE_WIN32_CURSOR_SHAPE_WAIT:
110 cursor_name = IDC_WAIT;
116 if (!(cursor = LoadCursor(NULL, cursor_name)))
123 ecore_win32_cursor_size_get(void)
128 INF("geting size cursor");
130 width = GetSystemMetrics(SM_CXCURSOR);
131 height = GetSystemMetrics(SM_CYCURSOR);
132 return (width > height) ? width : height;