mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-30 03:15:34 -05:00
37 lines
973 B
C++
37 lines
973 B
C++
#ifndef MXPALETTE_H
|
|
#define MXPALETTE_H
|
|
|
|
#include "mxcore.h"
|
|
#include "mxtypes.h"
|
|
|
|
#include <ddraw.h>
|
|
|
|
// VTABLE 0x100dc848
|
|
// SIZE 0x414
|
|
class MxPalette : public MxCore {
|
|
public:
|
|
__declspec(dllexport) MxBool operator==(MxPalette&);
|
|
__declspec(dllexport) void Detach();
|
|
|
|
MxPalette();
|
|
MxPalette(const RGBQUAD*);
|
|
virtual ~MxPalette();
|
|
|
|
void ApplySystemEntriesToPalette(LPPALETTEENTRY p_entries);
|
|
MxPalette* Clone();
|
|
void GetDefaultPalette(LPPALETTEENTRY p_entries);
|
|
MxResult GetEntries(LPPALETTEENTRY p_entries);
|
|
MxResult SetEntries(LPPALETTEENTRY p_palette);
|
|
MxResult SetSkyColor(LPPALETTEENTRY p_sky_color);
|
|
void Reset(MxBool p_ignoreSkyColor);
|
|
LPDIRECTDRAWPALETTE CreateNativePalette();
|
|
inline void SetOverrideSkyColor(MxBool p_value) { this->m_overrideSkyColor = p_value; }
|
|
|
|
private:
|
|
LPDIRECTDRAWPALETTE m_palette;
|
|
PALETTEENTRY m_entries[256]; // 0xc
|
|
MxBool m_overrideSkyColor; // 0x40c
|
|
PALETTEENTRY m_skyColor; // 0x40d
|
|
};
|
|
|
|
#endif // MXPALETTE_H
|