How exactly do custom mouse pointers work on the Amiga end?
Alpha channels seem to be accepted, but the colors are all wrong.
Custom Mouse Pointers (Amiga)
Custom Mouse Pointers (Amiga)
Development System : Imac G5, MorphOs 3.19
Re: Custom Mouse Pointers (Amiga)
mouse pointer in amigaos is pallete based in OS level
hollywood remaps to pallete which choose some collors
traditional if you have a 32bit brush and remap it to 256 or even 16 colors you loose traspancy because of dithering
an example or at least the "faulty" brush would help
but ideal in amigaOS you should use pallete brushes
hollywood remaps to pallete which choose some collors
traditional if you have a 32bit brush and remap it to 256 or even 16 colors you loose traspancy because of dithering
an example or at least the "faulty" brush would help
but ideal in amigaOS you should use pallete brushes
Christos
Re: Custom Mouse Pointers (Amiga)
I see.
Is this the case for all Amiga platforms, such as OS4.x, Aros etc too?
Not able to test on these currently.
Is this the case for all Amiga platforms, such as OS4.x, Aros etc too?
Not able to test on these currently.
Development System : Imac G5, MorphOs 3.19
Re: Custom Mouse Pointers (Amiga)
Looks like I can't get acceptable colors even if I use indexed images.
Development System : Imac G5, MorphOs 3.19
Re: Custom Mouse Pointers (Amiga)
provide example code and brush
so eveyrone can test/check/suggest
so eveyrone can test/check/suggest
Christos
Re: Custom Mouse Pointers (Amiga)
Here's a video clip showing the issue:
https://ody.sh/SLP3H460bQ
The relevant code:
and
SetPointer(x)
as needed.
If it's indexed I set the LoadAlpha to False.
https://ody.sh/SLP3H460bQ
The relevant code:
Code: Select all
@BRUSH 1, "mouse_idle.png", {LoadAlpha = True}
CreatePointer(1, #BRUSH, 1, 0, 0)
@BRUSH 2, "mouse_active.png", {LoadAlpha = True}
CreatePointer(2, #BRUSH, 2, 0, 0)SetPointer(x)
as needed.
If it's indexed I set the LoadAlpha to False.
Development System : Imac G5, MorphOs 3.19
Re: Custom Mouse Pointers (Amiga)
From the CreatePointer() documentation:

It's a bit difficult situation, because in the optimal situation you should know what colors are set on which pens in the system you're running the program on, and create a palette image using those pens. First eight or so pens are pretty static on Amiga setups, but not always... first four are the safest bet. And then there might be a graphics card (RTG) setup on Amiga, and many older graphics chips from that age didn't support many colors on their hardware sprite. IIRC Virge/Voodoo/etc. did only support four colors sprite, where one color was transparency, one was inversed, and there were actually only two real colors. So, it could be a bit messy to touch the pointer at allPlease note that not all systems can handle true colour mouse pointers. If the system does not support true colour mouse pointers, Hollywood will reduce the colors. Also, your image data might get scaled because some systems impose limits on the maximum mouse pointer size.
On AmigaOS 3, CreatePointer() also supports palette brushes and sprites. Pointers on classic Amiga hardware are always palette-based because they are implemented using hardware sprites so if you pass palette brushes or sprites to CreatePointer() on AmigaOS 3 you have full control over the exact pens used by the pointer which is more convenient than using 32-bit graphics because those will first have to be mapped down to palette graphics on AmigaOS 3 and you won't have any control over the palette pens in the remapped brush or sprite.
Last edited by jPV on Mon Jun 17, 2024 9:01 am, edited 1 time in total.
Re: Custom Mouse Pointers (Amiga)
I haven't tested either, but I'm pretty sure these systems do support true color pointers. At least on MorphOS pointer images are PNG images with alpha transparency in OS level. Although if you're using an old graphics card (like Voodoo3/4/5) then it's most likely limited... but majority of users have more modern graphics cards in the next generation systems.
Re: Custom Mouse Pointers (Amiga)
Hmm.,, Guess I will have to forego the custom pointer then. Unless there's a way to hide the pointer while still accepting input and replace it with a Hollywood brush. But I guess the size issue would still be a problem.
Development System : Imac G5, MorphOs 3.19
Re: Custom Mouse Pointers (Amiga)
you can HidePointer() does that...
ideal however in amiga side probably would be the HidePointer() Entry in combination of FullScreen, .....
Christos