2018年3月16日に開催されるCQ出版社インターフェース誌オフ会で紹介するプログラム

Dependencies:   mbed Array_Matrix BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG

Committer:
MikamiUitOpen
Date:
Mon Mar 12 04:31:12 2018 +0000
Revision:
1:c27b3361dbbb
Parent:
0:f00cf31ae154
2

Who changed what in which revision?

UserRevisionLine numberNew 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 1:c27b3361dbbb 8 // 2018/03/12, 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 1:c27b3361dbbb 16 GuiBase::Clear(); // 画面のクリア
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 }