Interfaçage NeoPixel Ring 12, LPRO MECSE, Arnaud A.

Committer:
Rhamao
Date:
Wed Jun 17 16:34:16 2020 +0000
Revision:
0:c95a8c8c3c9b
Child:
1:2a58d8fcf7f9
View 1 finie

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhamao 0:c95a8c8c3c9b 1 #include "view2.h"
Rhamao 0:c95a8c8c3c9b 2
Rhamao 0:c95a8c8c3c9b 3 View2::View2(int width, int height) : m_width(width), m_height(height){}
Rhamao 0:c95a8c8c3c9b 4
Rhamao 0:c95a8c8c3c9b 5 View2::~View2() //Destructeur de bouton
Rhamao 0:c95a8c8c3c9b 6 {
Rhamao 0:c95a8c8c3c9b 7 for (Button * button : m_buttonList) {
Rhamao 0:c95a8c8c3c9b 8 delete button;
Rhamao 0:c95a8c8c3c9b 9 }
Rhamao 0:c95a8c8c3c9b 10 m_buttonList.clear();
Rhamao 0:c95a8c8c3c9b 11 }
Rhamao 0:c95a8c8c3c9b 12
Rhamao 0:c95a8c8c3c9b 13
Rhamao 0:c95a8c8c3c9b 14 void View2::contain(int x, int y)
Rhamao 0:c95a8c8c3c9b 15 {
Rhamao 0:c95a8c8c3c9b 16 if(!screenReleased){
Rhamao 0:c95a8c8c3c9b 17 screenReleased=true;
Rhamao 0:c95a8c8c3c9b 18 for (Button * button : m_buttonList) {
Rhamao 0:c95a8c8c3c9b 19 if (button->contain(x,y)) {
Rhamao 0:c95a8c8c3c9b 20
Rhamao 0:c95a8c8c3c9b 21 }
Rhamao 0:c95a8c8c3c9b 22 }
Rhamao 0:c95a8c8c3c9b 23 }
Rhamao 0:c95a8c8c3c9b 24 }
Rhamao 0:c95a8c8c3c9b 25
Rhamao 0:c95a8c8c3c9b 26
Rhamao 0:c95a8c8c3c9b 27 void View2::draw()
Rhamao 0:c95a8c8c3c9b 28 {
Rhamao 0:c95a8c8c3c9b 29 BSP_LCD_Clear(m_bgColor); //Enlève l'affichage du début
Rhamao 0:c95a8c8c3c9b 30 for (Button * button : m_buttonList) {
Rhamao 0:c95a8c8c3c9b 31 button->draw();
Rhamao 0:c95a8c8c3c9b 32 }
Rhamao 0:c95a8c8c3c9b 33 }
Rhamao 0:c95a8c8c3c9b 34
Rhamao 0:c95a8c8c3c9b 35
Rhamao 0:c95a8c8c3c9b 36 void View2::initView(){
Rhamao 0:c95a8c8c3c9b 37 m_bgColor = LCD_COLOR_BLACK;
Rhamao 0:c95a8c8c3c9b 38 //Animations
Rhamao 0:c95a8c8c3c9b 39 anim1->setText("Animations1");
Rhamao 0:c95a8c8c3c9b 40 anim2->setText("Animations2");
Rhamao 0:c95a8c8c3c9b 41 anim3->setText("Animations3");
Rhamao 0:c95a8c8c3c9b 42 start->setText("Start animation");
Rhamao 0:c95a8c8c3c9b 43 stop->setText("Stop animation");
Rhamao 0:c95a8c8c3c9b 44 //Animations
Rhamao 0:c95a8c8c3c9b 45 m_buttonList.push_front(anim1);
Rhamao 0:c95a8c8c3c9b 46 m_buttonList.push_front(anim2);
Rhamao 0:c95a8c8c3c9b 47 m_buttonList.push_front(anim3);
Rhamao 0:c95a8c8c3c9b 48 m_buttonList.push_front(start);
Rhamao 0:c95a8c8c3c9b 49 m_buttonList.push_front(stop);
Rhamao 0:c95a8c8c3c9b 50 }
Rhamao 0:c95a8c8c3c9b 51
Rhamao 0:c95a8c8c3c9b 52 void View2::updateLCD(){
Rhamao 0:c95a8c8c3c9b 53 BSP_TS_GetState(&TS_State);
Rhamao 0:c95a8c8c3c9b 54 if (TS_State.touchDetected) { //Detecte si l'écran tactile est touché
Rhamao 0:c95a8c8c3c9b 55 cleared = false;
Rhamao 0:c95a8c8c3c9b 56 for (idx = 0; idx < TS_State.touchDetected; idx++) {
Rhamao 0:c95a8c8c3c9b 57 x = TS_State.touchX[idx];
Rhamao 0:c95a8c8c3c9b 58 y = TS_State.touchY[idx];
Rhamao 0:c95a8c8c3c9b 59 contain(x, y);
Rhamao 0:c95a8c8c3c9b 60
Rhamao 0:c95a8c8c3c9b 61 }
Rhamao 0:c95a8c8c3c9b 62 } else {
Rhamao 0:c95a8c8c3c9b 63 screenReleased=false;
Rhamao 0:c95a8c8c3c9b 64 if (!cleared) {
Rhamao 0:c95a8c8c3c9b 65 draw();
Rhamao 0:c95a8c8c3c9b 66 cleared = true;
Rhamao 0:c95a8c8c3c9b 67
Rhamao 0:c95a8c8c3c9b 68 }
Rhamao 0:c95a8c8c3c9b 69 }
Rhamao 0:c95a8c8c3c9b 70
Rhamao 0:c95a8c8c3c9b 71 }