[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

The portion of the bitmap showing within a SuperBitMap window is
controlled by the application.  Initially, the window shows the bitmap
starting from its origin (0,0) and clipped to fit within the window layer.
The visible portion of the bitmap can be scrolled around within the window
using the layers library ScrollLayer() function:

    void ScrollLayer(LONG unused, struct Layer *layer, LONG dx, LONG dy)

Pass this function a pointer to the window's layer in layer and the scroll
offsets in dx and dy.  (A pointer to the window's layer can be obtained
from Window.RPort->Layer.)

When rendering operations are performed in a SuperBitMap window, any
rendering that falls outside window boundaries is done in the
application's bitmap.  Rendering that falls within window bounds is done
in the screen's bitmap.  Before performing an operation such as a save on
the application bitmap, the graphics library function SyncSBitMap() should
be called:

    void SyncSBitMap(struct Layer *layer)

Pass this function a pointer to the window's layer.  SyncSBitMap() copies
the window contents to the corresponding part of the application bitmap,
bringing it up to date.  (If no rendering operations have been performed
this call is not necessary.)

Similarly, after making any changes to the application bitmap such as
loading a new one, the window's layer should be locked and the
CopySBitMap() function should be called.

    void CopySBitMap(struct Layer *)

This function copies the new information in the appropriate area of the
underlying bitmap to the window's layer.

For more information about bitmaps and layers, see the
"Graphics Primitives" and "Layers Library" chapters of this manual.  Also
see the <graphics/clip.h>, <graphics/gfx.h>, <graphics/layers.h>,
graphics library and layers library sections of the Amiga ROM Kernel
Reference Manual: Includes and Autodocs.


[Back to Amiga Developer Docs]