GrafX2 2.9.3227
The ultimate 256-color painting program
global.h File Reference

This file contains all global variables. More...

#include "struct.h"
+ Include dependency graph for global.h:

Data Structures

struct  T_Video_mode
 A video mode (resolution) usable by Grafx2. More...
 

Macros

#define GFX2_GLOBAL   extern
 
#define Mouse_K_unique   (Mouse_K==0?0:(Mouse_K&1?1:(Mouse_K&2?2:0)))
 Helper macro to take only one button when both are pressed (LMB has priority) More...
 
#define GFX2_MOD_SHIFT   0x1000
 from SDL_TextInputEvent More...
 
#define GFX2_MOD_CTRL   0x2000
 Key modifier for CONTROL key. Used as mask in Key, for example. More...
 
#define GFX2_MOD_ALT   0x4000
 Key modifier for ALT key. Used as mask in Key, for example. More...
 
#define GFX2_MOD_META   0x8000
 Key modifier for META key. Used as mask in Key, for example. More...
 
#define render_scale_x   1
 
#define render_scale_y   1
 
#define Window_pos_X   Window_stack[Windows_open-1].Pos_X
 Position of the left border of the topmost window (in screen coordinates) More...
 
#define Window_pos_Y   Window_stack[Windows_open-1].Pos_Y
 Position of the top border of the topmost window (in screen coordinates) More...
 
#define Window_width   Window_stack[Windows_open-1].Width
 Width of the topmost window, in "window pixels" (multiply by Menu_factor_X to get screen pixels) More...
 
#define Window_height   Window_stack[Windows_open-1].Height
 Height of the topmost window, in "window pixels" (multiply by Menu_factor_Y to get screen pixels) More...
 
#define Window_nb_buttons   Window_stack[Windows_open-1].Nb_buttons
 Total number of buttons/controls in the topmost window. More...
 
#define Window_normal_button_list   Window_stack[Windows_open-1].Normal_button_list
 List of normal buttons in the topmost window. More...
 
#define Window_palette_button_list   Window_stack[Windows_open-1].Palette_button_list
 List of "palette" buttons in the topmost window. More...
 
#define Window_scroller_button_list   Window_stack[Windows_open-1].Scroller_button_list
 List of sliders (scrollers) in the topmost window. More...
 
#define Window_special_button_list   Window_stack[Windows_open-1].Special_button_list
 List of special buttons in the topmost window. More...
 
#define Window_dropdown_button_list   Window_stack[Windows_open-1].Dropdown_button_list
 List of dropdown buttons in the topmost window. More...
 
#define Window_list_button_list   Window_stack[Windows_open-1].List_button_list
 List of list buttons in the topmost window. More...
 
#define Window_attribute1   Window_stack[Windows_open-1].Attribute1
 The function Window_clicked_button() set this to LEFT_SIDE or RIGHT_SIDE after a button is activated through left or right mouse click. More...
 
#define Window_attribute2   Window_stack[Windows_open-1].Attribute2
 The function Window_clicked_button() set this to return extra information: More...
 
#define Window_draggable   Window_stack[Windows_open-1].Draggable
 

Variables

GFX2_GLOBAL T_Config Config
 Current configuration. More...
 
GFX2_GLOBAL word Config_Key [NB_SPECIAL_SHORTCUTS][2]
 Array of special keys. More...
 
GFX2_GLOBAL T_Video_mode Video_mode [MAX_VIDEO_MODES]
 Array of all video modes supported by your platform. Actually filled up to Nb_video_modes, excluded. More...
 
GFX2_GLOBAL int Nb_video_modes
 Actual number of video modes in Video_mode. More...
 
GFX2_GLOBAL byte MC_Black
 Index of color to use as "black" in the GUI menus. More...
 
GFX2_GLOBAL byte MC_Dark
 Index of color to use as "dark grey" in the GUI menus. More...
 
GFX2_GLOBAL byte MC_Light
 Index of color to use as "light grey" in the GUI menus. More...
 
GFX2_GLOBAL byte MC_White
 Index of color to use as "white" in the GUI menus. More...
 
GFX2_GLOBAL byte MC_Trans
 Index of color to use as "transparent" while loading the GUI file. More...
 
GFX2_GLOBAL byte MC_OnBlack
 Index of color immediately lighter than "black" in the GUI menus. More...
 
GFX2_GLOBAL byte MC_Window
 Index of color to use as window background in the GUI menus. More...
 
GFX2_GLOBAL byte MC_Lighter
 Index of color lighter than window in the GUI menus. More...
 
GFX2_GLOBAL byte MC_Darker
 Index of color darker than window in the GUI menus. More...
 
GFX2_GLOBAL word Mouse_X
 Current mouse cursor position. More...
 
GFX2_GLOBAL word Mouse_Y
 Current mouse cursor position. More...
 
GFX2_GLOBAL byte Mouse_K
 Current mouse buttons state. Bitfield: 1 for RMB, 2 for LMB. More...
 
GFX2_GLOBAL byte Keyboard_click_allowed
 Set to 0 when you edit a textfield so you can use space without exiting it. More...
 
GFX2_GLOBAL dword Key
 Last key pressed, 0 if none. Set by the latest call to Get_input() More...
 
GFX2_GLOBAL dword Key_ANSI
 Last character typed, converted to ANSI character set (Windows-1252). More...
 
GFX2_GLOBAL dword Key_UNICODE
 
GFX2_GLOBAL byte Quit_is_required
 Boolean set to true when the OS/window manager requests the application to close. ie: [X] button. More...
 
GFX2_GLOBAL byte Allow_color_change_during_operation
 This boolean is true when the current operation allows changing the foreground or background color. More...
 
GFX2_GLOBAL byte Cursor_shape
 Current mouse cursor. Value is in enum CURSOR_SHAPES. More...
 
GFX2_GLOBAL byte Cursor_shape_before_window
 Backup of Cursor_shape, used while a window is open (and needs a different cursor) More...
 
GFX2_GLOBAL byte Cursor_hidden
 Boolean, means the cursor should not be drawn. It's togglable by the user. More...
 
GFX2_GLOBAL byte Cursor_in_menu
 Boolean, means the cursor is currently hovering over a menu GUI element. More...
 
GFX2_GLOBAL byte Cursor_in_menu_previous
 Boolean, means the cursor was hovering over a menu GUI element. More...
 
GFX2_GLOBAL byte Cursor_background [CURSOR_SPRITE_HEIGHT][CURSOR_SPRITE_WIDTH]
 Storage for the graphics under the mouse cursor. Used by Hide_cursor and Display_cursor. More...
 
GFX2_GLOBAL byte Paintbrush_shape
 Active paintbrush. It's an index in enum PAINTBRUSH_SHAPES. More...
 
GFX2_GLOBAL byte Paintbrush_shape_before_fill
 Backup of Paintbrush_shape, before fill operation. More...
 
GFX2_GLOBAL byte Paintbrush_shape_before_colorpicker
 Backup of Paintbrush_shape, before color picker operation. More...
 
GFX2_GLOBAL byte Paintbrush_shape_before_lasso
 Backup of Paintbrush_shape, before lasso operation. More...
 
GFX2_GLOBAL byte Paintbrush_hidden
 Boolean, true when the preview paintbrush shouldn't be drawn. More...
 
GFX2_GLOBAL short Paintbrush_X
 Cordinate of the preview paintbrush in image space. More...
 
GFX2_GLOBAL short Paintbrush_Y
 Cordinate of the preview paintbrush in image space. More...
 
GFX2_GLOBAL bytePaintbrush_sprite
 Pixel data of the current brush. More...
 
GFX2_GLOBAL short Paintbrush_width
 Current paintbrush's width. More...
 
GFX2_GLOBAL short Paintbrush_height
 Current paintbrush's height. More...
 
GFX2_GLOBAL short Paintbrush_offset_X
 Position of current paintbrush's handle. More...
 
GFX2_GLOBAL short Paintbrush_offset_Y
 Position of current paintbrush's handle. More...
 
GFX2_GLOBAL Func_pixel Pixel
 On the screen, draw a point. More...
 
GFX2_GLOBAL Func_read Read_pixel
 Test a pixel color from screen. More...
 
GFX2_GLOBAL Func_display Display_screen
 Redraw all screen, without overwriting the menu. More...
 
GFX2_GLOBAL Func_block Block
 Draw a rectangle on screen. More...
 
GFX2_GLOBAL Func_pixel Pixel_preview_normal
 Draw a point from the image to screen (no zoom). More...
 
GFX2_GLOBAL Func_pixel Pixel_preview_magnifier
 Draw a point from the image to screen (magnified part). More...
 
GFX2_GLOBAL Func_pixel Pixel_preview
 Draw a point from the image to screen (zoomed if needed). More...
 
GFX2_GLOBAL Func_line_XOR Horizontal_XOR_line
 Draw a horizontal XOR line on screen. More...
 
GFX2_GLOBAL Func_line_XOR Vertical_XOR_line
 Draw a vertical XOR line on screen. More...
 
GFX2_GLOBAL Func_display_brush_color Display_brush_color
 Display part of the brush on screen, color mode. More...
 
GFX2_GLOBAL Func_display_brush_mono Display_brush_mono
 Display part of the brush on screen, monochrome mode. More...
 
GFX2_GLOBAL Func_display_brush_color Clear_brush
 Clear the brush currently displayed on screen, redrawing the image instead. More...
 
GFX2_GLOBAL Func_remap Remap_screen
 Remap part of the screen after the menu colors have changed. More...
 
GFX2_GLOBAL Func_procsline Display_line
 Draw a line on screen. More...
 
GFX2_GLOBAL Func_procsline Display_line_fast
 Draw a line on screen, without doubling it if using wide pixels. (to be used when the line is already doubled in the input buffer) More...
 
GFX2_GLOBAL Func_procsline Read_line
 Read a line of pixels from screen. More...
 
GFX2_GLOBAL Func_display_zoom Display_zoomed_screen
 Redraw all magnified part on screen, without overwriting the menu. More...
 
GFX2_GLOBAL Func_display_brush_color_zoom Display_brush_color_zoom
 Display part of the brush on the magnified part of screen, color mode. More...
 
GFX2_GLOBAL Func_display_brush_mono_zoom Display_brush_mono_zoom
 Display part of the brush on the magnified part of screen, monochrome mode. More...
 
GFX2_GLOBAL Func_display_brush_color_zoom Clear_brush_scaled
 Clear the brush currently displayed on the magnified part of screen, redrawing the image instead. More...
 
GFX2_GLOBAL Func_draw_brush Display_brush
 Draw an arbitrary brush on screen (not the current brush) More...
 
GFX2_GLOBAL int Resize_width
 Requested window width. This is set when the user resizes the window. More...
 
GFX2_GLOBAL int Resize_height
 Requested window height. This is set when the user resizes the window. More...
 
GFX2_GLOBAL enum GFX2_WINDOW_STATES Window_state
 Current window state (standard, minimized, maximized) More...
 
GFX2_GLOBAL int Default_window_width
 Default window width (not maximized) More...
 
GFX2_GLOBAL int Default_window_height
 Default window height (not maximized) More...
 
GFX2_GLOBAL int Current_resolution
 Current video mode. Index in Video_mode. More...
 
GFX2_GLOBAL short Original_screen_X
 After loading an image, this holds the "original screen width", if the file format supported it. More...
 
GFX2_GLOBAL short Original_screen_Y
 After loading an image, this holds the "original screen height", if the file format supported it. More...
 
GFX2_GLOBAL short Screen_width
 Current screen (or window) width, in pixels. More...
 
GFX2_GLOBAL short Screen_height
 Current screen (or window) height, in pixels. More...
 
GFX2_GLOBAL short Limit_top
 Coordinate (in image space) of the topmost visible pixel. More...
 
GFX2_GLOBAL short Limit_bottom
 Coordinate (in image space) of the lowest visible pixel. More...
 
GFX2_GLOBAL short Limit_left
 Coordinate (in image space) of the leftmost visible pixel. More...
 
GFX2_GLOBAL short Limit_right
 Coordinate (in image space) of the rightmost visible pixel. More...
 
GFX2_GLOBAL short Limit_visible_bottom
 Coordinate (in image space) of the lowest visible pixel, limited by the image height. More...
 
GFX2_GLOBAL short Limit_visible_right
 Coordinate (in image space) of the rightmost visible pixel, limited by the image width. More...
 
GFX2_GLOBAL short Limit_top_zoom
 Coordinate (in image space) of the pixel at the top of the magnified view. More...
 
GFX2_GLOBAL short Limit_bottom_zoom
 Coordinate (in image space) of the pixel at the bottom of the magnified view. More...
 
GFX2_GLOBAL short Limit_left_zoom
 Coordinate (in image space) of the pixel at the left of the magnified view. More...
 
GFX2_GLOBAL short Limit_right_zoom
 Coordinate (in image space) of the pixel at the right of the magnified view. More...
 
GFX2_GLOBAL short Limit_visible_bottom_zoom
 Coordinate (in image space) of the lowest visible pixel, limited by the image height. More...
 
GFX2_GLOBAL short Limit_visible_right_zoom
 Coordinate (in image space) of the rightmost visible pixel. More...
 
GFX2_GLOBAL byteHorizontal_line_buffer
 Buffer of pixels, used when drawing something to screen. More...
 
GFX2_GLOBAL int Pixel_ratio
 Current pixel ratio. Index in enum PIXEL_RATIO. More...
 
GFX2_GLOBAL int Pixel_width
 Current width of pixels, according to Pixel_ratio. More...
 
GFX2_GLOBAL int Pixel_height
 Current height of pixels, according to Pixel_ratio. More...
 
GFX2_GLOBAL T_Document Main
 Current image data. More...
 
GFX2_GLOBAL byteMain_screen
 Pointer to the pixel data of the main image. More...
 
