Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cbmvax!peter From: peter@cbmvax.commodore.com (Peter Cherna) Newsgroups: comp.sys.amiga.tech Subject: Re: Mutual Exclude Gadgets Keywords: Gadgets Message-ID: <9147@cbmvax.commodore.com> Date: 27 Dec 89 19:24:22 GMT References: <5802@sdcc6.ucsd.edu> <7052@shlump.nac.dec.com> Reply-To: peter@cbmvax.commodore.com (Peter Cherna) Organization: Commodore, West Chester, PA Lines: 56 In article <7052@shlump.nac.dec.com> guineau@wjg.enet.dec.com () writes: > >Mutual Exclude just means only 1 of a set of n gadgets can be "on" at a time. >Clicking on a gadget in this set enables it and disables the rest. > >To implement Mutual Exclude, you can still use the data structures provided ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >by Intuition. When you get an event (IntuiMessage) for a gadget with the ^^^^^^^^^^^^ >MutualExclude bit set, just go through it's exclusion mask and >"generate events" for the gadgets it excludes. By "generate events" I mean do >whatever necessary to make the other gadgets think they're "off". > >John And MARKV@kuhub.cc.ukans.edu (MARK GOODERUM - UNIV. OF KANSAS ACS - MARKV@UKANVAX) writes: >Although you are free to use the field on your own to track things manually ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >I have no idea if this would break in the future if this field did begin to >get used. >Mark Gooderum Only... \ Merry Christmas !!! WRONG! Under no circumstances should you help yourself to a field that the system reserves for possible future use. If we were to implement mutual exclusion using this field, yet you were using the field for your own implementation, how well do you think the two would co-exist? Not very well at all. The rule is simple: Make sure all unused or reserved fields are properly initialized (normally to all zeros). You have plenty of other places to store your own data. We generally don't. In summary, we reserve the right to use the MutualExclude field of gadgets for anything we please, which may not even be Mutual Exclusion. Correctly written programs leave these fields NULL. We can't guarantee compatibility of incorrectly written programs with future revisions of the Amiga hardware and software. There is a fairly long history of such violations (using MOVESR instead of GetCC(), not putting image data into chip memory, etc.). Please learn from these kinds of mistakes instead of attempting to create new ones or worse, encourage them. -- Peter Cherna, Software Engineer, Commodore-Amiga, Inc. {uunet|rutgers}!cbmvax!peter peter@cbmvax.cbm.commodore.com My opinions do not necessarily represent the opinions of my employer. "A friend of mine is into Voodoo Acupuncture. You don't have to go. You'll just be walking down the street and ..... oooohhh, that's much better..." - Steven Wright