mirror of
https://github.com/Relintai/rpi_player.git
synced 2025-02-23 15:54:18 +01:00
100 lines
1.7 KiB
C++
100 lines
1.7 KiB
C++
#include "text_image.h"
|
|
|
|
TextImage::TextType TextImage::get_text_type() {
|
|
return _text_type;
|
|
}
|
|
void TextImage::set_text_type(const TextImage::TextType type) {
|
|
_text_type = type;
|
|
}
|
|
|
|
TrueTypeFont *TextImage::get_font() {
|
|
return _font;
|
|
}
|
|
void TextImage::set_font(TrueTypeFont *font) {
|
|
_font = font;
|
|
}
|
|
|
|
String TextImage::get_text() {
|
|
return _text;
|
|
}
|
|
void TextImage::set_text(const String &text) {
|
|
_text = text;
|
|
|
|
render_image();
|
|
}
|
|
|
|
Color TextImage::get_fg_color() {
|
|
return _fg;
|
|
}
|
|
void TextImage::get_fg_color(const Color &color) {
|
|
_fg = color;
|
|
}
|
|
|
|
Color TextImage::get_bg_color() {
|
|
return _bg;
|
|
}
|
|
void TextImage::get_bg_color(const Color &color) {
|
|
_bg = color;
|
|
}
|
|
|
|
Image *TextImage::get_image() {
|
|
return _image;
|
|
}
|
|
|
|
int TextImage::get_width() {
|
|
return _image->get_width();
|
|
}
|
|
int TextImage::get_height() {
|
|
return _image->get_height();
|
|
}
|
|
|
|
void TextImage::render_image() {
|
|
_image->free();
|
|
|
|
if (!_font) {
|
|
return;
|
|
}
|
|
|
|
switch (_text_type) {
|
|
case SOLID:
|
|
_font->render_text_solid(_text, _fg, _image);
|
|
break;
|
|
case SHADED:
|
|
_font->render_text_shaded(_text, _fg, _bg, _image);
|
|
break;
|
|
case BLENDED:
|
|
_font->render_text_blended(_text, _fg, _image);
|
|
break;
|
|
case BLENDED_WRAPPED:
|
|
_font->render_text_blended_wrapped(_text, _fg, 100, _image);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
TextImage::TextImage() {
|
|
_font = nullptr;
|
|
_text_type = BLENDED;
|
|
_image = new Image();
|
|
}
|
|
TextImage::TextImage(TrueTypeFont *font) {
|
|
_font = font;
|
|
_text_type = BLENDED;
|
|
_image = new Image();
|
|
}
|
|
TextImage::TextImage(TrueTypeFont *font, const String &text, const Color &fg, const Color &bg) {
|
|
_bg = bg;
|
|
_fg = fg;
|
|
_font = font;
|
|
_text_type = BLENDED;
|
|
_text = text;
|
|
_image = new Image();
|
|
|
|
render_image();
|
|
}
|
|
TextImage::~TextImage() {
|
|
delete _image;
|
|
}
|