GFX2_GLOBAL byte xor_lut [256]
 Lookup table for XOR effects, pointing each color to the most different one. More...
 
GFX2_GLOBAL T_Document Spare
 Spare page data. More...
 
GFX2_GLOBAL byteScreen_backup
 Backup of the current screen, used during drawing when FX feedback is OFF. More...
 
GFX2_GLOBAL T_Selector_settings Palette_selector
 Fileselector settings. More...
 
GFX2_GLOBAL byteBrush
 Pixel data of the current brush (remapped). More...
 
GFX2_GLOBAL byteBrush_original_pixels
 Pixel data of the current brush (before remap). More...
 
GFX2_GLOBAL T_Palette Brush_original_palette
 Palette of the brush, from when it was grabbed. More...
 
GFX2_GLOBAL byte Brush_original_back_color
 Back_color used when the brush was grabbed. More...
 
GFX2_GLOBAL byte Brush_colormap [256]
 Color mapping from Brush_original_pixels to Brush. More...
 
GFX2_GLOBAL word Brush_offset_X
 X coordinate of the brush's "hot spot". It is < Brush_width. More...
 
GFX2_GLOBAL word Brush_offset_Y
 Y coordinate of the brush's "hot spot". It is < Brush_height. More...
 
GFX2_GLOBAL word Brush_width
 Width of the current brush. More...
 
GFX2_GLOBAL word Brush_height
 Height of the current brush. More...
 
GFX2_GLOBAL char * Brush_file_directory
 Name of the directory that holds the brush fil (after loading or saving it). More...
 
GFX2_GLOBAL char * Brush_filename
 Filename (without directory) of the brush (after loading or saving it). More...
 
GFX2_GLOBAL wordBrush_filename_unicode
 Filename (without directory) of the brush (after loading or saving it) unicode. More...
 
GFX2_GLOBAL byte Brush_fileformat
 File format of the brush. It's a value of enum FILE_FORMATS. More...
 
GFX2_GLOBAL T_Selector_settings Brush_selector
 Fileselector settings. More...
 
GFX2_GLOBAL byte Brush_rotation_center_is_defined
 Indicator used for the "Rotate brush" operation. More...
 
GFX2_GLOBAL short Brush_rotation_center_X
 Position of the brush's rotation center, in screen coordinates. More...
 
GFX2_GLOBAL short Brush_rotation_center_Y
 Position of the brush's rotation center, in screen coordinates. More...
 
GFX2_GLOBAL byte Menu_is_visible
 Boolean, true if the menu has to be displayed. More...
 
GFX2_GLOBAL word Menu_height
 Height of the menu, when it's displayed. More...
 
GFX2_GLOBAL word Menu_Y
 Y position (in screen coordinates) where the menu begins. More...
 
GFX2_GLOBAL word Menu_status_Y
 Y position of the status bar (in screen coordinates) More...
 
GFX2_GLOBAL byte Menu_factor_X
 Scaling factor for the menu and all GUI elements. More...
 
GFX2_GLOBAL byte Menu_factor_Y
 Scaling factor for the menu and all GUI elements. More...
 
GFX2_GLOBAL word Menu_palette_cell_width
 Size of a color cell in the menu's palette. More...
 
GFX2_GLOBAL byte Windows_open
 Number of stacked windows currently displayed. 0 when no window is present. More...
 
GFX2_GLOBAL byte Menu_is_visible_before_window
 Backup of Menu_is_visible, used to store it while a window is open. More...
 
GFX2_GLOBAL word Menu_Y_before_window
 Backup of Menu_Y, used to store it while a window is open. More...
 
GFX2_GLOBAL byte Paintbrush_hidden_before_window
 Backup of Paintbrush_hidden, used to store it while a window is open. More...
 
GFX2_GLOBAL T_Window Window_stack [8]
 The global stack of editor screens. More...
 
GFX2_GLOBAL Func_effect Effect_function
 Current effecting function. When no effect is selected this is No_effect() More...
 
GFX2_GLOBAL byte Exclude_color [256]
 Array of booleans, indicates which colors should never be picked by Best_color() More...
 
GFX2_GLOBAL byte Smear_mode
 Smear mode is activated. More...
 
GFX2_GLOBAL byte Smear_start
 Boolean, indicates that a smear is in progress. More...
 
GFX2_GLOBAL byteSmear_brush
 Pointer to the sprite to use for smear; it contains pixels from the image. More...
 
GFX2_GLOBAL word Smear_brush_width
 Width of the Smear_brush. More...
 
GFX2_GLOBAL word Smear_brush_height
 Height of the Smear_brush. More...
 
GFX2_GLOBAL short Smear_min_X
 Limits of the smear. More...
 
GFX2_GLOBAL short Smear_max_X
 Limits of the smear. More...
 
GFX2_GLOBAL short Smear_min_Y
 Limits of the smear. More...
 
GFX2_GLOBAL short Smear_max_Y
 Limits of the smear. More...
 
GFX2_GLOBAL T_Shade Shade_list [8]
 List of the shade tables. More...
 
GFX2_GLOBAL byte Shade_current
 Shade currently selected (index in Shade_list) More...
 
GFX2_GLOBAL byteShade_table
 Conversion table in use. More...
 
GFX2_GLOBAL byte Shade_table_left [256]
 Conversion table for a left click. More...
 
GFX2_GLOBAL byte Shade_table_right [256]
 Conversion table for a right click. More...
 
GFX2_GLOBAL byte Shade_mode
 Boolean, true when the shade mode is active. More...
 
GFX2_GLOBAL byte Quick_shade_mode
 Boolean, true when the quick-shade mode is active. More...
 
GFX2_GLOBAL byte Quick_shade_step
 Size of the step, in Quick-shade mode. It's the number of colors to "jump". More...
 
GFX2_GLOBAL byte Quick_shade_loop
 Determines how colors should loop in Quick-shade more. Value in enum SHADE_MODES. More...
 
GFX2_GLOBAL byte Stencil_mode
 Boolean, true when stencil mode is active. More...
 
GFX2_GLOBAL byte Stencil [256]
 Array of the protected colors by Stencil mode. More...
 
GFX2_GLOBAL byte Snap_mode
 Boolean, true when the Grid mode is active. More...
 
GFX2_GLOBAL byte Show_grid
 Boolean, true when the Grid is displayed in zoomed view. More...
 
GFX2_GLOBAL word Snap_width
 Width of the grid in Grid mode. More...
 
GFX2_GLOBAL word Snap_height
 Height of the grid in Grid mode. More...
 
GFX2_GLOBAL word Snap_offset_X
 Position of the starting pixel, in Grid mode. More...
 
GFX2_GLOBAL word Snap_offset_Y
 Position of the starting pixel, in Grid mode. More...
 
GFX2_GLOBAL byte Sieve_mode
 Boolean, true when the Sieve mode is active. More...
 
GFX2_GLOBAL byte Sieve [16][16]
 Sprite of the sieve pattern. It's actually an array of booleans. More...
 
GFX2_GLOBAL short Sieve_width
 Width of the sieve pattern, in Sieve mode. More...
 
GFX2_GLOBAL short Sieve_height
 Height of the sieve pattern, in Sieve mode. More...
 
GFX2_GLOBAL byte Colorize_mode
 Boolean, true when the Colorize mode is active. More...
 
GFX2_GLOBAL byte Colorize_opacity
 % of opacity of Colorize mode (for translucency) More...
 
GFX2_GLOBAL byte Colorize_current_mode
 Sets the colorization mode: 0 transparency, 1 additive, 2 substractive. More...
 
GFX2_GLOBAL word Factors_table [256]
 Table of precomputed factors used by Colorize mode. More...
 
GFX2_GLOBAL word Factors_inv_table [256]
 Table of precomputed factors used by Colorize mode. More...
 
GFX2_GLOBAL byte Smooth_mode
 Boolean, true when the Smooth mode is active. More...
 
GFX2_GLOBAL byte Smooth_matrix [3][3]
 Matrix of "weights" used by the Smooth mode. More...
 
GFX2_GLOBAL byte Tiling_mode
 Boolean, true when the Tiling mode is active. More...
 
GFX2_GLOBAL short Tiling_offset_X
 Position of the starting pixel in Tiling mode. More...
 
GFX2_GLOBAL short Tiling_offset_Y
 Position of the starting pixel in Tiling mode. More...
 
GFX2_GLOBAL byte Mask_mode
 Boolean, true when the Tiling mode is active. More...
 
GFX2_GLOBAL byte Mask_table [256]
 Array of booleans. True if the indexed color is protected by the mask. More...
 
GFX2_GLOBAL enum IMAGE_MODES Selected_Constraint_Mode
 Selected constraint mode. More...
 
const byte ZOOM_FACTOR [NB_ZOOM_FACTORS]
 Successive zoom factors, used by the Magnifier. More...
 
GFX2_GLOBAL short Gradient_lower_bound
 First color of the gradient. More...
 
GFX2_GLOBAL short Gradient_upper_bound
 Last color of the gradient. More...
 
GFX2_GLOBAL int Gradient_is_inverted
 Boolean, true if the gradient should use colors in descending order. More...
 
GFX2_GLOBAL long Gradient_bounds_range
 Number of colors in the range Gradient_lower_bound to Gradient_upper_bound (included) More...
 
GFX2_GLOBAL long Gradient_total_range
 Maximum value passed to the gradient function. The pixels assigned this value should use last gradient color. More...
 
GFX2_GLOBAL long Gradient_random_factor
 Amount of randomness to use in gradient (1-256+) More...
 
GFX2_GLOBAL byte Gradient_speed
 Gradient speed of cycling (0-64) More...
 
GFX2_GLOBAL Func_gradient Gradient_function
 Pointer to a gradient function, depending on the selected method. More...
 
GFX2_GLOBAL Func_pixel Gradient_pixel
 Pointer to the pixel-drawing function that gradients should use: either Pixel (if the gradient must be drawn on menus only) or Display_pixel (if the gradient must be drawn on the image) More...
 
GFX2_GLOBAL byte Current_gradient
 Index in T_Page::Gradients of the currently selected gradient. More...
 
GFX2_GLOBAL byte Cycling_mode
 Boolean, true when the color cycling is active. More...
 
GFX2_GLOBAL byte Airbrush_mode
 Mode to use in airbrush: 0 for multicolor, 1 for mono. More...
 
GFX2_GLOBAL short Airbrush_size
 Diameter of the airbrush, in pixels. More...
 
GFX2_GLOBAL byte Airbrush_delay
 Delay between two airbrush "shots", in 1/100s. More...
 
GFX2_GLOBAL byte Airbrush_mono_flow
 Number of pixels that are emitted by the airbrush, in mono mode. More...
 
GFX2_GLOBAL byte Airbrush_multi_flow [256]
 Number of pixels that are emitted by the airbrush for each color (multi mode) More...
 
GFX2_GLOBAL byte Quitting
 – Misc data about the program More...
 
GFX2_GLOBAL char * Initial_directory
 Name of the directory that was current when the program was run. More...
 
GFX2_GLOBAL char * Data_directory
 Name of the directory that holds the program's (read-only) data: skins, icon, etc. More...
 
GFX2_GLOBAL char * Config_directory
 Name of the directory where grafx2 reads and writes configuration (gfx2.ini, gfx2.cfg) More...
 
GFX2_GLOBAL byte Fore_color
 Current foreground color for drawing. More...
 
GFX2_GLOBAL byte Back_color
 Current background color for drawing. More...
 
GFX2_GLOBAL byte Selected_freehand_mode
 For the "Freehand draw" tool, this determines which variant is selected, from OPERATION_CONTINUOUS_DRAW to OPERATION_FILLED_CONTOUR. More...
 
GFX2_GLOBAL byte Selected_curve_mode
 For the Curve tool, this determines which variant is selected, either OPERATION_3_POINTS_CURVE or OPERATION_4_POINTS_CURVE. More...
 
GFX2_GLOBAL byte Selected_line_mode
 For the Line tool, this determines which variant is selected, either OPERATION_LINE, OPERATION_K_LINE or OPERATION_CENTERED_LINES. More...
 
GFX2_GLOBAL byte Selected_circle_ellipse_mode
 Select which kind of Circle/ellipse mode is selected from 0 to 3 : CIRCLE_CTR/CIRCLE_CRN/ELLIPSE_CTR/ELLIPSE_CRN. More...
 
GFX2_GLOBAL byte First_color_in_palette
 Determines which color appears in the first cell of the menu palette. Change this value to "scroll" the palette. More...
 
GFX2_GLOBAL byte Resolution_in_command_line
 Boolean, true if Grafx2 was run with a command-line argument to set a resolution on startup (overrides config) More...
 
GFX2_GLOBAL byteMenu_font
 Pointer to the font selected for menus. More...
 
GFX2_GLOBAL T_Unicode_FontUnicode_fonts
 additional fonts for unicode characters More...
 
GFX2_GLOBAL T_Gui_skinGfx
 Pointer to the current active skin. More...
 
GFX2_GLOBAL T_Paintbrush Paintbrush [NB_PAINTBRUSH_SPRITES]
 Pointer to the current active skin. More...
 
GFX2_GLOBAL byte Current_help_section
 Index of the Help_section shown by the Help screen. More...
 
GFX2_GLOBAL word Help_position
 Line number of the help viewer, in current Help_section. 0 for top, increase value to scroll down. More...
 
GFX2_GLOBAL word Operation_before_interrupt
 Index of the operation which was selected (ex: drawing rectangle) before the current interruption (ex: colorpicking). More...
 
GFX2_GLOBAL word Current_operation
 Index of the current operation. This is the active "tool". More...
 
GFX2_GLOBAL word Operation_stack [OPERATION_STACK_SIZE]
 This stack is used to memorize all parameters needed during the course of an operation. More...
 
