summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorKevin Ferrare <kevin@rockbox.org>2010-02-26 07:38:18 +0000
committerKevin Ferrare <kevin@rockbox.org>2010-02-26 07:38:18 +0000
commitc396e4161a9bd3f15b779476b3f18400abbecf11 (patch)
tree37bdc84cc0f4738eba010bf73ec33e175ab4afed /apps/plugins
parent3e4b5c69db90b4226962ebfc7df958e875b94e14 (diff)
downloadrockbox-c396e4161a9bd3f15b779476b3f18400abbecf11.zip
rockbox-c396e4161a9bd3f15b779476b3f18400abbecf11.tar.gz
rockbox-c396e4161a9bd3f15b779476b3f18400abbecf11.tar.bz2
rockbox-c396e4161a9bd3f15b779476b3f18400abbecf11.tar.xz
Remote support for the alarmclock plugin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24921 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/alarmclock.c34
1 files changed, 21 insertions, 13 deletions
diff --git a/apps/plugins/alarmclock.c b/apps/plugins/alarmclock.c
index c8653dc..a691b61 100644
--- a/apps/plugins/alarmclock.c
+++ b/apps/plugins/alarmclock.c
@@ -41,9 +41,23 @@ int rem_seconds(void) {
-(rb->get_time()->tm_sec));
}
-void draw(void) {
+void draw_centered_string(struct screen * display, char * string) {
+ int w, h;
+ display->getstringsize(string, &w, &h);
+
+ if (w > display->lcdwidth || h > display->lcdheight) {
+ rb->splash(0, string);
+ } else {
+ display->putsxy((display->lcdwidth - w) / 2,
+ (display->lcdheight - h) / 2,
+ string);
+ display->update();
+ }
+}
+
+void draw(struct screen * display) {
char info[128];
- rb->lcd_clear_display();
+ display->clear_display();
int secs = rem_seconds();
@@ -61,16 +75,7 @@ void draw(void) {
alarm[0],
alarm[1]);
}
-
- int w, h;
- rb->lcd_getstringsize(info, &w, &h);
-
- if (w > LCD_WIDTH || h > LCD_HEIGHT)
- rb->splash(0, info);
- else {
- rb->lcd_putsxy((LCD_WIDTH - w) / 2, (LCD_HEIGHT - h) / 2, info);
- rb->lcd_update();
- }
+ draw_centered_string(display, info);
}
bool can_play(void) {
@@ -100,6 +105,7 @@ void play(void) {
enum plugin_status plugin_start(const void* parameter)
{
int button;
+ int i;
(void)parameter;
if (!can_play()) {
@@ -115,7 +121,9 @@ enum plugin_status plugin_start(const void* parameter)
if (button == PLA_QUIT)
quit = true;
- draw();
+ FOR_NB_SCREENS(i) {
+ draw(rb->screens[i]);
+ }
if (waiting) {
if (rem_seconds() <= 0) {
quit = done = true;