Anim: Improved support of extreme durations (O included to 655.350s included); Adding frames now inherits parent's duration cleanly; Default duration now 100ms (instead of 1ms). Removed blanks in Time window and made tooltips more explicit for next/prev frame, thanks to 00ai99 for reporting.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1931 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud
2012-03-13 00:21:12 +00:00
parent 8081c9527d
commit be96447f3b
4 changed files with 39 additions and 20 deletions

View File

@@ -67,7 +67,7 @@ T_Page * New_page(int nb_layers)
for (i=0; i<nb_layers; i++)
{
page->Image[i].Pixels=NULL;
page->Image[i].Duration=1;
page->Image[i].Duration=100;
}
page->Width=0;
page->Height=0;
@@ -445,7 +445,7 @@ void Clear_page(T_Page * page)
{
Free_layer(page, i);
page->Image[i].Pixels=NULL;
page->Image[i].Duration=1;
page->Image[i].Duration=0;
}
// Free_gradient() : This data is reference-counted
@@ -1319,6 +1319,7 @@ byte Add_layer(T_List_of_pages *list, int layer)
T_Page * new_page;
byte * new_image;
int i;
int duration;
source_page = list->Pages;
@@ -1359,7 +1360,13 @@ byte Add_layer(T_List_of_pages *list, int layer)
new_page->Image[i]=new_page->Image[i-1];
}
new_page->Image[layer].Pixels=new_image;
new_page->Image[layer].Duration=1;
if (list->Pages->Nb_layers==0)
duration=100;
else if (layer>0)
duration=new_page->Image[layer-1].Duration;
else
duration=new_page->Image[1].Duration;
new_page->Image[layer].Duration=duration;
// Fill with transparency, initially
memset(new_image, Main_backups->Pages->Transparent_color, list->Pages->Height*list->Pages->Width); // transparent color