GFX2_GLOBAL byte Operation_stack_size
 Number of parameters stored in Operation_stack (0=empty) More...
 
GFX2_GLOBAL byte Operation_in_magnifier
 Boolean, true if the operation (drawing) started in the magnified area. More...
 
GFX2_GLOBAL short Colorpicker_color
 Last color hovered by the colorpicker. -1 if it wasn't over the image. More...
 
GFX2_GLOBAL short Colorpicker_X
 Position of the colorpicker tool, in image coordinates. More...
 
GFX2_GLOBAL short Colorpicker_Y
 Position of the colorpicker tool, in image coordinates. More...
 
GFX2_GLOBAL short * Polyfill_table_of_points
 
GFX2_GLOBAL int Polyfill_number_of_points
 
GFX2_GLOBAL T_Brush_template Brush_container [BRUSH_CONTAINER_COLUMNS *BRUSH_CONTAINER_ROWS]
 Brush container. More...
 
const byte CURSOR_FOR_OPERATION [NB_OPERATIONS]
 Cursor_shape to use for each operation. More...
 
struct {
   Func_action   Action
 Function to call. More...
 
   byte   Hide_cursor
 Boolean: Need to hide/unhide cursor during this step. More...
 
   byte   Fast_mouse
 Operation should take shortcuts with mouse movements. More...
 
Operation [NB_OPERATIONS][3][OPERATION_STACK_SIZE]
 Procedures to call for each state (determined by Operation_stack_size) of each operation, and for each mouse state (no button,left button,right button) More...
 
GFX2_GLOBAL signed char File_error
 Indicator of error in previous file operations. More...
 
GFX2_GLOBAL int Line_number_in_INI_file
 Current line number when reading/writing gfx2.ini. More...
 
GFX2_GLOBAL byte Portable_Installation_Detected
 Set to true when the .cfg and .ini files are along the executable. More...
 

Detailed Description

This file contains all global variables.

They are prefixed by GFX2_GLOBAL so they are extern when needed.

Macro Definition Documentation

◆ GFX2_GLOBAL

#define GFX2_GLOBAL   extern

◆ Mouse_K_unique

#define Mouse_K_unique   (Mouse_K==0?0:(Mouse_K&1?1:(Mouse_K&2?2:0)))

Helper macro to take only one button when both are pressed (LMB has priority)

◆ GFX2_MOD_SHIFT

#define GFX2_MOD_SHIFT   0x1000

from SDL_TextInputEvent

Key modifier for SHIFT key. Used as mask in Key, for example.

◆ GFX2_MOD_CTRL

#define GFX2_MOD_CTRL   0x2000

Key modifier for CONTROL key. Used as mask in Key, for example.

◆ GFX2_MOD_ALT

#define GFX2_MOD_ALT   0x4000

Key modifier for ALT key. Used as mask in Key, for example.

◆ GFX2_MOD_META

#define GFX2_MOD_META   0x8000

Key modifier for META key. Used as mask in Key, for example.

◆ render_scale_x

#define render_scale_x   1

◆ render_scale_y

#define render_scale_y   1

◆ Window_pos_X

#define Window_pos_X   Window_stack[Windows_open-1].Pos_X

Position of the left border of the topmost window (in screen coordinates)

◆ Window_pos_Y

#define Window_pos_Y   Window_stack[Windows_open-1].Pos_Y

Position of the top border of the topmost window (in screen coordinates)

◆ Window_width

#define Window_width   Window_stack[Windows_open-1].Width

Width of the topmost window, in "window pixels" (multiply by Menu_factor_X to get screen pixels)

◆ Window_height

#define Window_height   Window_stack[Windows_open-1].Height

Height of the topmost window, in "window pixels" (multiply by Menu_factor_Y to get screen pixels)

◆ Window_nb_buttons

#define Window_nb_buttons   Window_stack[Windows_open-1].Nb_buttons

Total number of buttons/controls in the topmost window.

◆ Window_normal_button_list

#define Window_normal_button_list   Window_stack[Windows_open-1].Normal_button_list

List of normal buttons in the topmost window.

◆ Window_palette_button_list

#define Window_palette_button_list   Window_stack[Windows_open-1].Palette_button_list

List of "palette" buttons in the topmost window.

◆ Window_scroller_button_list

#define Window_scroller_button_list   Window_stack[Windows_open-1].Scroller_button_list

List of sliders (scrollers) in the topmost window.

◆ Window_special_button_list

#define Window_special_button_list   Window_stack[Windows_open-1].Special_button_list

List of special buttons in the topmost window.

◆ Window_dropdown_button_list

#define Window_dropdown_button_list   Window_stack[Windows_open-1].Dropdown_button_list

List of dropdown buttons in the topmost window.

◆ Window_list_button_list

#define Window_list_button_list   Window_stack[Windows_open-1].List_button_list

List of list buttons in the topmost window.

◆ Window_attribute1

#define Window_attribute1   Window_stack[Windows_open-1].Attribute1

The function Window_clicked_button() set this to LEFT_SIDE or RIGHT_SIDE after a button is activated through left or right mouse click.

◆ Window_attribute2

#define Window_attribute2   Window_stack[Windows_open-1].Attribute2

The function Window_clicked_button() set this to return extra information:

