Interfaçage NeoPixel Ring 12, LPRO MECSE, Arnaud A.
view2.cpp@0:c95a8c8c3c9b, 2020-06-17 (annotated)
- 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?
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 | 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 | } |