Interfaçage NeoPixel Ring 12, LPRO MECSE, Arnaud A.
view2.cpp@2:a885824aefe0, 2020-06-30 (annotated)
- Committer:
- Rhamao
- Date:
- Tue Jun 30 23:32:27 2020 +0000
- Revision:
- 2:a885824aefe0
- Parent:
- 1:2a58d8fcf7f9
version publique; ;
Who changed what in which revision?
User | Revision | Line number | New 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 | 1:2a58d8fcf7f9 | 16 | if(screenReleased){ |
Rhamao | 1:2a58d8fcf7f9 | 17 | screenReleased=false; |
Rhamao | 0:c95a8c8c3c9b | 18 | for (Button * button : m_buttonList) { |
Rhamao | 0:c95a8c8c3c9b | 19 | if (button->contain(x,y)) { |
Rhamao | 1:2a58d8fcf7f9 | 20 | updateViewChanged(button); |
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 | 1:2a58d8fcf7f9 | 44 | //Animations tab |
Rhamao | 1:2a58d8fcf7f9 | 45 | animations->setText("Animations", LCD_COLOR_BLACK); |
Rhamao | 1:2a58d8fcf7f9 | 46 | //LEDs tab |
Rhamao | 1:2a58d8fcf7f9 | 47 | leds->setText("LEDS", LCD_COLOR_WHITE); |
Rhamao | 1:2a58d8fcf7f9 | 48 | hideTop2->setText(""); |
Rhamao | 1:2a58d8fcf7f9 | 49 | hideRight2->setText(""); |
Rhamao | 0:c95a8c8c3c9b | 50 | //Animations |
Rhamao | 0:c95a8c8c3c9b | 51 | m_buttonList.push_front(anim1); |
Rhamao | 0:c95a8c8c3c9b | 52 | m_buttonList.push_front(anim2); |
Rhamao | 0:c95a8c8c3c9b | 53 | m_buttonList.push_front(anim3); |
Rhamao | 0:c95a8c8c3c9b | 54 | m_buttonList.push_front(start); |
Rhamao | 0:c95a8c8c3c9b | 55 | m_buttonList.push_front(stop); |
Rhamao | 1:2a58d8fcf7f9 | 56 | //Animations tab |
Rhamao | 1:2a58d8fcf7f9 | 57 | m_buttonList.push_front(animations); |
Rhamao | 1:2a58d8fcf7f9 | 58 | //LEDs tab |
Rhamao | 1:2a58d8fcf7f9 | 59 | m_buttonList.push_front(hideRight2); |
Rhamao | 1:2a58d8fcf7f9 | 60 | m_buttonList.push_front(hideTop2); |
Rhamao | 1:2a58d8fcf7f9 | 61 | m_buttonList.push_front(leds); |
Rhamao | 0:c95a8c8c3c9b | 62 | } |
Rhamao | 0:c95a8c8c3c9b | 63 | |
Rhamao | 0:c95a8c8c3c9b | 64 | void View2::updateLCD(){ |
Rhamao | 1:2a58d8fcf7f9 | 65 | viewChanged = false; |
Rhamao | 0:c95a8c8c3c9b | 66 | BSP_TS_GetState(&TS_State); |
Rhamao | 0:c95a8c8c3c9b | 67 | if (TS_State.touchDetected) { //Detecte si l'écran tactile est touché |
Rhamao | 0:c95a8c8c3c9b | 68 | cleared = false; |
Rhamao | 0:c95a8c8c3c9b | 69 | for (idx = 0; idx < TS_State.touchDetected; idx++) { |
Rhamao | 0:c95a8c8c3c9b | 70 | x = TS_State.touchX[idx]; |
Rhamao | 0:c95a8c8c3c9b | 71 | y = TS_State.touchY[idx]; |
Rhamao | 0:c95a8c8c3c9b | 72 | contain(x, y); |
Rhamao | 0:c95a8c8c3c9b | 73 | |
Rhamao | 0:c95a8c8c3c9b | 74 | } |
Rhamao | 0:c95a8c8c3c9b | 75 | } else { |
Rhamao | 1:2a58d8fcf7f9 | 76 | screenReleased=true; |
Rhamao | 0:c95a8c8c3c9b | 77 | if (!cleared) { |
Rhamao | 0:c95a8c8c3c9b | 78 | draw(); |
Rhamao | 0:c95a8c8c3c9b | 79 | cleared = true; |
Rhamao | 0:c95a8c8c3c9b | 80 | |
Rhamao | 0:c95a8c8c3c9b | 81 | } |
Rhamao | 0:c95a8c8c3c9b | 82 | } |
Rhamao | 0:c95a8c8c3c9b | 83 | |
Rhamao | 1:2a58d8fcf7f9 | 84 | } |
Rhamao | 1:2a58d8fcf7f9 | 85 | |
Rhamao | 1:2a58d8fcf7f9 | 86 | void View2::updateViewChanged(Button* button){ |
Rhamao | 1:2a58d8fcf7f9 | 87 | if(button == leds){ |
Rhamao | 1:2a58d8fcf7f9 | 88 | viewChanged=true; |
Rhamao | 1:2a58d8fcf7f9 | 89 | } |
Rhamao | 1:2a58d8fcf7f9 | 90 | } |
Rhamao | 1:2a58d8fcf7f9 | 91 | |
Rhamao | 2:a885824aefe0 | 92 | void View2::updateAnim1(Button* button){ |
Rhamao | 2:a885824aefe0 | 93 | if(button == anim1){ |
Rhamao | 2:a885824aefe0 | 94 | anim1Bool=true; |
Rhamao | 2:a885824aefe0 | 95 | } |
Rhamao | 2:a885824aefe0 | 96 | } |
Rhamao | 2:a885824aefe0 | 97 | |
Rhamao | 2:a885824aefe0 | 98 | bool View2::getAnim1(){ |
Rhamao | 2:a885824aefe0 | 99 | return anim1Bool; |
Rhamao | 2:a885824aefe0 | 100 | } |
Rhamao | 2:a885824aefe0 | 101 | |
Rhamao | 2:a885824aefe0 | 102 | |
Rhamao | 2:a885824aefe0 | 103 | void View2::setAnim1(bool viewChanged){ |
Rhamao | 2:a885824aefe0 | 104 | anim1Bool = this->anim1Bool; |
Rhamao | 2:a885824aefe0 | 105 | } |
Rhamao | 2:a885824aefe0 | 106 | |
Rhamao | 1:2a58d8fcf7f9 | 107 | bool View2::getViewChanged(){ |
Rhamao | 1:2a58d8fcf7f9 | 108 | return viewChanged; |
Rhamao | 1:2a58d8fcf7f9 | 109 | } |
Rhamao | 1:2a58d8fcf7f9 | 110 | |
Rhamao | 1:2a58d8fcf7f9 | 111 | |
Rhamao | 1:2a58d8fcf7f9 | 112 | void View2::setViewChanged(bool viewChanged){ |
Rhamao | 1:2a58d8fcf7f9 | 113 | viewChanged = this->viewChanged; |
Rhamao | 0:c95a8c8c3c9b | 114 | } |