[comp.sys.amiga.tech] Updating Mouse Pointer Information

brianm@sco.COM (Brian Moffet) (03/01/89)

A while ago, I asked people about updating the mouse pointer 
in a global way (ie to change it for all windows).

I discovered a method which does work, but will probably break
in future releases of the operating system.  If you are not
interested, please quit out now.



First things first:

	in order to allocate and set up the memory I need for 
	my pointer, I make a call to GetPrefs() to get the current
	preferences.  From this I make a copy of the old mouse 
	pointer so that I can restore it when my program is finished.

	I redo the pointer with my own version, and then call SetPrefs
	to set the whole thing up.  Immediately after this, I save
	the pointer located at IntuitionBase->APointer so that I
	can write to it.  This is a small window where I could have
	problems, but it is really small.

	I figured (correctly it seems) that when intuition needs to
	change the mouse pointer for a particular window, it will
	just swap pointers.  By saving the "known" correct pointer
	I can avoid writing to pointer memory that I should not be 
	writing to.

	Now, at 1 minute intervals, I can just load the pointer 
	that I have saved with a new image.  Thus, I can have a 
	clock in my pointer.    This does seem to work with
	dmouse, but I may end up re-writing my program to do
	the stuff dmouse does for memory savings (though not much).


I will be giving this clock/mouse program to the comp.amiga.sources
people sometime in the future.  That way others can see how
to do this stuff.

Personnally, I would like to see the addition of a system call
to change the global pointer without having to go through preferences.
This would make programs like I am writing much easier and more portable
than they are now.

Thanks to all of the people out there who have made programs and
tips that enable me to do this.

Just FYI.

brian moffet
-- 
Brian Moffet			{uunet,decvax!microsoft,ucscc}!sco!brianm
 -or-				...sco!alar!brian
"I was everything you wanted me to be.  You were afraid, I was frightening."
My fish and company have policies.  I have opinions.

cmcmanis%pepper@Sun.COM (Chuck McManis) (03/02/89)

In article <2365@scolex.sco.COM> brianm@sco.COM (Brian Moffet) writes:
>
>A while ago, I asked people about updating the mouse pointer 
>in a global way (ie to change it for all windows).

We thought you might be doing a clock pointer...

>I will be giving this clock/mouse program to the comp.amiga.sources
>people sometime in the future.  That way others can see how
>to do this stuff.

Isn't their one on the 1.3 Extra's disk? I wonder how Andy did it.
There are a couple on fish disks I know.

>Personnally, I would like to see the addition of a system call
>to change the global pointer without having to go through preferences.
>This would make programs like I am writing much easier and more portable
>than they are now.

Personnally, I would like to see someone get creative here and not
mess with the intuition pointer. Rather, initialize Sprite 1 with your
clock and have it follow the Pointer around. Make it so that you can
set the speed in which it moves for some interesting yo-yo effects.

By the way, is your clock round? Or is it one of those digital jobbies
with the digits on top of one another ? I had started one that used
sprites 1 and 2 to make into a single 32 X 32 clock. Never saw the 
light of day though. Oh well.


--Chuck McManis
uucp: {anywhere}!sun!cmcmanis   BIX: cmcmanis  ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses, but you knew that didn't you.

jrh@tippy.uucp (03/03/89)

Brian,

I wrote a program very similar to the one that you are working on.
It is called MouseClock and is on Fish Disk 69.  Try it.  Also,
it works fine with Dmouse.
 
John Hoffman