ctr_card_test/trunk/FunctionTest.cpp
(no author) fa6e7597d5 ソースのインポート
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_card_test@1 ff8ce827-af98-4349-adb5-4c00699b5328
2010-02-12 02:11:12 +00:00

162 lines
2.7 KiB
C++

#include "nakayama.h"
using namespace nn::red::nakayama;
class S1FunctionTest : public Program
{
public:
virtual void Execute()
{
// ページ
Page page;
Label running;
running.X = 120;
running.Y = 100;
running.Text = "Running";
page.Add(running);
Label loop;
loop.X = 10;
loop.Y = 200;
loop.Text = "Loop:";
page.Add(loop);
Label count;
count.X = 60;
count.Y = 200;
count.Text = "0000000000000";
page.Add(count);
KeyPad& pad = KeyPad::GetInstance();
// 画面表示しながら選択を受け付ける
while(1)
{
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower));
// Bボタンが押されたら
if(pad.IsTrigger(KeyPad::B))
{
Display::GetInstance(Display::Lower).Clear();
Display::GetInstance(Display::Lower).SwapBuffer();
break;
}
}
};
};
class S2FunctionTest : public Program
{
public:
virtual void Execute()
{
// ページ
Page page;
Label running;
running.X = 120;
running.Y = 100;
running.Text = "Running";
page.Add(running);
Label loop;
loop.X = 10;
loop.Y = 200;
loop.Text = "Loop:";
page.Add(loop);
Label count;
count.X = 60;
count.Y = 200;
count.Text = "0000000000000";
page.Add(count);
KeyPad& pad = KeyPad::GetInstance();
// 画面表示しながら選択を受け付ける
while(1)
{
pad.ReadKey();
page.Show(Display::GetInstance(Display::Lower));
// Bボタンが押されたら
if(pad.IsTrigger(KeyPad::B))
{
Display::GetInstance(Display::Lower).Clear();
Display::GetInstance(Display::Lower).SwapBuffer();
break;
}
}
};
};
class IrregularAccessTest : public Program
{
};
class FunctionTest : public Program
{
virtual void Execute()
{
Page page;
Label title;
title.X = 20;
title.Y = 10;
title.Text = "Function Test";
page.Add(title);
Label date;
date.X = 250;
date.Y = 10;
date.Text = __DATE__;
page.Add(date);
Selector<Program> menu;
menu.X = 30;
menu.Y = 40;
page.Add(menu);
// 選択肢に項目を追加
menu.Register("S1 Function Test", *(new S1FunctionTest()));
menu.Register("S2 Function Test", *(new S2FunctionTest()));
menu.Register("Irregular Access Test", *(new IrregularAccessTest()));
// 画面表示しながら選択を受け付ける
while(1)
{
page.Show(Display::GetInstance(Display::Upper));
// 選択されたら
if(menu.Selected)
{
menu.GetSelectedItem()->Execute();
menu.Selected = false;
}
// キャンセルされたら
if(menu.Canceled)
{
menu.Canceled = false;
break;
}
}
};
};