MScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]] ; Copy graphic

Copies an area from within one chunky Bitmap to somewhere in another chunky
Bitmap. The currently used main Bitmap is the destination, and is also the source
unless you specify otherwise. The entire operation should fit within the
dimensions of the chunky Bitmaps and will not be cropped. If CustomOffsets.l is
specified then a list of custom settings will be used for each row of the scroll.
CustomOffsets.l should point to an array of data which should contain sets of
Width.w,X1Offset.w,X2Offset.w,SourceModulo.w. Each group of 4 variables
correspond to a single line in the scroll and there should be enough data for all
of the lines. Width.w is an absolute width, which should be at least 1, and is
the width of the operation for a given line. X1Offset.w is a relative offset in
the source X1 coordinate, relative to the previous line. For example, to maintain
the same X1 coordinate throughout the scroll you should have X1Offset.w set to 0
for every line. Setting it to 1 for every line would cause the scroll to slant at
45 degrees, for example. X2Offset.w corresponds to the destination X2 coordinate
and is relative to the X2 position of the previous line. An X2Offset of 0 on
every line produces a normal rectangle. Note that X1Offset and X2Offset take
effect prior to the start of the processing of a given line. On the contrary,
SourceModulo.w takes effect when a given line has finished processing. It is an
absolute value which is added to the source position at the end of a line to
effect a `modulo' offset. The modulo for each line is relative to the previous
line so setting SourceModulo.w to 0 for every line will produce a normal blit. It
is possible to specify a negative modulo, equal to the width of the bitmap, such
as -320, in order to repeat the first line of the source over and over again.
Similarly, -320*2 (-640) would cause an on-the-fly verticle flip of the area, for
which you should logically point the source Y1 coordinate to the bottom of the
area rather than the top. Used carefully the SourceModulo will allow for variable
verticle zooming. Note that if you specify the source and destination bitmaps as
being the same bitmap there is a small chance that an undesired effect will be
produced.



converted with guide2html by Kochtopf