changeset 337:e9a424e641ff

Some pointer changes.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 10 Apr 2003 12:33:29 +0000
parents a2f72b5d5d0a
children 44e2bdacd8f3
files gtk/dw.c os2/dw.c win/dw.c
diffstat 3 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/gtk/dw.c	Thu Apr 10 12:05:36 2003 +0000
+++ b/gtk/dw.c	Thu Apr 10 12:33:29 2003 +0000
@@ -1591,7 +1591,14 @@
 	GdkCursor *cursor;
 
 	DW_MUTEX_LOCK;
-	cursor = gdk_cursor_new(pointertype);
+	if(pointertype & (1 << 31))
+	{
+		GdkBitmap *bitmap = NULL;
+		GdkPixmap  *pixmap = _find_private_pixmap(bitmap, (pointertype & 0xFFFFFF), NULL, NULL);
+		cursor = gdk_cursor_new_from_pixmap(pixmap, (GdkPixmap *)mask, _colors[DW_CLR_WHITE], _colors[DW_CLR_BLACK], 8, 8);
+	}
+	else
+		cursor = gdk_cursor_new(pointertype);
 	if(handle && handle->window)
 		gdk_window_set_cursor(handle->window, cursor);
 	gdk_cursor_destroy(cursor);
--- a/os2/dw.c	Thu Apr 10 12:05:36 2003 +0000
+++ b/os2/dw.c	Thu Apr 10 12:33:29 2003 +0000
@@ -3551,9 +3551,10 @@
 void API dw_window_pointer(HWND handle, int pointertype)
 {
 	WinSetPointer(handle,
+				  pointertype < 65535 ?
 				  WinQuerySysPointer(HWND_DESKTOP,
 									 pointertype,
-									 FALSE));
+									 FALSE) : (HPOINTER)pointertype);
 }
 
 /*
--- a/win/dw.c	Thu Apr 10 12:05:36 2003 +0000
+++ b/win/dw.c	Thu Apr 10 12:33:29 2003 +0000
@@ -3521,7 +3521,7 @@
  */
 void API dw_window_pointer(HWND handle, int pointertype)
 {
-	SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(pointertype)));
+	SetCursor(pointer < 65536 ? LoadCursor(NULL, MAKEINTRESOURCE(pointertype)) (HCURSOR)pointertype);
 }
 
 /*