2023-04-27 22:19:39 -04:00
|
|
|
#ifndef MXBITMAP_H
|
|
|
|
#define MXBITMAP_H
|
|
|
|
|
2023-06-30 19:24:00 -04:00
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
#include "mxcore.h"
|
2023-06-30 14:34:39 -04:00
|
|
|
#include "mxpalette.h"
|
2023-06-30 19:24:00 -04:00
|
|
|
#include "mxtypes.h"
|
2023-06-30 14:34:39 -04:00
|
|
|
|
2023-06-30 19:24:00 -04:00
|
|
|
class MxBitmap : public MxCore
|
2023-04-27 22:19:39 -04:00
|
|
|
{
|
|
|
|
public:
|
2023-06-11 21:03:54 -04:00
|
|
|
__declspec(dllexport) MxBitmap();
|
2023-07-02 00:49:42 -04:00
|
|
|
__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);
|
2023-07-02 04:05:49 -04:00
|
|
|
__declspec(dllexport) virtual MxLong Read(const char *p_filename); // vtable+24
|
2023-07-02 00:49:42 -04:00
|
|
|
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);
|
|
|
|
|
2023-06-30 19:24:00 -04:00
|
|
|
private:
|
|
|
|
BITMAPINFO *m_info;
|
|
|
|
BITMAPINFOHEADER *m_bmiHeader;
|
|
|
|
RGBQUAD *m_paletteData;
|
|
|
|
LPVOID *m_data;
|
|
|
|
MxBool m_unk18;
|
|
|
|
MxPalette *m_palette;
|
2023-04-27 22:19:39 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // MXBITMAP_H
|