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
13 #include "Ecore_Win32.h"
14 #include "ecore_win32_private.h"
20 ecore_win32_cursor_new(const void *pixels_and,
21 const void *pixels_xor,
27 Ecore_Win32_Cursor *cursor = NULL;
31 cursor_width = GetSystemMetrics(SM_CXCURSOR);
32 cursor_height = GetSystemMetrics(SM_CYCURSOR);
34 if ((cursor_width != width) ||
35 (cursor_height != height))
38 if (!(cursor = CreateCursor(_ecore_win32_instance,
49 ecore_win32_cursor_free(Ecore_Win32_Cursor *cursor)
51 DestroyCursor(cursor);
55 ecore_win32_cursor_shape_get(Ecore_Win32_Cursor_Shape shape)
57 Ecore_Win32_Cursor *cursor = NULL;
58 const char *cursor_name;
62 case ECORE_WIN32_CURSOR_SHAPE_APP_STARTING:
63 cursor_name = IDC_APPSTARTING;
65 case ECORE_WIN32_CURSOR_SHAPE_ARROW:
66 cursor_name = IDC_ARROW;
68 case ECORE_WIN32_CURSOR_SHAPE_CROSS:
69 cursor_name = IDC_CROSS;
71 case ECORE_WIN32_CURSOR_SHAPE_HAND:
72 cursor_name = IDC_HAND;
74 case ECORE_WIN32_CURSOR_SHAPE_HELP:
75 cursor_name = IDC_HELP;
77 case ECORE_WIN32_CURSOR_SHAPE_I_BEAM:
78 cursor_name = IDC_IBEAM;
80 case ECORE_WIN32_CURSOR_SHAPE_NO:
83 case ECORE_WIN32_CURSOR_SHAPE_SIZE_ALL:
84 cursor_name = IDC_SIZEALL;
86 case ECORE_WIN32_CURSOR_SHAPE_SIZE_NESW:
87 cursor_name = IDC_SIZENESW;
89 case ECORE_WIN32_CURSOR_SHAPE_SIZE_NS:
90 cursor_name = IDC_SIZENS;
92 case ECORE_WIN32_CURSOR_SHAPE_SIZE_NWSE:
93 cursor_name = IDC_SIZENWSE;
95 case ECORE_WIN32_CURSOR_SHAPE_SIZE_WE:
96 cursor_name = IDC_SIZEWE;
98 case ECORE_WIN32_CURSOR_SHAPE_UP_ARROW:
99 cursor_name = IDC_UPARROW;
101 case ECORE_WIN32_CURSOR_SHAPE_WAIT:
102 cursor_name = IDC_WAIT;
108 if (!(cursor = LoadCursor(NULL, cursor_name)))
115 ecore_win32_cursor_size_get(void)
120 width = GetSystemMetrics(SM_CXCURSOR);
121 height = GetSystemMetrics(SM_CYCURSOR);
122 return (width > height) ? width : height;