GrafX2 2.9.3227
The ultimate 256-color painting program
|
Program entry point, global variables and global functions. More...
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <unistd.h>
#include <endian.h>
#include "gfx2log.h"
#include "gfx2mem.h"
#include "const.h"
#include "struct.h"
#include "global.h"
#include "graph.h"
#include "misc.h"
#include "init.h"
#include "buttons.h"
#include "engine.h"
#include "pages.h"
#include "loadsave.h"
#include "loadsavefuncs.h"
#include "screen.h"
#include "errors.h"
#include "readini.h"
#include "saveini.h"
#include "io.h"
#include "text.h"
#include "setup.h"
#include "windows.h"
#include "brush.h"
#include "palette.h"
#include "realpath.h"
#include "unicode.h"
#include "input.h"
#include "help.h"
#include "filesel.h"
#include "factory.h"
Macros | |
#define | GLOBAL_VARIABLES |
declare global variables in main.c More... | |
#define | ARRAY_SIZE(x) (int)(sizeof(x) / sizeof(x[0])) |
#define | CT_ASSERT(e) extern char (*ct_assert(void)) [sizeof(char[1 - 2*!(e)])] |
#define | FREE_POINTER(p) free(p); p = NULL |
Free the memory and make sure the pointer is set to NULL. More... | |
Functions | |
void | Display_syntax (void) |
Show the command line syntax and available video modes. More... | |
void | Error_function (int error_code, const char *filename, int line_number, const char *function_name) |
Helper function used by the macro Error. More... | |
int | Analyze_command_line (int argc, char *argv[], char *filenames[], char *directories[], const char **videomode_arg, int *pixel_ratio) |
Parse the command line. More... | |
CT_ASSERT (sizeof(T_Components)==3) | |
CT_ASSERT (sizeof(T_Palette)==768) | |
int | Init_program (int argc, char *argv[]) |
Initialize the program. More... | |
void | Program_shutdown (void) |
Program Shutdown. More... | |
int | main (int argc, char *argv[]) |
Program entry point. More... | |
Variables | |
char | Program_version [] |
static int | setsize_width |
static int | setsize_height |
struct { | |
const char * param | |
int id | |
} | cmdparams [] |
Program entry point, global variables and global functions.
#define GLOBAL_VARIABLES |
declare global variables in main.c
#define ARRAY_SIZE | ( | x | ) | (int)(sizeof(x) / sizeof(x[0])) |
#define CT_ASSERT | ( | e | ) | extern char (*ct_assert(void)) [sizeof(char[1 - 2*!(e)])] |
#define FREE_POINTER | ( | p | ) | free(p); p = NULL |
Free the memory and make sure the pointer is set to NULL.
enum CMD_PARAMS |
void Display_syntax | ( | void | ) |
Show the command line syntax and available video modes.
Output to standard outout (stdout) and show a message box under MS Windows, where standard output is not available
References GFX2_MB_INFO, GFX2_MessageBox(), Mode_label(), and Nb_video_modes.
Referenced by Analyze_command_line(), and Error_function().
void Error_function | ( | int | error_code, |
const char * | filename, | ||
int | line_number, | ||
const char * | function_name | ||
) |
Helper function used by the macro Error.
int Analyze_command_line | ( | int | argc, |
char * | argv[], | ||
char * | filenames[], | ||
char * | directories[], | ||
const char ** | videomode_arg, | ||
int * | pixel_ratio | ||
) |
Parse the command line.
argc | argument count |
argv | argument values |
filenames | pointers to receive file names |
directories | pointers to receive file directories |
videomode_arg | pointer to receive the -mode argument |
pixel_ratio | pointer to receive the pixel ratio requested |
References ARRAY_SIZE, CMDPARAM_GAMMA, CMDPARAM_HELP, CMDPARAM_MODE, CMDPARAM_PIXELRATIO_DOUBLE, CMDPARAM_PIXELRATIO_QUAD, CMDPARAM_PIXELRATIO_TALL, CMDPARAM_PIXELRATIO_TALL2, CMDPARAM_PIXELRATIO_TALL3, CMDPARAM_PIXELRATIO_TRIPLE, CMDPARAM_PIXELRATIO_WIDE, CMDPARAM_PIXELRATIO_WIDE2, CMDPARAM_RGB, CMDPARAM_SIZE, CMDPARAM_SKIN, CMDPARAM_VERBOSE, cmdparams, Config, Current_resolution, T_Config::Default_resolution, Display_syntax(), Error, ERROR_COMMAND_LINE, ERROR_FORBIDDEN_SIZE, File_exists(), Find_last_separator(), GFX2_verbosity_level, NULL, param, PIXEL_DOUBLE, PIXEL_QUAD, PIXEL_TALL, PIXEL_TALL2, PIXEL_TALL3, PIXEL_TRIPLE, PIXEL_WIDE, PIXEL_WIDE2, Realpath(), Resolution_in_command_line, Set_palette_Gamma(), Set_palette_RGB_scale(), setsize_height, setsize_width, and T_Config::Skin_file.
Referenced by Init_program().
CT_ASSERT | ( | sizeof(T_Components) | = =3 | ) |
CT_ASSERT | ( | sizeof(T_Palette) | = =768 | ) |
int Init_program | ( | int | argc, |
char * | argv[] | ||
) |
Initialize the program.
argc | command line argument count |
argv | command line argument values |
References Airbrush_delay, Airbrush_mode, Airbrush_mono_flow, Airbrush_multi_flow, Airbrush_size, Allow_drag_and_drop(), T_Config::Allow_multi_shortcuts, Analyze_command_line(), Back_color, T_Page::Background_transparent, T_Document::backups, Best_color_range(), Brush, Brush_colormap, Brush_file_directory, Brush_fileformat, Brush_filename, Brush_filename_unicode, Brush_height, Brush_original_pixels, Brush_selector, Brush_width, BUTTON_DRAW, Button_Message_initial(), Button_Page(), BUTTON_PAGE, BUTTON_PAL_LEFT, BUTTON_PAL_RIGHT, BUTTON_RELEASED, Capture_brush(), Check_menu_mode(), Check_recovery(), Colorize_current_mode, Colorize_mode, Colorize_opacity, Compute_colorize_table(), Compute_limits(), Compute_magnifier_data(), Compute_menu_offsets(), Compute_optimal_menu_colors(), Compute_paintbrush_coordinates(), Config, Config_directory, CONTEXT_PALETTE, Convert_videomode_arg(), Copy_preset_sieve(), Current_gradient, Current_help_section, T_Document::current_layer, Current_resolution, Cursor_hidden, Cursor_shape, CURSOR_SHAPE_TARGET, Cycling_mode, Data_directory, DEFAULT_FILEFORMAT, DEFAULT_FONT_FILENAME, T_Config::Default_mode_layers, T_Gui_skin::Default_palette, DEFAULT_SKIN_FILENAME, DEFAULT_ZOOM_FACTOR, DEFAULTPAL_FILENAME, Define_icon(), Destroy_context(), T_Selector_settings::Directory, T_Selector_settings::Directory_unicode, Display_all_screen(), Display_cursor(), T_Config::Display_image_limits, Display_image_limits(), Display_menu(), Display_paintbrush_in_menu(), Display_pixel(), Display_sprite_in_menu(), Draw_menu_button(), Effect_function, End_of_modification(), Error, ERROR_CFG_CORRUPTED, ERROR_CFG_MISSING, ERROR_CFG_OLD, ERROR_COMMAND_LINE, ERROR_FORBIDDEN_MODE, ERROR_GUI_MISSING, ERROR_MEMORY, T_Config::Fav_menu_colors, File_error, T_IO_Context::File_name_unicode, T_Document::fileformat, First_color_in_palette, T_Config::Font_file, Fore_color, T_IO_Context::Format, FORMAT_ALL_IMAGES, FORMAT_ALL_PALETTES, T_Selector_settings::Format_filter, FORMAT_PAL, Get_config_directory(), Get_current_directory(), Get_data_directory(), Get_program_directory(), Get_Unicode_Filename(), getMacosUserFolder(), Gfx, GFX2_DEBUG, GFX2_ERROR, GFX2_Get_Window_Handle(), GFX2_Log(), GFX2_malloc, GFX2_verbosity_level, GFX2_WARNING, Gradient_basic(), Gradient_bounds_range, Gradient_function, Gradient_lower_bound, Gradient_pixel, Gradient_random_factor, Gradient_upper_bound, T_Page::Gradients, Gui_loading_error_message, Help_position, Hide_cursor, Horizontal_line_buffer, T_Document::image_height, T_Document::image_is_modified, T_Page::Image_mode, IMAGE_MODE_ANIMATION, IMAGE_MODE_LAYERED, T_Document::image_width, Init_all_backup_lists(), Init_brush_container(), Init_buttons(), Init_context_layered_image(), Init_list_of_pages(), Init_mode_video(), Init_operations(), Init_paintbrushes(), Init_sighandler(), Init_text(), Initial_directory, INITIAL_SEPARATOR_PROPORTION, Keyboard_click_allowed, T_Document::layers_visible, T_Document::layers_visible_backup, LEFT_SIDE, Load_CFG(), Load_font(), Load_graphics(), Load_image(), Load_INI(), Load_Unicode_fonts(), T_Document::magnifier_factor, T_Document::magnifier_height, T_Document::magnifier_mode, T_Document::magnifier_offset_X, T_Document::magnifier_offset_Y, T_Document::magnifier_width, Main, Main_screen, Mask_mode, MAX_PAINTBRUSH_SIZE, MC_Black, MC_Dark, MC_Light, MC_White, Menu_font, Menu_is_visible, MENU_SPRITE_VERTICAL_PALETTE_SCROLL, Mouse_X, Mouse_Y, No_effect(), NULL, T_Selector_settings::Offset, T_Document::offset_X, T_Document::offset_Y, Open_file_read(), T_Config::Opening_message, OPERATION_3_POINTS_CURVE, OPERATION_CONTINUOUS_DRAW, OPERATION_LINE, Operation_stack_size, T_List_of_pages::Pages, PAINTBRUSH_HEIGHT, Paintbrush_height, Paintbrush_hidden, Paintbrush_offset_X, Paintbrush_offset_Y, Paintbrush_shape, PAINTBRUSH_SHAPE_ROUND, Paintbrush_sprite, PAINTBRUSH_WIDTH, Paintbrush_width, Paintbrush_X, Paintbrush_Y, T_Document::palette, T_Config::Palette_cells_X, T_Config::Palette_cells_Y, Palette_selector, T_Config::Palette_vertical, Pixel_height, PIXEL_MAX, Pixel_ratio, PIXEL_SIMPLE, Pixel_width, T_Selector_settings::Position, Program_version, Quick_shade_mode, Quit_is_required, Quitting, T_Gradient_array::Range, Redraw_layered_image(), Remove_duplicate_shortcuts(), render_scale_x, render_scale_y, Resolution_in_command_line, T_Document::safety_backup_prefix, SAFETYBACKUP_PREFIX_A, SAFETYBACKUP_PREFIX_B, Screen_height, Screen_width, Select_button(), Selected_curve_mode, Selected_freehand_mode, Selected_line_mode, T_Document::selector, T_Document::separator_position, T_Document::separator_proportion, Set_all_video_modes(), Set_config_defaults(), Set_current_skin(), setsize_height, setsize_width, Shade_mode, Sieve_mode, T_Config::Skin_file, Smear_brush, Smear_brush_height, Smear_brush_width, Smear_mode, Smooth_mode, Snap_height, Snap_mode, Snap_offset_X, Snap_offset_Y, Snap_width, Spare, Tiling_mode, T_Document::time_of_safety_backup, T_Page::Transparent_color, T_IO_Context::Type, Unicode_strdup(), Verbose_message(), Video_mode, T_Config::Window_pos_x, T_Config::Window_pos_y, Windows_open, and T_Document::X_zoom.
Referenced by main().
void Program_shutdown | ( | void | ) |
Program Shutdown.
Free all allocated resources.
References T_Config::Auto_save, T_Document::backups, T_Config::Bookmark_directory, Bound_script, Brush, Brush_file_directory, Brush_filename, Brush_filename_unicode, Brush_original_pixels, Brush_selector, Change_directory(), Config, Config_directory, Data_directory, Delete_safety_backups(), T_Selector_settings::Directory, T_Selector_settings::Directory_unicode, Error, ERROR_MISSING_DIRECTORY, T_Selector_settings::filename, T_Selector_settings::filename_unicode, T_Config::Font_file, T_Unicode_Font::FontData, FREE_POINTER, Gfx, GFX2_Get_Window_Handle(), Horizontal_line_buffer, T_Bitmap::Image, Initial_directory, Main, Main_visible_image_backup, Main_visible_image_depth_buffer, Menu_font, NB_BOOKMARKS, T_Unicode_Font::Next, NULL, Paintbrush_sprite, Palette_selector, Save_CFG(), Save_INI(), T_Config::Scripts_directory, T_Document::selector, Set_number_of_backups(), T_Config::Skin_file, Smear_brush, Spare, Unicode_fonts, Uninit_text(), T_Document::visible_image, T_Config::Window_pos_x, and T_Config::Window_pos_y.
Referenced by main().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Program entry point.
References GFX2_DEBUG, GFX2_Log(), Init_program(), Init_Win32(), Main_handler(), NULL, and Program_shutdown().
|
extern |
Referenced by Init_program().
|
static |
Referenced by Analyze_command_line(), and Init_program().
|
static |
Referenced by Analyze_command_line(), and Init_program().
const char* param |
Referenced by Analyze_command_line().
int id |
Referenced by GS_Generate().
struct { ... } cmdparams[] |
Referenced by Analyze_command_line().