Foundation classes for a basic GUI implementing simple widgets and events
Dependents: TouchScreenGUIDemo
Widgets/TextWidget.cpp
- Committer:
- duncanFrance
- Date:
- 2016-05-21
- Revision:
- 13:6714534e7974
- Parent:
- 12:63db16fea709
- Child:
- 16:e9a771ecfdbe
File content as of revision 13:6714534e7974:
#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(GraphicsContext *context) : Widget(context), _renderer(context->fontRenderer()), _font(context->defaultFont()) { } TextWidget::TextWidget(GraphicsContext *context, FontRenderer* renderer) : Widget(context), _renderer(renderer), _font(context->defaultFont()) { } TextWidget::TextWidget(GraphicsContext *context, FontRenderer* renderer, Font* font) : Widget(context), _renderer(renderer), _font(font) { } void TextWidget::setText(char* text) { _text = text; dirty(); } void TextWidget::setFont(Font* font) { _font = font; dirty(); } void TextWidget::_draw() { Widget::_draw(); pc->printf("border (%i,%i) , (%i,%i)\n", _inner.x, _inner.y, _inner.x+_inner.width, _inner.y+_inner.height); _renderer->window(_inner.x, _inner.y, _inner.width, _inner.height, false); _renderer->setForeground(_fg); _renderer->setBackground(_bg); display()->fillrect(_inner.x, _inner.y, _inner.x+_inner.width, _inner.y+_inner.height, _bg); _renderer->puts(_text, display(), _font); display()->copy_to_lcd(); }