Foundation classes for a basic GUI implementing simple widgets and events
Dependents: TouchScreenGUIDemo
Widgets/TextWidget.cpp
- Committer:
- duncanFrance
- Date:
- 2016-04-11
- Revision:
- 8:a460cabc85ac
- Parent:
- 7:303850a4b30c
- Child:
- 9:616a9686d5db
File content as of revision 8:a460cabc85ac:
#include "TextWidget.h" /** * A basic widget implementation which just draws some text. * If the text does not fit in the bounding-box it will be clipped **/ TextWidget::TextWidget(GUI* gui) : Widget(gui), _renderer(gui->fontRenderer()), _font(gui->defaultFont()) { } TextWidget::TextWidget(GUI* gui, FontRenderer* renderer) : Widget(gui), _renderer(renderer), _font(gui->defaultFont()) { } TextWidget::TextWidget(GUI* gui, FontRenderer* renderer, Font* font) : Widget(gui), _renderer(renderer), _font(font) { } void TextWidget::setText(char* text) { _text = text; } void TextWidget::setFont(Font* font) { _font = font; } void TextWidget::_draw() { _renderer->window(_x, _y, _width, _height, false); _renderer->setForeground(_fg); _renderer->setBackground(_bg); char c; char *p = _text; while(*p != NULL) { c = *p; p++; _renderer->putc(c, _gui->display(), _font); } _gui->display()->copy_to_lcd(); } void TextWidget::_clear() { _gui->display()->fillrect(_x, _y, _x+_width, _y+_height, _bg); }