Bink SDK 1.5v |
The BinkBuffer API was written to make adding YUV blitting to your applications easy. Under Win32, the BinkBuffer API supports five different primary blitting styles (primary, DIBSection, overlay, YUV off-screen and RGB off-screen) and allows you to switch easily between them. Under MacOS, the API the direct-to-screen and GWorld blitting styles. The BinkBuffer API is almost identical on Win32 and MacOS, so porting will be easy. The BinkBuffer API is not supported on the Xbox (see ExamXbox.CPP) or Nintendo GameCube (see ExamNbb.C). Note that the BinkBuffer API will get your applications up and running almost immediately, but it is optional. If you already have DirectDraw, Direct3D or your own blitting solution up and running, you can skip the whole BinkBuffer API completely, and just have the Bink API copy right into your surface pointers. Also, BinkBuffers don't necessarily use any extra system memory. Overlays and most of the off-screen surfaces exist in video memory, and primary surface BinkBuffers don't require any extra memory at all! BinkBuffers are used a lot like the Bink API - you open and receive an HBINKBUFFER handle (which is a pointer to a BINKBUFFER structure), use the handle with the BinkBuffer API functions, and finally, close the BinkBuffer when you're done. See the ExamW32.C or ExampleMac.c files for simple examples.
BinkBuffer API | |
---|---|
BinkBufferOpen | opens a BinkBuffer (which simplifies blitting YUV data onto the screen). |
BINKBUFFER | is a structure returned from BinkBufferOpen. |
BINKBUFFER_OPEN_FLAGS | describes the type and capabilities of the BinkBuffer that you wish to open. |
BinkBufferClose | closes the specified BinkBuffer handle. |
BinkBufferSetDirectDraw | sets the DirectDraw object and primary surface pointers. |
BinkBufferLock | locks the BinkBuffer for reading or writing to the pixel buffer. |
BinkBufferUnlock | unlocks a BinkBuffer that has been locked with BinkBufferLock. |
BinkBufferBlit | copies the pixel data onto the screen (for the off-screen variety of BinkBuffers). |
BinkBufferCheckWinPos | adjusts the specified window position coordinates for validity with the current BinkBuffer type. |
BinkBufferSetOffset | tells the BinkBuffer that either the window position on the desktop or that the playback offset within the window has changed. |
BinkBufferSetScale | sets a new shrinking or stretching scale to use during blitting. |
BinkBufferSetResolution | tells Bink to switch video resolution when opening the BinkBuffer. |
BinkBufferGetDescription | returns a string describing the blitting style being used by the BinkBuffer. |
BinkBufferGetError | returns a string that describes the last global BinkBuffer error. |
BinkDDSurfaceType | returns a value describing the format of the specified DirectDraw surface. |
BinkDX8SurfaceType | returns a value describing the format of the specified DirectX 8 surface. |
BinkGDSurfaceType | returns a value describing the format of the specified MacOS Graphics Device. |
BinkIsSoftwareCursor | determines whether the specified mouse cursor is software-based on the specified DirectDraw surface pointer. |
BinkCheckCursor | checks to see if the mouse is currently inside the specified window rectangle, and, if so, hides it. |
BinkRestoreCursor | restores the mouse cursor to its original state after a BinkCheckCursor call. |
For technical support, e-mail Bink1@radgametools.com
© Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.