[comp.sys.amiga.tech] Writing clipping routines

GRGREF@BYUVM.BITNET (Bryan Ford) (07/22/90)

In a project I'm working on, I'm going to have to write some blitter
routines that handle clipping, and I'd like to make them compatible with
the Amiga's built-in layer structures and routines.  In the 1.1 manuals
there is no real mention about how the Layer and ClipRect structures
work, and only obscure comments in the header files.  (I don't have the
new manuals.)  Is this information in the new manuals?  If not, where
could I get it?

One last question...if I did this, would it be "safe"?  (i.e. would these
routines work with 2.0 and later operating systems?)

Thanks for your help.
                                 Bryan

                             Bryan Ford

Bryan Ford (GRGREF@BYUVM.BITNET)

Lee_Robert_Willis@cup.portal.com (07/29/90)

I have the 1.3 release of the RKM Libraries & Devices, which explains in
somewhat better detail what the Layers library does.  Basically, if what
you need is _rectangular_ clipping, then the Layers library does it for you.
You create a "Layer" (i.e. clipping rectangle) of the desired size, and
then draw to its RastPort (NOT the window's RastPort).  The Layers library
will clip to the RastPort.  
(DISCLAIMER:  I've read this section of the RKM, but I haven't played with
it. So my advice my worth the price you paid for it.)
		Lee Willis

GRGREF@BYUVM.BITNET (07/29/90)

>I have the 1.3 release of the RKM Libraries & Devices, which explains in
>somewhat better detail what the Layers library does.  Basically, if what
>you need is _rectangular_ clipping, then the Layers library does it for you.
>You create a "Layer" (i.e. clipping rectangle) of the desired size, and
>then draw to its RastPort (NOT the window's RastPort).  The Layers library
>will clip to the RastPort.

What I need to know is not how to use the OS's clipping routines, but how to
*extend* them.  I need to add new routines which use the blitter directly,
but can clip using regular RastPorts.  I am quite experienced in graphics and
clipping, I just need to know how to use the Layers structures.

As an example, one routine I need to do is a replacement for the
BltMaskBitMapRastPort() routine.  This routine in the OS is very slow and
flashes the display terribly.  Therefore I want to create a replacement
routine which goes more quickly and smoothly.

Thanks!

>                Lee Willis

                                 Bryan Ford