diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2013-10-12 11:26:34 +0100 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2013-10-12 11:26:34 +0100 |
commit | 5d2f4b0b98317eae6362bd444a3ca333c1b98f9e (patch) | |
tree | f379d4acbbaaa66d2383a7393982f9b67e4b73b2 /amiga | |
parent | af2c37167b1caa30f1771a64302767ec54d00f42 (diff) | |
download | netsurf-5d2f4b0b98317eae6362bd444a3ca333c1b98f9e.tar.gz netsurf-5d2f4b0b98317eae6362bd444a3ca333c1b98f9e.tar.bz2 |
Use all the built-in mouse pointers on OS4.1
Diffstat (limited to 'amiga')
-rw-r--r-- | amiga/theme.c | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/amiga/theme.c b/amiga/theme.c index a0755b23a..5874ba62c 100644 --- a/amiga/theme.c +++ b/amiga/theme.c @@ -95,6 +95,31 @@ char *ptrs32[AMI_LASTPOINTER+1] = { "ptr32_blank", "ptr32_drag"}; +/* Mapping from NetSurf to AmigaOS mouse pointers */ +int osmouseptr[AMI_LASTPOINTER+1] = { + POINTERTYPE_NORMAL, + POINTERTYPE_LINK, + POINTERTYPE_TEXT, + POINTERTYPE_CONTEXTMENU, + POINTERTYPE_NORTHRESIZE, + POINTERTYPE_SOUTHRESIZE, + POINTERTYPE_WESTRESIZE, + POINTERTYPE_EASTRESIZE, + POINTERTYPE_NORTHEASTRESIZE, + POINTERTYPE_SOUTHWESTRESIZE, + POINTERTYPE_NORTHWESTRESIZE, + POINTERTYPE_SOUTHEASTRESIZE, + POINTERTYPE_CROSS, + POINTERTYPE_HAND, + POINTERTYPE_BUSY, + POINTERTYPE_HELP, + POINTERTYPE_NODROP, + POINTERTYPE_NOTALLOWED, + POINTERTYPE_PROGRESS, + POINTERTYPE_NONE, + POINTERTYPE_DRAGANDDROP}; + + void ami_theme_init(void) { char themefile[1024]; @@ -209,12 +234,11 @@ void ami_update_pointer(struct Window *win, gui_pointer_shape shape) break; default: - if(mouseptrobj[shape]) - { + if((IntuitionBase->LibNode.lib_Version >= 53) && (osmouseptr[shape] != -1)) { + SetWindowPointer(win, WA_PointerType, osmouseptr[shape], TAG_DONE); + } else if(mouseptrobj[shape]) { SetWindowPointer(win, WA_Pointer, mouseptrobj[shape], TAG_DONE); - } - else - { + } else { SetWindowPointer(win, TAG_DONE); } break; |