GrafX2 2.9.3227
The ultimate 256-color painting program
|
This is the data for one step of Undo/Redo, for one image. More...
#include <struct.h>
Data Fields | |
int | Width |
Image width in pixels. More... | |
int | Height |
Image height in pixels. More... | |
T_Palette | Palette |
Image palette. More... | |
enum IMAGE_MODES | Image_mode |
0= layered image, 1=animation, More... | |
char | Comment [COMMENT_SIZE+1] |
Comment to store in the image file. More... | |
char * | File_directory |
Directory that contains the file. More... | |
char * | Filename |
Filename without directory. More... | |
word * | Filename_unicode |
Filename without directory. More... | |
enum FILE_FORMATS | File_format |
File format, in enum FILE_FORMATS. More... | |
struct T_Page * | Next |
Pointer to the next backup. More... | |
struct T_Page * | Prev |
Pointer to the previous backup. More... | |
T_Gradient_array * | Gradients |
Pointer to the gradients used by the image. More... | |
byte | Background_transparent |
Boolean, true if Layer 0 should have transparent pixels. More... | |
byte | Transparent_color |
Index of transparent color. 0 to 255. More... | |
int | Nb_layers |
Number of layers. More... | |
T_Image | Image [0] |
Pixel data for the (first layer of) image. More... | |
This is the data for one step of Undo/Redo, for one image.
This structure is resized dynamically to hold pointers to all of the layers in the picture. The pointed layers are just byte* holding the raw pixel data. But at Image[0]-1 you will find a short that is used as a reference counter for each layer. This way we can use the same pixel data in many undo pages when the user edit only one of the layers (which is what they usually do).
int T_Page::Width |
Image width in pixels.
Referenced by Add_layer(), Backup_and_resize_the_spare(), Backup_in_place(), Backup_new_image(), Backup_with_new_dimensions(), Button_Layer_duplicate(), Clear_page(), Create_new_page(), Download_infos_page_main(), Download_infos_page_spare(), Dup_layer_if_shared(), Fill_canvas(), Free_current_page(), Free_layer(), Init_all_backup_lists(), Load_FLI(), Load_GIF(), New_page(), Redo(), Undo(), Update_screen_targets(), and Upload_infos_page().
int T_Page::Height |
Image height in pixels.
Referenced by Add_layer(), Backup_and_resize_the_spare(), Backup_in_place(), Backup_new_image(), Backup_with_new_dimensions(), Button_Layer_duplicate(), Clear_page(), Create_new_page(), Download_infos_page_main(), Download_infos_page_spare(), Dup_layer_if_shared(), Fill_canvas(), Free_current_page(), Free_layer(), Init_all_backup_lists(), Load_FLI(), Load_GIF(), New_page(), Redo(), Undo(), Update_screen_targets(), and Upload_infos_page().
T_Palette T_Page::Palette |
Image palette.
Referenced by Backup_with_new_dimensions(), Download_infos_page_main(), Download_infos_page_spare(), Init_all_backup_lists(), Load_image(), New_page(), and Upload_infos_page().
enum IMAGE_MODES T_Page::Image_mode |
0= layered image, 1=animation,
Referenced by Add_layer(), Any_effect_active(), Backup_in_place(), Backup_with_new_dimensions(), Button_Constraint_menu(), Button_Constraint_mode(), Button_Effects(), Button_Layer_add(), Button_Layer_duplicate(), Button_Layer_remove(), Button_Message_initial(), Button_Toggle_toolbar(), Check_menu_mode(), Display_effect_states(), Display_menu_palette(), Display_paintbrush(), Draw_paintbrush(), End_of_modification(), Frame_menu_color(), Get_image_mode(), Init_all_backup_lists(), Init_program(), Layer_activate(), Load_GIF(), Load_image(), New_page(), Pixel_in_screen_egx_with_opt_preview(), Pixel_in_screen_gbc_with_opt_preview(), Pixel_in_screen_zx_with_opt_preview(), Print_coordinates(), Read_pixel_from_current_screen(), Read_pixel_from_spare_screen(), Redraw_current_layer(), Redraw_layered_image(), Redraw_spare_image(), Remap_image_highlevel(), Save_GIF(), Save_image(), Save_TIFF_Sub(), Scroll_12_0(), Set_image_mode(), Switch_layer_mode(), Update_buffers(), Update_depth_buffer(), Update_pixel_renderer(), Update_screen_targets(), and Update_spare_buffers().
char T_Page::Comment[COMMENT_SIZE+1] |
Comment to store in the image file.
Referenced by Backup_with_new_dimensions(), Init_all_backup_lists(), Init_context_layered_image(), Load_image(), and New_page().
char* T_Page::File_directory |
Directory that contains the file.
Referenced by Backup_with_new_dimensions(), Button_Autosave(), Button_Quit_local_function(), Button_Reload(), Copy_S_page(), Free_last_page_of_list(), Init_all_backup_lists(), Load_image(), Load_picture(), New_page(), Rotate_safety_backups(), and Save_picture().
char* T_Page::Filename |
Filename without directory.
Referenced by Backup_with_new_dimensions(), Button_Autosave(), Button_Quit_local_function(), Button_Reload(), Copy_S_page(), Free_last_page_of_list(), Init_all_backup_lists(), Load_image(), Load_picture(), New_page(), Print_filename(), Rotate_safety_backups(), and Save_picture().
word* T_Page::Filename_unicode |
Filename without directory.
Referenced by Backup_with_new_dimensions(), Button_Autosave(), Button_Quit_local_function(), Copy_S_page(), Free_last_page_of_list(), Init_all_backup_lists(), Load_image(), Load_picture(), New_page(), Print_filename(), and Save_picture().
enum FILE_FORMATS T_Page::File_format |
File format, in enum FILE_FORMATS.
Referenced by Backup_with_new_dimensions(), Download_infos_page_main(), Download_infos_page_spare(), Init_all_backup_lists(), New_page(), and Upload_infos_page().
struct T_Page* T_Page::Next |
Pointer to the next backup.
Referenced by Add_layer(), Advance_in_list_of_pages(), Allocate_list_of_pages(), Backup_layers(), Backup_the_spare(), Backup_with_new_dimensions(), Backward_in_list_of_pages(), Button_Transform_menu(), Copy_image_only(), Create_new_page(), Dup_layer_if_shared(), Fill_general(), Free_last_page_of_list(), New_page(), Read_pixel_from_backup_layer(), Resize_image(), Scroll_0_5(), Scroll_12_5(), Update_FX_feedback(), and Update_screen_targets().
struct T_Page* T_Page::Prev |
Pointer to the previous backup.
Referenced by Add_layer(), Advance_in_list_of_pages(), Allocate_list_of_pages(), Backward_in_list_of_pages(), Create_new_page(), Free_last_page_of_list(), and New_page().
T_Gradient_array* T_Page::Gradients |
Pointer to the gradients used by the image.
Referenced by Allocate_list_of_pages(), Backup_new_image(), Backup_with_new_dimensions(), Button_Gradients(), Clear_page(), Color_cycling(), Copy_S_page(), Dup_gradient(), Init_context_layered_image(), Init_program(), Load_gradient_data(), Load_image(), New_page(), and Print_color_cycling_details().
byte T_Page::Background_transparent |
Boolean, true if Layer 0 should have transparent pixels.
Referenced by Backup_with_new_dimensions(), Button_Layer_menu(), Init_context_layered_image(), Init_program(), Load_image(), and New_page().
byte T_Page::Transparent_color |
Index of transparent color. 0 to 255.
Referenced by Add_layer(), Backup_and_resize_the_spare(), Backup_in_place(), Backup_new_image(), Backup_with_new_dimensions(), Button_Clear(), Button_Constraint_mode(), Button_Layer_get_transparent(), Button_Layer_menu(), Button_Layer_set_transparent(), Display_all_screen(), Display_menu_palette(), Frame_menu_color(), Init_context_layered_image(), Init_program(), Load_image(), Merge_layer(), New_page(), Pixel_in_layer_with_opt_preview(), Pixel_in_screen_layered_with_opt_preview(), Read_pixel_from_current_screen(), Read_pixel_from_spare_screen(), Redraw_current_layer(), Redraw_layered_image(), Redraw_spare_image(), Remap_image_highlevel(), Remap_spare(), and Update_depth_buffer().
int T_Page::Nb_layers |
Number of layers.
Referenced by Add_layer(), Backup_and_resize_the_spare(), Backup_in_place(), Backup_layers(), Backup_the_spare(), Backup_with_new_dimensions(), Button_Anim_continuous_next(), Button_Anim_continuous_prev(), Button_Anim_last_frame(), Button_Anim_next_frame(), Button_Anim_prev_frame(), Button_Anim_time(), Button_Constraint_mode(), Button_Layer_add(), Button_Layer_duplicate(), Button_Layer_remove(), Button_Layer_up(), Button_Toggle_toolbar(), Button_Transform_menu(), C64_pixels_to_FLI(), Check_block_constraints(), Check_layers_limits(), Clear_page(), Copy_image_only(), Count_used_colors(), Create_new_page(), Delete_layer(), Display_layerbar(), Display_menu_palette(), Frame_menu_color(), Image_emergency_backup(), Init_all_backup_lists(), Init_context_layered_image(), Layer_activate(), Layer_preview_on(), Layer_under_mouse(), New_page(), Redraw_layered_image(), Redraw_spare_image(), Remap_image_highlevel(), Remap_spare(), Resize_image(), Save_image(), Save_picture(), Scroll_0_5(), Set_loading_layer(), Set_saving_layer(), Update_depth_buffer(), and Update_screen_targets().
T_Image T_Page::Image[0] |
Pixel data for the (first layer of) image.
Referenced by Add_layer(), Backup_and_resize_the_spare(), Backup_in_place(), Backup_layers(), Backup_the_spare(), Backup_with_new_dimensions(), Button_Anim_continuous_next(), Button_Anim_continuous_prev(), Button_Anim_time(), Button_Constraint_mode(), Button_Layer_down(), Button_Layer_duplicate(), Button_Layer_up(), Button_Transform_menu(), Clear_current_image(), Clear_current_image_with_stencil(), Clear_page(), Copy_image_only(), Copy_image_to_brush(), Count_used_colors(), Create_new_page(), Delete_layer(), Dup_layer_if_shared(), Fill_canvas(), Fill_general(), Free_layer(), Get_frame_duration(), Init_all_backup_lists(), Init_context_layered_image(), Load_FLI(), Load_GIF(), Load_image(), Merge_layer(), New_page(), Pixel_in_document_current_layer(), Pixel_in_layer(), Print_coordinates(), Read_pixel_from_backup_layer(), Read_pixel_from_layer(), Read_pixel_from_spare_screen(), Redraw_current_layer(), Redraw_layered_image(), Redraw_spare_image(), Remap_image_highlevel(), Remap_spare(), Replace_colors_within_limits(), Resize_image(), Save_image(), Scroll_0_5(), Scroll_12_5(), Set_frame_duration(), Set_loading_layer(), Set_saving_layer(), Tile_is_same(), Tile_is_same_flipped_x(), Tile_is_same_flipped_xy(), Tile_is_same_flipped_y(), Update_depth_buffer(), Update_FX_feedback(), and Update_screen_targets().