- GUI Widget is a framework that provides modern and easy-to-understand operations.
- It is designed to be as simple and easy to understand as possible, using C++17 features.
- GUI operation using a touch panel.
- A configuration that can support rendering by software or the DRW2D engine.
- Static structure without memory allocation. (Static structure without memory allocation (template parameters define the number of widgets to be handled).
- Low-resource-consumption design.
- A mechanism to optimize rendering.
- Widgets designed for common usage scenarios.
- A sample program "[GUI_sample](... /GUI_sample/)" is provided to help users understand how to use and implement each component. GUI_sample](.../GUI_sample/)" is provided to understand how to use and implement each component.
- 以下のようなファイル(クラス)により構成されます。
- 全体を統合する「widget_director.hpp」と、各部品となっています。
- 各部品は、「widget.hpp」基本クラスを継承しています。
- 機能を使う場合、「widget_director.hpp」をインクルードして使います。
ファイル名 | 機能 |
---|---|
widget.hpp | Widget 基本クラス |
button.hpp | Widget ボタン |
check.hpp | Widget チェックボックス |
group.hpp | Widget グループ |
radio.hpp | Widget ラジオボタン |
frame.hpp | Widget フレーム |
dialog.hpp | Widget ダイアログ |
term.hpp | Widget ターミナルクラス |
box.hpp | Widget ボックス |
text.hpp | Widget テキスト |
textbox.hpp | Widget テキストボックス |
slider.hpp | Widget スライダー |
menu.hpp | Widget メニュー |
spinbox.hpp | Widget スピンボックス |
toggle.hpp | Widget トグルスイッチ |
progress.hpp | Widget プログレスバー |
filer.hpp | ファイル選択クラス |
key_asc.hpp | ASCII ソフトキーボード |
widget_director.hpp | Widget ディレクター |
- 座標は、int16_t 型で定義されています。
- 「vtx::srect(x, y, w, h)」型は、(x)X座標、(y)Y座標、(w)Xサイズ、(h)Yサイズになっています。
- widget button は、シンプルな押しボタンの機能を提供します。
- 座標、大きさ、ボタン文字列 を指定します。
- 文字列、基本色は、いつでも変更が可能です。
定義:
typedef gui::button BUTTON;
BUTTON button_(vtx::srect(10, 10, 80, 32), "OK");
※上記例では、10,10 の位置に、横 80、高さ 32 のボタン、ボタン内文字 "OK" を定義しています。
制御:
button_.enable();
button_.at_select_func() = [=](uint32_t id) {
utils::format("Select Button: %d\n") % id;
};
※ボタンが押される度に、"Select Button: " と、ID 番号がコンソールに出力されます。
Translated with www.DeepL.com/Translator (free version)
MIT