Change Mouse pointer
Post date
Fri, 09/25/2026 - 11:44
Hello,
I'd like to change the mouse pointer.
Under AmigaOS 4, I use SetWindowPointer(win, WA_PointerType,POINTERTYPE_*, TAG_DONE );
where POINTERTYPE_* can be POINTERTYPE_NORMAL, POINTERTYPE_MENU, POINTERTYPE_HAND...
It doesn't seem to exist under AmigaOS 3.2.3 so one solution can be to define a mouse pointer by myself and use SetPointer as in the good old days.
But there are several predefined mouse pointers in the prefs/Pointer of AmigaOS 3.2.3, so maybe there is a way to use them?
Thank you.
Online Status
Oh ! I've just done that for FriendSh3ep. You can set the pointer enum at window construction with: "struct Window" argument WA_PointerType, (enum) ... and later you can change the mouse pointer with same attrib and that function: SetWindowPointer(window, WA_PointerType, enum, TAG_DONE);
values are with enum from intuition/pointerclass.h like POINTERTYPE_NORMAL, POINTERTYPE_BUSY , and then the numberous new ones from OS3.2 POINTERTYPE_HAND , ...
BUT BUT BUT... There is a trap: To work you need to have correctly configured your mouse pointer with sys:prefs/Pointers ... so all those "enums" have images configured. When you update an OS3.1 or OS3.9 with a OS3.2, it keeps the old previous mouse pointer configuration and doesnt have the new pointer images configured for the new enums, in that case WA_PointerType does nothing for enums that doesnt have an image yet. ... actually half the OS3.2 configurations I've tested have no pointer images change with WA_PointerType because of that.