From 4990c7511a48fec81ca2b438b318f6056b023fa6 Mon Sep 17 00:00:00 2001 From: Robert Hak Date: Sun, 16 Jun 2002 23:21:57 +0000 Subject: renamed screensaver.[ch] to boxes git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1019 a1c6a512-1295-4272-9138-f99709370657 --- apps/recorder/boxes.c | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++ apps/recorder/boxes.h | 26 ++++++++++ 2 files changed, 156 insertions(+) create mode 100644 apps/recorder/boxes.c create mode 100644 apps/recorder/boxes.h (limited to 'apps/recorder') diff --git a/apps/recorder/boxes.c b/apps/recorder/boxes.c new file mode 100644 index 0000000000..6b6d0065c9 --- /dev/null +++ b/apps/recorder/boxes.c @@ -0,0 +1,130 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 Robert E. Hak (rhak at ramapo.edu) + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" + +#ifdef HAVE_LCD_BITMAP + +#include "boxes.h" +#include "lcd.h" +#include "button.h" +#include "kernel.h" + +#ifdef SIMULATOR +#include +#endif +#include + +#define SS_TITLE "Boxes" +#define SS_TITLE_FONT 2 + +static void ss_loop(void) +{ + int b; + int x2 = LCD_WIDTH/2; + int y2 = LCD_HEIGHT/2; + int x = LCD_WIDTH/2; + int y = LCD_HEIGHT/2; + int i = 0; + int center = 0; + int factor = 0; + int offset = 0; + + if (LCD_HEIGHT < LCD_WIDTH) + center = LCD_HEIGHT/2; + else + center = LCD_WIDTH/2; + + i = center+1; + while(1) + { + /* Grow */ + if ( i < 0 ) { + factor = 1; + i = 1; + } + + /* Shrink */ + if (i >= center) { + factor = -1; + i = center; + } + + offset=i*factor; + + b = button_get(false); + if ( b & BUTTON_OFF ) + return; + + lcd_clear_display(); + lcd_drawrect(x-offset, y-offset, x2+offset, y2+offset); + lcd_update(); + + i+=factor; + + sleep(HZ/10); + } +} + +void boxes(void) +{ + int w, h; + char *off = "[Off] to stop"; + int len = strlen(SS_TITLE); + + lcd_getfontsize(SS_TITLE_FONT, &w, &h); + + /* Get horizontel centering for text */ + len *= w; + if (len%2 != 0) + len = ((len+1)/2)+(w/2); + else + len /= 2; + + if (h%2 != 0) + h = (h/2)+1; + else + h /= 2; + + lcd_clear_display(); + lcd_putsxy(LCD_WIDTH/2-len, (LCD_HEIGHT/2)-h, SS_TITLE, SS_TITLE_FONT); + + len = strlen(off); + lcd_getfontsize(0, &w, &h); + + /* Get horizontel centering for text */ + len *= w; + if (len%2 != 0) + len = ((len+1)/2)+(w/2); + else + len /= 2; + + if (h%2 != 0) + h = (h/2)+1; + else + h /= 2; + + lcd_putsxy(LCD_WIDTH/2-len, LCD_HEIGHT-(2*h), off,0); + + lcd_update(); + sleep(HZ/2); + ss_loop(); +} + +#endif diff --git a/apps/recorder/boxes.h b/apps/recorder/boxes.h new file mode 100644 index 0000000000..bf94e72b7d --- /dev/null +++ b/apps/recorder/boxes.h @@ -0,0 +1,26 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 Robert E. Hak + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef __BOXES_H__ +#define __BOXE_H__ + +void boxes(void); + +#endif /* __BOXES_H__ */ + -- cgit v1.2.3