summaryrefslogtreecommitdiff
path: root/amiga
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2013-10-12 11:26:34 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2013-10-12 11:26:34 +0100
commit5d2f4b0b98317eae6362bd444a3ca333c1b98f9e (patch)
treef379d4acbbaaa66d2383a7393982f9b67e4b73b2 /amiga
parentaf2c37167b1caa30f1771a64302767ec54d00f42 (diff)
downloadnetsurf-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.c34
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;