From 61f0a4ec717f33e0121f1212703fed11d1e440f9 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Tue, 29 Sep 2009 17:57:43 +0000 Subject: [PATCH] [layers] Sped up the scrolling/adjusting of single layers. Speed is no longer relative to the number of visible layers. Pulkomandy, your idea of depth buffer was genius. git-svn-id: svn://pulkomandy.tk/GrafX2/branches/layers@1047 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- operatio.c | 3 ++- pages.c | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/operatio.c b/operatio.c index 83ed306a..332672c7 100644 --- a/operatio.c +++ b/operatio.c @@ -3975,7 +3975,8 @@ void Scroll_12_5(void) { // One layer at once Scroll_picture(Main_backups->Pages->Next->Image[Main_current_layer], Main_backups->Pages->Image[Main_current_layer], x_offset, y_offset); - Redraw_layered_image(); + //Redraw_layered_image(); + Redraw_current_layer(); } Display_all_screen(); diff --git a/pages.c b/pages.c index 9f2bbf1d..75107cc5 100644 --- a/pages.c +++ b/pages.c @@ -191,6 +191,27 @@ void Redraw_layered_image(void) Download_infos_backup(Main_backups); } +void Redraw_current_layer(void) +{ + int i; + for (i=0; iPages->Image[Main_current_layer]+i); + if (color != 0) /* transp color */ + { + *(Visible_image[0].Image+i) = color; + } + else + { + *(Visible_image[0].Image+i) = *(Main_backups->Pages->Image[depth]+i); + } + } + } +} + void Upload_infos_page_main(T_Page * page) // Sauve l'écran courant dans la page {