#ifndef MXBITMAP_H #define MXBITMAP_H #include #include "mxcore.h" #include "mxpalette.h" #include "mxtypes.h" class MxBitmap : public MxCore { public: __declspec(dllexport) MxBitmap(); __declspec(dllexport) virtual ~MxBitmap(); // vtable+00 virtual int vtable14(int); virtual int vtable18(BITMAPINFOHEADER *p_bmiHeader); virtual int vtable1c(int p_width, int p_height, MxPalette *p_palette, int); virtual MxResult LoadFile(HANDLE p_handle); __declspec(dllexport) virtual long Read(const char *p_filename); // vtable+24 virtual int vtable28(int); virtual void vtable2c(int, int, int, int, int, int, int); virtual void vtable30(int, int, int, int, int, int, int); __declspec(dllexport) virtual MxPalette *CreatePalette(); // vtable+34 virtual void vtable38(void*); virtual int vtable3c(MxBool); virtual int vtable40(HDC p_hdc, int p_xSrc, int p_ySrc, int p_xDest, int p_yDest, int p_destWidth, int p_destHeight); private: BITMAPINFO *m_info; BITMAPINFOHEADER *m_bmiHeader; RGBQUAD *m_paletteData; LPVOID *m_data; MxBool m_unk18; MxPalette *m_palette; }; #endif // MXBITMAP_H