(C) 1998 AROS - The Amiga Research OS


NAME
#include <proto/graphics.h>

void ClipBlit (srcRP , xSrc , ySrc , destRP , xDest , yDest , xSize , ySize , minterm)

LOCATION
In GfxBase at offset 92

SYNOPSIS
struct RastPort * srcRP
LONG xSrc
LONG ySrc
struct RastPort * destRP
LONG xDest
LONG yDest
LONG xSize
LONG ySize
UBYTE minterm

FUNCTION
Copies the contents of one rastport to another rastport. Takes care of layered and non-layered source and destination rastports. If you have a window you should always use this function instead of BltBitMap().

INPUTS
srcRP
Copy from this RastPort.
xSrc, ySrc
This is the upper left corner of the area to copy.
destRP
Copy to this RastPort.
xDest, yDest
Upper left corner where to place the copy
xSize, ySize
The size of the area to copy
minterm
How to copy. Most useful values are 0x00C0 for a vanilla copy, 0x0030 to invert the source and then copy or 0x0050 to ignore the source and just invert the destination. If you want to calculate other values, then you must know that channel A is set, if you are inside the rectangle, channel B is the source and channel C is the destination of the rectangle.

Bit ABC 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111

So 0x00C0 means: D is set if one is inside the rectangle (A is set) and B (the source) is set and cleared otherwise.

To fill the rectangle, you would want to set D when A is set, so the value is 0x00F0.

RESULT
None

EXAMPLE

SEE ALSO
BltBitMapRastPort()

NOTES

BUGS

INTERNALS

HISTORY
23.07.1999 bergers
Update. - bugfix
02.07.1999 bergers
Bugfix for simple layers and hidden cliprects.
25.05.1999 bergers
ClipBlit should now also be able to handle (seriously) overlapping blits in the same rastport.
18.05.1999 bergers
Some bugfixes for simple layers; simple layers work much better now.
13.05.1999 bergers
Fixed some typos.
12.05.1999 bergers
Bugfix.
29.03.1999 bergers
Update.
25.03.1999 bergers
Removed one LockLayerRom().
20.03.1999 bergers
Common exit for this function, also in case of failure. (My first goto statement ever...)
20.03.1999 bergers
Yet another bugfix.
20.03.1999 bergers
Protect rastport's layer with a lock. Region is disposed now -> memory leak fixed.
10.02.1999 bergers
Bugfix for superbitmapped layers.
27.01.1999 bergers
Bugfix.
21.01.1999 bergers
Added support for simple and superbitmapped layers.
19.01.1999 bergers
Support for overlapping areas. Allows blitting within the same rastport.
17.01.1999 bergers
Implementation of that function.