/*
 * Bitmap.h - contains all global declarations and any structures needed
 * By: Odis
 */
#ifndef INC_BITMAP
#define INC_BITMAP

typedef struct bitmap_stuff BMP;

struct bitmap_stuff
{
  BMP *next;
  BMP *prev;
  HBITMAP bitmap;
  int     width;
  int     height;
  char   *name;
};

/* globals */
HDC     memDC;
HBITMAP memBitmap;

/* functions */
void FreeBitmap( BMP *Bitmap );
void Draw(BMP *bitmap, HDC hDC, int x, int y, bool trans, bool stretch);

BMP *get_bmp( char *name );
BMP * bitmap_from_file(HINSTANCE hIntsance, LPCTSTR name);
BMP * bitmap_from_generic(HDC hDC, int iWidth, int iHeight, COLORREF crColor, char *name, bool link);

/* MSDN's */
void DrawTransparentBitmap(HDC hdc, HBITMAP hBitmap, int xStart, int yStart, int xpart, int ypart, int width, int height, COLORREF cTransparentColor);

/* brians */
/*void DrawTransparentBitmap(HDC hDC, HBITMAP Imagetodraw, int destx, int desty, int width, int height, int srcx, int srcy, COLORREF col);*/
#endif