![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
2018年3月16日に開催されるCQ出版社インターフェース誌オフ会で紹介するプログラム
Dependencies: mbed Array_Matrix BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG
Diff: F746_Gui_New/Label.cpp
- Revision:
- 1:c27b3361dbbb
- Parent:
- 0:f00cf31ae154
diff -r f00cf31ae154 -r c27b3361dbbb F746_Gui_New/Label.cpp --- a/F746_Gui_New/Label.cpp Sat Mar 10 11:37:33 2018 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -//----------------------------------------------------------- -// Label class -// -// 2016/04/24, Copyright (c) 2016 MIKAMI, Naoki -//----------------------------------------------------------- - -#include "Label.hpp" - -namespace Mikami -{ - // Constructor - Label::Label(uint16_t x, uint16_t y, - const string str, TextAlignMode mode, sFONT &fonts, - uint32_t textColor, uint32_t backColor) - : GuiBase(x, y, fonts, textColor, backColor), - MODE_(mode), STR_(str) - { - length_ = str.length(); - lcd_.SetBackColor(backColor); - lcd_.SetTextColor(textColor); - lcd_.SetFont(&fonts); - DrawString(PosX(x), y, str); - } - - void Label::Draw(const string str, uint32_t textColor) - { - // Erase previously-drawn string - lcd_.SetTextColor(BACK_COLOR_); - length_ = (length_ > str.length()) ? length_ : str.length(); - lcd_.FillRect(PosX(X_), Y_, FONTS_->Width*length_+1, FONTS_->Height); - - // Draw new string - length_ = str.length(); - lcd_.SetFont(FONTS_); - lcd_.SetTextColor(textColor); - DrawString(PosX(X_), Y_, str); - } - - uint16_t Label::PosX(uint16_t x) - { - if (MODE_ == LEFT) return x; - else - { - if (MODE_ == CENTER) - return x - length_*FONTS_->Width/2; - else - return x - length_*FONTS_->Width; - } - } -}