The GGI Lowlevel Extensions Book

This book contains the documentation for the GGI lowlevel extensions.


Table of Contents
Preface
I. Library references
I. LibGGIMisc Reference
libggimisc -- Add-on to LibGGI for extraneous features
II. Libblt Reference
libblt -- An extension to LibGGI for blitting operations
II. API references
III. LibGGIMisc API Functions
ggiGetRayPos -- Find out where the raster beam is.
ggiWaitRayPos -- Wait for the raster to reach a point
ggiSetSplitline -- Set the hardware split line feature
IV. LibBuf API
ggiBufInit -- Initialize and uninitialize LibBuf
ggiBufAttach -- Enable the LibBuf API on a LibGGI visual
ggiBufCreateZ -- Allocate and activate an ancillary buffer resource on the fly.
ggiBufAdd -- Add a request for an ancillary buffer to a LibGAlloc request list.
ggiBufTie -- Activate an ancillary buffer resource.
ggiBufSetGCForeground -- Set or get the foreground, background default values and flags of a buffer.
ggiBufPutValue -- Methods for raw access to buffer data.
V. LibBlt API
ggiBltInit -- Initialize and uninitialize LibBlt
ggiBltAttach -- Enable the LibBlt API on a LibGGI visual
ggiBltCreate -- Allocate and activate a blit on-the-fly
ggiBltCreateBob -- Allocate and activate a blit source on-the-fly
ggiBltAdd -- Add a request for a blit and BOBs to a LibGAlloc request list
ggiBltTie -- (Un)wrap an approved LibGAlloc resource handle in blit or bob object.
ggiBltSetBobFlags -- Set or get the flags and ROP behavior of a BOB
ggiBltSetSourceIdx -- Set or get the texture index of a BOB or other LibBlt data source.
ggiBltGo -- Index, dispatch, and monitor the operations in a blit.
ggiBltPutBatchop -- Load or alter precompiled commands in a blit.
VI. LibOvl API
ggiOvlInit -- Initialize and uninitialize LibOvl
ggiOvlAttach -- Enable the LibOvl API on a LibGGI visual
ggiOvlCreate -- Allocate and activate a video overlay resource on the fly.
ggiOvlAdd -- Add a request for a graphics overlay to a LibGAlloc request list.
ggiOvlTie -- Activate an allocated graphics overlay resource
ggiOvlSetPriority -- Set the display priority of an overlay within its group.
ggiOvlSetVals -- Position, resize and zoom a graphics overlay.
ggiOvlSetCoordBase -- Set the units and point of origin used when positioning an overlay
ggiOvl2Buf -- Represent the data inside an overlay with a LibBuf object
ggiOvl2Vis -- Access an overlay as a LibGGI visual; load data into an overlay
ggiOvlSetFlags -- Change use-time features of an overlay
List of Examples
1. Initialize and uninitialize LibBuf
1. Activate LibBuf such that the ggiBufCreate* functions work
1. Activate an emulated 8-bit Z buffer for the main framebuffer
1. Add a request for a mode with a Z buffer
1. Create a clad visual and draw one box under another.
1. Initialize and uninitialize LibBlt
1. Activate LibBlt such that the ggiBltCreate* functions work
1. Create a 50-operation blit with a few boolean rops available.
1. Create a 50x50 16bpp BOB for one blit and reuse it with a second blit.
1. Make a bunch of objects dance around the screen
1. Initialize and uninitialize LibOvl
1. Activate LibOvl such that the ggiOvlCreate* functions work
1. Activate a mouse cursor.
1. Add a request for two sprites in the same sprite engine
1. Tie a resource using the return values of ggiOvlAdd.
1. Move, zoom, and pan a video overlay.
1. Center a sprite at 50mm, 50mm and spiral it out from there