Demo to control 4 LEDs

Dependencies:   BSP_DISCO_F469NI mbed

Committer:
Faberge
Date:
Tue Oct 31 14:39:54 2017 +0000
Revision:
1:a6d179a9ffbb
Parent:
0:e06404fdff2f
Child:
2:e6fc24fbd86c
Update

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Faberge 0:e06404fdff2f 1 /*
Faberge 0:e06404fdff2f 2 * Widget.h
Faberge 0:e06404fdff2f 3 *
Faberge 0:e06404fdff2f 4 * Copyright 2017 Faberge@TsarTeam
Faberge 0:e06404fdff2f 5 *
Faberge 0:e06404fdff2f 6 * This program is free software; you can redistribute it and/or modify
Faberge 0:e06404fdff2f 7 * it under the terms of the GNU General Public License as published by
Faberge 0:e06404fdff2f 8 * the Free Software Foundation; either version 2 of the License, or
Faberge 0:e06404fdff2f 9 * (at your option) any later version.
Faberge 0:e06404fdff2f 10 *
Faberge 0:e06404fdff2f 11 * This program is distributed in the hope that it will be useful,
Faberge 0:e06404fdff2f 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Faberge 0:e06404fdff2f 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Faberge 0:e06404fdff2f 14 * GNU General Public License for more details.
Faberge 0:e06404fdff2f 15 *
Faberge 0:e06404fdff2f 16 */
Faberge 0:e06404fdff2f 17
Faberge 0:e06404fdff2f 18 #ifndef WIDGET_H
Faberge 0:e06404fdff2f 19 #define WIDGET_H
Faberge 0:e06404fdff2f 20
Faberge 0:e06404fdff2f 21 #include "LCD_F469.h"
Faberge 0:e06404fdff2f 22 #include "TS_F469.h"
Faberge 1:a6d179a9ffbb 23 #include "WidgetTimer.h"
Faberge 0:e06404fdff2f 24
Faberge 0:e06404fdff2f 25 class Widget
Faberge 0:e06404fdff2f 26 {
Faberge 0:e06404fdff2f 27 private:
Faberge 0:e06404fdff2f 28
Faberge 0:e06404fdff2f 29 protected:
Faberge 1:a6d179a9ffbb 30 Widget(const uint16_t x, const uint16_t y, const uint16_t width,
Faberge 1:a6d179a9ffbb 31 const uint16_t height, const color_t backClr,
Faberge 1:a6d179a9ffbb 32 const color_t textClr = LCD_COLOR_WHITE) :
Faberge 0:e06404fdff2f 33 xPos(x), yPos(y), xDim(width), yDim(height),
Faberge 0:e06404fdff2f 34 backColor(backClr), textColor(textClr) {}
Faberge 0:e06404fdff2f 35
Faberge 1:a6d179a9ffbb 36 const uint16_t xPos;
Faberge 1:a6d179a9ffbb 37 const uint16_t yPos;
Faberge 1:a6d179a9ffbb 38 const uint16_t xDim;
Faberge 1:a6d179a9ffbb 39 const uint16_t yDim;
Faberge 0:e06404fdff2f 40
Faberge 1:a6d179a9ffbb 41 const color_t backColor;
Faberge 1:a6d179a9ffbb 42 const color_t textColor;
Faberge 0:e06404fdff2f 43
Faberge 0:e06404fdff2f 44 static Display LCD;
Faberge 0:e06404fdff2f 45 static TouchScreen TS;
Faberge 1:a6d179a9ffbb 46 static WidgetTimer timer;
Faberge 0:e06404fdff2f 47
Faberge 0:e06404fdff2f 48 public:
Faberge 0:e06404fdff2f 49 virtual ~Widget() = 0;
Faberge 0:e06404fdff2f 50 bool isTouched();
Faberge 0:e06404fdff2f 51 virtual void draw(color_t clr) {};
Faberge 0:e06404fdff2f 52 virtual uint16_t update();
Faberge 0:e06404fdff2f 53
Faberge 0:e06404fdff2f 54 };
Faberge 0:e06404fdff2f 55
Faberge 0:e06404fdff2f 56 #endif