2018年3月16日に開催されるCQ出版社インターフェース誌オフ会で紹介するプログラム
Dependencies: mbed Array_Matrix BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG
main.cpp@0:f00cf31ae154, 2018-03-10 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Sat Mar 10 11:37:33 2018 +0000
- Revision:
- 0:f00cf31ae154
- Child:
- 1:c27b3361dbbb
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:f00cf31ae154 | 1 | //------------------------------------------------------------ |
MikamiUitOpen | 0:f00cf31ae154 | 2 | // mbed に登録しているライブラリ F746_GUI の使い方の簡単な例 |
MikamiUitOpen | 0:f00cf31ae154 | 3 | // CQ出版社インターフェースオフ会 2018/03/16 で紹介 |
MikamiUitOpen | 0:f00cf31ae154 | 4 | // mbed のリボジョン:161 |
MikamiUitOpen | 0:f00cf31ae154 | 5 | // ライブラリ F746_GUI のリビジョンが 32 の場合,中に含まれる |
MikamiUitOpen | 0:f00cf31ae154 | 6 | // BSP_DISCO_F746NG はリビジョン 9 に更新すること |
MikamiUitOpen | 0:f00cf31ae154 | 7 | // |
MikamiUitOpen | 0:f00cf31ae154 | 8 | // 2018/03/09, Copyright (c) 2018 MIKAMI, Naoki |
MikamiUitOpen | 0:f00cf31ae154 | 9 | //------------------------------------------------------------ |
MikamiUitOpen | 0:f00cf31ae154 | 10 | |
MikamiUitOpen | 0:f00cf31ae154 | 11 | #include "F746_GUI.hpp" // GUI 用のライブラリのインクルード文をまとめたもの |
MikamiUitOpen | 0:f00cf31ae154 | 12 | |
MikamiUitOpen | 0:f00cf31ae154 | 13 | // SeekBar と ResetButton を使う例 |
MikamiUitOpen | 0:f00cf31ae154 | 14 | void Slider() |
MikamiUitOpen | 0:f00cf31ae154 | 15 | { |
MikamiUitOpen | 0:f00cf31ae154 | 16 | GuiBase::GetLcd().Clear(GuiBase::ENUM_BACK); // 画面のクリア |
MikamiUitOpen | 0:f00cf31ae154 | 17 | |
MikamiUitOpen | 0:f00cf31ae154 | 18 | // リセットボタンのオブジェクト生成 |
MikamiUitOpen | 0:f00cf31ae154 | 19 | ResetButton myReset; |
MikamiUitOpen | 0:f00cf31ae154 | 20 | // SeekBar の値を表示する NumericLabel のオブジェクト生成 |
MikamiUitOpen | 0:f00cf31ae154 | 21 | NumericLabel<int> myLabel(240, 140, "%d", 0, Label::CENTER); |
MikamiUitOpen | 0:f00cf31ae154 | 22 | // SeekBar のオブジェクト生成 |
MikamiUitOpen | 0:f00cf31ae154 | 23 | SeekBar myBar(140, 200, 200, -100, 100, 0, "-100", "0", "100"); |
MikamiUitOpen | 0:f00cf31ae154 | 24 | |
MikamiUitOpen | 0:f00cf31ae154 | 25 | while (true) |
MikamiUitOpen | 0:f00cf31ae154 | 26 | { |
MikamiUitOpen | 0:f00cf31ae154 | 27 | if (myBar.Slide()) // スライドしたかどうかのチェック |
MikamiUitOpen | 0:f00cf31ae154 | 28 | myLabel.Draw(myBar.GetValue()); // スライドすると対応する数値が表示される |
MikamiUitOpen | 0:f00cf31ae154 | 29 | myReset.DoIfTouched(); // タッチするとリセットされる |
MikamiUitOpen | 0:f00cf31ae154 | 30 | } |
MikamiUitOpen | 0:f00cf31ae154 | 31 | } |
MikamiUitOpen | 0:f00cf31ae154 | 32 | |
MikamiUitOpen | 0:f00cf31ae154 | 33 | int main() |
MikamiUitOpen | 0:f00cf31ae154 | 34 | { |
MikamiUitOpen | 0:f00cf31ae154 | 35 | // Label のオブジェクト生成 |
MikamiUitOpen | 0:f00cf31ae154 | 36 | Label label1(240, 10, "Simple GUI Demo", Label::CENTER, Font20); |
MikamiUitOpen | 0:f00cf31ae154 | 37 | // ButtonGroup のオブジェクト生成 |
MikamiUitOpen | 0:f00cf31ae154 | 38 | const string STR[] = {"A", "B", "C", "D"}; |
MikamiUitOpen | 0:f00cf31ae154 | 39 | ButtonGroup bGroup1(200, 70, 80, 40, 4, |
MikamiUitOpen | 0:f00cf31ae154 | 40 | STR, 0, 2); |
MikamiUitOpen | 0:f00cf31ae154 | 41 | |
MikamiUitOpen | 0:f00cf31ae154 | 42 | int buttonNum; |
MikamiUitOpen | 0:f00cf31ae154 | 43 | while (true) |
MikamiUitOpen | 0:f00cf31ae154 | 44 | { |
MikamiUitOpen | 0:f00cf31ae154 | 45 | // bGroup1 をタッチした場合に switch 文を実行する |
MikamiUitOpen | 0:f00cf31ae154 | 46 | if (bGroup1.GetTouchedNumber(buttonNum)) |
MikamiUitOpen | 0:f00cf31ae154 | 47 | switch (buttonNum) |
MikamiUitOpen | 0:f00cf31ae154 | 48 | { |
MikamiUitOpen | 0:f00cf31ae154 | 49 | case 0: Slider(); break; |
MikamiUitOpen | 0:f00cf31ae154 | 50 | case 1: /* 処理1 */ break; |
MikamiUitOpen | 0:f00cf31ae154 | 51 | case 2: /* 処理2 */ break; |
MikamiUitOpen | 0:f00cf31ae154 | 52 | case 3: /* 処理3 */ break; |
MikamiUitOpen | 0:f00cf31ae154 | 53 | } |
MikamiUitOpen | 0:f00cf31ae154 | 54 | } |
MikamiUitOpen | 0:f00cf31ae154 | 55 | } |