forked from len0rd/rockbox
Third part of graphics api rework. Some small but effective optimisations. Ported remote lcd driver to new api. Preparations for including the low-level functions in the plugin api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6907 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
7e11acbce9
commit
576908d36a
10 changed files with 503 additions and 383 deletions
|
|
@ -231,11 +231,11 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) {
|
|||
rb->lcd_clear_display();
|
||||
rb->lcd_bitmap(LOGO, x, y, LOGO_WIDTH, LOGO_HEIGHT);
|
||||
#ifdef REMOTE_LOGO
|
||||
rb->remote_clear_display();
|
||||
rb->remote_bitmap(REMOTE_LOGO,
|
||||
rb->lcd_remote_clear_display();
|
||||
rb->lcd_remote_bitmap(REMOTE_LOGO,
|
||||
(x * (REMOTE_WIDTH - REMOTE_LOGO_WIDTH)) / (DISPLAY_WIDTH - LOGO_WIDTH),
|
||||
(y * (REMOTE_HEIGHT - REMOTE_LOGO_HEIGHT)) / (DISPLAY_HEIGHT - LOGO_HEIGHT),
|
||||
REMOTE_LOGO_WIDTH, REMOTE_LOGO_HEIGHT, false);
|
||||
REMOTE_LOGO_WIDTH, REMOTE_LOGO_HEIGHT);
|
||||
#endif
|
||||
#else
|
||||
pgfx_clear_display();
|
||||
|
|
@ -266,7 +266,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) {
|
|||
#ifdef HAVE_LCD_BITMAP
|
||||
rb->lcd_update();
|
||||
#ifdef REMOTE_LOGO
|
||||
rb->remote_update();
|
||||
rb->lcd_remote_update();
|
||||
#endif
|
||||
#else
|
||||
if (cpos != old_cpos) {
|
||||
|
|
|
|||
|
|
@ -92,8 +92,10 @@ static void snow_move(void)
|
|||
#ifdef HAVE_REMOTE_LCD
|
||||
if (particles[i][0] <= LCD_REMOTE_WIDTH
|
||||
&& particles[i][1] <= LCD_REMOTE_HEIGHT) {
|
||||
rb->remote_clearrect(particles[i][0],particles[i][1],
|
||||
FLAKE_WIDTH,FLAKE_WIDTH);
|
||||
rb->lcd_remote_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID);
|
||||
rb->lcd_remote_fillrect(particles[i][0],particles[i][1],
|
||||
FLAKE_WIDTH,FLAKE_WIDTH);
|
||||
rb->lcd_remote_set_drawmode(DRMODE_SOLID);
|
||||
}
|
||||
#endif
|
||||
switch ((rb->rand()%7)) {
|
||||
|
|
@ -122,8 +124,8 @@ static void snow_move(void)
|
|||
#ifdef HAVE_REMOTE_LCD
|
||||
if (particles[i][0] <= LCD_REMOTE_WIDTH
|
||||
&& particles[i][1] <= LCD_REMOTE_HEIGHT) {
|
||||
rb->remote_bitmap(flake,particles[i][0],particles[i][1],
|
||||
FLAKE_WIDTH,FLAKE_WIDTH,true);
|
||||
rb->lcd_remote_bitmap(flake,particles[i][0],particles[i][1],
|
||||
FLAKE_WIDTH,FLAKE_WIDTH);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
@ -148,7 +150,7 @@ static void snow_init(void)
|
|||
pgfx_clear_display();
|
||||
#endif
|
||||
#ifdef HAVE_REMOTE_LCD
|
||||
rb->remote_clear_display();
|
||||
rb->lcd_remote_clear_display();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -175,7 +177,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
|
|||
pgfx_update();
|
||||
#endif
|
||||
#ifdef HAVE_REMOTE_LCD
|
||||
rb->remote_update();
|
||||
rb->lcd_remote_update();
|
||||
#endif
|
||||
rb->sleep(HZ/20);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue