diff options
author | Jens Arnold <amiconn@rockbox.org> | 2004-10-16 00:07:43 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2004-10-16 00:07:43 +0000 |
commit | cc8cff2ec02caf29b7d0cf565e1f9e2ebd9b0e99 (patch) | |
tree | a5427744a2aa55546f3d5982e15bed2a8d5e5f49 /apps/plugins/stopwatch.c | |
parent | 4a5df8e8d178702d603bd7cd185525c7ff6a3064 (diff) | |
download | rockbox-cc8cff2ec02caf29b7d0cf565e1f9e2ebd9b0e99.tar.gz rockbox-cc8cff2ec02caf29b7d0cf565e1f9e2ebd9b0e99.zip |
Plugin rework 1: (most) Compile-time keyboard configuration, for Ondio adaption. (all) Now using the default event handler, standard placement is now in switch() default case. (snow) Made USB aware. (video) Added contrast setting to Ondio version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5291 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/stopwatch.c')
-rw-r--r-- | apps/plugins/stopwatch.c | 71 |
1 files changed, 40 insertions, 31 deletions
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c index 370a1b51a6..6157dda038 100644 --- a/apps/plugins/stopwatch.c +++ b/apps/plugins/stopwatch.c | |||
@@ -31,6 +31,30 @@ | |||
31 | #define MAX_LAPS 10 | 31 | #define MAX_LAPS 10 |
32 | #define MAX_SCROLL (MAX_LAPS - LAP_LINES) | 32 | #define MAX_SCROLL (MAX_LAPS - LAP_LINES) |
33 | 33 | ||
34 | /* variable button definitions */ | ||
35 | #if CONFIG_KEYPAD == RECORDER_PAD | ||
36 | #define STOPWATCH_QUIT BUTTON_OFF | ||
37 | #define STOPWATCH_START_STOP BUTTON_PLAY | ||
38 | #define STOPWATCH_RESET_TIMER BUTTON_LEFT | ||
39 | #define STOPWATCH_LAP_TIMER BUTTON_ON | ||
40 | #define STOPWATCH_SCROLL_UP BUTTON_UP | ||
41 | #define STOPWATCH_SCROLL_DOWN BUTTON_DOWN | ||
42 | #elif CONFIG_KEYPAD == ONDIO_PAD | ||
43 | #define STOPWATCH_QUIT BUTTON_OFF | ||
44 | #define STOPWATCH_START_STOP BUTTON_RIGHT | ||
45 | #define STOPWATCH_RESET_TIMER BUTTON_LEFT | ||
46 | #define STOPWATCH_LAP_TIMER BUTTON_MENU | ||
47 | #define STOPWATCH_SCROLL_UP BUTTON_UP | ||
48 | #define STOPWATCH_SCROLL_DOWN BUTTON_DOWN | ||
49 | #elif CONFIG_KEYPAD == PLAYER_PAD | ||
50 | #define STOPWATCH_QUIT BUTTON_MENU | ||
51 | #define STOPWATCH_START_STOP BUTTON_PLAY | ||
52 | #define STOPWATCH_RESET_TIMER BUTTON_STOP | ||
53 | #define STOPWATCH_LAP_TIMER BUTTON_ON | ||
54 | #define STOPWATCH_SCROLL_UP BUTTON_RIGHT | ||
55 | #define STOPWATCH_SCROLL_DOWN BUTTON_LEFT | ||
56 | #endif | ||
57 | |||
34 | static struct plugin_api* rb; | 58 | static struct plugin_api* rb; |
35 | 59 | ||
36 | static int stopwatch = 0; | 60 | static int stopwatch = 0; |
@@ -102,17 +126,13 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
102 | switch (button) | 126 | switch (button) |
103 | { | 127 | { |
104 | 128 | ||
105 | /* OFF/MENU key to exit */ | 129 | /* exit */ |
106 | #if CONFIG_KEYPAD == RECORDER_PAD | 130 | case STOPWATCH_QUIT: |
107 | case BUTTON_OFF: | ||
108 | #else | ||
109 | case BUTTON_MENU: | ||
110 | #endif | ||
111 | done = true; | 131 | done = true; |
112 | break; | 132 | break; |
113 | 133 | ||
114 | /* PLAY = Stop/Start toggle */ | 134 | /* Stop/Start toggle */ |
115 | case BUTTON_PLAY: | 135 | case STOPWATCH_START_STOP: |
116 | counting = ! counting; | 136 | counting = ! counting; |
117 | if (counting) | 137 | if (counting) |
118 | { | 138 | { |
@@ -126,12 +146,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
126 | } | 146 | } |
127 | break; | 147 | break; |
128 | 148 | ||
129 | /* LEFT = Reset timer */ | 149 | /* Reset timer */ |
130 | #if CONFIG_KEYPAD == RECORDER_PAD | 150 | case STOPWATCH_RESET_TIMER: |
131 | case BUTTON_LEFT: | ||
132 | #else | ||
133 | case BUTTON_STOP: | ||
134 | #endif | ||
135 | if (!counting) | 151 | if (!counting) |
136 | { | 152 | { |
137 | prev_total = 0; | 153 | prev_total = 0; |
@@ -140,19 +156,15 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
140 | } | 156 | } |
141 | break; | 157 | break; |
142 | 158 | ||
143 | /* ON = Lap timer */ | 159 | /* Lap timer */ |
144 | case BUTTON_ON: | 160 | case STOPWATCH_LAP_TIMER: |
145 | lap_times[curr_lap%MAX_LAPS] = stopwatch; | 161 | lap_times[curr_lap%MAX_LAPS] = stopwatch; |
146 | curr_lap++; | 162 | curr_lap++; |
147 | update_lap = true; | 163 | update_lap = true; |
148 | break; | 164 | break; |
149 | 165 | ||
150 | /* UP (RIGHT/+) = Scroll Lap timer up */ | 166 | /* Scroll Lap timer up */ |
151 | #if CONFIG_KEYPAD == RECORDER_PAD | 167 | case STOPWATCH_SCROLL_UP: |
152 | case BUTTON_UP: | ||
153 | #else | ||
154 | case BUTTON_RIGHT: | ||
155 | #endif | ||
156 | if (lap_scroll > 0) | 168 | if (lap_scroll > 0) |
157 | { | 169 | { |
158 | lap_scroll --; | 170 | lap_scroll --; |
@@ -160,12 +172,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
160 | } | 172 | } |
161 | break; | 173 | break; |
162 | 174 | ||
163 | /* DOWN (LEFT/-) = Scroll Lap timer down */ | 175 | /* Scroll Lap timer down */ |
164 | #if CONFIG_KEYPAD == RECORDER_PAD | 176 | case STOPWATCH_SCROLL_DOWN: |
165 | case BUTTON_DOWN: | ||
166 | #else | ||
167 | case BUTTON_LEFT: | ||
168 | #endif | ||
169 | if ((lap_scroll < curr_lap - LAP_LINES) && | 177 | if ((lap_scroll < curr_lap - LAP_LINES) && |
170 | (lap_scroll < MAX_SCROLL) ) | 178 | (lap_scroll < MAX_SCROLL) ) |
171 | { | 179 | { |
@@ -174,9 +182,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
174 | } | 182 | } |
175 | break; | 183 | break; |
176 | 184 | ||
177 | case SYS_USB_CONNECTED: | 185 | default: |
178 | rb->usb_screen(); | 186 | if (rb->default_event_handler(button) == SYS_USB_CONNECTED) |
179 | return PLUGIN_USB_CONNECTED; | 187 | return PLUGIN_USB_CONNECTED; |
188 | break; | ||
180 | } | 189 | } |
181 | 190 | ||
182 | if (counting) | 191 | if (counting) |