sp

Dependents:   WAV

Committer:
phungductung
Date:
Fri Jun 07 05:06:42 2019 +0000
Revision:
0:4e245f4bc8ac
spkt

Who changed what in which revision?

UserRevisionLine numberNew contents of line
phungductung 0:4e245f4bc8ac 1 //-----------------------------------------------------------
phungductung 0:4e245f4bc8ac 2 // GuiBase class (abstract base class) ---- Header
phungductung 0:4e245f4bc8ac 3 //
phungductung 0:4e245f4bc8ac 4 // 2017/03/17, Copyright (c) 2017 MIKAMI, Naoki
phungductung 0:4e245f4bc8ac 5 //-----------------------------------------------------------
phungductung 0:4e245f4bc8ac 6
phungductung 0:4e245f4bc8ac 7 #ifndef F746_GUI_BASE_HPP
phungductung 0:4e245f4bc8ac 8 #define F746_GUI_BASE_HPP
phungductung 0:4e245f4bc8ac 9
phungductung 0:4e245f4bc8ac 10 #include "mbed.h"
phungductung 0:4e245f4bc8ac 11 #include <string>
phungductung 0:4e245f4bc8ac 12 #include "TS_DISCO_F746NG.h"
phungductung 0:4e245f4bc8ac 13 #include "LCD_DISCO_F746NG.h"
phungductung 0:4e245f4bc8ac 14
phungductung 0:4e245f4bc8ac 15 namespace Mikami
phungductung 0:4e245f4bc8ac 16 {
phungductung 0:4e245f4bc8ac 17 class GuiBase
phungductung 0:4e245f4bc8ac 18 {
phungductung 0:4e245f4bc8ac 19 public:
phungductung 0:4e245f4bc8ac 20 static LCD_DISCO_F746NG& GetLcd() { return lcd_; }
phungductung 0:4e245f4bc8ac 21 static TS_DISCO_F746NG& GetTs() { return ts_; }
phungductung 0:4e245f4bc8ac 22
phungductung 0:4e245f4bc8ac 23 // If panel touched, return true
phungductung 0:4e245f4bc8ac 24 static bool PanelTouched();
phungductung 0:4e245f4bc8ac 25 // Get touch panel state
phungductung 0:4e245f4bc8ac 26 static TS_StateTypeDef GetTsState() { return state_; }
phungductung 0:4e245f4bc8ac 27
phungductung 0:4e245f4bc8ac 28 enum { ENUM_TEXT = 0xFFFFFFFF, ENUM_BACK = 0xFF003538,
phungductung 0:4e245f4bc8ac 29 ENUM_CREATED = 0xFF0068B7, ENUM_TOUCHED = 0xFF7F7FFF,
phungductung 0:4e245f4bc8ac 30 ENUM_INACTIVE = 0xD0003538, ENUM_INACTIVE_TEXT = 0xFF808080};
phungductung 0:4e245f4bc8ac 31
phungductung 0:4e245f4bc8ac 32 protected:
phungductung 0:4e245f4bc8ac 33 static LCD_DISCO_F746NG lcd_; // for LCD display
phungductung 0:4e245f4bc8ac 34 static TS_DISCO_F746NG ts_; // for touch pannel
phungductung 0:4e245f4bc8ac 35
phungductung 0:4e245f4bc8ac 36 static TS_StateTypeDef state_;
phungductung 0:4e245f4bc8ac 37 static bool multiTouch_;
phungductung 0:4e245f4bc8ac 38
phungductung 0:4e245f4bc8ac 39 const uint16_t X_, Y_;
phungductung 0:4e245f4bc8ac 40 sFONT *const FONTS_;
phungductung 0:4e245f4bc8ac 41
phungductung 0:4e245f4bc8ac 42 const uint32_t TEXT_COLOR_;
phungductung 0:4e245f4bc8ac 43 const uint32_t BACK_COLOR_;
phungductung 0:4e245f4bc8ac 44 const uint32_t CREATED_COLOR_;
phungductung 0:4e245f4bc8ac 45 const uint32_t TOUCHED_COLOR_;
phungductung 0:4e245f4bc8ac 46 const uint32_t INACTIVE_COLOR_;
phungductung 0:4e245f4bc8ac 47 const uint32_t INACTIVE_TEXT_COLOR_;
phungductung 0:4e245f4bc8ac 48
phungductung 0:4e245f4bc8ac 49 // Constructor
phungductung 0:4e245f4bc8ac 50 GuiBase(uint16_t x =0, uint16_t y =0,
phungductung 0:4e245f4bc8ac 51 sFONT &fonts = Font12,
phungductung 0:4e245f4bc8ac 52 uint32_t textColor = ENUM_TEXT,
phungductung 0:4e245f4bc8ac 53 uint32_t backColor = ENUM_BACK,
phungductung 0:4e245f4bc8ac 54 uint32_t createdColor = ENUM_CREATED,
phungductung 0:4e245f4bc8ac 55 uint32_t touchedColor = ENUM_TOUCHED,
phungductung 0:4e245f4bc8ac 56 uint32_t inactiveColor = ENUM_INACTIVE,
phungductung 0:4e245f4bc8ac 57 uint32_t inactiveTextColor = ENUM_INACTIVE_TEXT);
phungductung 0:4e245f4bc8ac 58
phungductung 0:4e245f4bc8ac 59 void DrawString(uint16_t x, uint16_t y, const string str)
phungductung 0:4e245f4bc8ac 60 { lcd_.DisplayStringAt(x, y, (uint8_t *)str.c_str(), LEFT_MODE); }
phungductung 0:4e245f4bc8ac 61
phungductung 0:4e245f4bc8ac 62 private:
phungductung 0:4e245f4bc8ac 63 static bool first_;
phungductung 0:4e245f4bc8ac 64
phungductung 0:4e245f4bc8ac 65 // disallow copy constructor and assignment operator
phungductung 0:4e245f4bc8ac 66 GuiBase(const GuiBase&);
phungductung 0:4e245f4bc8ac 67 GuiBase& operator=(const GuiBase&);
phungductung 0:4e245f4bc8ac 68 };
phungductung 0:4e245f4bc8ac 69 }
phungductung 0:4e245f4bc8ac 70 #endif // F746_GUI_BASE_HPP