Pyrogenesis  trunk
Functions
osx_sys_cursor.mm File Reference
#import "precompiled.h"
#import "lib/sysdep/cursor.h"
#import <AppKit/NSCursor.h>
#import <AppKit/NSImage.h>
#import <ApplicationServices/ApplicationServices.h>
Include dependency graph for osx_sys_cursor.mm:

Functions

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. More...
 
Status sys_cursor_free (sys_cursor cursor)
 destroy the indicated cursor and frees its resources. More...
 
Status sys_cursor_create_empty (sys_cursor *cursor)
 Create a transparent cursor (used to hide the system cursor). More...
 
Status sys_cursor_set (sys_cursor cursor)
 override the current system cursor. More...
 
Status sys_cursor_reset ()
 reset any cached cursor data. More...
 

Function Documentation

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.

Parameters
w,hImage dimensions [pixels]. the maximum value is implementation-defined; 32x32 is typical and safe.
bgra_imgcursor image (BGRA format, bottom-up). It is copied and can be freed after this call returns.
hx,hy'hotspot', i.e. offset from the upper-left corner to the position where mouse clicks are registered.
cursorIs 0 if the return code indicates failure, otherwise a valid cursor that must be sys_cursor_free-ed when no longer needed.
Status sys_cursor_create_empty ( sys_cursor cursor)

Create a transparent cursor (used to hide the system cursor).

Parameters
cursoris 0 if the return code indicates failure, otherwise a valid cursor that must be sys_cursor_free-ed when no longer needed.
Status sys_cursor_free ( sys_cursor  cursor)

destroy the indicated cursor and frees its resources.

Parameters
cursorif currently in use, the default cursor is restored first.
Status sys_cursor_reset ( )

reset any cached cursor data.

on some systems, this is needed when resetting the SDL video subsystem.

Status sys_cursor_set ( sys_cursor  cursor)

override the current system cursor.

Parameters
cursorcan be 0 to restore the default.