home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-09-11 | 29.8 KB | 1,033 lines |
- TABLE OF CONTENTS
-
- layers.library/BeginUpdate
- layers.library/BehindLayer
- layers.library/CreateBehindHookLayer
- layers.library/CreateBehindLayer
- layers.library/CreateUpfrontHookLayer
- layers.library/CreateUpfrontLayer
- layers.library/DeleteLayer
- layers.library/DisposeLayerInfo
- layers.library/EndUpdate
- layers.library/FattenLayerInfo
- layers.library/InitLayers
- layers.library/InstallClipRegion
- layers.library/InstallLayerHook
- layers.library/LockLayer
- layers.library/LockLayerInfo
- layers.library/LockLayers
- layers.library/MoveLayer
- layers.library/MoveLayerInFrontOf
- layers.library/MoveSizeLayer
- layers.library/NewLayerInfo
- layers.library/ScrollLayer
- layers.library/SizeLayer
- layers.library/SwapBitsRastPortClipRect
- layers.library/ThinLayerInfo
- layers.library/UnlockLayer
- layers.library/UnlockLayerInfo
- layers.library/UnlockLayers
- layers.library/UpfrontLayer
- layers.library/WhichLayer
- layers.library/BeginUpdate layers.library/BeginUpdate
-
- NAME
- BeginUpdate -- Prepare to repair damaged layer.
-
- SYNOPSIS
- result = BeginUpdate( l )
- d0 a0
-
- LONG BeginUpdate( struct Layer *);
-
- FUNCTION
- Convert damage list to ClipRect list and swap in for
- programmer to redraw through. This routine simulates
- the ROM library environment. The idea is to only render in the
- "damaged" areas, saving time over redrawing all of the layer.
- The layer is locked against changes made by the layer library.
-
- INPUTS
- l - pointer to a layer
-
- RESULTS
- result - TRUE if damage list converted to ClipRect list sucessfully.
- FALSE if list conversion aborted. (probably out of memory)
-
- BUGS
- If BeginUpdate returns FALSE, programmer must abort the attempt to
- refresh this layer and instead call EndUpdate( l, FALSE ) to restore
- original ClipRect and damage list.
-
- SEE ALSO
- EndUpdate, graphics/layers.h, graphics/clip.h
-
- layers.library/BehindLayer layers.library/BehindLayer
-
- NAME
- BehindLayer -- Put layer behind other layers.
-
- SYNOPSIS
- result = BehindLayer( dummy, l )
- d0 a0 a1
-
- LONG BehindLayer( LONG, struct Layer *);
-
- FUNCTION
- Move this layer to the most behind position swapping bits
- in and out of the display with other layers.
- If other layers are REFRESH then collect their damage lists and
- set the LAYERREFRESH bit in the Flags fields of those layers that
- may be revealed. If this layer is a backdrop layer then
- put this layer behind all other backdrop layers.
- If this layer is NOT a backdrop layer then put in front of the
- top backdrop layer and behind all other layers.
-
- Note: this operation may generate refresh events in other layers
- associated with this layer's Layer_Info structure.
-
- INPUTS
- dummy - unused
- l - pointer to a layer
-
- RESULTS
- result - TRUE if operation successful
- FALSE if operation unsuccessful (probably out of memory)
-
- BUGS
-
- SEE ALSO
- graphics/layers.h, graphics/clip.h
-
- layers.library/CreateBehindHookLayer layers.library/CreateBehindHookLayer
-
- NAME (V36)
- CreateBehindHookLayer -- Create a new layer behind all existing layers,
- using supplied callback BackFill hook.
-
- SYNOPSIS
- result = CreateBehindHookLayer(li,bm,x0,y0,x1,y1,flags,hook,[,bm2])
- d0 a0 a1 d0 d1 d2 d3 d4 a3 [ a2 ]
-
- struct Layer *CreateBehindHookLayer(struct Layer_Info *, struct BitMap *,
- LONG, LONG, LONG, LONG, LONG, struct Hook *, ... );
-
- FUNCTION
- Create a new Layer of position and size (x0,y0)->(x1,y1)
- Make this layer of type found in flags.
- Install Layer->BackFill callback Hook.
- If SuperBitMap, use bm2 as pointer to real SuperBitMap,
- and copy contents of Superbitmap into display layer.
- If this layer is a backdrop layer then place it behind all
- other layers including other backdrop layers. If this is
- not a backdrop layer then place it behind all nonbackdrop
- layers.
-
- Note: when using SUPERBITMAP, you should also set LAYERSMART flag.
-
- INPUTS
- li - pointer to LayerInfo structure
- bm - pointer to common BitMap used by all Layers
- x0,y0 - upper left hand corner of layer
- x1,y1 - lower right hand corner of layer
- flags - various types of layers supported as bit sets.
- (for bit definitions, see graphics/layers.h )
- hook - Layer->BackFill callback Hook which will be called
- with object == (struct RastPort *) result->RastPort
- and message == [ (Layer *) layer, (struct Rectangle) bounds,
- (WORD) offsetx, (WORD) offsety ]
- bm2 - pointer to optional Super BitMap
-
- RESULTS
- result - pointer to Layer structure if successful
- NULL if not successful
-
- BUGS
-
- SEE ALSO
- DeleteLayer, graphics/layers.h, graphics/clip.h, graphics/gfx.h
- utility/hooks.h
-
- layers.library/CreateBehindLayer layers.library/CreateBehindLayer
-
- NAME
- CreateBehindLayer -- Create a new layer behind all existing layers.
-
- SYNOPSIS
- result = CreateBehindLayer(li,bm,x0,y0,x1,y1,flags [,bm2])
- d0 a0 a1 d0 d1 d2 d3 d4 [ a2 ]
-
- struct Layer *CreateBehindLayer(struct Layer_Info *, struct BitMap *,
- LONG, LONG, LONG, LONG, LONG, ... );
-
- FUNCTION
- Create a new Layer of position and size (x0,y0)->(x1,y1)
- Make this layer of type found in flags.
- If SuperBitMap, use bm2 as pointer to real SuperBitMap,
- and copy contents of Superbitmap into display layer.
- If this layer is a backdrop layer then place it behind all
- other layers including other backdrop layers. If this is
- not a backdrop layer then place it behind all nonbackdrop
- layers.
-
- Note: when using SUPERBITMAP, you should also set LAYERSMART flag.
-
- INPUTS
- li - pointer to LayerInfo structure
- bm - pointer to common BitMap used by all Layers
- x0,y0 - upper left hand corner of layer
- x1,y1 - lower right hand corner of layer
- flags - various types of layers supported as bit sets.
- (for bit definitions, see graphics/layers.h )
- bm2 - pointer to optional Super BitMap
-
- RESULTS
- result - pointer to Layer structure if successful
- NULL if not successful
-
- BUGS
-
- SEE ALSO
- DeleteLayer, graphics/layers.h, graphics/clip.h, graphics/gfx.h
-
- layers.library/CreateUpfrontHookLayer layers.library/CreateUpfrontHookLayer
-
- NAME (V36)
- CreateUpfrontHookLayer -- Create a new layer on top of existing layers,
- using supplied callback BackFill hook.
-
- SYNOPSIS
- result = CreateUpfrontHookLayer(li,bm,x0,y0,x1,y1,flags,hook,[,bm2])
- d0 a0 a1 d0 d1 d2 d3 d4 a3 [ a2 ]
-
- struct Layer *CreateUpfrontHookLayer(struct Layer_Info *, struct BitMap *,
- LONG, LONG, LONG, LONG, LONG, struct Hook *, ... );
-
- FUNCTION
- Create a new Layer of position and size (x0,y0)->(x1,y1)
- and place it on top of all other layers.
- Make this layer of type found in flags
- Install Layer->BackFill callback hook.
- if SuperBitMap, use bm2 as pointer to real SuperBitMap.
- and copy contents of Superbitmap into display layer.
-
- Note: when using SUPERBITMAP, you should also set LAYERSMART flag.
-
- INPUTS
- li - pointer to LayerInfo structure
- bm - pointer to common BitMap used by all Layers
- x0,y0 - upper left hand corner of layer
- x1,y1 - lower right hand corner of layer
- flags - various types of layers supported as bit sets.
- hook - Layer->BackFill callback Hook which will be called
- with object == (struct RastPort *) result->RastPort
- and message == [ (Layer *) layer, (struct Rectangle) bounds,
- (WORD) offsetx, (WORD) offsety ]
- bm2 - pointer to optional Super BitMap
-
- RESULTS
- result - pointer to Layer structure if successful
- NULL if not successful
-
- BUGS
-
- SEE ALSO
- DeleteLayer, graphics/layers.h, graphics/clip.h, graphics/gfx.h
- utility/hooks.h
-
- layers.library/CreateUpfrontLayer layers.library/CreateUpfrontLayer
-
- NAME
- CreateUpfrontLayer -- Create a new layer on top of existing layers.
-
- SYNOPSIS
- result = CreateUpfrontLayer(li,bm,x0,y0,x1,y1,flags [,bm2])
- d0 a0 a1 d0 d1 d2 d3 d4 [ a2 ]
-
- struct Layer *CreateUpfrontLayer(struct Layer_Info *, struct BitMap *,
- LONG, LONG, LONG, LONG, LONG, ... );
-
- FUNCTION
- Create a new Layer of position and size (x0,y0)->(x1,y1)
- and place it on top of all other layers.
- Make this layer of type found in flags
- if SuperBitMap, use bm2 as pointer to real SuperBitMap.
- and copy contents of Superbitmap into display layer.
-
- Note: when using SUPERBITMAP, you should also set LAYERSMART flag.
-
- INPUTS
- li - pointer to LayerInfo structure
- bm - pointer to common BitMap used by all Layers
- x0,y0 - upper left hand corner of layer
- x1,y1 - lower right hand corner of layer
- flags - various types of layers supported as bit sets.
- bm2 - pointer to optional Super BitMap
-
- RESULTS
- result - pointer to Layer structure if successful
- NULL if not successful
-
- BUGS
-
- SEE ALSO
- DeleteLayer, graphics/layers.h, graphics/clip.h, graphics/gfx.h
-
- layers.library/DeleteLayer layers.library/DeleteLayer
-
- NAME
- DeleteLayer -- delete layer from layer list.
-
- SYNOPSIS
- result = DeleteLayer( dummy, l )
- d0 a0, a1
-
- LONG DeleteLayer( LONG, struct Layer *);
-
- FUNCTION
- Remove this layer from the list of layers. Release memory
- associated with it. Restore other layers that may have been
- obscured by it. Trigger refresh in those that may need it.
- If this is a superbitmap layer make sure SuperBitMap is current.
- The SuperBitMap is not removed from the system but is available
- for program use even though the rest of the layer information has
- been deallocated.
-
- INPUTS
- dummy - unused
- l - pointer to a layer
-
- RESULTS
- result - TRUE if this layer successfully deleted from the system
- FALSE if layer not deleted. (probably out of memory )
-
- BUGS
-
- SEE ALSO
- graphics/layers.h, graphics/clip.h
-
- layers.library/DisposeLayerInfo layers.library/DisposeLayerInfo
-
- NAME
- DisposeLayerInfo -- Return all memory for LayerInfo to memory pool
-
- SYNOPSIS
- DisposeLayerInfo( li )
- a0
-
- void DisposeLayerInfo( struct Layer_Info *);
-
- FUNCTION
- return LayerInfo and any other memory attached to this LayerInfo
- to memory allocator.
-
- Note: if you wish to delete the layers associated with this Layer_Info
- structure, remember to call DeleteLayer() for each of the layers
- before calling DisposeLayerInfo().
-
- INPUTS
- li - pointer to LayerInfo structure
-
- EXAMPLE
-
- -- delete the layers associated this Layer_Info structure --
-
- DeleteLayer(li,simple_layer);
- DeleteLayer(li,smart_layer);
-
- -- see documentation on DeleteLayer about deleting SuperBitMap layers --
- my_super_bitmap_ptr = super_layer->SuperBitMap;
- DeleteLayer(li,super_layer);
-
- -- now dispose of the Layer_Info structure itself --
- DisposeLayerInfo(li);
-
-
- BUGS
-
- SEE ALSO
- DeleteLayer, graphics/layers.h
-
- layers.library/EndUpdate layers.library/EndUpdate
-
- NAME
- EndUpdate -- remove damage list and restore state of layer to normal.
-
- SYNOPSIS
- EndUpdate( l, flag )
- a0 d0
-
- void EndUpdate( struct Layer *, UWORD);
-
- FUNCTION
- After the programmer has redrawn his picture he calls this
- routine to restore the ClipRects to point to his standard
- layer tiling. The layer is then unlocked for access by the
- layer library.
-
- Note: use flag = FALSE if you are only making a partial update.
- You may use the other region functions (graphics functions such as
- OrRectRegion, AndRectRegion, and XorRectRegion ) to clip adjust
- the DamageList to reflect a partial update.
-
- INPUTS
- l - pointer to a layer
- flag - use TRUE if update was completed. The damage list is cleared.
- use FALSE if update not complete. The damage list is retained.
-
- EXAMPLE
-
- -- begin update for first part of two-part refresh --
- BeginUpdate(my_layer);
-
- -- do some refresh, but not all --
- my_partial_refresh_routine(my_layer);
-
- -- end update, false (not completely done refreshing yet) --
- EndUpdate(my_layer, FALSE);
-
- -- begin update for last part of refresh --
- BeginUpdate(my_layer);
-
- -- do rest of refresh --
- my_complete_refresh_routine(my_layer);
-
- -- end update, true (completely done refreshing now) --
- EndUpdate(my_layer, TRUE);
-
- BUGS
-
- SEE ALSO
- BeginUpdate, graphics/layers.h, graphics/clip.h
-
- layers.library/FattenLayerInfo layers.library/FattenLayerInfo
-
- NAME
- FattenLayerInfo -- convert 1.0 LayerInfo to 1.1 LayerInfo
- OBSOLETE OBSOLETE OBSOLETE OBSOLETE OBSOLETE
-
- SYNOPSIS
- OBSOLETE OBSOLETE OBSOLETE OBSOLETE OBSOLETE
- FattenLayerInfo( li )
- a0
-
- LONG FattenLayerInfo( struct Layer_Info *);
- OBSOLETE OBSOLETE OBSOLETE OBSOLETE OBSOLETE
-
- FUNCTION
- V1.1 software and any later releases need to have more info in the
- Layer_Info structure. To do this in a 1.0 supportable manner requires
- allocation and deallocation of the memory whenever most
- layer library functions are called. To prevent unnecessary
- allocation/deallocation FattenLayerInfo will preallocate the
- necessary data structures and fake out the layer library into
- thinking it has a LayerInfo gotten from NewLayerInfo.
- NewLayerInfo is the approved method for getting this structure.
- When a program needs to give up the LayerInfo structure it
- must call ThinLayerInfo before freeing the memory. ThinLayerInfo
- is not necessary if New/DisposeLayerInfo are used however.
-
- INPUTS
- li - pointer to LayerInfo structure
-
- BUGS
-
- SEE ALSO
-
- NewLayerInfo, ThinLayerInfo, DisposeLayerInfo, graphics/layers.h
-
- layers.library/InitLayers layers.library/InitLayers
-
- NAME
- InitLayers -- Initialize Layer_Info structure
- OBSOLETE OBSOLETE OBSOLETE OBSOLETE OBSOLETE
-
- SYNOPSIS
- OBSOLETE OBSOLETE OBSOLETE OBSOLETE OBSOLETE
- InitLayers( li )
- a0
-
- void InitLayers( struct Layer_Info *);
- OBSOLETE OBSOLETE OBSOLETE OBSOLETE OBSOLETE
-
- FUNCTION
- Initialize Layer_Info structure in preparation to use
- other layer operations on this list of layers.
- Make the Layers unlocked (open), available to layer operations.
-
- INPUTS
- li - pointer to LayerInfo structure
-
- BUGS
-
- SEE ALSO
- NewLayerInfo, DisposeLayerInfo, graphics/layers.h
-
- layers.library/InstallClipRegion layers.library/InstallClipRegion
-
- NAME
- InstallClipRegion -- Install clip region in layer
-
- SYNOPSIS
- oldclipregion = InstallClipRegion( l, region )
- d0 a0 a1
-
- struct Region *InstallClipRegion( struct Layer *, struct Region *);
-
- FUNCTION
- Installs a transparent Clip region in the layer. All
- subsequent graphics calls will be clipped to this region.
- You MUST remember to call InstallClipRegion(l,NULL) before
- calling DeleteLayer(l) or the Intuition function CloseWindow()
- if you have installed a non-NULL ClipRegion in l.
-
- INPUTS
- l - pointer to a layer
- region - pointer to a region
-
- RESULTS
- oldclipregion - The pointer to the previous ClipRegion that
- was installed. Returns NULL if no previous ClipRegion installed.
-
- Note: If the system runs out of memory while computing the
- resulting ClipRects the LAYERS_CLIPRECTS_LOST bit will
- be set in l->Flags.
-
- BUGS
- If the system runs out of memory during normal layer operations,
- the ClipRect list may get swept away and not restored.
- As soon as there is enough memory and the layer library
- gets called again the ClipRect list will be rebuilt.
-
- SEE ALSO
- BeginUpdate EndUpdate,
- graphics/layers.h, graphics/clip.h, graphics/regions.h
-
- layers.library/InstallLayerHook layers.library/InstallLayerHook
-
- NAME (V36)
- InstallLayerHook -- safely install a new Layer->BackFill hook.
-
- SYNOPSIS
- oldhook = InstallLayerHook( layer, hook )
- d0 a0 a1
-
- struct Hook *InstallLayerHook( struct Layer *, struct Hook *);
-
- FUNCTION
- Installs a new Layer->Backfill Hook, waiting until it is safe to do
- so. Locks the layer while substituting the new Hook and removing the
- old one. If a new Hook is not provided, will install the default layer
- BackFill Hook.
-
- INPUTS
- layer - pointer to the layer in which to install the Backfill Hook.
- hook - pointer to layer callback Hook which will be called
- with object == (struct RastPort *) result->RastPort
- and message == [ (Layer *) layer, (struct Rectangle) bounds,
- (WORD) offsetx, (WORD) offsety ]
-
- This hook should fill the Rectangle in the RastPort
- with the BackFill pattern appropriate for offset x/y.
-
- If this hook pointer is NULL, the function installs
- the "default" Layers BackFill Hook into this Layer.
-
- RESULTS
- oldhook - pointer to the Layer->BackFill Hook that was previously
- active.
-
- BUGS
-
- SEE ALSO
- graphics/clip.h utility/hooks.h
-
- layers.library/LockLayer layers.library/LockLayer
-
- NAME
- LockLayer -- Lock layer to make changes to ClipRects.
-
- SYNOPSIS
- LockLayer( dummy, l )
- a0 a1
-
- void LockLayer( LONG, struct Layer *);
-
- FUNCTION
- Make this layer unavailable for other tasks to use.
- If another task is already using this layer then wait for
- it to complete and then reserve the layer for your own use.
- (this function does the same thing as graphics.library/LockLayerRom)
-
- Note: if you wish to lock MORE THAN ONE layer at a time, you
- must call LockLayerInfo() before locking those layers and
- then call UnlockLayerInfo() when you have finished. This
- is to prevent system "deadlocks".
-
- Further Note: while you hold the lock on a layer, Intuition will block
- on operations such as windowsizing, dragging, menus, and depth
- arranging windows in this layer's screen. It is recommended that
- YOU do not make Intuition function calls while the layer is locked.
-
- INPUTS
- dummy - unused
- l - pointer to a layer
-
- BUGS
-
- SEE ALSO
- UnlockLayer, LockLayerInfo, UnlockLayerInfo,
- graphics.library/LockLayerRom, graphics/layers.h, graphics/clip.h
-
- layers.library/LockLayerInfo layers.library/LockLayerInfo
-
- NAME
- LockLayerInfo -- Lock the LayerInfo structure.
-
- SYNOPSIS
- LockLayerInfo( li )
- a0
-
- void LockLayerInfo( struct Layer_Info *);
-
- FUNCTION
- Before doing an operation that requires the LayerInfo
- structure, make sure that no other task is also using the
- LayerInfo structure. LockLayerInfo() returns when the
- LayerInfo belongs to this task. There should be
- an UnlockLayerInfo for every LockLayerInfo.
-
- Note: All layer routines presently LockLayerInfo() when they
- start up and UnlockLayerInfo() as they exit. Programmers
- will need to use these Lock/Unlock routines if they wish
- to do something with the LayerStructure that is not
- supported by the layer library.
-
- INPUTS
- li - pointer to Layer_Info structure
-
- BUGS
-
- SEE ALSO
- UnlockLayerInfo, graphics/layers.h
-
- layers.library/LockLayers layers.library/LockLayers
-
- NAME
- LockLayers -- lock all layers from graphics output.
-
- SYNOPSIS
- LockLayers( li )
- a0
-
- void LockLayers( struct Layer_Info *);
-
- FUNCTION
- First calls LockLayerInfo()
- Make all layers in this layer list locked.
-
- INPUTS
- li - pointer to Layer_Info structure
-
- BUGS
-
- SEE ALSO
- LockLayer, LockLayerInfo, graphics/layers.h
-
- layers.library/MoveLayer layers.library/MoveLayer
-
- NAME
- MoveLayer -- Move layer to new position in BitMap.
-
- SYNOPSIS
- result = MoveLayer( dummy, l, dx, dy )
- d0 a0 a1 d0 d1
-
- LONG MoveLayer( LONG, struct Layer *, LONG, LONG);
-
- FUNCTION
- Move this layer to new position in shared BitMap.
- If any refresh layers become revealed, collect damage and
- set REFRESH bit in layer Flags.
-
- INPUTS
- dummy - unused
- l - pointer to a nonbackdrop layer
- dx - delta to add to current x position
- dy - delta to add to current y position
-
- RETURNS
- result - TRUE if operation successful
- FALSE if failed (out of memory)
-
- BUGS
- May not handle (dx,dy) which attempts to move the layer ouside the
- layer's RastPort->BitMap bounds .
-
- SEE ALSO
- graphics/layers.h, graphics/clip.h
-
- layers.library/MoveLayerInFrontOf layers.library/MoveLayerInFrontOf
-
- NAME
- MoveLayerInFrontOf -- Put layer in front of another layer.
-
- SYNOPSIS
- result = MoveLayerInFrontOf( layertomove, targetlayer )
- a0 a1
-
- LONG MoveLayerInFrontOf( struct Layer *, struct Layer *);
-
- FUNCTION
- Move this layer in front of target layer, swapping bits
- in and out of the display with other layers.
- If this is a refresh layer then collect damage list and
- set the LAYERREFRESH bit in layer->Flags if redraw required.
-
- Note: this operation may generate refresh events in other layers
- associated with this layer's Layer_Info structure.
-
- INPUTS
- layertomove - pointer to layer which should be moved
- targetlayer - pointer to target layer in front of which to move layer
-
- RESULTS
- result = TRUE if operation successful
- FALSE if operation unsuccessful (probably out of memory)
-
- BUGS
-
- SEE ALSO
- graphics/layers.h
-
- layers.library/MoveSizeLayer layers.library/MoveSizeLayer
-
- NAME (V36)
- MoveSizeLayer -- Position/Size layer
-
- SYNOPSIS
- result = MoveSizeLayer( layer, dx, dy, dw, dh )
- d0 a0 d0 d1 d2 d3
-
- LONG MoveSizeLayer( struct Layer *, LONG, LONG, LONG, LONG);
-
- FUNCTION
- Change upperleft and lower right position of Layer.
-
- INPUTS
- dummy - unused
- l - pointer to a nonbackdrop layer
- dx,dy - change upper left corner by (dx,dy)
- dw,dy - change size by (dw,dh)
-
- RETURNS
- result - TRUE if operation successful
- FALSE if failed (due to out of memory)
- FALSE if failed (due to illegal layer->bounds)
-
- BUGS
-
- SEE ALSO
- graphics/layers.h, graphics/clip.h
-
- layers.library/NewLayerInfo layers.library/NewLayerInfo
-
- NAME
- NewLayerInfo -- Allocate and Initialize full Layer_Info structure.
-
- SYNOPSIS
- result = NewLayerInfo()
- d0
-
- struct Layer_Info *NewLayerInfo( void );
-
- FUNCTION
- Allocate memory required for full Layer_Info structure.
- Initialize Layer_Info structure in preparation to use
- other layer operations on this list of layers.
- Make the Layer_Info unlocked (open).
-
- INPUTS
- None
-
- RESULT
- result- pointer to Layer_Info structure if successful
- NULL if not enough memory
-
- BUGS
-
- SEE ALSO
- graphics/layers.h
-
- layers.library/ScrollLayer layers.library/ScrollLayer
-
- NAME
- ScrollLayer -- Scroll around in a superbitmap, translate coordinates
- in non-superbitmap layer.
-
- SYNOPSIS
- ScrollLayer( dummy, l, dx, dy )
- a0 a1 d0 d1
-
- void ScrollLayer( LONG, struct Layer *, LONG, LONG);
-
- FUNCTION
- For a SuperBitMap Layer:
- Update the SuperBitMap from the layer display, then copy bits
- between Layer and SuperBitMap to reposition layer over different
- portion of SuperBitMap.
- For nonSuperBitMap layers, all (x,y) pairs are adjusted by
- the scroll(x,y) value in the layer. To cause (0,0) to actually
- be drawn at (3,10) use ScrollLayer(-3,-10). This can be useful
- along with InstallClipRegion to simulate Intuition GZZWindows
- without the overhead of an extra layer.
-
- INPUTS
- dummy - unused
- l - pointer to a layer
- dx - delta to add to current x scroll value
- dy - delta to add to current y scroll value
-
- BUGS
- May not handle (dx,dy) which attempts to move the layer ouside the
- layer's SuperBitMap bounds.
-
- SEE ALSO
- graphics/layers.h
-
- layers.library/SizeLayer layers.library/SizeLayer
-
- NAME
- SizeLayer -- Change the size of this nonbackdrop layer.
-
- SYNOPSIS
- result = SizeLayer( dummy, l, dx, dy )
- d0 a0 a1 d0 d1
-
- LONG SizeLayer( LONG, struct Layer *, LONG, LONG);
-
- FUNCTION
- Change the size of this layer by (dx,dy). The lower right hand
- corner is extended to make room for the larger layer.
- If there is SuperBitMap for this layer then copy pixels into
- or out of the layer depending on whether the layer increases or
- decreases in size. Collect damage list for those layers that may
- need to be refreshed if damage occurred.
-
- INPUTS
- dummy - unused
- l - pointer to a nonbackdrop layer
- dx - delta to add to current x size
- dy - delta to add to current y size
-
- RESULTS
- result - TRUE if operation successful
- FALSE if failed (out of memory)
-
- BUGS
-
- SEE ALSO
- graphics/layers.h, graphics/clip.h
-
- layers.library/SwapBitsRastPortClipRectayers.library/SwapBitsRastPortClipRect
-
- NAME
- SwapBitsRastPortClipRect -- Swap bits between common bitmap
- and obscured ClipRect
-
- SYNOPSIS
- SwapBitsRastPortClipRect( rp, cr )
- a0 a1
-
- void SwapBitsRastPortClipRect( struct RastPort *, struct ClipRect *);
-
- FUNCTION
- Support routine useful for those that need to do some
- operations not done by the layer library. Allows programmer
- to swap the contents of a small BitMap with a subsection of
- the display. This is accomplished without using extra memory.
- The bits in the display RastPort are exchanged with the
- bits in the ClipRect's BitMap.
-
- Note: the ClipRect structures which the layer library allocates are
- actually a little bigger than those described in the graphics/clip.h
- include file. So be warned that it is not a good idea to have
- instances of cliprects in your code.
-
- INPUTS
- rp - pointer to rastport
- cr - pointer to cliprect to swap bits with
-
- NOTE
- Because the blit operation started by this function is done asynchronously,
- it is imperative that a WaitBlit() be performed before releasing or using
- the processor to modify any of the associated structures.
-
- BUGS
-
- SEE ALSO
- graphics/clip.h, graphics/rastport.h, graphics/clip.h
-
- layers.library/ThinLayerInfo layers.library/ThinLayerInfo
-
- NAME
- ThinLayerInfo -- convert 1.1 LayerInfo to 1.0 LayerInfo.
- OBSOLETE OBSOLETE OBSOLETE OBSOLETE OBSOLETE
-
- SYNOPSIS
- OBSOLETE OBSOLETE OBSOLETE OBSOLETE OBSOLETE
- ThinLayerInfo( li )
- a0
-
- void ThinLayerInfo( struct Layer_Info *);
- OBSOLETE OBSOLETE OBSOLETE OBSOLETE OBSOLETE
-
- FUNCTION
- return the extra memory needed that was allocated with
- FattenLayerInfo. This is must be done prior to freeing
- the Layer_Info structure itself. V1.1 software should be
- using DisposeLayerInfo.
-
- INPUTS
- li - pointer to LayerInfo structure
-
- BUGS
-
- SEE ALSO
- DisposeLayerInfo, FattenLayerInfo, graphics/layers.h
-
- layers.library/UnlockLayer layers.library/UnlockLayer
-
- NAME
- UnlockLayer -- Unlock layer and allow graphics routines to use it.
-
- SYNOPSIS
- UnlockLayer( l )
- a0
-
- void UnlockLayer( struct Layer *);
-
- FUNCTION
- When finished changing the ClipRects or whatever you were
- doing with this layer you must call UnlockLayer() to allow
- other tasks to proceed with graphic output to the layer.
-
- INPUTS
- l - pointer to a layer
-
- BUGS
-
- SEE ALSO
- graphics/layers.h, graphics/clip.h
-
- layers.library/UnlockLayerInfo layers.library/UnlockLayerInfo
-
- NAME
- UnlockLayerInfo -- Unlock the LayerInfo structure.
-
- SYNOPSIS
- UnlockLayerInfo( li )
- a0
-
- void UnlockLayerInfo( struct Layer_Info *);
-
- FUNCTION
- After the operation is complete that required a LockLayerInfo,
- unlock the LayerInfo structure so that other tasks may
- affect the layers.
-
- INPUTS
- li - pointer to the Layer_Info structure
-
- BUGS
-
- SEE ALSO
- LockLayerInfo, graphics/layers.h
-
- layers.library/UnlockLayers layers.library/UnlockLayers
-
- NAME
- UnlockLayers -- Unlock all layers from graphics output.
- Restart graphics output to layers that have been waiting
-
- SYNOPSIS
- UnlockLayers( li )
- a0
-
- void UnlockLayers( struct Layer_Info *);
-
- FUNCTION
- Make all layers in this layer list unlocked.
- Then call UnlockLayerInfo
-
- INPUTS
- li - pointer to the Layer_Info structure
-
- BUGS
-
- SEE ALSO
- LockLayers, UnlockLayer, graphics/layers.h
-
- layers.library/UpfrontLayer layers.library/UpfrontLayer
-
- NAME
- UpfrontLayer -- Put layer in front of all other layers.
-
- SYNOPSIS
- result = UpfrontLayer( dummy, l )
- d0 a0 a1
-
- LONG UpfrontLayer( LONG, struct Layer *);
-
- FUNCTION
- Move this layer to the most upfront position swapping bits
- in and out of the display with other layers.
- If this is a refresh layer then collect damage list and
- set the LAYERREFRESH bit in layer->Flags if redraw required.
- By clearing the BACKDROP bit in the layers Flags you may
- bring a Backdrop layer up to the front of all other layers.
-
- Note: this operation may generate refresh events in other layers
- associated with this layer's Layer_Info structure.
-
- INPUTS
- dummy - unused
- l - pointer to a nonbackdrop layer
-
- RESULTS
- result - TRUE if operation successful
- FALSE if operation unsuccessful (probably out of memory)
-
- BUGS
-
- SEE ALSO
- graphics/layers.h
-
- layers.library/WhichLayer layers.library/WhichLayer
-
- NAME
- WhichLayer -- Which Layer is this point in?
-
- SYNOPSIS
- layer = WhichLayer( li, x, y )
- d0 a0 d0 d1
-
- struct Layer *WhichLayer(struct Layer_Info*, WORD, WORD);
-
- FUNCTION
- Starting at the topmost layer check to see if this point (x,y)
- occurs in this layer. If it does return the pointer to this
- layer. Return NULL if there is no layer at this point.
-
- INPUTS
- li = pointer to LayerInfo structure
- (x,y) = coordinate in the BitMap
-
- RESULTS
- layer - pointer to the topmost layer that this point is in
- NULL if this point is not in a layer
-
- SEE ALSO
- graphics/layers.h
-
-