Foundation classes for a basic GUI implementing simple widgets and events
Dependents: TouchScreenGUIDemo
Widgets/BitmapWidget.cpp@9:616a9686d5db, 2016-04-11 (annotated)
- 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?
User | Revision | Line number | New 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 | } |