summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine Cellerier <dionoea@videolan.org>2006-09-05 20:54:46 +0000
committerAntoine Cellerier <dionoea@videolan.org>2006-09-05 20:54:46 +0000
commit9db73f40e75852c9147ce38869cb2f4e326e5b8f (patch)
tree4d92e9dcfa5cdda7071eb4b6ec24fce0edd32157
parentb0f257721f7d5876fe8d97794397106f4f6e3df6 (diff)
downloadrockbox-9db73f40e75852c9147ce38869cb2f4e326e5b8f.zip
rockbox-9db73f40e75852c9147ce38869cb2f4e326e5b8f.tar.gz
rockbox-9db73f40e75852c9147ce38869cb2f4e326e5b8f.tar.bz2
rockbox-9db73f40e75852c9147ce38869cb2f4e326e5b8f.tar.xz
Add some yielding during the bouncing cards sequence (and only refresh what's needed)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10893 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/solitaire.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index 6577f69..291c9ef 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -1133,10 +1133,12 @@ int bouncing_cards( void )
vy = -vy*3/4;
y = LCD_HEIGHT - CARD_HEIGHT;
}
- draw_card( deck[j*CARDS_PER_SUIT+i], x, y, false, false, false );
- rb->lcd_update();
+ draw_card( deck[j*CARDS_PER_SUIT+i], x, y,
+ false, false, false );
+ rb->lcd_update_rect( x<0?0:x, y<0?0:y,
+ CARD_WIDTH+1, CARD_HEIGHT+1 );
- button = rb->button_get( false );
+ button = rb->button_get_w_tmo( 1 );
if( rb->default_event_handler( button ) == SYS_USB_CONNECTED )
return SOLITAIRE_USB;
if( button == SOL_QUIT || button == SOL_MOVE )