GUI parts for DISCO-F746NG. GuiBase, Button, ButtonGroup, Label, BlinkLabel, NumericLabel, SeekBar, SeekbarGroup
Dependents: F746_SD_GraphicEqualizer_ren0620
Fork of F746_GUI by
Label.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2016-04-08
- Revision:
- 4:cbf7ed9092a3
- Parent:
- 2:d2f882d98f0a
- Child:
- 9:c379410bda15
File content as of revision 4:cbf7ed9092a3:
//-----------------------------------------------------------
// Label class -- Header
//
// 2016/04/07, Copyright (c) 2016 MIKAMI, Naoki
//-----------------------------------------------------------
#ifndef F746_LABEL_HPP
#define F746_LABEL_HPP
#include "GuiBase.hpp"
namespace Mikami
{
class Label : public GuiBase
{
public:
enum TextAlignMode { LEFT, CENTER };
// Constructor
Label(uint16_t x, uint16_t y, const string str,
TextAlignMode mode = LEFT,
sFONT &fonts = Font12,
uint32_t textColor = GuiBase::ENUM_TEXT,
uint32_t backColor = GuiBase::ENUM_BACK);
// Constructor without string
Label(uint16_t x, uint16_t y,
TextAlignMode mode = LEFT,
sFONT &fonts = Font12,
uint32_t textColor = GuiBase::ENUM_TEXT,
uint32_t backColor = GuiBase::ENUM_BACK)
: GuiBase(x, y, fonts, textColor, backColor),
MODE_(mode), STR_("") {}
void Draw()
{ Draw(STR_, TEXT_COLOR_); }
void Draw(const string str)
{ Draw(str, TEXT_COLOR_); }
void Draw(uint32_t textColor)
{ Draw(STR_, textColor); }
void Draw(const string str,
uint32_t textColor);
private:
const TextAlignMode MODE_;
const string STR_;
uint8_t length_;
uint16_t PosX(uint16_t x)
{ return (MODE_ == LEFT) ?
x : x - length_*FONTS_->Width/2; }
// disallow copy constructor and assignment operator
Label(const Label&);
Label& operator=(const Label&);
};
}
#endif // F746_LABEL_HPP
