[layers] cleanup
git-svn-id: svn://pulkomandy.tk/GrafX2/branches/layers@1048 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
61f0a4ec71
commit
20b1aef7f5
93
pages.c
93
pages.c
@ -141,7 +141,7 @@ void Download_infos_page_main(T_Page * page)
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
//Update_visible_page_buffer(Visible_image_index, page->Width, page->Height);
|
//Update_buffers( page->Width, page->Height);
|
||||||
//memcpy(Main_screen, page->Image[Main_current_layer], page->Width*page->Height);
|
//memcpy(Main_screen, page->Image[Main_current_layer], page->Width*page->Height);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -488,31 +488,40 @@ void Free_page_of_a_list(T_List_of_pages * list)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int Update_visible_page_buffer(int index, int width, int height)
|
/// Resize one of the special bitmap buffers, if necessary.
|
||||||
|
int Update_buffer(T_Image * image, int width, int height)
|
||||||
{
|
{
|
||||||
if (Visible_image[index].Width != width || Visible_image[index].Height != height)
|
// At least one dimension is different
|
||||||
|
if (image->Width != width || image->Height != height)
|
||||||
{
|
{
|
||||||
Visible_image[index].Width = width;
|
// Actual size difference
|
||||||
Visible_image[index].Height = height;
|
if (image->Width * image->Height != width * height)
|
||||||
free(Visible_image[index].Image);
|
{
|
||||||
Visible_image[index].Image = (byte *)malloc(width * height);
|
free(image->Image);
|
||||||
if (Visible_image[index].Image == NULL)
|
image->Image = (byte *)malloc(width * height);
|
||||||
|
if (image->Image == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
image->Width = width;
|
||||||
|
image->Height = height;
|
||||||
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Update_depth_buffer(int width, int height)
|
/// Update all the special image buffers, if necessary.
|
||||||
|
int Update_buffers(int width, int height)
|
||||||
{
|
{
|
||||||
if (Visible_image_depth_buffer.Width != width || Visible_image_depth_buffer.Height != height)
|
if (! Update_buffer(&Visible_image_depth_buffer, width, height))
|
||||||
{
|
|
||||||
Visible_image_depth_buffer.Width = width;
|
|
||||||
Visible_image_depth_buffer.Height = height;
|
|
||||||
free(Visible_image_depth_buffer.Image);
|
|
||||||
Visible_image_depth_buffer.Image = (byte *)malloc(width * height);
|
|
||||||
if (Visible_image_depth_buffer.Image == NULL)
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
|
||||||
|
if (! Update_buffer(&Visible_image[0], width, height))
|
||||||
|
return 0;
|
||||||
|
Main_screen=Visible_image[0].Image;
|
||||||
|
|
||||||
|
if (! Update_buffer(&Visible_image[1], width, height))
|
||||||
|
return 0;
|
||||||
|
Screen_backup=Visible_image[1].Image;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -543,13 +552,8 @@ int Init_all_backup_lists(int width,int height)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Update_visible_page_buffer(0, width, height))
|
if (!Update_buffers(width, height))
|
||||||
return 0;
|
return 0;
|
||||||
Main_screen=Visible_image[0].Image;
|
|
||||||
|
|
||||||
if (!Update_visible_page_buffer(1, width, height))
|
|
||||||
return 0;
|
|
||||||
Screen_backup=Visible_image[1].Image;
|
|
||||||
|
|
||||||
Download_infos_page_main(Main_backups->Pages);
|
Download_infos_page_main(Main_backups->Pages);
|
||||||
Download_infos_backup(Main_backups);
|
Download_infos_backup(Main_backups);
|
||||||
@ -577,29 +581,19 @@ int Init_all_backup_lists(int width,int height)
|
|||||||
}
|
}
|
||||||
//memset(Spare_screen,0,Spare_image_width*Spare_image_height);
|
//memset(Spare_screen,0,Spare_image_width*Spare_image_height);
|
||||||
|
|
||||||
Visible_image[0].Width = width;
|
Visible_image[0].Width = 0;
|
||||||
Visible_image[0].Height = height;
|
Visible_image[0].Height = 0;
|
||||||
Visible_image[0].Image = NULL;
|
Visible_image[0].Image = NULL;
|
||||||
|
|
||||||
Visible_image[1].Width = width;
|
Visible_image[1].Width = 0;
|
||||||
Visible_image[1].Height = height;
|
Visible_image[1].Height = 0;
|
||||||
Visible_image[1].Image = NULL;
|
Visible_image[1].Image = NULL;
|
||||||
|
|
||||||
Visible_image_depth_buffer.Width = width;
|
Visible_image_depth_buffer.Width = 0;
|
||||||
Visible_image_depth_buffer.Height = height;
|
Visible_image_depth_buffer.Height = 0;
|
||||||
Visible_image_depth_buffer.Image = NULL;
|
Visible_image_depth_buffer.Image = NULL;
|
||||||
|
|
||||||
Visible_image[0].Image = (byte *)malloc(Visible_image[0].Width * Visible_image[0].Height);
|
Update_buffers(width, height);
|
||||||
if (! Visible_image[0].Image)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
Visible_image[1].Image = (byte *)malloc(Visible_image[1].Width * Visible_image[1].Height);
|
|
||||||
if (! Visible_image[1].Image)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
Visible_image_depth_buffer.Image = (byte *)malloc(Visible_image_depth_buffer.Width * Visible_image_depth_buffer.Height);
|
|
||||||
if (! Visible_image_depth_buffer.Image)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
End_of_modification();
|
End_of_modification();
|
||||||
return 1;
|
return 1;
|
||||||
@ -649,14 +643,8 @@ int Backup_with_new_dimensions(int upload,int width,int height)
|
|||||||
//Main_backups->Pages->Image[i]=(byte *)malloc(width*height);
|
//Main_backups->Pages->Image[i]=(byte *)malloc(width*height);
|
||||||
memset(Main_backups->Pages->Image[i], 0, width*height);
|
memset(Main_backups->Pages->Image[i], 0, width*height);
|
||||||
}
|
}
|
||||||
Update_depth_buffer(width, height);
|
|
||||||
|
|
||||||
Update_visible_page_buffer(0, width, height);
|
|
||||||
Main_screen=Visible_image[0].Image;
|
|
||||||
|
|
||||||
Update_visible_page_buffer(1, width, height);
|
|
||||||
Screen_backup=Visible_image[1].Image;
|
|
||||||
|
|
||||||
|
Update_buffers(width, height);
|
||||||
|
|
||||||
Download_infos_page_main(Main_backups->Pages);
|
Download_infos_page_main(Main_backups->Pages);
|
||||||
Download_infos_backup(Main_backups);
|
Download_infos_backup(Main_backups);
|
||||||
@ -843,14 +831,7 @@ void Exchange_main_and_spare(void)
|
|||||||
// On extrait ensuite les infos sur les nouvelles pages courante, brouillon
|
// On extrait ensuite les infos sur les nouvelles pages courante, brouillon
|
||||||
// et backup.
|
// et backup.
|
||||||
|
|
||||||
Update_depth_buffer(Main_backups->Pages->Width, Main_backups->Pages->Height);
|
Update_buffers(Main_backups->Pages->Width, Main_backups->Pages->Height);
|
||||||
|
|
||||||
Update_visible_page_buffer(0, Main_backups->Pages->Width, Main_backups->Pages->Height);
|
|
||||||
Main_screen=Visible_image[0].Image;
|
|
||||||
|
|
||||||
Update_visible_page_buffer(1, Main_backups->Pages->Width, Main_backups->Pages->Height);
|
|
||||||
Screen_backup=Visible_image[1].Image;
|
|
||||||
|
|
||||||
|
|
||||||
/* SECTION GROS CACA PROUT PROUT */
|
/* SECTION GROS CACA PROUT PROUT */
|
||||||
// Auparavant on ruse en mettant déjà à jour les dimensions de la
|
// Auparavant on ruse en mettant déjà à jour les dimensions de la
|
||||||
@ -870,7 +851,7 @@ void Exchange_main_and_spare(void)
|
|||||||
void End_of_modification(void)
|
void End_of_modification(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
//Update_visible_page_buffer(1, Main_image_width, Main_image_height);
|
//Update_buffers(Main_image_width, Main_image_height);
|
||||||
|
|
||||||
|
|
||||||
memcpy(Visible_image[1].Image,
|
memcpy(Visible_image[1].Image,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user