12
#include "TextRenderer.h"
16
class PlanetProperties;
21
DisplayBase(const int tr);
22
virtual ~DisplayBase();
24
int Width() const { return(width_); };
25
int Height() const { return(height_); };
27
void setPixel(const double X, const double Y,
28
const unsigned char color[3]);
29
void setPixel(const int x, const int y, const unsigned int value);
30
void setPixel(const int x, const int y, const unsigned char pixel[3]);
31
void setPixel(const int x, const int y, const unsigned char pixel[3],
32
const double opacity);
33
void getPixel(const int x, const int y, unsigned char pixel[3]) const;
35
virtual void renderImage(PlanetProperties *planetProperties[]) = 0;
37
const std::string & Font() const { return(textRenderer_->Font()); };
38
int FontSize() const { return(textRenderer_->FontSize()); };
40
void Font(const std::string &fontname);
41
void FontSize(const int size);
43
void setText(const std::string &text);
44
void DrawOutlinedText(const int x, int y, const std::string &text,
45
const unsigned char color[3]);
47
void getTextBox(int &textWidth, int &textHeight);
49
virtual std::string TmpDir();
56
unsigned char *rgb_data;
59
int fullWidth_, fullHeight_; // pixel dimensions of the display
61
void allocateRGBData();
62
void drawLabel(PlanetProperties *planetProperties[]);
63
void drawLabelLine(int ¤tX, int ¤tY,
64
const std::string &text);
65
void PlaceImageOnRoot();
67
void SetBackground(const int width, const int height,
71
TextRenderer *textRenderer_;