# Lib3DO Functions and Macros

The following functions and macros are available in Lib3DO. Click on any function or macro for more information about it.

AbortAsyncLoadFile Aborts an asynchronous file load operation in progress.

AsyncLoadFile Starts loading a file asynchronously.

BlitFontChar Blits character pixels from font data area into memory buffer.

CEL_DATAPTR Gets the pointer to a cel's data buffer.

CEL_NEXTPTR Gets the pointer to the next cel in a list.

CEL_PLUTPTR Sets the pointer to a cel's PLUT.

CEL_PRE0WORD Gets the Preamble Word 0 value from a cel.

CEL_PRE1WORD Gets the Preamble Word 1 value from a cel.

CenterCRectInCRect Centers a CRect over or within another CRect.

CenterCRectInDisplay Centers a CRect within the display.

CenterCRectOverIPoint Centers a CRect over a point.

CenterFPointInDisplay Returns the center point of the display.

CenterIPointInCRect Calculates the center point of a CRect.

CenterIPointInDisplay Returns the center point of the display.

CenterIPointInSRect Calculates the center point of an SRect.

CenterRectAACelInCRect Centers an anti-aliased cel in a CRect.

CenterRectAACelInDisplay Centers an anti-aliased cel in the display.

CenterRectAACelInSRect Centers an anti-aliased cel in an SRect.

CenterRectAACelOverFPoint Centers an anti-aliased cel over a point.

CenterRectAACelOverIPoint Centers an anti-aliased cel over a point.

CenterRectCelInCRect Centers a cel within a CRect.

CenterRectCelInDisplay Center a cel in the display

CenterRectCelInSRect Centers a cel within an SRect

CenterRectCelListInCRect Centers a list of cels within a CRect.

CenterRectCelListInDisplay Centers a list of cels in the display.

CenterRectCelListInSRect Centers a list of cels within an SRect.

CenterRectCelListOverFPoint Centers a list of cels over a point.

CenterRectCelListOverIPoint Centers a list of cels over a point.

CenterRectCelOverFPoint Centers a cel over a point.

CenterRectCelOverIPoint Centers a cel over a point.

CenterSRectInDisplay Centers an SRect in the display.

CenterSRectInSRect Centers an SRect within an SRect.

CenterSRectOverIPoint Centers an SRect over a point.

ChainCelsAtHead Chains together lists of cels.

ChainCelsAtTail Chains together lists of cels.

CheckAsyncLoadFile Checks for completion of an async file load operation.

CleanupMSEvents Releases resources acquired by SetupMSEvents.

ClearBitmap Clears a screen or bitmap.

CloneCel Creates a copy of a cel.

CloneTextCel Clones an existing text cel.

CreateBackdropCel Creates a single-color cel.

CreateBasicDisplay Does everything needed to create a simple display.

CreateCel Creates a cel from scratch.

CreateLRFormCel Creates an LRForm cel.

CreateSubrectCel Creates a cel that projects a sub-rectangle of another cel's pixels.

CreateTextCel Creates a text cel.

CRectBounds Calculates the bounding box of two CRects.

CRectFromCel Calculates CRect describing a cel.

CRectFromIVal Fills in a CRect from inline values.

CRectFromSRect Converts an SRect to a CRect.

CRectIntersection Calculates the intersection of two CRects.

CrossFadeCels Crossfades between two cels.

CrossFadeCels8 Crossfades between two cels.

DeleteBasicDisplay Deletes a display created with CreateBasicDisplay().

DeleteCel Deletes a cel created by any Library call implemented in lib3do.lib.

DeleteCelList Deletes a list of cels created by any Library call implemented in lib3do.lib.

DeleteTextCel Deletes a text cel and associated resources.

DetachTextCelCCB Releases text-related resources, retaining rendered pixels.

DisableMSEvent Halts dispatching for one event.

DispatchMSEvents Dispatches message and signal events to their handler routines.

DrawAnimCel Draws a cel in an animation and give it a hotspot

DrawImage Uses CopyVRAMPages() to draw an image.

DrawTextChar Draws a character into a bitmap.

DrawTextString Draws a text string into a bitmap.

EnableMSEvent Enables dispatching for one event.

EraseTextInCel Clears pixels in a text cel.

FadeFromBlack Fades in the screen from black

FadeToBlack Fades the screen to black

