GUI parts for DISCO-F746NG. GuiBase, Button, ButtonGroup, ResetButton, Label, BlinkLabel, NumericLabel, SeekBar, SeekbarGroup, NumericUpDown
Dependencies: Array_Matrix TS_DISCO_F746NG LCD_DISCO_F746NG BSP_DISCO_F746NG
GuiBase.hpp@34:6a1bed803fb7, 2019-06-04 (annotated)
- Committer:
- Lessa
- Date:
- Tue Jun 04 20:18:47 2019 +0000
- Revision:
- 34:6a1bed803fb7
- Parent:
- 33:50b8f7654c36
Rev1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:a2686ef737c2 | 1 | //----------------------------------------------------------- |
MikamiUitOpen | 0:a2686ef737c2 | 2 | // GuiBase class (abstract base class) ---- Header |
MikamiUitOpen | 33:50b8f7654c36 | 3 | // |
MikamiUitOpen | 33:50b8f7654c36 | 4 | // <インポートしたライブラリのリビジョン> |
MikamiUitOpen | 33:50b8f7654c36 | 5 | // Array_Matrix 2 |
MikamiUitOpen | 33:50b8f7654c36 | 6 | // BSP_DISCO_F746NG 9 |
MikamiUitOpen | 33:50b8f7654c36 | 7 | // LCD_DISCO_F746NG 0 |
MikamiUitOpen | 33:50b8f7654c36 | 8 | // TS_DISCO_F746NG 0 |
MikamiUitOpen | 0:a2686ef737c2 | 9 | // |
MikamiUitOpen | 33:50b8f7654c36 | 10 | // 2018/03/12, Copyright (c) 2018 MIKAMI, Naoki |
MikamiUitOpen | 0:a2686ef737c2 | 11 | //----------------------------------------------------------- |
MikamiUitOpen | 0:a2686ef737c2 | 12 | |
MikamiUitOpen | 0:a2686ef737c2 | 13 | #ifndef F746_GUI_BASE_HPP |
MikamiUitOpen | 0:a2686ef737c2 | 14 | #define F746_GUI_BASE_HPP |
MikamiUitOpen | 0:a2686ef737c2 | 15 | |
MikamiUitOpen | 0:a2686ef737c2 | 16 | #include "mbed.h" |
MikamiUitOpen | 0:a2686ef737c2 | 17 | #include <string> |
MikamiUitOpen | 0:a2686ef737c2 | 18 | #include "TS_DISCO_F746NG.h" |
MikamiUitOpen | 0:a2686ef737c2 | 19 | #include "LCD_DISCO_F746NG.h" |
MikamiUitOpen | 0:a2686ef737c2 | 20 | |
MikamiUitOpen | 0:a2686ef737c2 | 21 | namespace Mikami |
MikamiUitOpen | 0:a2686ef737c2 | 22 | { |
MikamiUitOpen | 0:a2686ef737c2 | 23 | class GuiBase |
MikamiUitOpen | 0:a2686ef737c2 | 24 | { |
MikamiUitOpen | 0:a2686ef737c2 | 25 | public: |
MikamiUitOpen | 30:835a6b1c0fad | 26 | static LCD_DISCO_F746NG& GetLcd() { return lcd_; } |
MikamiUitOpen | 30:835a6b1c0fad | 27 | static TS_DISCO_F746NG& GetTs() { return ts_; } |
MikamiUitOpen | 0:a2686ef737c2 | 28 | |
MikamiUitOpen | 0:a2686ef737c2 | 29 | // If panel touched, return true |
MikamiUitOpen | 0:a2686ef737c2 | 30 | static bool PanelTouched(); |
MikamiUitOpen | 0:a2686ef737c2 | 31 | // Get touch panel state |
MikamiUitOpen | 0:a2686ef737c2 | 32 | static TS_StateTypeDef GetTsState() { return state_; } |
MikamiUitOpen | 33:50b8f7654c36 | 33 | |
MikamiUitOpen | 33:50b8f7654c36 | 34 | // Clear the whole LCD |
MikamiUitOpen | 33:50b8f7654c36 | 35 | static void Clear(uint32_t backColor = ENUM_BACK) |
MikamiUitOpen | 33:50b8f7654c36 | 36 | { lcd_.Clear(backColor); } |
MikamiUitOpen | 0:a2686ef737c2 | 37 | |
MikamiUitOpen | 0:a2686ef737c2 | 38 | enum { ENUM_TEXT = 0xFFFFFFFF, ENUM_BACK = 0xFF003538, |
MikamiUitOpen | 0:a2686ef737c2 | 39 | ENUM_CREATED = 0xFF0068B7, ENUM_TOUCHED = 0xFF7F7FFF, |
MikamiUitOpen | 0:a2686ef737c2 | 40 | ENUM_INACTIVE = 0xD0003538, ENUM_INACTIVE_TEXT = 0xFF808080}; |
MikamiUitOpen | 0:a2686ef737c2 | 41 | |
MikamiUitOpen | 0:a2686ef737c2 | 42 | protected: |
MikamiUitOpen | 6:b8f197b0012c | 43 | static LCD_DISCO_F746NG lcd_; // for LCD display |
MikamiUitOpen | 6:b8f197b0012c | 44 | static TS_DISCO_F746NG ts_; // for touch pannel |
MikamiUitOpen | 0:a2686ef737c2 | 45 | |
MikamiUitOpen | 0:a2686ef737c2 | 46 | static TS_StateTypeDef state_; |
MikamiUitOpen | 0:a2686ef737c2 | 47 | static bool multiTouch_; |
MikamiUitOpen | 0:a2686ef737c2 | 48 | |
MikamiUitOpen | 0:a2686ef737c2 | 49 | const uint16_t X_, Y_; |
MikamiUitOpen | 0:a2686ef737c2 | 50 | sFONT *const FONTS_; |
MikamiUitOpen | 0:a2686ef737c2 | 51 | |
MikamiUitOpen | 0:a2686ef737c2 | 52 | const uint32_t TEXT_COLOR_; |
MikamiUitOpen | 0:a2686ef737c2 | 53 | const uint32_t BACK_COLOR_; |
MikamiUitOpen | 0:a2686ef737c2 | 54 | const uint32_t CREATED_COLOR_; |
MikamiUitOpen | 0:a2686ef737c2 | 55 | const uint32_t TOUCHED_COLOR_; |
Lessa | 34:6a1bed803fb7 | 56 | const uint32_t INACTIVE_COLOR_; //INACTIVE_COLOR |
Lessa | 34:6a1bed803fb7 | 57 | const uint32_t INACTIVE_TEXT_COLOR_; //INACTIVE_TEXT_COLOR_ |
MikamiUitOpen | 0:a2686ef737c2 | 58 | |
MikamiUitOpen | 0:a2686ef737c2 | 59 | // Constructor |
MikamiUitOpen | 0:a2686ef737c2 | 60 | GuiBase(uint16_t x =0, uint16_t y =0, |
MikamiUitOpen | 0:a2686ef737c2 | 61 | sFONT &fonts = Font12, |
MikamiUitOpen | 28:e2b7ea78b7a0 | 62 | uint32_t textColor = ENUM_TEXT, |
MikamiUitOpen | 28:e2b7ea78b7a0 | 63 | uint32_t backColor = ENUM_BACK, |
MikamiUitOpen | 28:e2b7ea78b7a0 | 64 | uint32_t createdColor = ENUM_CREATED, |
MikamiUitOpen | 28:e2b7ea78b7a0 | 65 | uint32_t touchedColor = ENUM_TOUCHED, |
MikamiUitOpen | 28:e2b7ea78b7a0 | 66 | uint32_t inactiveColor = ENUM_INACTIVE, |
MikamiUitOpen | 28:e2b7ea78b7a0 | 67 | uint32_t inactiveTextColor = ENUM_INACTIVE_TEXT); |
MikamiUitOpen | 0:a2686ef737c2 | 68 | |
MikamiUitOpen | 0:a2686ef737c2 | 69 | void DrawString(uint16_t x, uint16_t y, const string str) |
MikamiUitOpen | 0:a2686ef737c2 | 70 | { lcd_.DisplayStringAt(x, y, (uint8_t *)str.c_str(), LEFT_MODE); } |
MikamiUitOpen | 0:a2686ef737c2 | 71 | |
MikamiUitOpen | 0:a2686ef737c2 | 72 | private: |
MikamiUitOpen | 0:a2686ef737c2 | 73 | static bool first_; |
MikamiUitOpen | 0:a2686ef737c2 | 74 | |
MikamiUitOpen | 0:a2686ef737c2 | 75 | // disallow copy constructor and assignment operator |
MikamiUitOpen | 0:a2686ef737c2 | 76 | GuiBase(const GuiBase&); |
MikamiUitOpen | 0:a2686ef737c2 | 77 | GuiBase& operator=(const GuiBase&); |
MikamiUitOpen | 0:a2686ef737c2 | 78 | }; |
MikamiUitOpen | 0:a2686ef737c2 | 79 | } |
MikamiUitOpen | 0:a2686ef737c2 | 80 | #endif // F746_GUI_BASE_HPP |