2019-12-11 00:51:42 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "RGBAColor.h"
|
2019-12-21 18:40:17 -05:00
|
|
|
#include "SharedTypes.h"
|
2019-12-11 00:51:42 -05:00
|
|
|
|
2019-12-21 18:40:17 -05:00
|
|
|
namespace PortabilityLayer
|
|
|
|
|
{
|
|
|
|
|
struct QDState
|
|
|
|
|
{
|
2019-12-11 00:51:42 -05:00
|
|
|
QDState();
|
|
|
|
|
|
|
|
|
|
int m_fontID;
|
|
|
|
|
int m_textFace;
|
|
|
|
|
int m_textSize;
|
2019-12-29 04:13:35 -05:00
|
|
|
Rect m_clipRect;
|
2019-12-21 18:40:17 -05:00
|
|
|
Point m_penPos;
|
2019-12-27 18:05:32 -05:00
|
|
|
bool m_penInvert;
|
|
|
|
|
bool m_penMask;
|
2019-12-11 00:51:42 -05:00
|
|
|
|
|
|
|
|
void SetForeColor(const RGBAColor &color);
|
|
|
|
|
void SetBackColor(const RGBAColor &color);
|
|
|
|
|
|
2019-12-21 18:40:17 -05:00
|
|
|
const RGBAColor &GetForeColor() const;
|
|
|
|
|
const RGBAColor &GetBackColor() const;
|
|
|
|
|
|
2019-12-11 00:51:42 -05:00
|
|
|
uint8_t ResolveForeColor8(const RGBAColor *palette, unsigned int numColors);
|
|
|
|
|
uint8_t ResolveBackColor8(const RGBAColor *palette, unsigned int numColors);
|
|
|
|
|
|
2019-12-28 19:50:29 -05:00
|
|
|
void SetPenPattern8x8(const uint8_t *pattern);
|
|
|
|
|
const uint8_t *GetPattern8x8() const;
|
|
|
|
|
|
2019-12-11 00:51:42 -05:00
|
|
|
private:
|
|
|
|
|
static uint8_t ResolveColor8(const RGBAColor &color, uint8_t &cached, bool &isCached, const RGBAColor *palette, unsigned int numColors);
|
|
|
|
|
|
|
|
|
|
RGBAColor m_foreUnresolvedColor;
|
|
|
|
|
RGBAColor m_backUnresolvedColor;
|
|
|
|
|
|
|
|
|
|
uint16_t m_foreResolvedColor16;
|
|
|
|
|
uint16_t m_backResolvedColor16;
|
|
|
|
|
uint8_t m_foreResolvedColor8;
|
|
|
|
|
uint8_t m_backResolvedColor8;
|
|
|
|
|
|
2019-12-28 19:50:29 -05:00
|
|
|
uint8_t m_pattern8x8[8];
|
|
|
|
|
bool m_havePattern8x8;
|
|
|
|
|
|
2019-12-11 00:51:42 -05:00
|
|
|
bool m_isForeResolved16;
|
|
|
|
|
bool m_isForeResolved8;
|
2019-12-21 18:40:17 -05:00
|
|
|
bool m_isBackResolved16;
|
|
|
|
|
bool m_isBackResolved8;
|
|
|
|
|
};
|
|
|
|
|
}
|