FinishAsyncLoadFile Finalizes an async file load operation.

FPointFromFVal Creates an FPoint from inline values.

FPointFromIPoint Converts an IPoint to an FPoint.

FPointFromIVal Creates an FPoint from inline values.

GetAnimCel Returns a pointer to the CCB of the next animation cel

GetCelBitsPerPixel Returns a cel's bits per pixel value.

GetCelBytesPerRow Returns a cel's bytes per row value.

GetCelDataBufferSize Returns a cel's data buffer size.

GetChunk Finds a chunk of specified chunk ID

GetFontCharInfo Retrieves character information.

GetFontCharWidest Retrieves width of the widest character in a string.

GetFontCharWidth Retrieves character width.

GetFontStringWidth Calculates width of a string.

GetHSecTime Obtains the current time in hundredths of a second.

GetMSecTime Returns elapsed time in milliseconds

GetTextCelColor Retrieves background and foreground colors when cel is drawn.

GetTextCelColors Retrieves background and all four foreground colors.

GetTextCelCoords Retrieves text cel's CCB coordinates.

GetTextCelFormatBuffer Retrieves text cel format buffer and size.

GetTextCelFormatFlags Retrieves text cel format flags.

GetTextCelLeadingAdjust Retrieves text cel leading adjustment.

GetTextCelMargins Retrieves top and left margins.

GetTextCelPenNumber Retrieves text cel pen number.

GetTextCelSize Retrieves text cel's current size.

GetTextCelSpacingAdjust Retrieves spacing adjustment.

GetTextCelTabStops Retrieves tab stops table.

GetTextExtent Retrieves width and height for formatted text.

GetTime Obtains the current time in seconds.

GetTimerIOReq Gets an IOReq for use with timer utilities.

GetTSecTime Obtains the current time in tenths of a second.

GetUSecTime Obtains the current time in microseconds.

GetVBLTime Obtains the current VBL timer values.

HZ_TO_USEC Converts hertz to microseconds.

ICornerFromSRect Calculates the opposite corner in an SRect.

InsetCRect Shrinks or enlarges a CRect.

InsetSRect Shrinks or enlarges an SRect.

IPointFromFPoint Convert an FPoint to an IPoint.

IPointFromFVal Creates an IPoint from inline values.

IPointFromIVal Creates an IPoint from inline values.

IPointIsInCRect Determines whether a point is within a rectangle.

IPointIsInSRect Determines whether a point is within a rectangle.

IS_LASTCEL Determines whether a cel is the last in a list.

ISizeFromCRect Calculates the size of a CRect.

LastCelInList Finds the last cel in a list.

LinkCel Links two cels

LoadAnim Loads an animation

LoadCel Loads one or more cels from a file.

LoadFile Loads a cel file from disk

LoadFileHere Loads a file into a pre-allocated buffer.

LoadFont Loads 3DO font file.

LoadImage Loads an image

MapAACelToCQuad Maps an anti-aliased cel to a quad.

MapAACelToCRect Maps an anti-aliased cel to a CRect.

MapAACelToFPoint Sets an anti-aliased cel's location to a point.

MapAACelToIPoint Sets an anti-aliased cel's location to a point.

MapAACelToSRect Maps an anti-aliased cel to an SRect.

MapCelListToCQuad Maps a list of cels to a quad.

MapCelListToCRect Maps a list of cels to a CRect.

MapCelListToFPoint Sets a list of cel's locations to a point.

MapCelListToIPoint Sets a list of cel's locations to a point.

MapCelListToSRect Maps a list of cels to a CRect.

MapCelToCQuad Maps a cel to a quad.

MapCelToCRect Maps a cel to a CRect.

MapCelToFPoint Sets a cel's location to a point.

MapCelToIPoint Sets a cel's location to a point.

MapCelToSRect Maps a cel to an SRect.

MSEC_TO_USEC Converts milliseconds to microseconds.

OffsetAACelByFDelta Moves an anti-aliased cel.

OffsetAACelByIDelta Moves an anti-aliased cel.

OffsetCel Adds offsets to a CCB's position fields.

OffsetCelByFDelta Moves a cel.

OffsetCelByIDelta Moves a cel.

OffsetCelListByFDelta Moves a list of cels.

OffsetCelListByIDelta Moves a list of cels.

OffsetCRect Moves a rectangle.

