Foundation classes for a basic GUI implementing simple widgets and events

Dependents:   TouchScreenGUIDemo

Committer:
duncanFrance
Date:
Mon Apr 11 19:15:53 2016 +0000
Revision:
9:616a9686d5db
Parent:
8:a460cabc85ac
Child:
12:63db16fea709
TextWidget now writes the entire background on redraw

Who changed what in which revision?

UserRevisionLine numberNew contents of line
duncanFrance 4:27546fb8b670 1 #include "BitmapWidget.h"
duncanFrance 4:27546fb8b670 2
duncanFrance 8:a460cabc85ac 3 BitmapWidget::BitmapWidget(GUI* gui) : Widget(gui), _monochrome(false)
duncanFrance 4:27546fb8b670 4 {
duncanFrance 4:27546fb8b670 5 }
duncanFrance 4:27546fb8b670 6
duncanFrance 9:616a9686d5db 7 BitmapWidget::BitmapWidget(GUI* gui, bool monochrome) : Widget(gui), _monochrome(monochrome)
duncanFrance 9:616a9686d5db 8 {
duncanFrance 9:616a9686d5db 9 }
duncanFrance 9:616a9686d5db 10
duncanFrance 4:27546fb8b670 11 void BitmapWidget::setMonochrome(bool enabled)
duncanFrance 4:27546fb8b670 12 {
duncanFrance 4:27546fb8b670 13 _monochrome = enabled;
duncanFrance 4:27546fb8b670 14 }
duncanFrance 4:27546fb8b670 15
duncanFrance 4:27546fb8b670 16 bool BitmapWidget::isMonochrome()
duncanFrance 4:27546fb8b670 17 {
duncanFrance 4:27546fb8b670 18 return _monochrome;
duncanFrance 4:27546fb8b670 19 }
duncanFrance 4:27546fb8b670 20
duncanFrance 4:27546fb8b670 21
duncanFrance 4:27546fb8b670 22 void BitmapWidget::setBitmap(unsigned char* bitmap)
duncanFrance 4:27546fb8b670 23 {
duncanFrance 4:27546fb8b670 24 _bitmap = bitmap;
duncanFrance 4:27546fb8b670 25 }
duncanFrance 4:27546fb8b670 26
duncanFrance 8:a460cabc85ac 27 void BitmapWidget::_draw()
duncanFrance 4:27546fb8b670 28 {
duncanFrance 4:27546fb8b670 29
duncanFrance 9:616a9686d5db 30 _gui->display()->setForeground(_fg);
duncanFrance 9:616a9686d5db 31 _gui->display()->setBackground(_bg);
duncanFrance 9:616a9686d5db 32
duncanFrance 4:27546fb8b670 33 if(_monochrome) {
duncanFrance 8:a460cabc85ac 34 _gui->display()->Bitmap_FG_BG(_x, _y, _width, _height, _bitmap);
duncanFrance 4:27546fb8b670 35 } else {
duncanFrance 8:a460cabc85ac 36 _gui->display()->Bitmap(_x, _y, _width, _height, _bitmap);
duncanFrance 4:27546fb8b670 37 }
duncanFrance 8:a460cabc85ac 38 }
duncanFrance 8:a460cabc85ac 39
duncanFrance 8:a460cabc85ac 40 void BitmapWidget::_clear() {
duncanFrance 8:a460cabc85ac 41 _gui->display()->fillrect(_x, _y, _x+_width, _y+_height, _gui->display()->getBackground());
duncanFrance 4:27546fb8b670 42 }