fini

Dependencies:   F746_GUI mbed

Revision:
0:629ff18592b9
Child:
1:b4bcb6fa2a1d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Mar 31 07:33:36 2016 +0000
@@ -0,0 +1,90 @@
+//---------------------------------------------------------------------
+//  GuiBase とその派生クラスのデモプログラム
+//  Demo program for GuiBase class and its derivertive classes
+//      GuiBase, Button, ButtonGroup, Label, NumericLabel, SeekBar
+//
+//  2016/03/31, Copyright (c) 2016 MIKAMI, Naoki
+//---------------------------------------------------------------------
+
+#include "NumericLabel.hpp"
+#include "ButtonGroup.hpp"
+#include "SeekBar.hpp"
+
+using namespace Mikami;
+
+Ticker timer;
+NumericLabel<float> obj2(10, 150, Label::LEFT, Font16, LCD_COLOR_YELLOW);
+
+void TimerIsr()
+{
+    static int sec = 0;
+    obj2.Draw("%6.1f [s]", (float)(sec++)/10.0f);
+}
+
+int main()
+{
+    Label obj10(240, 4, "Test: GUI parts", Label::CENTER, Font16);
+    Label obj11(240, 20, "Label, NumericLabel, Button, ButtonGroup, SeekBar",
+                Label::CENTER);
+
+    Button button1(10, 50, 50, 40, "1");
+    Button button2(62, 50, 50, 40, "2");
+
+    button1.Erase();
+    wait(0.5f);
+    button1.Draw();
+
+    const int NUMBER_BUTTONS = 4;
+    const string STR1[NUMBER_BUTTONS] = {"Button1", "Button2", "Button3", "Button4"};
+    ButtonGroup bGroup1(160, 50, 66, 40,  NUMBER_BUTTONS, STR1, 5, 5, 3, 1,
+                        Font12, LCD_COLOR_WHITE, 0xFF003538, 0xFFB70068, 0xFFFF7FFF);
+
+    const string STR2[3] = {"0", "1", "2"};
+    ButtonGroup bGroup2(160, 150, 66, 40,  3, STR2, 5, 5, 3);
+
+    // 引数にデフォルト値を使う場合(横方向)
+    SeekBar bar(20, 240, 200, -5, 5, 0);
+    NumericLabel<float> numLabel1(20, 200, "%5.1f", bar.GetValue());
+    NumericLabel<int> numLabel2(90, 200, "%3d", (int)bar.GetValue());
+    NumericLabel<int> numLabel3(120, 200);
+    
+    SeekBar bar2(440, 100, 150, -5, 5, 2, SeekBar::Vertical, LCD_COLOR_GREEN);
+    NumericLabel<float> numLabel4(440, 70, "%4.1f", bar2.GetValue(), Label::CENTER);
+
+    timer.attach(&TimerIsr, 0.1f);
+
+    while (true)
+    {
+        if (button1.Touched()) button2.Draw();
+        if (button2.Touched()) button1.Draw();
+
+        int num;
+        if (bGroup1.GetTouchedNumber(num))
+            printf("Button%d touched\r\n", num+1);
+
+        if (bGroup2.Touched(0))
+        {
+            button1.Activate();
+            bGroup1.Activate(1);
+        }
+
+        if (bGroup2.Touched(1))
+        {
+            button1.Inactivate();
+            bGroup1.Inactivate(1);
+        }
+
+        if (bar.Slide())
+        {
+            numLabel1.Draw("%5.1f", bar.GetValue());
+            int8_t x = (int8_t)bar.GetValue();
+            numLabel2.Draw("%3d", x);
+
+            numLabel3.Draw("%3d", bar.GetIntValue());            
+        }        
+
+        if (bar2.Slide()) { numLabel4.Draw("%4.1f", bar2.GetValue()); }
+
+        wait(0.02f);
+    }
+}