CompuServe Thread

#Layers Anyone??

7 messages in this thread
#46410From: John DraperDec 31, 1986 5:22 AM
I'm trying to set a smaller area in an Intuition window to render text to. I want the text to remain "clipped" into a specified rectangle. I looked in the documentation and see no function that can set up a clipped region. I assume that I must use the Layers routines. Because I never used the Layers routines, I have a few questions related to the Layers library. #1. Because I'm using Intuition, I would like to know if I still have to open the Layers Library? Or does Intuition do that for you. #2. I assume that I do the following sequence of calls: a) NewLayerInfo – To get our Layer structure b) CreateLayerInfo – Get a pointer to an initialized Layer structure. ( The RKM says that I'm supposed to do "LockLayerInfo()" call when using this function, But I see NO examples that call "LockLayerInfo()". c) CreateUpfrontLayer() – According to RKM, is supposed to specify the area on the screen where the layer is supposed to be. It also says that I'm supposed to give it a pointer to a "common BitMap used by all layers. Now, Where is this so called "common bitmap?", there is ABSOLUTLY NO DOCUMANTATION that explains this. do I: #1. declare a bitmap structure and point to it? #2. get the bitmap from the ClipRect pointed to by the ClipRect field in the Layer structure pointed to by the WLayer field in the Window structure?? #3. Or get the bitmap from some other place?? Using the RastPort from the newly created "Layer" structure, I happily render all my stuff in there without messing up any gadgets that happen to be laying around. Which leads to my next question. #3. Do the Coordinates reference to the ULC of the new Layer area, or are they referenced from the ULC of the Intuition Window? (ULC = Upper Left Corner). NOTE: Naturally, I didn't mention above, but I assume that I must a) DeleteLayer b) DisposeLayerInfo < in that order – before exiting > I would appreciate a prompt reply, as I only have one more week to go in my Amiga programming vacation, and would like something to show for all my work. And everyone will eventually appreciate what I'm doing. Crunch – Programmers Network WELL: crunch UUCP: ihnp4!ptsfa!well!crunch BIX: crunch CIS: 76703,4322 /ex
#46493From: Mike BerroDec 31, 1986 8:03 PM
Cap'n: If you attach a console to the window, you can then send commands that set the LEFT OFFSET, TOP OFFSET, LINE LENGTH and PAGE LENGTH for any text sent to the window thru the console. LINE LENGTH is given in # of characters rather than pixels, based on the current font, so you won't get half a character as clipping might do. The offsets are in pixels relative to the window. —Mike
#46525From: John DraperJan 1, 1987 12:03 AM
I'm not using the console, I'm working on a high performance productivity tool, and I'm using Intuition. I'm really looking for a few un-resolved areas where documentation fails to completly describe how to use it.
#46546From: Mike BerroJan 1, 1987 2:26 AM
Why don't you use the console? What's a "high performance productivity tool" anyway? When an intuition function doesn't do exactly what I want, I just code it myself. I've come up with a file requester scheme that looks like each filename is in it's own gadget, but I don't use gadgets. I just code it to behave like a gadget. You could do the same (assuming, of course, that the easy ways fail <grin>). There are certainly more than a "few" un-resolved" areas in the docs! The hardware manual says that one of the parellel port signals can be used to generate an interrupt (!!!), but I can't find out why in any of the copious documentation I possess. —Mike
#46595From: Chris GreenJan 1, 1987 1:12 PM
I believe that you want to use the (new to 1.2) function AddClipRect (not 100% sure about name).
#46742From: John DraperJan 2, 1987 1:23 AM
There are several reasons why I don't want to use the console. One of which is performance. I would rather work directly with IDCMP messages than to shoot serial data streams to the console input. I would prefer to code it myself like you mentioned, It's just that VERY LITTLE dosumentation exists that explain a simple way to deal with clipping rectangles. Actually, what I'm trying to do is to smooth scroll text in a smaller section of an ordinary Intuition window. The smaller area (smooth scrolling part) is surrounded by gadgets, so a strict clipping rectangle is in order. I'm trying to use the Layers in SuperBitmap mode because I have access to the scrolling routines which are VERY FAST. Remember, I'm after PERFORMANCE!! (sigh) the search goes on…… Crunch
#46763From: Mike BerroJan 2, 1987 2:13 AM
That is THE problem with the Amiga, getting maximum performance. You can do anything with the built-in routines, which is wonderful, but there isn't enough documentation to do things efficiently. If I were you (and had the time), I would write a routine that writes directly to the bitmap, and code my own clipping routines. I'm going to do at least the former when I have time, like perhaps next year. Good luck! —Mike