  • When a scroller was clicked: the scroller position (0-n)
  • When a palette was clicked: the color index (0-255)
  • When a dropdown was used: the selected item's number T_Dropdown_choice::Number

◆ Window_draggable

#define Window_draggable   Window_stack[Windows_open-1].Draggable

Variable Documentation

◆ Config

Current configuration.

Referenced by Analyze_command_line(), Backup_layers(), Backup_with_new_dimensions(), Best_video_mode(), Brush_0_5(), Brush_12_0(), Brush_12_5(), Button_Autosave(), Button_Clear(), Button_Clear_with_backcolor(), Button_Constraint_menu(), Button_Effects(), Button_Load_or_Save(), Button_Magnify(), Button_Message_initial(), Button_Page(), Button_Pal_left(), Button_Pal_right(), Button_Pal_right_fast(), Button_Palette(), Button_Reload(), Button_Secondary_palette(), Button_Select_forecolor(), Button_Settings(), Button_Skins(), Button_Text(), Button_Tilemap_menu(), Button_Toggle_toolbar(), Centered_lines_12_0(), Centered_lines_12_7(), Change_palette_cells(), Circle_12_0(), Circle_12_5(), Create_new_page(), Curve_34_points_1_0(), Curve_34_points_2_0(), Curve_3_points_0_11(), Curve_3_points_0_5(), Curve_3_points_12_11(), Curve_4_points_0_5(), Display_all_screen(), Display_bookmark(), Display_coords_rel_or_abs(), Display_cursor(), Display_feedback_state(), Display_menu_palette(), Display_menu_palette_avoiding_window(), Distort_brush_1_0(), Distort_brush_1_8(), Distort_brush_1_9(), Distort_brush_2_0(), Ellipse_12_0(), Empty_circle_0_5(), Empty_ellipse_0_5(), Empty_rectangle_0_5(), End_of_modification(), Fill_general(), Filled_circle_0_5(), Filled_ellipse_0_5(), Filled_polyform_12_0(), Filled_polyform_12_8(), Filled_rectangle_0_5(), Find_filename_match(), Frame_menu_color(), Get_input(), GFX2_Set_mode(), Grad_circle_0_6(), Grad_circle_12_0(), Grad_circle_12_6(), Grad_circle_12_8(), Grad_ellipse_0_6(), Grad_ellipse_12_0(), Grad_ellipse_12_8(), Grad_rectangle_0_9(), Grad_rectangle_12_0(), Grad_rectangle_12_5(), Hide_cursor(), Init_all_backup_lists(), Init_mode_video(), Init_program(), K_line_0_6(), K_line_12_0(), K_line_12_7(), Line_0_5(), Line_12_0(), Load_2GS(), Load_BMP_Palette(), Load_C64(), Load_CA1(), Load_CM5(), Load_FLI(), Load_GIF(), Load_GOS(), Load_GPX(), Load_GRB(), Load_HGR(), Load_IFF(), Load_image(), Load_INFO(), Load_KCF(), Load_MOTO(), Load_MSX(), Load_NEO(), Load_PC1(), Load_PCX(), Load_PI1(), Load_picture(), Load_PNG_Sub(), Load_PRG(), Load_Recoil_Image(), Load_SCR(), Load_SCx(), Load_TNY(), Main_handler(), MOTO_gamma_correct_MOTO_to_RGB(), MOTO_gamma_correct_RGB_to_MOTO(), Move_cursor_with_constraints(), Palette_cell_X(), Palette_cell_Y(), Pick_color_in_palette(), Polybrush_12_8(), Polyfill(), Polyfill_0_8(), Polyfill_12_0(), Polyfill_12_9(), Polygon_12_0(), Polygon_12_9(), Pre_load(), Process_backups(), Program_shutdown(), Read_dir_callback(), Readline_ex_unicode(), Rectangle_12_0(), Rectangle_12_5(), Redraw_layered_image(), Release_control(), Reposition_palette(), Return_to_draw_mode(), Rightclick_colorpick(), Rotate_brush_0_5(), Rotate_brush_12_0(), Rotate_brush_1_5(), Save_GIF(), Save_picture(), Scroll_0_5(), Scroll_12_0(), Set_current_skin(), Set_SGX_Palette(), Stretch_brush_0_7(), Stretch_brush_12_0(), Stretch_brush_1_7(), Tilemap_update(), Transparency_set(), Update_depth_buffer(), Win32_CreateWindow(), Win32_WindowProc(), Window_clicked_button(), Window_get_button_shortcut(), Window_get_clicked_button(), and Window_set_shortcut().

◆ Config_Key

◆ Video_mode

◆ Nb_video_modes

◆ MC_Black

GFX2_GLOBAL byte MC_Black

Index of color to use as "black" in the GUI menus.

Referenced by Button_Airbrush_menu(), Button_Anim_time(), Button_Brush_FX(), Button_Colorize_display_selection(), Button_Constraint_menu(), Button_Effects(), Button_Gradients(), Button_Grid_menu(), Button_Layer_menu(), Button_Load_or_Save(), Button_Message_initial(), Button_Palette(), Button_Resolution(), Button_Secondary_palette(), Button_Sieve_menu(), Button_Skins(), Button_Smooth_menu(), Button_Stats(), Button_Text(), Button_Tilemap_menu(), Button_Transform_menu(), Check_mode_button(), Compute_optimal_menu_colors(), Confirmation_box(), Display_bookmark(), Display_effect_state(), Display_feedback_state(), Display_help(), Display_image_limits(), Display_layerbar(), Display_menu_palette(), Display_modes_list(), Display_paintbrush_in_window(), Display_selected_cell_color(), Display_selected_color(), Display_separator(), Display_shade_mode(), Display_stored_brush_in_window(), Draw_all_palette_sliders(), Draw_button_gradient_style(), Draw_menu_button(), Draw_one_font_name(), Draw_one_skin_name(), Draw_preset_sieve_patterns(), Draw_sieve_scaled(), Draw_transparent_background(), Draw_transparent_color(), Dropdown_activate(), Frame_menu_color(), Init_mode_video(), Init_program(), Init_virtual_keyboard(), Load_image(), Menu_shade(), Menu_tag_colors(), Message_out_of_memory(), Open_window(), Pre_load(), Prepare_and_display_filelist(), Print_color_cycling_details(), Print_current_directory(), Print_filename(), Print_filename_in_fileselector(), Print_in_menu(), Readline_ex_unicode(), Redefine_control(), Reduce_palette(), Refresh_airbrush_settings(), Remap_menu_sprites(), Remap_pixel(), Remap_screen_after_menu_colors_change(), Requester_window(), Save_image(), Set_current_skin(), Set_palette_slider(), Settings_display_config(), Tag_color_range(), Tag_shades(), Tilemap_update(), Update_color_count(), Verbose_message(), Warning_message(), Window_draw_normal_bouton(), Window_draw_scroller_button(), Window_draw_slider(), Window_dropdown_on_click(), Window_help(), Window_Histogram(), Window_input_content(), Window_redraw_list(), Window_select_normal_button(), Window_set_dropdown_button(), and Window_set_shortcut().

◆ MC_Dark

◆ MC_Light

GFX2_GLOBAL byte MC_Light

Index of color to use as "light grey" in the GUI menus.

Referenced by Button_Airbrush_menu(), Button_Anim_time(), Button_Brush_FX(), Button_Colorize_display_selection(), Button_Colorize_menu(), Button_Constraint_menu(), Button_Effects(), Button_Gradients(), Button_Grid_menu(), Button_Layer_menu(), Button_Load_or_Save(), Button_Message_initial(), Button_Palette(), Button_Quick_shade_menu(), Button_Resolution(), Button_Secondary_palette(), Button_Sieve_menu(), Button_Skins(), Button_Smooth_menu(), Button_Text(), Button_Tilemap_menu(), Button_Tiling_menu(), Button_Transform_menu(), Check_mode_button(), Compute_optimal_menu_colors(), Confirmation_box(), Dialog_multiple_choice(), Display_all_shade(), Display_bookmark(), Display_effect_state(), Display_feedback_state(), Display_layerbar(), Display_menu_palette(), Display_modes_list(), Display_selected_cell_color(), Display_selected_color(), Display_separator(), Display_shade_mode(), Display_stored_brush_in_window(), Draw_all_palette_sliders(), Draw_one_font_name(), Draw_one_skin_name(), Draw_sieve_scaled(), Draw_transparent_background(), Draw_transparent_color(), Dropdown_activate(), Frame_menu_color(), Init_program(), Init_virtual_keyboard(), Load_image(), Load_SCR(), Main_handler(), Menu_shade(), Menu_tag_colors(), Message_out_of_memory(), Pre_load(), Print_color_cycling_details(), Print_current_directory(), Print_filename(), Print_filename_in_fileselector(), Print_help(), Print_in_menu(), Print_RGB_or_HSL(), Readline_ex_unicode(), Redefine_control(), Reduce_palette(), Refresh_airbrush_settings(), Remap_menu_sprites(), Remap_pixel(), Remap_screen_after_menu_colors_change(), Requester_window(), Save_C64_window(), Save_image(), Save_MOTO_window(), Set_current_skin(), Set_palette_slider(), Settings_display_config(), Shade_draw_grad_ranges(), Tag_color_range(), Tag_shades(), Tag_used_colors(), Tilemap_update(), Update_color_count(), Verbose_message(), Warning_message(), Window_clear_input_button(), Window_clear_tags(), Window_display_frame_in(), Window_display_frame_out(), Window_draw_normal_bouton(), Window_draw_scroller_button(), Window_dropdown_on_click(), Window_Histogram(), Window_input_content(), Window_redraw_list(), Window_set_dropdown_button(), and Window_set_shortcut().

◆ MC_White

◆ MC_Trans

GFX2_GLOBAL byte MC_Trans

Index of color to use as "transparent" while loading the GUI file.

Referenced by Compute_optimal_menu_colors(), Display_cursor(), Remap_menu_sprites(), Remap_pixel(), Remap_screen_after_menu_colors_change(), and Set_current_skin().

◆ MC_OnBlack

GFX2_GLOBAL byte MC_OnBlack

Index of color immediately lighter than "black" in the GUI menus.

Referenced by Compute_optimal_menu_colors(), Set_current_skin(), and Window_draw_slider().

◆ MC_Window

GFX2_GLOBAL byte MC_Window

Index of color to use as window background in the GUI menus.

Referenced by Compute_optimal_menu_colors(), Load_image(), Open_window(), and Set_current_skin().

◆ MC_Lighter

GFX2_GLOBAL byte MC_Lighter

Index of color lighter than window in the GUI menus.

Referenced by Compute_optimal_menu_colors(), and Set_current_skin().

◆ MC_Darker

GFX2_GLOBAL byte MC_Darker

Index of color darker than window in the GUI menus.

Referenced by Compute_optimal_menu_colors(), and Set_current_skin().

◆ Mouse_X

◆ Mouse_Y

◆ Mouse_K

GFX2_GLOBAL byte Mouse_K

Current mouse buttons state. Bitfield: 1 for RMB, 2 for LMB.

Referenced by Brush_12_0(), Button_Airbrush_menu(), Button_Anim_continuous_next(), Button_Anim_continuous_prev(), Button_Circle_switch_mode(), Button_Draw_switch_mode(), Button_Gradients(), Button_Layer_select(), Button_Layer_toggle(), Button_Load_or_Save(), Button_Message_initial(), Button_Palette(), Button_Resolution(), Button_Select_backcolor(), Button_Select_forecolor(), Button_Settings(), Button_Sieve_menu(), Centered_lines_12_0(), Centered_lines_12_7(), Circle_12_0(), Close_popup(), Close_window(), Colorpicker_12_0(), Curve_3_points_0_5(), Delay_with_active_mouse(), Display_paintbrush(), Dropdown_activate(), Ellipse_12_0(), Filled_polyform_12_0(), Filled_polyform_12_8(), Get_color_behind_window(), Get_input(), Grad_circle_12_0(), Grad_circle_12_8(), Grad_ellipse_12_0(), Grad_ellipse_12_8(), Grad_rectangle_12_0(), Grad_rectangle_12_7(), Handle_mouse_btn_change(), Hide_paintbrush(), K_line_12_0(), K_line_12_7(), Layer_preview_off(), Line_12_0(), Line_12_5(), Main_handler(), Menu_shade(), Menu_tag_colors(), Move_separator(), Move_window(), Polybrush_12_8(), Polyfill_12_0(), Polyfill_12_9(), Polyform_12_0(), Polyform_12_8(), Polygon_12_0(), Polygon_12_9(), Readline_ex_unicode(), Rectangle_12_0(), Return_to_draw_mode(), Rightclick_colorpick(), Rotate_brush_12_0(), Scroll_12_0(), Stretch_brush_12_0(), Wait_click_in_palette(), Wait_click_in_shade_table(), Wait_end_of_click(), Window_clicked_button(), Window_get_clicked_button(), Window_Histogram(), and Window_normal_button_onclick().

◆ Keyboard_click_allowed

GFX2_GLOBAL byte Keyboard_click_allowed

Set to 0 when you edit a textfield so you can use space without exiting it.

Referenced by Handle_special_key_press(), Init_program(), and Readline_ex_unicode().

◆ Key

◆ Key_ANSI

GFX2_GLOBAL dword Key_ANSI

Last character typed, converted to ANSI character set (Windows-1252).

This is mostly used when the user enters text (filename, etc).

Referenced by Get_input(), Quicksearch(), Readline_ex_unicode(), Rotate_brush_0_5(), Stretch_brush_0_7(), and Win32_WindowProc().

◆ Key_UNICODE

◆ Quit_is_required

◆ Allow_color_change_during_operation

GFX2_GLOBAL byte Allow_color_change_during_operation

This boolean is true when the current operation allows changing the foreground or background color.

Referenced by Main_handler(), and Start_operation_stack().

◆ Cursor_shape

◆ Cursor_shape_before_window

GFX2_GLOBAL byte Cursor_shape_before_window

Backup of Cursor_shape, used while a window is open (and needs a different cursor)

Referenced by Close_popup(), Close_window(), Open_popup(), and Open_window().

◆ Cursor_hidden

◆ Cursor_in_menu

GFX2_GLOBAL byte Cursor_in_menu

Boolean, means the cursor is currently hovering over a menu GUI element.

Referenced by Change_magnifier_factor(), Main_handler(), and Print_coordinates().

◆ Cursor_in_menu_previous

GFX2_GLOBAL byte Cursor_in_menu_previous

Boolean, means the cursor was hovering over a menu GUI element.

Referenced by Main_handler().

◆ Cursor_background

Storage for the graphics under the mouse cursor. Used by Hide_cursor and Display_cursor.

Referenced by Display_cursor(), and Hide_cursor().

◆ Paintbrush_shape

◆ Paintbrush_shape_before_fill

GFX2_GLOBAL byte Paintbrush_shape_before_fill

Backup of Paintbrush_shape, before fill operation.

Referenced by Button_Fill(), Button_Replace(), Button_Unselect_fill(), and Change_paintbrush_shape().

◆ Paintbrush_shape_before_colorpicker

GFX2_GLOBAL byte Paintbrush_shape_before_colorpicker

Backup of Paintbrush_shape, before color picker operation.

Referenced by Button_Colorpicker(), Button_Unselect_colorpicker(), and Change_paintbrush_shape().

◆ Paintbrush_shape_before_lasso

GFX2_GLOBAL byte Paintbrush_shape_before_lasso

Backup of Paintbrush_shape, before lasso operation.

Referenced by Button_Lasso(), and Button_Unselect_lasso().

◆ Paintbrush_hidden

◆ Paintbrush_X

GFX2_GLOBAL short Paintbrush_X

Cordinate of the preview paintbrush in image space.

Referenced by Airbrush(), Airbrush_12_2(), Airbrush_1_0(), Airbrush_2_0(), Brush_0_5(), Brush_12_0(), Brush_12_5(), Button_Resolution(), Centered_lines_0_3(), Centered_lines_0_7(), Centered_lines_12_0(), Centered_lines_12_3(), Centered_lines_12_7(), Circle_12_0(), Circle_12_5(), Colorpicker_1_1(), Colorpicker_2_1(), Compute_3_point_curve(), Compute_paintbrush_coordinates(), Curve_34_points_1_0(), Curve_34_points_1_5(), Curve_34_points_2_0(), Curve_34_points_2_5(), Curve_3_points_0_5(), Curve_4_points_1_9(), Curve_drag(), Display_coords_rel_or_abs(), Display_cursor(), Display_paintbrush(), Distort_brush_1_0(), Distort_brush_1_8(), Distort_brush_1_9(), Ellipse_12_0(), Ellipse_12_5(), Empty_rectangle_0_5(), Fill(), Fill_general(), Filled_polyform_0_8(), Filled_polyform_12_0(), Filled_polyform_12_8(), Filled_rectangle_0_5(), Freehand_mode1_1_0(), Freehand_mode1_1_2(), Freehand_mode1_2_0(), Freehand_mode1_2_2(), Freehand_mode2_1_0(), Freehand_mode2_1_2(), Freehand_mode2_2_0(), Freehand_mode2_2_2(), Freehand_mode3_1_0(), Freehand_Mode3_2_0(), Grad_circle_0_6(), Grad_circle_12_0(), Grad_circle_12_6(), Grad_circle_12_8(), Grad_circle_or_ellipse_0_8(), Grad_ellipse_0_6(), Grad_ellipse_12_0(), Grad_ellipse_12_6(), Grad_ellipse_12_8(), Grad_rectangle_0_5(), Grad_rectangle_0_7(), Grad_rectangle_12_0(), Grad_rectangle_12_5(), Grad_rectangle_12_7(), Grad_rectangle_12_9(), Hide_cursor(), Hide_paintbrush(), Init_program(), K_line_0_6(), K_line_12_0(), K_line_12_6(), Line_12_0(), Line_12_5(), Pan_view_12_0(), Pan_view_12_2(), Polybrush_12_8(), Polyfill_0_8(), Polyfill_12_0(), Polyfill_12_8(), Polyform_0_8(), Polyform_12_0(), Polyform_12_8(), Polygon_12_0(), Print_coordinates(), Rectangle_12_0(), Rectangle_12_5(), Replace(), Rightclick_colorpick_2_1(), Rotate_brush_0_5(), Rotate_brush_12_0(), Rotate_brush_1_5(), Scroll_12_0(), Scroll_12_5(), Stretch_brush_0_7(), Stretch_brush_12_0(), and Stretch_brush_1_7().

◆ Paintbrush_Y

GFX2_GLOBAL short Paintbrush_Y

Cordinate of the preview paintbrush in image space.

Referenced by Airbrush(), Airbrush_12_2(), Airbrush_1_0(), Airbrush_2_0(), Brush_0_5(), Brush_12_0(), Brush_12_5(), Button_Resolution(), Centered_lines_0_3(), Centered_lines_0_7(), Centered_lines_12_0(), Centered_lines_12_3(), Centered_lines_12_7(), Circle_12_0(), Circle_12_5(), Colorpicker_1_1(), Colorpicker_2_1(), Compute_3_point_curve(), Compute_paintbrush_coordinates(), Curve_34_points_1_0(), Curve_34_points_1_5(), Curve_34_points_2_0(), Curve_34_points_2_5(), Curve_3_points_0_5(), Curve_4_points_1_9(), Curve_drag(), Display_coords_rel_or_abs(), Display_cursor(), Display_paintbrush(), Distort_brush_1_0(), Distort_brush_1_8(), Distort_brush_1_9(), Ellipse_12_0(), Ellipse_12_5(), Empty_rectangle_0_5(), Fill(), Fill_general(), Filled_polyform_0_8(), Filled_polyform_12_0(), Filled_polyform_12_8(), Filled_rectangle_0_5(), Freehand_mode1_1_0(), Freehand_mode1_1_2(), Freehand_mode1_2_0(), Freehand_mode1_2_2(), Freehand_mode2_1_0(), Freehand_mode2_1_2(), Freehand_mode2_2_0(), Freehand_mode2_2_2(), Freehand_mode3_1_0(), Freehand_Mode3_2_0(), Grad_circle_0_6(), Grad_circle_12_0(), Grad_circle_12_6(), Grad_circle_12_8(), Grad_circle_or_ellipse_0_8(), Grad_ellipse_0_6(), Grad_ellipse_12_0(), Grad_ellipse_12_6(), Grad_ellipse_12_8(), Grad_rectangle_0_5(), Grad_rectangle_0_7(), Grad_rectangle_12_0(), Grad_rectangle_12_5(), Grad_rectangle_12_7(), Grad_rectangle_12_9(), Hide_cursor(), Hide_paintbrush(), Init_program(), K_line_0_6(), K_line_12_0(), K_line_12_6(), Line_12_0(), Line_12_5(), Pan_view_12_0(), Pan_view_12_2(), Polybrush_12_8(), Polyfill_0_8(), Polyfill_12_0(), Polyfill_12_8(), Polyform_0_8(), Polyform_12_0(), Polyform_12_8(), Polygon_12_0(), Print_coordinates(), Rectangle_12_0(), Rectangle_12_5(), Replace(), Rightclick_colorpick_2_1(), Rotate_brush_0_5(), Rotate_brush_12_0(), Rotate_brush_1_5(), Scroll_12_0(), Scroll_12_5(), Stretch_brush_0_7(), Stretch_brush_12_0(), and Stretch_brush_1_7().

◆ Paintbrush_sprite

◆ Paintbrush_width

◆ Paintbrush_height

◆ Paintbrush_offset_X

◆ Paintbrush_offset_Y

◆ Pixel

◆ Read_pixel

◆ Display_screen

GFX2_GLOBAL Func_display Display_screen

Redraw all screen, without overwriting the menu.

Referenced by Display_all_screen().

◆ Block

◆ Pixel_preview_normal

◆ Pixel_preview_magnifier

GFX2_GLOBAL Func_pixel Pixel_preview_magnifier

Draw a point from the image to screen (magnified part).

Referenced by Button_Magnify(), Button_Page(), Change_magnifier_factor(), Init_mode_video(), and Magnifier_12_0().

◆ Pixel_preview

◆ Horizontal_XOR_line

GFX2_GLOBAL Func_line_XOR Horizontal_XOR_line

◆ Vertical_XOR_line

GFX2_GLOBAL Func_line_XOR Vertical_XOR_line

Draw a vertical XOR line on screen.

Referenced by Display_cursor(), Draw_xor_rect(), Hide_cursor(), Move_separator(), and Move_window().

◆ Display_brush_color

Display part of the brush on screen, color mode.

Referenced by Display_paintbrush().

◆ Display_brush_mono

Display part of the brush on screen, monochrome mode.

Referenced by Display_paintbrush().

◆ Clear_brush

Clear the brush currently displayed on screen, redrawing the image instead.

Referenced by Draw_paintbrush(), and Hide_paintbrush().

◆ Remap_screen

GFX2_GLOBAL Func_remap Remap_screen

Remap part of the screen after the menu colors have changed.

Referenced by Remap_screen_after_menu_colors_change().

◆ Display_line

Draw a line on screen.

◆ Display_line_fast

GFX2_GLOBAL Func_procsline Display_line_fast

Draw a line on screen, without doubling it if using wide pixels. (to be used when the line is already doubled in the input buffer)

Referenced by Print_general(), Print_general_unicode(), Print_help(), and Restore_background().

◆ Read_line

Read a line of pixels from screen.

Referenced by Save_background().

◆ Display_zoomed_screen

GFX2_GLOBAL Func_display_zoom Display_zoomed_screen

Redraw all magnified part on screen, without overwriting the menu.

Referenced by Display_all_screen().

◆ Display_brush_color_zoom

GFX2_GLOBAL Func_display_brush_color_zoom Display_brush_color_zoom

Display part of the brush on the magnified part of screen, color mode.

Referenced by Display_paintbrush().

◆ Display_brush_mono_zoom

GFX2_GLOBAL Func_display_brush_mono_zoom Display_brush_mono_zoom

Display part of the brush on the magnified part of screen, monochrome mode.

Referenced by Display_paintbrush().

◆ Clear_brush_scaled

Clear the brush currently displayed on the magnified part of screen, redrawing the image instead.

Referenced by Draw_paintbrush(), and Hide_paintbrush().

◆ Display_brush

Draw an arbitrary brush on screen (not the current brush)

Referenced by Button_Text().

◆ Resize_width

GFX2_GLOBAL int Resize_width

Requested window width. This is set when the user resizes the window.

Referenced by Get_input(), Init_mode_video(), Main_handler(), and Win32_WindowProc().

◆ Resize_height

GFX2_GLOBAL int Resize_height

Requested window height. This is set when the user resizes the window.

Referenced by Get_input(), Init_mode_video(), Main_handler(), and Win32_WindowProc().

◆ Window_state

GFX2_GLOBAL enum GFX2_WINDOW_STATES Window_state

Current window state (standard, minimized, maximized)

Referenced by Get_input(), Main_handler(), and Win32_WindowProc().

◆ Default_window_width

GFX2_GLOBAL int Default_window_width

Default window width (not maximized)

Referenced by Load_INI(), Main_handler(), and Save_INI().

◆ Default_window_height

GFX2_GLOBAL int Default_window_height

Default window height (not maximized)

Referenced by Load_INI(), Main_handler(), and Save_INI().

◆ Current_resolution

◆ Original_screen_X

GFX2_GLOBAL short Original_screen_X

After loading an image, this holds the "original screen width", if the file format supported it.

Referenced by Best_video_mode(), Button_Reload(), Load_CEL(), Load_GIF(), Load_IFF(), Load_PCX(), Load_picture(), and Load_PKM().

◆ Original_screen_Y

GFX2_GLOBAL short Original_screen_Y

After loading an image, this holds the "original screen height", if the file format supported it.

Referenced by Best_video_mode(), Button_Reload(), Load_CEL(), Load_GIF(), Load_IFF(), Load_PCX(), Load_picture(), and Load_PKM().

◆ Screen_width

◆ Screen_height

◆ Limit_top

◆ Limit_bottom

◆ Limit_left

◆ Limit_right

◆ Limit_visible_bottom

GFX2_GLOBAL short Limit_visible_bottom

Coordinate (in image space) of the lowest visible pixel, limited by the image height.

Compare with Limit_bottom, which is not clipped.

Referenced by Compute_limits(), Draw_curve_cross(), Draw_stretch_spot(), and Stretch_brush_preview().

◆ Limit_visible_right

GFX2_GLOBAL short Limit_visible_right

Coordinate (in image space) of the rightmost visible pixel, limited by the image width.

Compare with Limit_right, which is not clipped.

Referenced by Compute_limits(), Draw_curve_cross(), Draw_stretch_spot(), and Stretch_brush_preview().

◆ Limit_top_zoom

◆ Limit_bottom_zoom

GFX2_GLOBAL short Limit_bottom_zoom

Coordinate (in image space) of the pixel at the bottom of the magnified view.

This can be larger than the image height, if the screen is bigger than image.

Referenced by Compute_clipped_dimensions_zoom(), Compute_limits(), Display_image_limits(), and Draw_xor_rect().

◆ Limit_left_zoom

◆ Limit_right_zoom

GFX2_GLOBAL short Limit_right_zoom

Coordinate (in image space) of the pixel at the right of the magnified view.

This can be larger than the image width, if the screen is bigger than image.

Referenced by Compute_clipped_dimensions_zoom(), Compute_limits(), Display_image_limits(), and Draw_xor_rect().

◆ Limit_visible_bottom_zoom

◆ Limit_visible_right_zoom

◆ Horizontal_line_buffer

◆ Pixel_ratio

◆ Pixel_width

◆ Pixel_height

◆ Main

Current image data.

Referenced by Add_backup_file(), Add_layer(), Any_effect_active(), Backup(), Backup_in_place(), Backup_layers(), Backup_new_image(), Backup_with_new_dimensions(), Best_color(), Best_color_nonexcluded(), Best_color_perceptual(), Best_color_perceptual_except(), Best_color_range(), Best_video_mode(), Button_Anim_continuous_next(), Button_Anim_continuous_prev(), Button_Anim_first_frame(), Button_Anim_last_frame(), Button_Anim_next_frame(), Button_Anim_prev_frame(), Button_Anim_time(), Button_Autosave(), Button_Clear(), Button_Colorpicker(), Button_Constraint_menu(), Button_Constraint_mode(), Button_Copy_page(), Button_Effects(), Button_Fill(), Button_Gradients(), Button_Hide_menu(), Button_Kill(), Button_Layer_add(), Button_Layer_down(), Button_Layer_duplicate(), Button_Layer_get_transparent(), Button_Layer_menu(), Button_Layer_merge(), Button_Layer_remove(), Button_Layer_set_transparent(), Button_Layer_up(), Button_Load(), Button_Load_or_Save(), Button_Magnify(), Button_Magnify_menu(), Button_Message_initial(), Button_Page(), Button_Palette(), Button_Quit_local_function(), Button_Redo(), Button_Reload(), Button_Replace(), Button_Resolution(), Button_Secondary_palette(), Button_Settings(), Button_Sieve_menu(), Button_Skins(), Button_Stats(), Button_Tilemap_menu(), Button_Tilemap_mode(), Button_Toggle_toolbar(), Button_Transform_menu(), Button_Undo(), Button_Unselect_colorpicker(), Button_Unselect_fill(), Button_Unselect_magnifier(), C64_pixels_to_FLI(), Capture_brush(), Capture_brush_with_lasso(), Change_magnifier_factor(), Check_block_constraints(), Check_layers_limits(), Check_menu_mode(), Check_recovery(), Clear_brush_double(), Clear_brush_quad(), Clear_brush_scaled_double(), Clear_brush_scaled_quad(), Clear_brush_scaled_simple(), Clear_brush_scaled_tall(), Clear_brush_scaled_tall2(), Clear_brush_scaled_tall3(), Clear_brush_scaled_triple(), Clear_brush_scaled_wide(), Clear_brush_scaled_wide2(), Clear_brush_simple(), Clear_brush_tall(), Clear_brush_tall2(), Clear_brush_tall3(), Clear_brush_triple(), Clear_brush_wide(), Clear_brush_wide2(), Clear_current_image(), Clear_current_image_with_stencil(), Clip_magnifier_offsets(), Color_cycling(), Color_to_SDL_color(), Colorpicker_1_1(), Colorpicker_2_1(), Compute_limits(), Compute_magnifier_data(), Compute_paintbrush_coordinates(), Compute_separator_data(), Convert_to_dhgr(), Convert_to_hgr(), Copy_image_only(), Copy_image_to_brush(), Copy_some_colors(), Copy_view_to_spare(), Count_used_colors(), Count_used_colors_area(), Cursor_displace(), Delete_layer(), Display_all_screen(), Display_brush_color_zoom_double(), Display_brush_color_zoom_quad(), Display_brush_color_zoom_simple(), Display_brush_color_zoom_tall(), Display_brush_color_zoom_tall2(), Display_brush_color_zoom_tall3(), Display_brush_color_zoom_triple(), Display_brush_color_zoom_wide(), Display_brush_color_zoom_wide2(), Display_brush_mono_zoom_double(), Display_brush_mono_zoom_quad(), Display_brush_mono_zoom_simple(), Display_brush_mono_zoom_tall(), Display_brush_mono_zoom_tall2(), Display_brush_mono_zoom_tall3(), Display_brush_mono_zoom_triple(), Display_brush_mono_zoom_wide(), Display_brush_mono_zoom_wide2(), Display_cursor(), Display_effect_states(), Display_image_limits(), Display_layerbar(), Display_menu(), Display_menu_palette(), Display_paintbrush(), Display_part_of_screen_double(), Display_part_of_screen_quad(), Display_part_of_screen_scaled_double(), Display_part_of_screen_scaled_quad(), Display_part_of_screen_scaled_simple(), Display_part_of_screen_scaled_tall(), Display_part_of_screen_scaled_tall2(), Display_part_of_screen_scaled_tall3(), Display_part_of_screen_scaled_triple(), Display_part_of_screen_scaled_wide(), Display_part_of_screen_scaled_wide2(), Display_part_of_screen_simple(), Display_part_of_screen_tall(), Display_part_of_screen_tall2(), Display_part_of_screen_tall3(), Display_part_of_screen_triple(), Display_part_of_screen_wide(), Display_part_of_screen_wide2(), Display_pixel(), Display_separator(), Download_infos_page_main(), Draw_curve_cross(), Draw_paintbrush(), Draw_stretch_spot(), Draw_xor_rect(), Effect_additive_colorize(), Effect_alpha_colorize(), Effect_interpolated_colorize(), Effect_smooth(), Effect_substractive_colorize(), Effects_off(), End_of_modification(), Fill_canvas(), Fill_general(), Frame_menu_color(), Free_current_page(), Free_page_of_a_list(), Get_color_behind_window(), Get_colors_from_brush(), Get_frame_duration(), Get_image_mode(), Grad_rectangle_0_5(), Hide_cursor(), Hide_paintbrush(), Horizontal_XOR_line_zoom(), Image_emergency_backup(), Init_all_backup_lists(), Init_context_brush(), Init_context_layered_image(), Init_mode_video(), Init_program(), Init_start_operation(), Layer_activate(), Layer_preview_on(), Layer_under_mouse(), Load_FLI(), Load_GIF(), Load_gradient_data(), Load_image(), Load_picture(), Magnifier_12_0(), Main_handler(), Merge_layer(), Move_cursor_with_constraints(), Move_separator(), Nibble_brush(), Open_window(), Outline_brush(), Pan_view_12_2(), Pixel_figure_preview_xor(), Pixel_figure_preview_xorback(), Pixel_in_current_layer(), Pixel_in_layer(), Pixel_in_layer_with_opt_preview(), Pixel_in_screen_c64fli_underlay_with_opt_preview(), Pixel_in_screen_egx_with_opt_preview(), Pixel_in_screen_gbc_with_opt_preview(), Pixel_in_screen_hgr_mono_with_opt_preview(), Pixel_in_screen_layered_with_opt_preview(), Pixel_in_screen_overlay_with_opt_preview(), Pixel_in_screen_underlay_with_opt_preview(), Pixel_in_screen_zx_with_opt_preview(), Pixel_preview_magnifier_double(), Pixel_preview_magnifier_quad(), Pixel_preview_magnifier_simple(), Pixel_preview_magnifier_tall(), Pixel_preview_magnifier_tall2(), Pixel_preview_magnifier_tall3(), Pixel_preview_magnifier_triple(), Pixel_preview_magnifier_wide(), Pixel_preview_magnifier_wide2(), Pixel_preview_normal_double(), Pixel_preview_normal_quad(), Pixel_preview_normal_simple(), Pixel_preview_normal_tall(), Pixel_preview_normal_tall2(), Pixel_preview_normal_tall3(), Pixel_preview_normal_triple(), Pixel_preview_normal_wide(), Pixel_preview_normal_wide2(), Polyfill_general(), Position_screen_according_to_position(), Position_screen_according_to_zoom(), Pre_load(), Print_color_cycling_details(), Print_coordinates(), Print_filename(), Process_backups(), Program_shutdown(), Read_pixel_from_backup_layer(), Read_pixel_from_backup_screen(), Read_pixel_from_current_layer(), Read_pixel_from_current_screen(), Read_pixel_from_feedback_screen(), Read_pixel_from_layer(), Redo(), Redraw_current_layer(), Redraw_grid(), Redraw_layered_image(), Remap_brush(), Remap_image_highlevel(), Render_text_TTF(), Replace(), Replace_colors_within_limits(), Resize_image(), Rightclick_colorpick_0_1(), Rightclick_colorpick_2_1(), Rotate_safety_backups(), Save_GIF(), Save_image(), Save_picture(), Save_TIFF_Sub(), Scroll_0_5(), Scroll_12_0(), Scroll_12_5(), Scroll_magnifier(), Scroll_picture(), Scroll_screen(), Select_button(), Set_bar_visibility(), Set_frame_duration(), Set_image_mode(), Set_loading_layer(), Set_nice_menu_colors(), Set_number_of_backups(), Set_saving_layer(), Status_print_palette_color(), Switch_layer_mode(), Tile_is_same(), Tile_is_same_flipped_x(), Tile_is_same_flipped_xy(), Tile_is_same_flipped_y(), Tilemap_draw(), Tilemap_update(), Undo(), Update_buffers(), Update_color_hgr_pixel(), Update_depth_buffer(), Update_FX_feedback(), Update_part_of_screen(), Update_pixel_renderer(), Update_screen_targets(), Vertical_XOR_line_zoom(), Wait_click_in_palette(), Zoom(), and Zoom_set().

◆ Main_screen

GFX2_GLOBAL byte* Main_screen

Pointer to the pixel data of the main image.

Referenced by Clear_brush_double(), Clear_brush_quad(), Clear_brush_scaled_double(), Clear_brush_scaled_quad(), Clear_brush_scaled_simple(), Clear_brush_scaled_tall(), Clear_brush_scaled_tall2(), Clear_brush_scaled_tall3(), Clear_brush_scaled_triple(), Clear_brush_scaled_wide(), Clear_brush_scaled_wide2(), Clear_brush_simple(), Clear_brush_tall(), Clear_brush_tall2(), Clear_brush_tall3(), Clear_brush_triple(), Clear_brush_wide(), Clear_brush_wide2(), Count_used_colors_area(), Display_part_of_screen_double(), Display_part_of_screen_quad(), Display_part_of_screen_scaled_double(), Display_part_of_screen_scaled_quad(), Display_part_of_screen_scaled_simple(), Display_part_of_screen_scaled_tall(), Display_part_of_screen_scaled_tall2(), Display_part_of_screen_scaled_tall3(), Display_part_of_screen_scaled_triple(), Display_part_of_screen_scaled_wide(), Display_part_of_screen_scaled_wide2(), Display_part_of_screen_simple(), Display_part_of_screen_tall(), Display_part_of_screen_tall2(), Display_part_of_screen_tall3(), Display_part_of_screen_triple(), Display_part_of_screen_wide(), Display_part_of_screen_wide2(), Draw_paintbrush(), Image_emergency_backup(), Init_program(), Pixel_figure_preview_xorback(), Pixel_in_layer_with_opt_preview(), Pixel_in_screen_c64fli_underlay_with_opt_preview(), Pixel_in_screen_layered_with_opt_preview(), Pixel_in_screen_overlay_with_opt_preview(), Pixel_in_screen_underlay_with_opt_preview(), Read_pixel_from_current_screen(), Scroll_12_5(), and Update_screen_targets().

◆ xor_lut

◆ Spare

◆ Screen_backup

GFX2_GLOBAL byte* Screen_backup

Backup of the current screen, used during drawing when FX feedback is OFF.

Referenced by Read_pixel_from_backup_screen(), Scroll_12_5(), and Update_screen_targets().

◆ Palette_selector

◆ Brush

GFX2_GLOBAL byte* Brush

Pixel data of the current brush (remapped).

Referenced by Button_Brush_FX(), Capture_brush_with_lasso(), Display_brush_color_double(), Display_brush_color_quad(), Display_brush_color_simple(), Display_brush_color_tall(), Display_brush_color_tall2(), Display_brush_color_tall3(), Display_brush_color_triple(), Display_brush_color_wide(), Display_brush_color_wide2(), Display_brush_color_zoom_double(), Display_brush_color_zoom_quad(), Display_brush_color_zoom_simple(), Display_brush_color_zoom_tall(), Display_brush_color_zoom_tall2(), Display_brush_color_zoom_tall3(), Display_brush_color_zoom_triple(), Display_brush_color_zoom_wide(), Display_brush_color_zoom_wide2(), Display_brush_mono_double(), Display_brush_mono_quad(), Display_brush_mono_simple(), Display_brush_mono_tall(), Display_brush_mono_tall2(), Display_brush_mono_tall3(), Display_brush_mono_triple(), Display_brush_mono_wide(), Display_brush_mono_wide2(), Display_brush_mono_zoom_double(), Display_brush_mono_zoom_quad(), Display_brush_mono_zoom_simple(), Display_brush_mono_zoom_tall(), Display_brush_mono_zoom_tall2(), Display_brush_mono_zoom_tall3(), Display_brush_mono_zoom_triple(), Display_brush_mono_zoom_wide(), Display_brush_mono_zoom_wide2(), Display_paintbrush(), Distort_brush(), Distort_brush_preview(), Hide_paintbrush(), Init_context_brush(), Init_program(), Main_handler(), Nibble_brush(), Outline_brush(), Pixel_in_brush(), Program_shutdown(), Read_pixel_from_brush(), Realloc_brush(), Remap_brush(), Restore_brush(), Rotate_90_deg(), Rotate_brush(), Store_brush(), Store_paintbrush(), and Stretch_brush().

◆ Brush_original_pixels

◆ Brush_original_palette

◆ Brush_original_back_color

GFX2_GLOBAL byte Brush_original_back_color

Back_color used when the brush was grabbed.

Referenced by Realloc_brush().

◆ Brush_colormap

◆ Brush_offset_X

◆ Brush_offset_Y

◆ Brush_width

◆ Brush_height

◆ Brush_file_directory

GFX2_GLOBAL char* Brush_file_directory

Name of the directory that holds the brush fil (after loading or saving it).

Referenced by Init_program(), Load_picture(), Program_shutdown(), and Save_picture().

◆ Brush_filename

GFX2_GLOBAL char* Brush_filename

Filename (without directory) of the brush (after loading or saving it).

Referenced by Init_program(), Load_picture(), Main_handler(), Program_shutdown(), and Save_picture().

◆ Brush_filename_unicode

GFX2_GLOBAL word* Brush_filename_unicode

Filename (without directory) of the brush (after loading or saving it) unicode.

Referenced by Init_program(), Load_picture(), Main_handler(), Program_shutdown(), and Save_picture().

◆ Brush_fileformat

GFX2_GLOBAL byte Brush_fileformat

File format of the brush. It's a value of enum FILE_FORMATS.

Referenced by Init_context_brush(), Init_program(), Load_picture(), Main_handler(), and Save_picture().

◆ Brush_selector

◆ Brush_rotation_center_is_defined

GFX2_GLOBAL byte Brush_rotation_center_is_defined

Indicator used for the "Rotate brush" operation.

Referenced by Display_cursor(), Hide_cursor(), Rotate_brush_12_0(), and Start_operation_stack().

◆ Brush_rotation_center_X

GFX2_GLOBAL short Brush_rotation_center_X

Position of the brush's rotation center, in screen coordinates.

Referenced by Display_cursor(), Hide_cursor(), Rotate_brush_0_5(), Rotate_brush_12_0(), Rotate_brush_1_5(), Rotate_brush_2_5(), and Rotate_brush_preview().

◆ Brush_rotation_center_Y

GFX2_GLOBAL short Brush_rotation_center_Y

Position of the brush's rotation center, in screen coordinates.

Referenced by Display_cursor(), Hide_cursor(), Rotate_brush_0_5(), Rotate_brush_12_0(), Rotate_brush_1_5(), Rotate_brush_2_5(), and Rotate_brush_preview().

◆ Menu_is_visible

GFX2_GLOBAL byte Menu_is_visible

Boolean, true if the menu has to be displayed.

Referenced by Airbrush_12_2(), Brush_12_0(), Brush_12_5(), Button_Colorpicker(), Button_Fill(), Button_Hide_menu(), Button_Quit(), Button_Replace(), Button_Unselect_colorpicker(), Button_Unselect_fill(), Centered_lines_12_0(), Centered_lines_12_7(), Circle_12_0(), Circle_12_5(), Close_popup(), Close_window(), Colorpicker_1_1(), Colorpicker_2_1(), Compute_limits(), Curve_34_points_1_0(), Curve_34_points_2_0(), Curve_3_points_0_5(), Curve_4_points_0_5(), Display_coords_rel_or_abs(), Display_foreback(), Display_menu(), Display_menu_palette(), Distort_brush_0_0(), Distort_brush_1_0(), Distort_brush_1_8(), Distort_brush_1_9(), Distort_brush_2_0(), Draw_menu_button(), Ellipse_12_0(), Empty_circle_0_5(), Empty_ellipse_0_5(), Empty_rectangle_0_5(), Filled_circle_0_5(), Filled_ellipse_0_5(), Filled_rectangle_0_5(), Frame_menu_color(), Get_color_behind_window(), Grad_circle_0_6(), Grad_circle_12_0(), Grad_circle_12_6(), Grad_circle_12_8(), Grad_ellipse_0_6(), Grad_ellipse_12_0(), Grad_ellipse_12_8(), Grad_rectangle_0_9(), Grad_rectangle_12_0(), Grad_rectangle_12_5(), Init_mode_video(), Init_program(), K_line_0_6(), K_line_12_0(), K_line_12_7(), Layer_preview_on(), Line_0_5(), Line_12_0(), Main_handler(), Move_window(), Open_popup(), Open_window(), Pixel_in_menu(), Polyfill_0_8(), Polyfill_12_0(), Polyfill_12_9(), Polygon_12_0(), Polygon_12_9(), Print_coordinates(), Rectangle_12_0(), Rectangle_12_5(), Return_to_draw_mode(), Rightclick_colorpick_0_1(), Rightclick_colorpick_2_1(), Rotate_brush_0_5(), Rotate_brush_12_0(), Rotate_brush_1_5(), Scroll_0_5(), Scroll_12_0(), Stretch_brush_0_7(), Stretch_brush_12_0(), and Stretch_brush_1_7().

◆ Menu_height

◆ Menu_Y

GFX2_GLOBAL word Menu_Y

Y position (in screen coordinates) where the menu begins.

This is always either Screen_height (when menu is hidden) or (Screen_height - Menu_height) As a result, the drawing algoritm always draws the image from 0 to Menu_Y-1

Referenced by Button_Circle_switch_mode(), Button_Colorpicker(), Button_Draw_switch_mode(), Button_Fill(), Button_Hide_menu(), Button_Magnify(), Button_Magnify_menu(), Button_Quit(), Button_Replace(), Button_Toggle_toolbar(), Button_under_mouse(), Button_Unselect_colorpicker(), Button_Unselect_fill(), Button_Unselect_magnifier(), Clip_magnifier_offsets(), Close_popup(), Close_window(), Compute_limits(), Compute_magnifier_data(), Compute_menu_offsets(), Display_all_screen(), Display_cursor(), Display_foreback(), Display_image_limits(), Display_layerbar(), Display_menu(), Display_menu_palette(), Display_paintbrush(), Display_separator(), Distort_brush_1_9(), Draw_menu_button(), Draw_paintbrush(), Draw_xor_rect(), Fill_general(), Get_color_behind_window(), Grad_rectangle_0_5(), Hide_cursor(), Hide_paintbrush(), Horizontal_XOR_line_zoom(), Init_mode_video(), Layer_preview_on(), Main_handler(), Move_cursor_with_constraints(), Move_separator(), Move_window(), Open_popup(), Open_window(), Palette_cell_Y(), Pick_color_in_palette(), Pixel_in_menu(), Pixel_preview_magnifier_double(), Pixel_preview_magnifier_quad(), Pixel_preview_magnifier_simple(), Pixel_preview_magnifier_tall(), Pixel_preview_magnifier_tall2(), Pixel_preview_magnifier_tall3(), Pixel_preview_magnifier_triple(), Pixel_preview_magnifier_wide(), Pixel_preview_magnifier_wide2(), Position_screen_according_to_position(), Position_screen_according_to_zoom(), Rightclick_colorpick_0_1(), Scroll_screen(), Update_part_of_screen(), and Vertical_XOR_line_zoom().

◆ Menu_status_Y

◆ Menu_factor_X

GFX2_GLOBAL byte Menu_factor_X

Scaling factor for the menu and all GUI elements.

Referenced by Button_Sieve_menu(), Button_Text(), Button_under_mouse(), Change_palette_cells(), Colorpicker_1_1(), Colorpicker_2_1(), Compute_separator_data(), Display_effect_sprite(), Display_foreback(), Display_grad_block_in_window(), Display_layerbar(), Display_menu(), Display_menu_palette(), Display_menu_palette_avoiding_window(), Display_paintbrush_in_window(), Display_separator(), Display_whole_string(), Display_whole_string_unicode(), Draw_bar_remainder(), Draw_gradient_preview(), Draw_menu_button(), Draw_preset_sieve_patterns(), Draw_sieve_scaled(), Dropdown_activate(), Fill_canvas(), Flush_update(), Frame_menu_color(), Get_color_behind_window(), Init_mode_video(), Init_virtual_keyboard(), Layer_preview_on(), Layer_under_mouse(), Load_image(), Main_handler(), Menu_shade(), Move_window(), Open_popup(), Open_window(), Palette_cell_X(), Pick_color_in_palette(), Pixel_background(), Pixel_in_menu(), Pixel_in_window(), Pre_load(), Print_coordinates(), Print_filename(), Print_general(), Print_general_unicode(), Print_help(), Print_in_menu(), Readline_ex_unicode(), Remap_image_highlevel(), Remap_screen_after_menu_colors_change(), Remap_UI_in_window_backgrounds(), Remap_window_backgrounds(), Remap_zone_highlevel(), Restore_background(), Rightclick_colorpick_2_1(), Save_background(), Set_pixel(), Set_pixel_24b(), Shade_draw_grad_ranges(), Tag_shades(), Update_part_of_screen(), Update_sieve_area(), Update_status_line(), Wait_click_in_palette(), Wait_click_in_shade_table(), Window_click_in_rectangle(), Window_clicked_button(), Window_get_clicked_button(), Window_Histogram(), and Window_rectangle().

◆ Menu_factor_Y

◆ Menu_palette_cell_width

◆ Windows_open

◆ Menu_is_visible_before_window

◆ Menu_Y_before_window

◆ Paintbrush_hidden_before_window

GFX2_GLOBAL byte Paintbrush_hidden_before_window

Backup of Paintbrush_hidden, used to store it while a window is open.

Referenced by Close_popup(), Close_window(), Open_popup(), and Open_window().

◆ Window_stack

GFX2_GLOBAL T_Window Window_stack[8]

◆ Effect_function

◆ Exclude_color

◆ Smear_mode

◆ Smear_start

GFX2_GLOBAL byte Smear_start

Boolean, indicates that a smear is in progress.

Referenced by Centered_lines_12_7(), Draw_paintbrush(), and Init_start_operation().

◆ Smear_brush

GFX2_GLOBAL byte* Smear_brush

Pointer to the sprite to use for smear; it contains pixels from the image.

Referenced by Draw_paintbrush(), Init_program(), Program_shutdown(), and Realloc_brush().

◆ Smear_brush_width

GFX2_GLOBAL word Smear_brush_width

Width of the Smear_brush.

Referenced by Draw_paintbrush(), Init_program(), and Realloc_brush().

◆ Smear_brush_height

GFX2_GLOBAL word Smear_brush_height

Height of the Smear_brush.

Referenced by Init_program(), and Realloc_brush().

◆ Smear_min_X

GFX2_GLOBAL short Smear_min_X

Limits of the smear.

Referenced by Draw_paintbrush().

◆ Smear_max_X

GFX2_GLOBAL short Smear_max_X

Limits of the smear.

Referenced by Draw_paintbrush().

◆ Smear_min_Y

GFX2_GLOBAL short Smear_min_Y

Limits of the smear.

Referenced by Draw_paintbrush().

◆ Smear_max_Y

GFX2_GLOBAL short Smear_max_Y

Limits of the smear.

Referenced by Draw_paintbrush().

◆ Shade_list

◆ Shade_current

◆ Shade_table

◆ Shade_table_left

◆ Shade_table_right

◆ Shade_mode

◆ Quick_shade_mode

◆ Quick_shade_step

GFX2_GLOBAL byte Quick_shade_step

Size of the step, in Quick-shade mode. It's the number of colors to "jump".

Referenced by Button_Quick_shade_menu(), Effect_quick_shade(), Load_CFG(), Save_CFG(), and Set_config_defaults().

◆ Quick_shade_loop

GFX2_GLOBAL byte Quick_shade_loop

Determines how colors should loop in Quick-shade more. Value in enum SHADE_MODES.

Referenced by Button_Quick_shade_menu(), Effect_quick_shade(), Load_CFG(), Save_CFG(), and Set_config_defaults().

◆ Stencil_mode

◆ Stencil

◆ Snap_mode

◆ Show_grid

GFX2_GLOBAL byte Show_grid

Boolean, true when the Grid is displayed in zoomed view.

Referenced by Button_Constraint_menu(), Button_Effects(), Button_Show_grid(), Redraw_grid(), and Update_part_of_screen().

◆ Snap_width

◆ Snap_height

◆ Snap_offset_X

◆ Snap_offset_Y

◆ Sieve_mode

◆ Sieve

GFX2_GLOBAL byte Sieve[16][16]

Sprite of the sieve pattern. It's actually an array of booleans.

Referenced by Button_Sieve_menu(), Copy_preset_sieve(), Draw_sieve_scaled(), Effect_sieve(), and Invert_trame().

◆ Sieve_width

GFX2_GLOBAL short Sieve_width

Width of the sieve pattern, in Sieve mode.

Referenced by Button_Sieve_menu(), Copy_preset_sieve(), Draw_sieve_scaled(), Effect_sieve(), and Invert_trame().

◆ Sieve_height

GFX2_GLOBAL short Sieve_height

Height of the sieve pattern, in Sieve mode.

Referenced by Button_Sieve_menu(), Copy_preset_sieve(), Draw_sieve_scaled(), Effect_sieve(), and Invert_trame().

◆ Colorize_mode

◆ Colorize_opacity

GFX2_GLOBAL byte Colorize_opacity

% of opacity of Colorize mode (for translucency)

Referenced by Button_Colorize_menu(), Compute_colorize_table(), Init_program(), and Transparency_set().

◆ Colorize_current_mode

GFX2_GLOBAL byte Colorize_current_mode

Sets the colorization mode: 0 transparency, 1 additive, 2 substractive.

Referenced by Button_Colorize_menu(), Button_Colorize_mode(), Button_Text(), Init_program(), and Transparency_set().

◆ Factors_table

GFX2_GLOBAL word Factors_table[256]

Table of precomputed factors used by Colorize mode.

It hold 0 to 255 when opacity is 100%, 0 to 128 when opacity is 50%, etc.

Referenced by Compute_colorize_table(), and Effect_interpolated_colorize().

◆ Factors_inv_table

GFX2_GLOBAL word Factors_inv_table[256]

Table of precomputed factors used by Colorize mode.

It hold 255 to 0 when opacity is 100%, 128 to 0 when opacity is 50%, etc.

Referenced by Compute_colorize_table(), and Effect_interpolated_colorize().

◆ Smooth_mode

◆ Smooth_matrix

GFX2_GLOBAL byte Smooth_matrix[3][3]

Matrix of "weights" used by the Smooth mode.

Referenced by Button_Smooth_menu(), Effect_smooth(), Load_CFG(), Save_CFG(), and Set_config_defaults().

◆ Tiling_mode

◆ Tiling_offset_X

GFX2_GLOBAL short Tiling_offset_X

Position of the starting pixel in Tiling mode.

Referenced by Button_Tiling_menu(), Capture_brush(), Capture_brush_with_lasso(), Effect_tiling(), Load_picture(), and Main_handler().

◆ Tiling_offset_Y

GFX2_GLOBAL short Tiling_offset_Y

Position of the starting pixel in Tiling mode.

Referenced by Button_Tiling_menu(), Capture_brush(), Capture_brush_with_lasso(), Effect_tiling(), Load_picture(), and Main_handler().

◆ Mask_mode

◆ Mask_table

GFX2_GLOBAL byte Mask_table[256]

Array of booleans. True if the indexed color is protected by the mask.

Referenced by Button_Mask_menu(), Display_pixel(), Draw_paintbrush(), Load_CFG(), Save_CFG(), and Set_config_defaults().

◆ Selected_Constraint_Mode

GFX2_GLOBAL enum IMAGE_MODES Selected_Constraint_Mode

◆ ZOOM_FACTOR

const byte ZOOM_FACTOR[NB_ZOOM_FACTORS]
extern

Successive zoom factors, used by the Magnifier.

Referenced by Button_Page(), Change_magnifier_factor(), and Zoom().

◆ Gradient_lower_bound

GFX2_GLOBAL short Gradient_lower_bound

◆ Gradient_upper_bound

GFX2_GLOBAL short Gradient_upper_bound

◆ Gradient_is_inverted

GFX2_GLOBAL int Gradient_is_inverted

Boolean, true if the gradient should use colors in descending order.

Referenced by Gradient_basic(), Gradient_dithered(), Gradient_extra_dithered(), and Load_gradient_data().

◆ Gradient_bounds_range

GFX2_GLOBAL long Gradient_bounds_range

◆ Gradient_total_range

GFX2_GLOBAL long Gradient_total_range

Maximum value passed to the gradient function. The pixels assigned this value should use last gradient color.

Referenced by Draw_grad_circle(), Draw_grad_ellipse(), Draw_grad_inscribed_ellipse(), Draw_grad_rectangle(), Draw_gradient_preview(), Gradient_basic(), Gradient_dithered(), and Gradient_extra_dithered().

◆ Gradient_random_factor

GFX2_GLOBAL long Gradient_random_factor

Amount of randomness to use in gradient (1-256+)

Referenced by Gradient_basic(), Gradient_dithered(), Gradient_extra_dithered(), Init_program(), and Load_gradient_data().

◆ Gradient_speed

GFX2_GLOBAL byte Gradient_speed

Gradient speed of cycling (0-64)

◆ Gradient_function

GFX2_GLOBAL Func_gradient Gradient_function

Pointer to a gradient function, depending on the selected method.

Referenced by Draw_grad_circle(), Draw_grad_ellipse(), Draw_grad_inscribed_ellipse(), Draw_grad_rectangle(), Draw_gradient_preview(), Init_program(), and Load_gradient_data().

◆ Gradient_pixel

GFX2_GLOBAL Func_pixel Gradient_pixel

Pointer to the pixel-drawing function that gradients should use: either Pixel (if the gradient must be drawn on menus only) or Display_pixel (if the gradient must be drawn on the image)

Referenced by Button_Gradients(), Gradient_basic(), Gradient_dithered(), Gradient_extra_dithered(), and Init_program().

◆ Current_gradient

◆ Cycling_mode

GFX2_GLOBAL byte Cycling_mode

Boolean, true when the color cycling is active.

Referenced by Button_Gradients(), Color_cycling(), Init_program(), and Main_handler().

◆ Airbrush_mode

GFX2_GLOBAL byte Airbrush_mode

Mode to use in airbrush: 0 for multicolor, 1 for mono.

Referenced by Airbrush(), Button_Airbrush_menu(), and Init_program().

◆ Airbrush_size

GFX2_GLOBAL short Airbrush_size

Diameter of the airbrush, in pixels.

Referenced by Airbrush(), Button_Airbrush_menu(), and Init_program().

◆ Airbrush_delay

◆ Airbrush_mono_flow

GFX2_GLOBAL byte Airbrush_mono_flow

Number of pixels that are emitted by the airbrush, in mono mode.

Referenced by Airbrush(), Button_Airbrush_menu(), and Init_program().

◆ Airbrush_multi_flow

GFX2_GLOBAL byte Airbrush_multi_flow[256]

Number of pixels that are emitted by the airbrush for each color (multi mode)

Referenced by Airbrush(), Button_Airbrush_menu(), Init_program(), and Refresh_airbrush_settings().

◆ Quitting

GFX2_GLOBAL byte Quitting

– Misc data about the program

Boolean, set to true to exit the program.

Referenced by Button_Quit(), Init_program(), and Main_handler().

◆ Initial_directory

GFX2_GLOBAL char* Initial_directory

Name of the directory that was current when the program was run.

Referenced by Init_program(), and Program_shutdown().

◆ Data_directory

GFX2_GLOBAL char* Data_directory

Name of the directory that holds the program's (read-only) data: skins, icon, etc.

Referenced by Button_Load_or_Save(), Button_Skins(), Define_icon(), Init_program(), Init_text(), Load_font(), Load_graphics(), Load_INI(), Load_Unicode_fonts(), Program_shutdown(), and Save_INI().

◆ Config_directory

GFX2_GLOBAL char* Config_directory

Name of the directory where grafx2 reads and writes configuration (gfx2.ini, gfx2.cfg)

Referenced by Check_recovery(), Delete_safety_backups(), Emergency_backup(), Error_function(), Init_program(), Init_text(), Load_CFG(), Load_INI(), Process_backups(), Program_shutdown(), Rotate_safety_backups(), Save_CFG(), and Save_INI().

◆ Fore_color

◆ Back_color

GFX2_GLOBAL byte Back_color

Current background color for drawing.

Referenced by Airbrush(), Button_Clear_with_backcolor(), Button_Constraint_menu(), Button_Invert_foreback(), Button_Layer_get_transparent(), Button_Layer_set_transparent(), Button_Load_or_Save(), Button_Palette(), Button_Select_backcolor(), Button_Sieve_menu(), Button_Text(), Capture_brush(), Capture_brush_with_lasso(), Centered_lines_0_3(), Centered_lines_0_7(), Centered_lines_12_7(), Circle_12_0(), Colorpicker_2_1(), Compute_quad_texture(), Curve_34_points_2_0(), Curve_34_points_2_5(), Display_foreback(), Display_menu_palette(), Display_paintbrush(), Distort_brush(), Draw_brush_linear_distort(), Draw_paintbrush(), Draw_quad_texture_preview(), Effect_quick_shade(), Ellipse_12_0(), Fill_2_0(), Filled_polyform_12_0(), Frame_menu_color(), Freehand_mode1_2_0(), Freehand_mode1_2_2(), Freehand_mode2_2_0(), Freehand_mode2_2_2(), Freehand_Mode3_2_0(), Grad_circle_0_6(), Grad_circle_12_0(), Grad_ellipse_0_6(), Grad_ellipse_12_0(), Hide_paintbrush(), Init_context_brush(), Init_program(), K_line_12_0(), Line_12_0(), Line_12_5(), Load_image(), Load_PKM(), Nibble_brush(), Outline_brush(), Polyfill_12_0(), Polyform_12_0(), Polygon_12_0(), Realloc_brush(), Rectangle_12_0(), Remap_brush(), Render_text_SFont(), Render_text_TTF(), Replace_2_0(), Save_PKM(), Set_back_color(), Special_next_backcolor(), Special_next_user_backcolor(), Special_previous_backcolor(), Special_previous_user_backcolor(), Store_brush(), Store_paintbrush(), and Stretch_brush_preview().

◆ Selected_freehand_mode

GFX2_GLOBAL byte Selected_freehand_mode

For the "Freehand draw" tool, this determines which variant is selected, from OPERATION_CONTINUOUS_DRAW to OPERATION_FILLED_CONTOUR.

Referenced by Button_Draw(), Button_Draw_switch_mode(), and Init_program().

◆ Selected_curve_mode

GFX2_GLOBAL byte Selected_curve_mode

For the Curve tool, this determines which variant is selected, either OPERATION_3_POINTS_CURVE or OPERATION_4_POINTS_CURVE.

Referenced by Button_Curves(), Button_Curves_switch_mode(), and Init_program().

◆ Selected_line_mode

GFX2_GLOBAL byte Selected_line_mode

For the Line tool, this determines which variant is selected, either OPERATION_LINE, OPERATION_K_LINE or OPERATION_CENTERED_LINES.

Referenced by Button_Lines(), Button_Lines_switch_mode(), Display_grad_block_in_window(), and Init_program().

◆ Selected_circle_ellipse_mode

GFX2_GLOBAL byte Selected_circle_ellipse_mode

Select which kind of Circle/ellipse mode is selected from 0 to 3 : CIRCLE_CTR/CIRCLE_CRN/ELLIPSE_CTR/ELLIPSE_CRN.

Referenced by Button_circle_ellipse(), Button_Circle_switch_mode(), Draw_grad_inscribed_ellipse(), Draw_inscribed_ellipse_general(), Ellipse_12_5(), Empty_ellipse_0_5(), Filled_ellipse_0_5(), Grad_ellipse_0_6(), Grad_ellipse_12_6(), and Grad_ellipse_12_8().

◆ First_color_in_palette

◆ Resolution_in_command_line

GFX2_GLOBAL byte Resolution_in_command_line

Boolean, true if Grafx2 was run with a command-line argument to set a resolution on startup (overrides config)

Referenced by Analyze_command_line(), Button_Reload(), and Init_program().

◆ Menu_font

GFX2_GLOBAL byte* Menu_font

Pointer to the font selected for menus.

Referenced by Button_Skins(), Get_font_character_pixel(), Init_program(), Print_general(), and Program_shutdown().

◆ Unicode_fonts

GFX2_GLOBAL T_Unicode_Font* Unicode_fonts

additional fonts for unicode characters

Referenced by Get_font_character_pixel(), Load_Unicode_font(), and Program_shutdown().

◆ Gfx

◆ Paintbrush

◆ Current_help_section

GFX2_GLOBAL byte Current_help_section

Index of the Help_section shown by the Help screen.

Referenced by Display_help(), Init_program(), and Window_help().

◆ Help_position

GFX2_GLOBAL word Help_position

Line number of the help viewer, in current Help_section. 0 for top, increase value to scroll down.

Referenced by Display_help(), Init_program(), Scroll_help(), and Window_help().

◆ Operation_before_interrupt

GFX2_GLOBAL word Operation_before_interrupt

Index of the operation which was selected (ex: drawing rectangle) before the current interruption (ex: colorpicking).

Referenced by Button_Colorpicker(), Button_Unselect_brush(), Button_Unselect_colorpicker(), Button_Unselect_lasso(), Button_Unselect_magnifier(), Magnifier_12_0(), Rightclick_colorpick_0_1(), Rotate_brush_12_0(), Start_operation_stack(), and Stretch_brush_12_0().

◆ Current_operation

◆ Operation_stack

This stack is used to memorize all parameters needed during the course of an operation.

For example when drawing a rectangle: color, starting coordinates, ending coordinates.

Referenced by Distort_brush_1_0(), Operation_pop(), and Operation_push().

◆ Operation_stack_size

◆ Operation_in_magnifier

GFX2_GLOBAL byte Operation_in_magnifier

Boolean, true if the operation (drawing) started in the magnified area.

Referenced by Init_start_operation(), and Move_cursor_with_constraints().

◆ Colorpicker_color

◆ Colorpicker_X

GFX2_GLOBAL short Colorpicker_X

Position of the colorpicker tool, in image coordinates.

Referenced by Colorpicker_1_1(), Colorpicker_2_1(), Print_coordinates(), Rightclick_colorpick(), and Rightclick_colorpick_2_1().

◆ Colorpicker_Y

GFX2_GLOBAL short Colorpicker_Y

Position of the colorpicker tool, in image coordinates.

Referenced by Colorpicker_1_1(), Colorpicker_2_1(), Print_coordinates(), Rightclick_colorpick(), and Rightclick_colorpick_2_1().

◆ Polyfill_table_of_points

◆ Polyfill_number_of_points

◆ Brush_container

◆ CURSOR_FOR_OPERATION

const byte CURSOR_FOR_OPERATION[NB_OPERATIONS]
extern

Cursor_shape to use for each operation.

Referenced by Start_operation_stack().

◆ Action

Func_action Action

Function to call.

◆ Hide_cursor

byte Hide_cursor ( void  )

Boolean: Need to hide/unhide cursor during this step.

Referenced by Airbrush(), Airbrush_12_2(), Bigger_paintbrush(), Brush_0_5(), Button_Adjust(), Button_Airbrush(), Button_Airbrush_menu(), Button_Anim_continuous_next(), Button_Anim_continuous_prev(), Button_Anim_first_frame(), Button_Anim_last_frame(), Button_Anim_next_frame(), Button_Anim_prev_frame(), Button_Anim_time(), Button_Autosave(), Button_Brush(), Button_Brush_container(), Button_Brush_FX(), Button_Brush_monochrome(), Button_circle_ellipse(), Button_Circle_switch_mode(), Button_Clear(), Button_Clear_with_backcolor(), Button_Colorize_menu(), Button_Colorpicker(), Button_Constraint_menu(), Button_Copy_page(), Button_Curves(), Button_Curves_switch_mode(), Button_Draw(), Button_Draw_switch_mode(), Button_Effects(), Button_Empty_rectangle(), Button_Fill(), Button_Filled_polyform(), Button_Filled_rectangle(), Button_Grad_rectangle(), Button_Gradients(), Button_Grid_menu(), Button_Hide_menu(), Button_Invert_foreback(), Button_Kill(), Button_Lasso(), Button_Layer_add(), Button_Layer_down(), Button_Layer_duplicate(), Button_Layer_get_transparent(), Button_Layer_menu(), Button_Layer_merge(), Button_Layer_remove(), Button_Layer_set_transparent(), Button_Layer_up(), Button_Lines(), Button_Lines_switch_mode(), Button_Load_or_Save(), Button_Magnify(), Button_Magnify_menu(), Button_Page(), Button_Paintbrush_menu(), Button_Pal_left(), Button_Pal_left_fast(), Button_Pal_right(), Button_Pal_right_fast(), Button_Palette(), Button_Polyfill(), Button_Polyform(), Button_polygon(), Button_Quick_shade_menu(), Button_Quit(), Button_Quit_local_function(), Button_Redo(), Button_Reload(), Button_Replace(), Button_Resolution(), Button_Restore_brush(), Button_Safety_resolution(), Button_Secondary_palette(), Button_Select_backcolor(), Button_Select_forecolor(), Button_Settings(), Button_Show_grid(), Button_Sieve_menu(), Button_Skins(), Button_Smooth_menu(), Button_Snap_mode(), Button_Text(), Button_Tilemap_menu(), Button_Toggle_all_toolbars(), Button_Toggle_toolbar(), Button_Transform_menu(), Button_Undo(), Centered_lines_0_7(), Centered_lines_12_7(), Circle_12_5(), Close_popup(), Close_window(), Colorpicker_1_1(), Colorpicker_2_1(), Curve_34_points_1_5(), Curve_34_points_2_5(), Curve_3_points_0_5(), Curve_4_points_1_9(), Curve_4_points_2_9(), Curve_drag(), Curve_finalize(), Distort_brush_1_0(), Distort_brush_1_9(), Draw_all_palette_sliders(), Dropdown_activate(), Ellipse_12_5(), Empty_rectangle_0_5(), Fill_1_0(), Fill_2_0(), Fill_general(), Filled_contour_0_8(), Filled_polyform_0_8(), Filled_polyform_12_8(), Filled_rectangle_0_5(), Freehand_mode1_1_2(), Freehand_mode1_2_2(), Freehand_mode2_1_2(), Freehand_mode2_2_2(), Get_color_behind_window(), Get_colors_from_brush(), Grad_circle_12_6(), Grad_circle_12_8(), Grad_ellipse_12_6(), Grad_ellipse_12_8(), Grad_rectangle_0_5(), Grad_rectangle_0_9(), Handle_mouse_btn_change(), Init_program(), Init_virtual_keyboard(), K_line_12_6(), K_line_12_7(), Layer_activate(), Line_12_5(), Load_image(), Load_picture(), Main_handler(), Menu_shade(), Menu_tag_colors(), Move_cursor_with_constraints(), Move_separator(), Move_window(), Open_window(), Pan_view_0_0(), Pan_view_0_2(), Polybrush_12_8(), Polyfill_12_8(), Polyfill_12_9(), Polyform_0_8(), Polyform_12_8(), Polygon_12_9(), Quicksearch_list(), Readline_ex_unicode(), Redefine_control(), Reduce_palette(), Replace_1_0(), Replace_2_0(), Resize_image(), Return_to_draw_mode(), Rightclick_colorpick(), Rightclick_colorpick_0_1(), Rotate_brush_0_5(), Save_MOTO_window(), Save_picture(), Scroll_help(), Scroll_list_of_modes(), Scroll_magnifier(), Scroll_screen(), Select_button(), Set_nice_menu_colors(), Smaller_paintbrush(), Special_next_backcolor(), Special_next_forecolor(), Special_next_user_backcolor(), Special_next_user_forecolor(), Special_previous_backcolor(), Special_previous_forecolor(), Special_previous_user_backcolor(), Special_previous_user_forecolor(), Stretch_brush_1_7(), Tilemap_update(), Update_color_count(), Wait_click_in_palette(), Wait_click_in_shade_table(), Window_clicked_button(), Window_dropdown_on_click(), Window_get_button_shortcut(), Window_get_clicked_button(), Window_help(), Window_Histogram(), Window_normal_button_onclick(), Window_set_shortcut(), Zoom(), and Zoom_set().

◆ Fast_mouse

byte Fast_mouse

Operation should take shortcuts with mouse movements.

◆ 

GFX2_GLOBAL struct { ... } Operation[NB_OPERATIONS][3][OPERATION_STACK_SIZE]

Procedures to call for each state (determined by Operation_stack_size) of each operation, and for each mouse state (no button,left button,right button)

Referenced by Init_operation(), Main_handler(), and Move_cursor_with_constraints().

◆ File_error

GFX2_GLOBAL signed char File_error

Indicator of error in previous file operations.

