Demo to control 4 LEDs

Dependencies:   BSP_DISCO_F469NI mbed

Committer:
Faberge
Date:
Tue Oct 31 14:46:28 2017 +0000
Revision:
2:e6fc24fbd86c
Parent:
1:a6d179a9ffbb
Update

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Faberge 0:e06404fdff2f 1 /*
Faberge 0:e06404fdff2f 2 * Screen.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 SCREEN_H
Faberge 0:e06404fdff2f 19 #define SCREEN_H
Faberge 0:e06404fdff2f 20
Faberge 0:e06404fdff2f 21 #include <vector>
Faberge 0:e06404fdff2f 22 #include "Widget.h"
Faberge 0:e06404fdff2f 23
Faberge 0:e06404fdff2f 24 class Screen : private Widget
Faberge 0:e06404fdff2f 25 {
Faberge 0:e06404fdff2f 26 private:
Faberge 0:e06404fdff2f 27 static const uint16_t DIMX = 800;
Faberge 0:e06404fdff2f 28 static const uint16_t DIMY = 480;
Faberge 0:e06404fdff2f 29
Faberge 1:a6d179a9ffbb 30 std::vector<Widget*> widgets;
Faberge 1:a6d179a9ffbb 31 std::vector<std::pair <Widget*, uint16_t> > vPair;
Faberge 0:e06404fdff2f 32
Faberge 1:a6d179a9ffbb 33 void rst(color_t clr);
Faberge 0:e06404fdff2f 34
Faberge 0:e06404fdff2f 35
Faberge 0:e06404fdff2f 36 public:
Faberge 0:e06404fdff2f 37 Screen(color_t clr);
Faberge 1:a6d179a9ffbb 38 virtual ~Screen() {rst(backColor);}
Faberge 1:a6d179a9ffbb 39
Faberge 1:a6d179a9ffbb 40 void reset(color_t clr) {rst(backColor);}
Faberge 1:a6d179a9ffbb 41 void add(Widget *w) {exitOnWithCode(w, 0);}
Faberge 1:a6d179a9ffbb 42 void exitOnWithCode(Widget *w, uint16_t opCode)
Faberge 1:a6d179a9ffbb 43 {vPair.push_back(std::make_pair(w, opCode));}
Faberge 1:a6d179a9ffbb 44
Faberge 0:e06404fdff2f 45 virtual uint16_t update();
Faberge 0:e06404fdff2f 46 };
Faberge 0:e06404fdff2f 47
Faberge 0:e06404fdff2f 48 #endif