23 #include "precompiled.h"
42 return (HICON)(uintptr_t)cursor;
47 return (HCURSOR)(uintptr_t)cursor;
59 HBITMAP hbmColour = CreateBitmap(w, h, 1, 32, bgra_img);
63 HBITMAP hbmMask = CreateBitmap(w, h, 1, 1, mask_img);
69 ii.xHotspot = (
DWORD)hx;
70 ii.yHotspot = (
DWORD)hy;
72 ii.hbmColor = hbmColour;
73 HICON hIcon = CreateIconIndirect(&ii);
76 DeleteObject(hbmMask);
77 DeleteObject(hbmColour);
104 u8 bgra_img[] = {0, 0, 0, 0};
105 u8 mask_img[] = {0xFF};
JSBool SetCursor(JSContext *cx, uintN argc, jsval *vp)
#define WARN_IF_ERR(expression)
bool wutil_IsValidHandle(H h)
Status sys_cursor_create(int w, int h, void *bgra_img, int hx, int hy, sys_cursor *cursor)
Create a cursor from the given color image.
Status sys_cursor_reset()
reset any cached cursor data.
LIB_API Status GetVideoMode(int *xres, int *yres, int *bpp, int *freq)
(useful for choosing a new video mode)
static sys_cursor cursor_from_HICON(HICON hIcon)
Status sys_cursor_create_empty(sys_cursor *cursor)
Create a transparent cursor (used to hide the system cursor).
static sys_cursor cursor_from_HCURSOR(HCURSOR hCursor)
static HICON HICON_from_cursor(sys_cursor cursor)
static Status sys_cursor_create_common(int w, int h, void *bgra_img, void *mask_img, int hx, int hy, sys_cursor *cursor)
i64 Status
Error handling system.
static HCURSOR HCURSOR_from_cursor(sys_cursor cursor)
#define WARN_RETURN(status)
Status sys_cursor_set(sys_cursor cursor)
override the current system cursor.
Status sys_cursor_free(sys_cursor cursor)
destroy the indicated cursor and frees its resources.
#define RETURN_STATUS_IF_ERR(expression)