  • 0: OK
  • 1: Error when beginning operation. Existing data should be ok.
  • 2: Error while operation was in progress. Data is modified.
  • -1: Interruption of a preview.

Referenced by Backup_existing_file(), Button_Autosave(), Button_Quit_local_function(), Button_Reload(), Emergency_backup(), GIF_empty_buffer(), GIF_get_next_code(), Init_program(), LBM_Decode(), Load_2GS(), Load_BMP(), Load_BMP_Palette(), Load_BMP_Pixels(), Load_C64(), Load_CA1(), Load_CEL(), Load_ClipBoard_Image(), Load_CM5(), Load_FLI(), Load_FLI_Header(), Load_GIF(), Load_GOS(), Load_GPL(), Load_GPX(), Load_GRB(), Load_HGR(), Load_ICO(), Load_IFF(), Load_image(), Load_IMG(), Load_INFO(), Load_KCF(), Load_MOTO(), Load_MSX(), Load_NEO(), Load_PAL(), Load_PC1(), Load_PCX(), Load_PI1(), Load_picture(), Load_PKM(), Load_PNG(), Load_PNG_Sub(), Load_PPH(), Load_PRG(), Load_Recoil_Image(), Load_SCR(), Load_SCx(), Load_SGX(), Load_TIFF(), Load_TIFF_image(), Load_TIFF_Sub(), Load_TNY(), Main_handler(), PBM_Decode(), PNG_memory_write(), Pre_load(), RAST_chunk_decode(), Save_2GS(), Save_BMP(), Save_C64(), Save_C64_fli(), Save_C64_fli_monolayer(), Save_C64_hires(), Save_C64_multi(), Save_CA1(), Save_CEL(), Save_ClipBoard_Image(), Save_CM5(), Save_GIF(), Save_GOS(), Save_GPL(), Save_HGR(), Save_ICO(), Save_IFF(), Save_image(), Save_IMG(), Save_KCF(), Save_MOTO(), Save_MSX(), Save_NEO(), Save_PAL(), Save_PC1(), Save_PCX(), Save_PI1(), Save_picture(), Save_PKM(), Save_PNG(), Save_PNG_Sub(), Save_PRG(), Save_SCR(), Save_SCx(), Save_SGX(), Save_TIFF(), Save_TIFF_Sub(), Save_TNY(), Save_XPM(), Set_pixel(), Test_2GS(), Test_BMP(), Test_C64(), Test_C64_Formats(), Test_CA1(), Test_CEL(), Test_CM5(), Test_FLI(), Test_Formats(), Test_GIF(), Test_GOS(), Test_GPL(), Test_GPX(), Test_GRB(), Test_HGR(), Test_ICO(), Test_IFF(), Test_IMG(), Test_INFO(), Test_KCF(), Test_Load(), Test_MOTO(), Test_MSX(), Test_NEO(), Test_PAL(), Test_PC1(), Test_PCX(), Test_PI1(), Test_PKM(), Test_PNG(), Test_PPH(), Test_PRG(), Test_Save(), Test_SCR(), Test_SCx(), Test_SGX(), Test_TIFF(), and Test_TNY().

◆ Line_number_in_INI_file

GFX2_GLOBAL int Line_number_in_INI_file

Current line number when reading/writing gfx2.ini.

Referenced by Error_function(), Load_INI(), Load_INI_get_string(), Load_INI_get_values(), and Load_INI_reach_group().

◆ Portable_Installation_Detected

GFX2_GLOBAL byte Portable_Installation_Detected

Set to true when the .cfg and .ini files are along the executable.

Referenced by Display_bookmark(), and Get_config_directory().