OffsetSRect Moves an SRect.

ParseCel Parses a cel file image in memory.

ParseFont Parses a font and prepare it for use.

ReadFile Reads a file or a portion of one into memory

RenderCelFillRect Renders a filled rectangle into a cel's data buffer.

RenderCelHLine Renders a horizontal line into a cel's data buffer.

RenderCelOutlineRect Renders an unfilled rectangle into a cel's data buffer.

RenderCelPixel Renders a single pixel into a cel's data buffer.

RenderCelVLine Renders a vertical line within a cel's data buffer.

ReturnCelPixel Returns the value of a pixel from a cel's data buffer.

SaveFile Saves a file to NVRAM.

SEC_TO_USEC Converts seconds to microseconds.

SetTextCelColor Sets background and foreground colors for text cel.

SetTextCelColors Sets background and foreground colors for a cel.

SetTextCelCoords Sets x and y coordinates for a cel.

SetTextCelFormatBuffer Attaches a format buffer to a text cel.

SetTextCelFormatFlags Sets text formatting flags.

SetTextCelLeadingAdjust Sets leading adjustment for text cel.

SetTextCelMargins Sets top and left margin in cel data buffer.

SetTextCelPenNumber Sets pen number for text rendering.

SetTextCelSize Sets new size for text in cel.

SetTextCelSpacingAdjust Sets spacing adjustment for text in text cel.

SetTextCelTabStops Specifies tab stops for a text cel.

SetupMSEvents Sets up message and signal event handling.

Sleep Sleeps for a number of seconds.

SleepHSec Sleeps for a number of hundredths of a second.

SleepMSec Sleeps for a number of milliseconds.

SleepTSec Sleeps for a number of tenths of a second.

SleepUSec Sleeps for a number of microseconds.

SRectBounds Calculates the union of two SRects.

SRectFromCel Returns SRect describing cel as currently projected.

SRectFromCRect Converts a CRect to an SRect.

SRectFromIVal Fills in an SRect from inline values.

SRectIntersection Calculates the intersection of two SRects.

taCreateTextCel Creates a text cel from tag args.

taModifyTextCel Changes text cel attributes from tag args.

TimerCancel Cancels and deletes an existing timer.

TimerChangeUserdata Changes user data values for a timer.

TimerMsgAfterDelay Sends a message after a delay.

TimerMsgAfterDelayVBL Sends a message after the specified number of VBLs occur.

TimerMsgAtTime Sends a message at a specific time.

TimerMsgAtTimeVBL Sends a message at the specified VBL time.

TimerMsgHeartbeat Sends a message periodically.

TimerMsgHeartbeatVBL Sends a message periodically based on VBLs.

TimerReset Restarts a timer using new values.

TimerRestart Restarts a timer using current values.

TimerServicesClose Closes the connection to a running TimerServices thread.

TimerServicesOpen Opens a connection to a running TimerServices thread.

TimerServicesShutdown Shuts down the TimerServices thread.

TimerServicesStartup Starts the TimerServices thread.

TimerServicesVerify Verifies timer owners.

TimerSignalAfterDelay Sends a signal after a delay.

TimerSignalAfterDelayVBL Sends a signal after the specified number of VBLs occur.

TimerSignalAtTime Sends a signal at the specified time.

TimerSignalAtTimeVBL Sends a signal at the specified VBL.

TimerSignalHeartbeat Sends a signal periodically.

TimerSignalHeartbeatVBL Sends a signal periodically based on VBLs.

TimerSuspend Suspends a timer.

UnloadAnim Unloads an animation

UnloadCel Unloads a cel file loaded by LoadCel().

UnloadFile Unloads a file

UnloadFont Releases font resources.

UnloadImage Unloads an image

UpdateTextInCel Renders text into a text cel.

vGetTextExtent Gets text width and height if formatted using format arguments.

`vUpdateTextInCel` Renders into text cel using printf-style formatting.

WaitAsyncLoadFile Waits for an async file load operation to complete.

WriteMacFile Writes from buffer to Mac file

XCORNERFROMSRECT Calculates the opposite corner X location for an SRect.

XSIZEFROMCRECT Calculates the X coordinate size for a CRect.

YCORNERFROMSRECT Calculates the opposite corner Y location for an SRect.

YSIZEFROMCRECT Calculates the Y coordinate size for a CRect.