void dxSetColorKey( int iRed, int iGreen, int iBlue, int iAlpha = 0 );
    Intention:  set the general colorkey for all images
    Remark:     default is 0x00000000 (colorkey is disabled)
                To enable colorkey, set a nonzero color value
                Example: 0xFF000000 (Alpha+Black, enabled)

void dxLoadImage( char* szSource, int iImage, int iFlag = 0, int iSource = 0 );
    Intention:  load a picture from file, memory or resource as an image
    Parameter:  szSource = filename, memory address, or resource name
                iSource = 0 (file), 1 (memory), -1 (as a resource)
    Remark:     iFlag = 1 keep the image size without adding mipmaps
                iImage (0-32767) must not be currently in use.

void dxSaveImage( char* szFile, int iImage );
    Intention:  save an existing image to a file

void dxPasteImage( int iImage, int iX, int iY, int iTransparency = 0 );
    Intention:  paste the specified image to the current bitmap

void dxDeleteImage( int iImage );
    Intention:  delete the specified image from memory

void dxGetImage( int iImage, RECT* pRect, int iFlag = 0 );
    Intention:  copy a selected area of the current bitmap to an image (0-32767)
    Parameter:  pRect = NULL means entire image will be copied
    Remark:     iFlag = 1 keep the image size and no mipmaps added. iImage must not
                be currently in use. The new image can be used for fast pasting.

bool dxImageExist( int iImage );
    Intention:  return true if the image exists

void dxLoadBitmap( char* szSource, int iBitmap = 0, int iSource = 0 );
    Intention:  load a picture from file, memory or resource to the screen or a bitmap
    Parameter:  szSource = filename, memory address, or resource name
                iSource = 0 (file), 1 (memory), -1 (as a resource)
    Remark:     Bitmap 0 is reserved for screen. Number 1-15 can be used.
                iBitmap (1-15) must not exist and will be created

void dxCreateBitmap( int iBitmap, int iWidth, int iHeight );
    Intention:  create a blank bitmap with specified size (in system memory pool)
    Remark:     Bitmap 0 is reserved for screen. Number 1-15 can be used.
                iBitmap (1-15) must not exist and will be created.
                The created bitmap becomes the current bitmap to which all drawings
                will be redirected instead of the screen. Use dxSetCurrentBitmap( 0 )
                to reset drawing operations to the screen.

void dxSaveBitmap( char* szFile, int iBitmap = 0 );
    Intention:  save an existing bitmap to a file (default is screen backbuffer)

void dxCopyBitmap( int iFrom, RECT* pFrom, int iTo, RECT* pTo );
    Intention:  copy the contents of one bitmap into another bitmap
    Parameter:  pFrom = pTo = NULL for entire bitmaps
    Remark:     source bitmap will be rescaled to fit the destination area

void dxUpdateBitmap( int iBitmap );
    Intention:  update the bitmap in system memory from the bitmap in video memory
    Remark:     When device is reset, bitmaps are restored from backups automatically

void dxDeleteBitmap( int iBitmap );
    Intention:  delete specified bitmap from memory

void dxSetCurrentBitmap( int iBitmap );
    Intention:  set the current bitmap number for all following operations
    Remark:     bitmap must exist (0 means screen backbuffer)

bool dxBitmapExist( int iBitmap );
bool dxBitmapExist( void );
    Intention:  return true if the specified/current bitmap exists

int dxCurrentBitmap( void );
    Intention:  return the value of current bitmap number being used

int dxBitmapWidth( int iBitmap );
int dxBitmapWidth( void );
int dxBitmapHeight( int iBitmap );
int dxBitmapHeight( void );
int dxBitmapDepth( int iBitmap );
int dxBitmapDepth( void );
    Intention:  return the width/height/depth of specified/current bitmap

void dxSaveScreen( char* szFile );
    Intention:  save an antialiased screen shot (this is the real screen shot)
    Remark:     dxSaveBitmap( char* szFile ) saves the back buffer instead
