Isle
Loading...
Searching...
No Matches
mxpalette.h
Go to the documentation of this file.
1#ifndef MXPALETTE_H
2#define MXPALETTE_H
3
4#include "mxcore.h"
5#include "mxtypes.h"
6
7#include <ddraw.h>
8
9// VTABLE: LEGO1 0x100dc848
10// VTABLE: BETA10 0x101c2300
11// SIZE 0x414
17class MxPalette : public MxCore {
18public:
24 MxBool operator==(MxPalette& p_other); // [AI]
25
29 void Detach(); // [AI]
30
34 MxPalette(); // [AI]
35
40 MxPalette(const RGBQUAD*); // [AI]
41
45 ~MxPalette() override; // [AI]
46
52 void ApplySystemEntriesToPalette(LPPALETTEENTRY p_entries); // [AI]
53
58 MxPalette* Clone(); // [AI]
59
65 void GetDefaultPalette(LPPALETTEENTRY p_entries); // [AI]
66
72 MxResult GetEntries(LPPALETTEENTRY p_entries); // [AI]
73
79 MxResult SetEntries(LPPALETTEENTRY p_palette); // [AI]
80
87 MxResult SetSkyColor(LPPALETTEENTRY p_skyColor); // [AI]
88
93 void Reset(MxBool p_ignoreSkyColor); // [AI]
94
101
106 void SetPalette(LPDIRECTDRAWPALETTE p_palette); // [AI]
107
112 void SetOverrideSkyColor(MxBool p_value) { m_overrideSkyColor = p_value; } // [AI]
113
114 // SYNTHETIC: LEGO1 0x100beeb0
115 // SYNTHETIC: BETA10 0x10144640
116 // MxPalette::`scalar deleting destructor'
117
118private:
119 LPDIRECTDRAWPALETTE m_palette;
120 PALETTEENTRY m_entries[256];
121 MxBool m_overrideSkyColor;
122 PALETTEENTRY m_skyColor;
123};
124
125#endif // MXPALETTE_H
[AI] Base virtual class for all Mindscape engine (Mx) objects.
Definition: mxcore.h:15
[AI] Encapsulates a DirectDraw 8-bit (256 color) palette for use with DirectX rendering.
Definition: mxpalette.h:17
LPDIRECTDRAWPALETTE CreateNativePalette()
[AI] Creates the internal DirectDraw palette object and populates it with the current palette entries...
Definition: mxpalette.cpp:114
MxResult SetEntries(LPPALETTEENTRY p_palette)
[AI] Sets the palette's RGB entries from an external array and updates the DirectDraw palette if atta...
Definition: mxpalette.cpp:178
void SetOverrideSkyColor(MxBool p_value)
[AI] Sets whether the sky color is overridden, preventing calls to SetSkyColor from effecting palette...
Definition: mxpalette.h:112
void Detach()
[AI] Detaches the internal DirectDraw palette object, releasing ownership.
Definition: mxpalette.cpp:266
MxPalette()
[AI] Constructs a new palette, initializing to the system or default palette entries.
Definition: mxpalette.cpp:77
MxPalette * Clone()
[AI] Creates a duplicate of this palette object with the same palette data and override flag.
Definition: mxpalette.cpp:160
MxResult GetEntries(LPPALETTEENTRY p_entries)
[AI] Copies all palette entries to external buffer.
Definition: mxpalette.cpp:170
void GetDefaultPalette(LPPALETTEENTRY p_entries)
[AI] Retrieves the default palette for the current system/graphics environment.
Definition: mxpalette.cpp:311
MxBool operator==(MxPalette &p_other)
[AI] Compares two palettes for equality by checking all 256 color entries (RGB only,...
Definition: mxpalette.cpp:273
void ApplySystemEntriesToPalette(LPPALETTEENTRY p_entries)
[AI] Copies system palette entries (first and last 10) to the specified buffer.
Definition: mxpalette.cpp:293
void SetPalette(LPDIRECTDRAWPALETTE p_palette)
[AI] Sets the internal DirectDraw palette pointer, releasing any previously held instance.
Definition: mxpalette.cpp:255
MxResult SetSkyColor(LPPALETTEENTRY p_skyColor)
[AI] Sets the "sky color" palette entry (typically index 141, reserved for sky background),...
Definition: mxpalette.cpp:239
void Reset(MxBool p_ignoreSkyColor)
[AI] Resets palette entries to default system values, optionally preserving the current sky color,...
Definition: mxpalette.cpp:329
~MxPalette() override
[AI] Destructor.
Definition: mxpalette.cpp:105
struct IDirectDrawPalette FAR * LPDIRECTDRAWPALETTE
Definition: ddraw.h:78
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106