XEEN: Fix use of globally constructed object
This commit is contained in:
parent
3bec5a7f9d
commit
5b731a1f44
3 changed files with 9 additions and 4 deletions
|
@ -27,18 +27,19 @@
|
||||||
namespace Xeen {
|
namespace Xeen {
|
||||||
|
|
||||||
const byte *FontData::_fontData;
|
const byte *FontData::_fontData;
|
||||||
Common::Point FontData::_writePos;
|
Common::Point *FontData::_fontWritePos;
|
||||||
byte FontData::_textColors[4];
|
byte FontData::_textColors[4];
|
||||||
byte FontData::_bgColor;
|
byte FontData::_bgColor;
|
||||||
bool FontData::_fontReduced;
|
bool FontData::_fontReduced;
|
||||||
Justify FontData::_fontJustify;
|
Justify FontData::_fontJustify;
|
||||||
|
|
||||||
FontSurface::FontSurface() : XSurface(), _msgWraps(false), _displayString(nullptr) {
|
FontSurface::FontSurface() : XSurface(), _msgWraps(false), _displayString(nullptr),
|
||||||
|
_writePos(*FontData::_fontWritePos) {
|
||||||
setTextColor(0);
|
setTextColor(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
FontSurface::FontSurface(int wv, int hv) : XSurface(wv, hv),
|
FontSurface::FontSurface(int wv, int hv) : XSurface(wv, hv),
|
||||||
_msgWraps(false), _displayString(nullptr) {
|
_msgWraps(false), _displayString(nullptr), _writePos(*FontData::_fontWritePos) {
|
||||||
create(w, h);
|
create(w, h);
|
||||||
setTextColor(0);
|
setTextColor(0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ enum Justify { JUSTIFY_NONE = 0, JUSTIFY_CENTER = 1, JUSTIFY_RIGHT = 2 };
|
||||||
|
|
||||||
struct FontData {
|
struct FontData {
|
||||||
static const byte *_fontData;
|
static const byte *_fontData;
|
||||||
static Common::Point _writePos;
|
static Common::Point *_fontWritePos;
|
||||||
static byte _textColors[4];
|
static byte _textColors[4];
|
||||||
static byte _bgColor;
|
static byte _bgColor;
|
||||||
static bool _fontReduced;
|
static bool _fontReduced;
|
||||||
|
@ -76,6 +76,8 @@ private:
|
||||||
* Wrie a character to the surface
|
* Wrie a character to the surface
|
||||||
*/
|
*/
|
||||||
void writeChar(char c, const Common::Rect &clipRect);
|
void writeChar(char c, const Common::Rect &clipRect);
|
||||||
|
public:
|
||||||
|
Common::Point &_writePos;
|
||||||
public:
|
public:
|
||||||
FontSurface();
|
FontSurface();
|
||||||
FontSurface(int wv, int hv);
|
FontSurface(int wv, int hv);
|
||||||
|
|
|
@ -31,6 +31,7 @@ Windows::Windows() {
|
||||||
byte *data = new byte[f.size()];
|
byte *data = new byte[f.size()];
|
||||||
f.read(data, f.size());
|
f.read(data, f.size());
|
||||||
_fontData = data;
|
_fontData = data;
|
||||||
|
_fontWritePos = new Common::Point();
|
||||||
|
|
||||||
Common::fill(&_textColors[0], &_textColors[4], 0);
|
Common::fill(&_textColors[0], &_textColors[4], 0);
|
||||||
_bgColor = DEFAULT_BG_COLOR;
|
_bgColor = DEFAULT_BG_COLOR;
|
||||||
|
@ -87,6 +88,7 @@ Windows::Windows() {
|
||||||
|
|
||||||
Windows::~Windows() {
|
Windows::~Windows() {
|
||||||
delete[] _fontData;
|
delete[] _fontData;
|
||||||
|
delete _fontWritePos;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Windows::closeAll() {
|
void Windows::closeAll() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue