Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!columbia!caip!sri-spam!nike!ucbcad!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: net.micro.amiga,net.micro.mac Subject: Re: BYTE issue of September 86 focuses on the 68000 Message-ID: <8609230545.AA12713@cory.Berkeley.EDU> Date: Tue, 23-Sep-86 01:45:04 EDT Article-I.D.: cory.8609230545.AA12713 Posted: Tue Sep 23 01:45:04 1986 Date-Received: Tue, 23-Sep-86 06:03:22 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: University of California at Berkeley Lines: 54 Xref: mnetor net.micro.amiga:4783 net.micro.mac:7137 >(2) One thing that no one has mentioned yet is how does the Amiga system >software manages scroll bars. The example in BYTE listed several steps on >the Mac side for moving and resizing scroll bars. Since I don't know >anything about the Amiga, I would like to see a short description of how a >programmer specifies where the scroll bars belong in a window, and how much >space this specification requires. Ok, in this answer I'm assuming you're talking about little sliding-box gadgets that allows you to specify what part of a much larger window or document is to be displayed in the on-screen window. Implimentation on the amiga is as follows: -Create a Proportional gadget for the scroll bar(s). Simple flags within the gadget structure tells intuition whether it's in a border (in which case the border is modified to take into account the gadget), and whether the gadget is relative to the window size (so it changes size dyanmically and automatically when you resize a window) The proportional gadget structure can handle both 1D (slim-rectangle) or 2D (box). Thus, the gadget in Preferences to center the screen on the monitor is simply a 2D gadget. Usually one uses two 1D prop gadgets to control what part of a much larger bitmap you are looking at (example: the new Lines demo runs in something like 1000x800, but its window can be any size up to 640x200). -In the message stream comming from intuition, you place a case for that particular gadget being activated and have code to handle it. However, this entails less work than you might think. Since standard intuition windows utilize cliprects, you don't have to do anything special with the graphics functions in the rest of the program. Using the example of the Lines demo again: The routines to draw the lines don't know or care how large the viewing window is, they simply do the graphics calls over 1000x800. The graphics functions will handle, through cliprects, what is actually displayed within the viewing window. >The Mac architecture give the programmer the flexibility to have status >windows adjacent to the scroll bars (as in Microsoft Word and File, >Pagemaker, and MPW Shell). I want to hear how the Amiga software would >handle a similar feature. You weren't explicit enough for me to come up with a better example. Certainly, the easiest way of doing something like this is to simply open two windows and place them next to each other (or one on top of another) ... etc.. in any way you wish. As I said before, cliprects are completely integrated with the graphics functions and a program doesn't (need to) know or care whether there are other windows over its window or not. Another method is to simply link in a gadget in the border region right next to the scroll bars. (the gadget would be a simple bitmap). -Matt