539
|
1 #include "Button.h"
|
|
2
|
|
3 /**
|
|
4 * ボタン押下時に push, hold, release の状態を変更する
|
|
5 * push は押した瞬間にだけ 1 を持つ
|
|
6 * hold の状態では 0 を持つ
|
|
7 */
|
|
8 void
|
|
9 Button::push_work(void)
|
|
10 {
|
|
11 push = (!hold);
|
|
12 hold = 1;
|
|
13 release = 0;
|
|
14 }
|
|
15
|
|
16 /**
|
|
17 * ボタンを離した時に push, hold, release の状態を変更する
|
|
18 */
|
|
19 void
|
|
20 Button::release_work(void)
|
|
21 {
|
|
22 push = 0;
|
|
23 hold = 0;
|
|
24 release = 1;
|
|
25 }
|
|
26
|
|
27 /**
|
1041
|
28 * ボタンの状態を初期化する
|
|
29 */
|
|
30 void
|
|
31 Button::reset(void)
|
|
32 {
|
|
33 push = 0;
|
|
34 hold = 0;
|
|
35 release = 0;
|
|
36 }
|
|
37
|
|
38 /**
|
539
|
39 * @retval 1 ボタンが押された(このフレームのみ)
|
|
40 * @retval 0 押されていない
|
|
41 */
|
|
42 int
|
|
43 Button::isPush(void)
|
|
44 {
|
|
45 return push;
|
|
46 }
|
|
47
|
|
48 /**
|
|
49 * @retval 1 ボタンは押され続けている
|
|
50 * @retval 0 ボタンは押されていない
|
|
51 */
|
|
52 int
|
|
53 Button::isHold(void)
|
|
54 {
|
|
55 return hold;
|
|
56 }
|
|
57
|
|
58 /**
|
|
59 * @retval 1 ボタンは押されていない
|
|
60 * @retval 0 ボタンが押されている
|
|
61 */
|
|
62 int
|
|
63 Button::isRelease(void)
|
|
64 {
|
|
65 return release;
|
|
66 }
|