Revert change to screen_access.c (adding the native-bitmap drawing function) that caused warnings on the H3x0. We now draw the USB logo using the normal lcd_bitmap() and lcd_remote_bitmap() functions instead of the screens API, which doesn't handle the differing bitmaps types well. Remove apps/gui/logo.[ch] as they are now longer used.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11208 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dave Chapman 2006-10-12 20:45:31 +00:00
parent 00d218257b
commit fc865cb5a8
5 changed files with 35 additions and 119 deletions

View file

@ -36,7 +36,6 @@ gui/gwps.c
gui/gwps-common.c
gui/icon.c
gui/list.c
gui/logo.c
gui/option_select.c
gui/quickscreen.c
gui/scrollbar.c

View file

@ -1,63 +0,0 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2002 Björn Stenberg
*
* 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 "logo.h"
#ifdef HAVE_LCD_BITMAP
#include <bitmaps/usblogo.h>
#if NB_SCREENS==2
#include <bitmaps/remote_usblogo.h>
#endif
struct logo usb_logos[]=
{
[SCREEN_MAIN]={usblogo, BMPWIDTH_usblogo, BMPHEIGHT_usblogo},
#if NB_SCREENS==2
[SCREEN_REMOTE]={remote_usblogo, BMPWIDTH_remote_usblogo, BMPHEIGHT_remote_usblogo}
#endif
};
#else
struct logo usb_logos[]=
{
[SCREEN_MAIN]={"[USB Mode]"}
};
#endif
void gui_logo_draw(struct logo * logo, struct screen * display)
{
display->clear_display();
#ifdef HAVE_LCD_BITMAP
/* Center bitmap on screen */
display->bitmap(logo->bitmap,
display->width/2-logo->width/2,
display->height/2-logo->height/2,
logo->width,
logo->height);
display->update();
#else
display->double_height(false);
display->puts_scroll(0, 0, logo->text);
#ifdef SIMULATOR
display->update();
#endif /* SIMULATOR */
#endif /* HAVE_LCD_BITMAP */
}

View file

@ -1,43 +0,0 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2005 by Kevin Ferrare
*
* 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 _GUI_LOGO_H_
#define _GUI_LOGO_H_
#include "screen_access.h"
struct logo{
#ifdef HAVE_LCD_BITMAP
const fb_data* bitmap;
int width;
int height;
#else
const char * text;
#endif
};
extern struct logo usb_logos[];
/*
* Draws the given logo at the center of the given screen
* - logo : the logo
* - display : the screen to draw on
*/
void gui_logo_draw(struct logo * logo, struct screen * display);
#endif /* _GUI_LOGO_H_ */

View file

@ -54,12 +54,7 @@ void screen_init(struct screen * screen, enum screen_type screen_type)
screen->mono_bitmap=&lcd_remote_mono_bitmap;
screen->mono_bitmap_part=&lcd_remote_mono_bitmap_part;
screen->set_drawmode=&lcd_remote_set_drawmode;
#if LCD_REMOTE_DEPTH == 1
screen->bitmap=&lcd_remote_mono_bitmap;
screen->bitmap_part=&lcd_remote_mono_bitmap_part;
#else
screen->bitmap=&lcd_remote_bitmap;
screen->bitmap_part=&lcd_remote_bitmap_part;
#if LCD_REMOTE_DEPTH > 1
screen->get_background=&lcd_remote_get_background;
screen->get_foreground=&lcd_remote_get_foreground;
screen->set_background=&lcd_remote_set_background;
@ -131,9 +126,9 @@ void screen_init(struct screen * screen, enum screen_type screen_type)
screen->mono_bitmap=&lcd_mono_bitmap;
screen->mono_bitmap_part=&lcd_mono_bitmap_part;
screen->set_drawmode=&lcd_set_drawmode;
#if LCD_DEPTH > 1
screen->bitmap=&lcd_bitmap;
screen->bitmap_part=&lcd_bitmap_part;
#if LCD_DEPTH > 1
#if LCD_DEPTH == 2
/* No transparency yet for grayscale lcd */
screen->transparent_bitmap=&lcd_bitmap;

View file

@ -23,6 +23,9 @@
#include "backlight.h"
#include "action.h"
#include "lcd.h"
#ifdef HAVE_REMOTE_LCD
#include "lcd-remote.h"
#endif
#include "lang.h"
#include "icons.h"
#include "font.h"
@ -51,10 +54,17 @@
#include "statusbar.h"
#include "screen_access.h"
#include "quickscreen.h"
#include "logo.h"
#include "pcmbuf.h"
#include "list.h"
#ifdef HAVE_LCD_BITMAP
#include <bitmaps/usblogo.h>
#endif
#ifdef HAVE_REMOTE_LCD
#include <bitmaps/remote_usblogo.h>
#endif
#if defined(HAVE_LCD_BITMAP)
#include "widgets.h"
#endif
@ -82,15 +92,33 @@ void usb_screen(void)
#ifdef HAVE_LCD_COLOR
show_main_backdrop();
#endif
FOR_NB_SCREENS(i) {
FOR_NB_SCREENS(i)
screens[i].backlight_on();
gui_logo_draw(&usb_logos[i], &screens[i]);
}
#ifdef HAVE_LCD_CHARCELLS
#ifdef HAVE_REMOTE_LCD
lcd_remote_clear_display();
lcd_remote_bitmap(remote_usblogo,
(LCD_REMOTE_WIDTH-BMPWIDTH_remote_usblogo)/2,
(LCD_REMOTE_HEIGHT-BMPHEIGHT_remote_usblogo)/2,
BMPWIDTH_remote_usblogo, BMPHEIGHT_remote_usblogo);
lcd_remote_update();
#endif
#ifdef HAVE_LCD_BITMAP
lcd_clear_display();
lcd_bitmap(usblogo, (LCD_WIDTH-BMPWIDTH_usblogo)/2,
(LCD_HEIGHT-BMPHEIGHT_usblogo)/2,
BMPWIDTH_usblogo, BMPHEIGHT_usblogo);
lcd_update();
#else
lcd_double_height(false);
lcd_puts_scroll(0, 0, "[USB Mode]");
status_set_param(false);
status_set_audio(false);
status_set_usb(true);
#endif /* HAVE_LCD_BITMAP */
gui_syncstatusbar_draw(&statusbars, true);
#ifdef SIMULATOR
while (button_get(true) & BUTTON_REL);