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

Constants (preprocessor defines) and enumerations used anywhere. More...

+ This graph shows which files directly or indirectly include this file:

Macros

#define M_2PI   6.28318530717958647692528676656
 Hmm, pie... More...
 
#define VERSION1   2
 Version number for gfx2.cfg (1/4) More...
 
#define VERSION2   0
 Version number for gfx2.cfg (2/4) More...
 
#define BETA1   98
 Version number for gfx2.cfg (3/4) More...
 
#define BETA2   0
 Version number for gfx2.cfg (4/4) More...
 
#define MAX_VIDEO_MODES   200
 Maximum number of video modes Grafx2 can propose. More...
 
#define NB_ZOOM_FACTORS   15
 Number of zoom levels available in the magnifier. More...
 
#define MENU_WIDTH   254
 Width of the menu (not counting the palette) More...
 
#define MENU_HEIGHT   44
 Height of the menu. More...
 
#define NB_CURSOR_SPRITES   9
 Number of available mouse cursor sprites. More...
 
#define CURSOR_SPRITE_WIDTH   16
 Width of a mouse cursor sprite. More...
 
#define CURSOR_SPRITE_HEIGHT   16
 Height of a mouse cursor sprite. More...
 
#define MENU_SPRITE_WIDTH   16
 Width of a menu sprite in pixels. More...
 
#define MENU_SPRITE_HEIGHT   16
 Height of a menu sprite in pixels. More...
 
#define EFFECT_SPRITE_WIDTH   14
 Width of an effect sprite in pixels. More...
 
#define EFFECT_SPRITE_HEIGHT   14
 Height of an effect sprite in pixels. More...
 
#define LAYER_SPRITE_WIDTH   14
 Width of a layer button in pixels. More...
 
#define LAYER_SPRITE_HEIGHT   10
 Height of a layer button in pixels. More...
 
#define PAINTBRUSH_WIDTH   16
 Width of a preset paintbrush sprite. More...
 
#define PAINTBRUSH_HEIGHT   16
 Height of a preset paintbrush sprite. More...
 
#define MAX_PAINTBRUSH_SIZE   127
 Max size for a resizable paintbrush. More...
 
#define ICON_SPRITE_WIDTH   8
 Width of an icon in pixels. More...
 
#define ICON_SPRITE_HEIGHT   8
 Height of an icon in pixels. More...
 
#define NB_PAINTBRUSH_SPRITES   48
 Number of preset paintbrushes. More...
 
#define NB_PRESET_SIEVE   12
 Number of preset sieve patterns. More...
 
#define OPERATION_STACK_SIZE   16
 Max number of parameters in the operation stack. More...
 
#define MAX_DISPLAYABLE_PATH   37
 Max number of characters to display directory name, in Save/Load screens. More...
 
#define COMMENT_SIZE   32
 Max number of characters for a comment in PKM or PNG file. More...
 
#define NB_MAX_PAGES_UNDO   99
 Max number of undo pages. More...
 
#define DEFAULT_ZOOM_FACTOR   4
 Initial zoom factor for the magnifier. More...
 
#define MAX_PATH_CHARACTERS   PATH_MAX
 Number of characters for a file+complete path. Adapt to your OS... More...
 
#define NB_BOOKMARKS   4
 Number of bookmark buttons in Save/Load screen. More...
 
#define RIGHT_TRIANGLE_CHARACTER   16
 
#define LEFT_TRIANGLE_CHARACTER   17
 
#define ELLIPSIS_CHARACTER   '\x85'
 Character to display in menus for an ellipsis. More...
 
#define NB_LAYERS   1
 Initial number of layers for a new image. More...
 
#define MAX_NB_FRAMES   999
 Maximum number of frames that can be used in a grafx2 animation. More...
 
#define MAX_NB_LAYERS   16
 Maximum number of layers that can be used in grafx2. Note that 32 is upper limit because of a few bit fields. More...
 
#define BRUSH_CONTAINER_PREVIEW_WIDTH   16
 Size for preview of a brush in Brush container. More...
 
#define BRUSH_CONTAINER_PREVIEW_HEIGHT   16
 Size for preview of a brush in Brush container. More...
 
#define BRUSH_CONTAINER_COLUMNS   4
 Number of columns in the Brush container. More...
 
#define BRUSH_CONTAINER_ROWS   3
 Number of rows in the Brush container. More...
 
#define MINIMAL_MEMORY_TO_RESERVE   (256*1024)
 We force the dynamic backup page allocation to leave a minimum of 256Kb of free memory, to allow the rest of the program to work safely. More...
 
#define LEFT_SIDE   1
 Indicates a left side or left-click. More...
 
#define RIGHT_SIDE   2
 Indicates a right side or right-click. More...
 
#define SEPARATOR_WIDTH   6
 Width of the separator between the normal and the zoomed view. More...
 
#define INITIAL_SEPARATOR_PROPORTION   0.3f
 Proportion of the normal view width, relative to the whole screen width. More...
 
#define NB_ZOOMED_PIXELS_MIN   4
 Minimal number of pixel shown (in width) by the zoomed view. (Note: below 4, you can't scroll!) More...
 
#define PARENT_DIR   ".."
 Filename that means "parent directory" for your operating system. More...
 
#define DEFAULT_FILEFORMAT   FORMAT_GIF
 Default format for 'save as'. More...
 
#define BUTTON_RELEASED   0
 Normal resting state for a menu button. More...
 
#define BUTTON_PRESSED   1
 State of a menu button that is being pressed. More...
 
#define BUTTON_HIGHLIGHTED   2
 State of a button temporarily highligted. More...
 
#define MASK_CIRCLE_ELLIPSE   (2)
 Circle / Ellipse Modes. More...
 
#define MASK_CENTER_CORNERS   (1)
 
#define MODE_CIRCLE   (0)
 
#define MODE_ELLIPSE   (2)
 
#define MODE_CENTER   (0)
 
#define MODE_CORNERS   (1)
 
#define MODE_CIRCLE_CTR   (MODE_CIRCLE|MODE_CENTER)
 
#define MODE_CIRCLE_CRN   (MODE_CIRCLE|MODE_CORNERS)
 
#define MODE_ELLIPSE_CTR   (MODE_ELLIPSE|MODE_CENTER)
 
#define MODE_ELLIPSE_CRN   (MODE_ELLIPSE|MODE_CORNERS)
 

Enumerations

enum  FILE_FORMATS {
  FORMAT_ALL_IMAGES =0 , FORMAT_ALL_PALETTES =1 , FORMAT_ALL_FILES =2 , FORMAT_PNG ,
  FORMAT_GIF , FORMAT_BMP , FORMAT_PCX , FORMAT_PKM ,
  FORMAT_LBM , FORMAT_PBM , FORMAT_ACBM , FORMAT_IMG ,
  FORMAT_SCx , FORMAT_PI1 , FORMAT_PC1 , FORMAT_CA1 ,
  FORMAT_CEL , FORMAT_NEO , FORMAT_TNY , FORMAT_C64 ,
  FORMAT_PRG , FORMAT_GPX , FORMAT_KCF , FORMAT_PAL ,
  FORMAT_GPL , FORMAT_SCR , FORMAT_CM5 , FORMAT_PPH ,
  FORMAT_GOS , FORMAT_SGX , FORMAT_XPM , FORMAT_ICO ,
  FORMAT_INFO , FORMAT_FLI , FORMAT_MOTO , FORMAT_HGR ,
  FORMAT_2GS , FORMAT_TIFF , FORMAT_GRB , FORMAT_MSX ,
  FORMAT_MISC , FORMAT_CLIPBOARD
}
 List of file formats recognized by grafx2. More...
 
enum  ERROR_CODES {
  ERROR_WARNING =0 , ERROR_GUI_MISSING , ERROR_GUI_CORRUPTED , ERROR_INI_MISSING ,
  ERROR_CFG_MISSING , ERROR_CFG_CORRUPTED , ERROR_CFG_OLD , ERROR_MEMORY ,
  ERROR_COMMAND_LINE , ERROR_FORBIDDEN_MODE , ERROR_FORBIDDEN_SIZE , ERROR_SAVING_CFG ,
  ERROR_MISSING_DIRECTORY , ERROR_INI_CORRUPTED , ERROR_SAVING_INI , ERROR_INIT ,
  ERROR_SORRY_SORRY_SORRY
}
 Error codes for Error() More...
 
enum  PIXEL_RATIO {
  PIXEL_SIMPLE =0 , PIXEL_WIDE , PIXEL_TALL , PIXEL_DOUBLE ,
  PIXEL_TRIPLE , PIXEL_WIDE2 , PIXEL_TALL2 , PIXEL_TALL3 ,
  PIXEL_QUAD , PIXEL_MAX
}
 Available pixel scalers. More...
 
enum  FAMILY_OF_BUTTONS {
  FAMILY_TOOL =1 , FAMILY_INTERRUPTION , FAMILY_INSTANT , FAMILY_TOOLBAR ,
  FAMILY_EFFECTS
}
 Different kinds of menu button behavior. More...
 
enum  BUTTON_SHAPES { BUTTON_SHAPE_NO_FRAME , BUTTON_SHAPE_RECTANGLE , BUTTON_SHAPE_TRIANGLE_TOP_LEFT , BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT }
 The different kinds of buttons in menus or windows. More...
 
enum  CURSOR_SHAPES {
  CURSOR_SHAPE_ARROW , CURSOR_SHAPE_TARGET , CURSOR_SHAPE_COLORPICKER , CURSOR_SHAPE_HOURGLASS ,
  CURSOR_SHAPE_MULTIDIRECTIONAL , CURSOR_SHAPE_HORIZONTAL , CURSOR_SHAPE_THIN_TARGET , CURSOR_SHAPE_THIN_COLORPICKER ,
  CURSOR_SHAPE_BUCKET , CURSOR_SHAPE_XOR_TARGET , CURSOR_SHAPE_XOR_RECTANGLE , CURSOR_SHAPE_XOR_ROTATION
}
 The different "mouse cursor" shapes. More...
 
enum  PAINTBRUSH_SHAPES {
  PAINTBRUSH_SHAPE_ROUND , PAINTBRUSH_SHAPE_SQUARE , PAINTBRUSH_SHAPE_HORIZONTAL_BAR , PAINTBRUSH_SHAPE_VERTICAL_BAR ,
  PAINTBRUSH_SHAPE_SLASH , PAINTBRUSH_SHAPE_ANTISLASH , PAINTBRUSH_SHAPE_RANDOM , PAINTBRUSH_SHAPE_CROSS ,
  PAINTBRUSH_SHAPE_PLUS , PAINTBRUSH_SHAPE_DIAMOND , PAINTBRUSH_SHAPE_SIEVE_ROUND , PAINTBRUSH_SHAPE_SIEVE_SQUARE ,
  PAINTBRUSH_SHAPE_RESERVED1 , PAINTBRUSH_SHAPE_RESERVED2 , PAINTBRUSH_SHAPE_RESERVED3 , PAINTBRUSH_SHAPE_RESERVED4 ,
  PAINTBRUSH_SHAPE_RESERVED5 , PAINTBRUSH_SHAPE_RESERVED6 , PAINTBRUSH_SHAPE_RESERVED7 , PAINTBRUSH_SHAPE_RESERVED8 ,
  PAINTBRUSH_SHAPE_MISC , PAINTBRUSH_SHAPE_POINT , PAINTBRUSH_SHAPE_NONE , PAINTBRUSH_SHAPE_COLOR_BRUSH ,
  PAINTBRUSH_SHAPE_MONO_BRUSH , PAINTBRUSH_SHAPE_MAX
}
 The different shapes that can be used as a paintbrush (paintbrush types go in the beginning) More...
 
enum  SHADE_MODES { SHADE_MODE_NORMAL , SHADE_MODE_LOOP , SHADE_MODE_NOSAT }
 The different modes of the Shade. More...
 
enum  CHUNKS_CFG {
  CHUNK_KEYS = 0 , CHUNK_VIDEO_MODES = 1 , CHUNK_SHADE = 2 , CHUNK_MASK = 3 ,
  CHUNK_STENCIL = 4 , CHUNK_GRADIENTS = 5 , CHUNK_SMOOTH = 6 , CHUNK_EXCLUDE_COLORS = 7 ,
  CHUNK_QUICK_SHADE = 8 , CHUNK_GRID = 9 , CHUNK_BRUSH =10 , CHUNK_SCRIPTS =11 ,
  CHUNK_MAX
}
 Identifiers for the chunks (data blocks) of gfx2.cfg. More...
 
enum  ICON_TYPES {
  ICON_FLOPPY_3_5 =0 , ICON_FLOPPY_5_25 , ICON_HDD , ICON_CDROM ,
  ICON_NETWORK , ICON_STAR , ICON_DROPDOWN , NB_ICON_SPRITES ,
  ICON_NONE
}
 Identifiers for the 8x8 icons of Gfx->Icon_sprite (most are unused now) More...
 
enum  EFFECT_SPRITES {
  EFFECTS_SPRITE_SHADE , EFFECTS_SPRITE_TRANSP , EFFECTS_SPRITE_SMOOTH , EFFECTS_SPRITE_TILING ,
  EFFECTS_SPRITE_STENCIL , EFFECTS_SPRITE_SIEVE , EFFECTS_SPRITE_GRID , EFFECTS_SPRITE_MASK ,
  EFFECTS_SPRITE_SMEAR , EFFECTS_SPRITE_8BIT , NB_EFFECTS_SPRITES
}
 
enum  BUTTON_NUMBERS {
  BUTTON_HIDE = 0 , BUTTON_LAYER_MENU2 , BUTTON_ANIM_TIME , BUTTON_ANIM_FIRST_FRAME ,
  BUTTON_ANIM_PREV_FRAME , BUTTON_ANIM_NEXT_FRAME , BUTTON_ANIM_LAST_FRAME , BUTTON_ANIM_ADD_FRAME ,
  BUTTON_ANIM_REMOVE_FRAME , BUTTON_ANIM_UP_FRAME , BUTTON_ANIM_DOWN_FRAME , BUTTON_ANIM_PLAY ,
  BUTTON_LAYER_MENU , BUTTON_LAYER_COLOR , BUTTON_LAYER_MERGE , BUTTON_LAYER_ADD ,
  BUTTON_LAYER_REMOVE , BUTTON_LAYER_UP , BUTTON_LAYER_DOWN , BUTTON_LAYER_SELECT ,
  BUTTON_PAINTBRUSHES , BUTTON_ADJUST , BUTTON_DRAW , BUTTON_CURVES ,
  BUTTON_LINES , BUTTON_AIRBRUSH , BUTTON_FLOODFILL , BUTTON_POLYGONS ,
  BUTTON_POLYFILL , BUTTON_RECTANGLES , BUTTON_FILLRECT , BUTTON_CIRCLES ,
  BUTTON_FILLCIRC , BUTTON_GRADRECT , BUTTON_SPHERES , BUTTON_BRUSH ,
  BUTTON_POLYBRUSH , BUTTON_BRUSH_EFFECTS , BUTTON_EFFECTS , BUTTON_TEXT ,
  BUTTON_MAGNIFIER , BUTTON_COLORPICKER , BUTTON_RESOL , BUTTON_PAGE ,
  BUTTON_SAVE , BUTTON_LOAD , BUTTON_SETTINGS , BUTTON_CLEAR ,
  BUTTON_HELP , BUTTON_UNDO , BUTTON_KILL , BUTTON_QUIT ,
  BUTTON_PALETTE , BUTTON_PAL_LEFT , BUTTON_PAL_RIGHT , BUTTON_CHOOSE_COL ,
  NB_BUTTONS
}
 Identifiers for the buttons in the menu. More...
 
enum  MENU_SPRITE {
  MENU_SPRITE_COLOR_BRUSH =0 , MENU_SPRITE_MONO_BRUSH , MENU_SPRITE_DISCONTINUOUS_DRAW , MENU_SPRITE_POINT_DRAW ,
  MENU_SPRITE_CONTOUR_DRAW , MENU_SPRITE_4_POINTS_CURVE , MENU_SPRITE_K_LINE , MENU_SPRITE_CENTERED_LINES ,
  MENU_SPRITE_ELLIPSES , MENU_SPRITE_POLYFORM , MENU_SPRITE_REPLACE , MENU_SPRITE_GRAD_ELLIPSE ,
  MENU_SPRITE_VERTICAL_PALETTE_SCROLL , NB_MENU_SPRITES
}
 
enum  SPECIAL_ACTIONS {
  SPECIAL_MOUSE_UP =0 , SPECIAL_MOUSE_DOWN , SPECIAL_MOUSE_LEFT , SPECIAL_MOUSE_RIGHT ,
  SPECIAL_CLICK_LEFT , SPECIAL_CLICK_RIGHT , SPECIAL_NEXT_FORECOLOR , SPECIAL_PREVIOUS_FORECOLOR ,
  SPECIAL_NEXT_BACKCOLOR , SPECIAL_PREVIOUS_BACKCOLOR , SPECIAL_SMALLER_PAINTBRUSH , SPECIAL_BIGGER_PAINTBRUSH ,
  SPECIAL_NEXT_USER_FORECOLOR , SPECIAL_PREVIOUS_USER_FORECOLOR , SPECIAL_NEXT_USER_BACKCOLOR , SPECIAL_PREVIOUS_USER_BACKCOLOR ,
  SPECIAL_SCROLL_UP , SPECIAL_SCROLL_DOWN , SPECIAL_SCROLL_LEFT , SPECIAL_SCROLL_RIGHT ,
  SPECIAL_SCROLL_UP_FAST , SPECIAL_SCROLL_DOWN_FAST , SPECIAL_SCROLL_LEFT_FAST , SPECIAL_SCROLL_RIGHT_FAST ,
  SPECIAL_SCROLL_UP_SLOW , SPECIAL_SCROLL_DOWN_SLOW , SPECIAL_SCROLL_LEFT_SLOW , SPECIAL_SCROLL_RIGHT_SLOW ,
  SPECIAL_SHOW_HIDE_CURSOR , SPECIAL_DOT_PAINTBRUSH , SPECIAL_CONTINUOUS_DRAW , SPECIAL_FLIP_X ,
  SPECIAL_FLIP_Y , SPECIAL_ROTATE_90 , SPECIAL_ROTATE_180 , SPECIAL_STRETCH ,
  SPECIAL_DISTORT , SPECIAL_OUTLINE , SPECIAL_NIBBLE , SPECIAL_GET_BRUSH_COLORS ,
  SPECIAL_RECOLORIZE_BRUSH , SPECIAL_ROTATE_ANY_ANGLE , SPECIAL_BRUSH_DOUBLE , SPECIAL_BRUSH_DOUBLE_WIDTH ,
  SPECIAL_BRUSH_DOUBLE_HEIGHT , SPECIAL_BRUSH_HALVE , SPECIAL_LOAD_BRUSH , SPECIAL_SAVE_BRUSH ,
  SPECIAL_INVERT_SIEVE , SPECIAL_ZOOM_IN , SPECIAL_ZOOM_OUT , SPECIAL_CENTER_ATTACHMENT ,
  SPECIAL_TOP_LEFT_ATTACHMENT , SPECIAL_TOP_RIGHT_ATTACHMENT , SPECIAL_BOTTOM_LEFT_ATTACHMENT , SPECIAL_BOTTOM_RIGHT_ATTACHMENT ,
  SPECIAL_EXCLUDE_COLORS_MENU , SPECIAL_SHADE_MODE , SPECIAL_SHADE_MENU , SPECIAL_QUICK_SHADE_MODE ,
  SPECIAL_QUICK_SHADE_MENU , SPECIAL_STENCIL_MODE , SPECIAL_STENCIL_MENU , SPECIAL_MASK_MODE ,
  SPECIAL_MASK_MENU , SPECIAL_GRID_MODE , SPECIAL_GRID_MENU , SPECIAL_SIEVE_MODE ,
  SPECIAL_SIEVE_MENU , SPECIAL_COLORIZE_MODE , SPECIAL_COLORIZE_MENU , SPECIAL_SMOOTH_MODE ,
  SPECIAL_SMOOTH_MENU , SPECIAL_SMEAR_MODE , SPECIAL_EFFECTS_OFF , SPECIAL_TILING_MODE ,
  SPECIAL_TRANSPARENCY_1 , SPECIAL_TRANSPARENCY_2 , SPECIAL_TRANSPARENCY_3 , SPECIAL_TRANSPARENCY_4 ,
  SPECIAL_TRANSPARENCY_5 , SPECIAL_TRANSPARENCY_6 , SPECIAL_TRANSPARENCY_7 , SPECIAL_TRANSPARENCY_8 ,
  SPECIAL_TRANSPARENCY_9 , SPECIAL_TRANSPARENCY_0 , SPECIAL_TILEMAP_MODE , SPECIAL_TILEMAP_MENU ,
  SPECIAL_TILING_MENU , SPECIAL_ZOOM_1 , SPECIAL_ZOOM_2 , SPECIAL_ZOOM_3 ,
  SPECIAL_ZOOM_4 , SPECIAL_ZOOM_5 , SPECIAL_ZOOM_6 , SPECIAL_ZOOM_8 ,
  SPECIAL_ZOOM_10 , SPECIAL_ZOOM_12 , SPECIAL_ZOOM_14 , SPECIAL_ZOOM_16 ,
  SPECIAL_ZOOM_18 , SPECIAL_ZOOM_20 , SPECIAL_SHOW_GRID , SPECIAL_LAYER1_SELECT ,
  SPECIAL_LAYER1_TOGGLE , SPECIAL_LAYER2_SELECT , SPECIAL_LAYER2_TOGGLE , SPECIAL_LAYER3_SELECT ,
  SPECIAL_LAYER3_TOGGLE , SPECIAL_LAYER4_SELECT , SPECIAL_LAYER4_TOGGLE , SPECIAL_LAYER5_SELECT ,
  SPECIAL_LAYER5_TOGGLE , SPECIAL_LAYER6_SELECT , SPECIAL_LAYER6_TOGGLE , SPECIAL_LAYER7_SELECT ,
  SPECIAL_LAYER7_TOGGLE , SPECIAL_LAYER8_SELECT , SPECIAL_LAYER8_TOGGLE , SPECIAL_REPEAT_SCRIPT ,
  SPECIAL_RUN_SCRIPT_1 , SPECIAL_RUN_SCRIPT_2 , SPECIAL_RUN_SCRIPT_3 , SPECIAL_RUN_SCRIPT_4 ,
  SPECIAL_RUN_SCRIPT_5 , SPECIAL_RUN_SCRIPT_6 , SPECIAL_RUN_SCRIPT_7 , SPECIAL_RUN_SCRIPT_8 ,
  SPECIAL_RUN_SCRIPT_9 , SPECIAL_RUN_SCRIPT_10 , SPECIAL_CYCLE_MODE , SPECIAL_FORMAT_CHECKER ,
  SPECIAL_FORMAT_CHECKER_MENU , SPECIAL_HOLD_PAN , SPECIAL_ZOOM_IN_MORE , SPECIAL_ZOOM_OUT_MORE ,
  NB_SPECIAL_SHORTCUTS
}
 Identifiers of special actions that can have a keyboard shortcut. More...
 
enum  OPERATIONS {
  OPERATION_CONTINUOUS_DRAW =0 , OPERATION_DISCONTINUOUS_DRAW , OPERATION_POINT_DRAW , OPERATION_FILLED_CONTOUR ,
  OPERATION_LINE , OPERATION_K_LINE , OPERATION_CENTERED_LINES , OPERATION_EMPTY_RECTANGLE ,
  OPERATION_FILLED_RECTANGLE , OPERATION_EMPTY_CIRCLE_CTR , OPERATION_EMPTY_CIRCLE_CRN , OPERATION_EMPTY_ELLIPSE_CTR ,
  OPERATION_EMPTY_ELLIPSE_CRN , OPERATION_FILLED_CIRCLE_CTR , OPERATION_FILLED_CIRCLE_CRN , OPERATION_FILLED_ELLIPSE_CTR ,
  OPERATION_FILLED_ELLIPSE_CRN , OPERATION_FILL , OPERATION_REPLACE , OPERATION_GRAB_BRUSH ,
  OPERATION_POLYBRUSH , OPERATION_COLORPICK , OPERATION_MAGNIFY , OPERATION_3_POINTS_CURVE ,
  OPERATION_4_POINTS_CURVE , OPERATION_AIRBRUSH , OPERATION_POLYGON , OPERATION_POLYFORM ,
  OPERATION_POLYFILL , OPERATION_FILLED_POLYFORM , OPERATION_SCROLL , OPERATION_GRAD_CIRCLE_CTR ,
  OPERATION_GRAD_CIRCLE_CRN , OPERATION_GRAD_ELLIPSE_CTR , OPERATION_GRAD_ELLIPSE_CRN , OPERATION_ROTATE_BRUSH ,
  OPERATION_STRETCH_BRUSH , OPERATION_DISTORT_BRUSH , OPERATION_GRAD_RECTANGLE , OPERATION_RMB_COLORPICK ,
  OPERATION_PAN_VIEW , NB_OPERATIONS
}
 Identifiers of the operations, ie tools you use on the image. More...
 
enum  IMAGE_MODES {
  IMAGE_MODE_LAYERED =0 , IMAGE_MODE_ANIMATION , IMAGE_MODE_ZX , IMAGE_MODE_GBC ,
  IMAGE_MODE_THOMSON , IMAGE_MODE_EGX , IMAGE_MODE_EGX2 , IMAGE_MODE_MODE5 ,
  IMAGE_MODE_RASTER , IMAGE_MODE_C64HIRES , IMAGE_MODE_C64MULTI , IMAGE_MODE_C64FLI ,
  IMAGE_MODE_HGR , IMAGE_MODE_DHGR , IMAGE_MODE_MEGADRIVE , IMAGE_MODE_TMS9918G2
}
 Image drawing modes. More...
 
enum  FSOBJECT_TYPE { FSOBJECT_FILE = 0 , FSOBJECT_DIR = 1 , FSOBJECT_DRIVE = 2 }
 
enum  GFX2_WINDOW_STATES { GFX2_WINDOW_STANDARD = 0 , GFX2_WINDOW_MAXIMIZED , GFX2_WINDOW_MINIMIZED }
 

Detailed Description

Constants (preprocessor defines) and enumerations used anywhere.

Macro Definition Documentation

◆ M_2PI

#define M_2PI   6.28318530717958647692528676656

Hmm, pie...

◆ VERSION1

#define VERSION1   2

Version number for gfx2.cfg (1/4)

◆ VERSION2

#define VERSION2   0

Version number for gfx2.cfg (2/4)

◆ BETA1

#define BETA1   98

Version number for gfx2.cfg (3/4)

◆ BETA2

#define BETA2   0

Version number for gfx2.cfg (4/4)

◆ MAX_VIDEO_MODES

#define MAX_VIDEO_MODES   200

Maximum number of video modes Grafx2 can propose.

◆ NB_ZOOM_FACTORS

#define NB_ZOOM_FACTORS   15

Number of zoom levels available in the magnifier.

◆ MENU_WIDTH

#define MENU_WIDTH   254

Width of the menu (not counting the palette)

◆ MENU_HEIGHT

#define MENU_HEIGHT   44

Height of the menu.

◆ NB_CURSOR_SPRITES

#define NB_CURSOR_SPRITES   9

Number of available mouse cursor sprites.

◆ CURSOR_SPRITE_WIDTH

#define CURSOR_SPRITE_WIDTH   16

Width of a mouse cursor sprite.

◆ CURSOR_SPRITE_HEIGHT

#define CURSOR_SPRITE_HEIGHT   16

Height of a mouse cursor sprite.

◆ MENU_SPRITE_WIDTH

#define MENU_SPRITE_WIDTH   16

Width of a menu sprite in pixels.

◆ MENU_SPRITE_HEIGHT

#define MENU_SPRITE_HEIGHT   16

Height of a menu sprite in pixels.

◆ EFFECT_SPRITE_WIDTH

#define EFFECT_SPRITE_WIDTH   14

Width of an effect sprite in pixels.

◆ EFFECT_SPRITE_HEIGHT

#define EFFECT_SPRITE_HEIGHT   14

Height of an effect sprite in pixels.

◆ LAYER_SPRITE_WIDTH

#define LAYER_SPRITE_WIDTH   14

Width of a layer button in pixels.

◆ LAYER_SPRITE_HEIGHT

#define LAYER_SPRITE_HEIGHT   10

Height of a layer button in pixels.

◆ PAINTBRUSH_WIDTH

#define PAINTBRUSH_WIDTH   16

Width of a preset paintbrush sprite.

◆ PAINTBRUSH_HEIGHT

#define PAINTBRUSH_HEIGHT   16

Height of a preset paintbrush sprite.

◆ MAX_PAINTBRUSH_SIZE

#define MAX_PAINTBRUSH_SIZE   127

Max size for a resizable paintbrush.

◆ ICON_SPRITE_WIDTH

#define ICON_SPRITE_WIDTH   8

Width of an icon in pixels.

◆ ICON_SPRITE_HEIGHT

#define ICON_SPRITE_HEIGHT   8

Height of an icon in pixels.

◆ NB_PAINTBRUSH_SPRITES

#define NB_PAINTBRUSH_SPRITES   48

Number of preset paintbrushes.

◆ NB_PRESET_SIEVE

#define NB_PRESET_SIEVE   12

Number of preset sieve patterns.

◆ OPERATION_STACK_SIZE

#define OPERATION_STACK_SIZE   16

Max number of parameters in the operation stack.

◆ MAX_DISPLAYABLE_PATH

#define MAX_DISPLAYABLE_PATH   37

Max number of characters to display directory name, in Save/Load screens.

◆ COMMENT_SIZE

#define COMMENT_SIZE   32

Max number of characters for a comment in PKM or PNG file.

◆ NB_MAX_PAGES_UNDO

#define NB_MAX_PAGES_UNDO   99

Max number of undo pages.

◆ DEFAULT_ZOOM_FACTOR

#define DEFAULT_ZOOM_FACTOR   4

Initial zoom factor for the magnifier.

◆ MAX_PATH_CHARACTERS

#define MAX_PATH_CHARACTERS   PATH_MAX

Number of characters for a file+complete path. Adapt to your OS...

◆ NB_BOOKMARKS

#define NB_BOOKMARKS   4

Number of bookmark buttons in Save/Load screen.

◆ RIGHT_TRIANGLE_CHARACTER

#define RIGHT_TRIANGLE_CHARACTER   16

◆ LEFT_TRIANGLE_CHARACTER

#define LEFT_TRIANGLE_CHARACTER   17

◆ ELLIPSIS_CHARACTER

#define ELLIPSIS_CHARACTER   '\x85'

Character to display in menus for an ellipsis.

◆ NB_LAYERS

#define NB_LAYERS   1

Initial number of layers for a new image.

◆ MAX_NB_FRAMES

#define MAX_NB_FRAMES   999

Maximum number of frames that can be used in a grafx2 animation.

◆ MAX_NB_LAYERS

#define MAX_NB_LAYERS   16

Maximum number of layers that can be used in grafx2. Note that 32 is upper limit because of a few bit fields.

◆ BRUSH_CONTAINER_PREVIEW_WIDTH

#define BRUSH_CONTAINER_PREVIEW_WIDTH   16

Size for preview of a brush in Brush container.

◆ BRUSH_CONTAINER_PREVIEW_HEIGHT

#define BRUSH_CONTAINER_PREVIEW_HEIGHT   16

Size for preview of a brush in Brush container.

◆ BRUSH_CONTAINER_COLUMNS

#define BRUSH_CONTAINER_COLUMNS   4

Number of columns in the Brush container.

◆ BRUSH_CONTAINER_ROWS

#define BRUSH_CONTAINER_ROWS   3

Number of rows in the Brush container.

◆ MINIMAL_MEMORY_TO_RESERVE

#define MINIMAL_MEMORY_TO_RESERVE   (256*1024)

We force the dynamic backup page allocation to leave a minimum of 256Kb of free memory, to allow the rest of the program to work safely.

Note: This is a remainder of the DOS version. This system might not work so well on other OSes, where the "available memory" changes due to external factors.

◆ LEFT_SIDE

#define LEFT_SIDE   1

Indicates a left side or left-click.

◆ RIGHT_SIDE

#define RIGHT_SIDE   2

Indicates a right side or right-click.

◆ SEPARATOR_WIDTH

#define SEPARATOR_WIDTH   6

Width of the separator between the normal and the zoomed view.

◆ INITIAL_SEPARATOR_PROPORTION

#define INITIAL_SEPARATOR_PROPORTION   0.3f

Proportion of the normal view width, relative to the whole screen width.

◆ NB_ZOOMED_PIXELS_MIN

#define NB_ZOOMED_PIXELS_MIN   4

Minimal number of pixel shown (in width) by the zoomed view. (Note: below 4, you can't scroll!)

◆ PARENT_DIR

#define PARENT_DIR   ".."

Filename that means "parent directory" for your operating system.

◆ DEFAULT_FILEFORMAT

#define DEFAULT_FILEFORMAT   FORMAT_GIF

Default format for 'save as'.

◆ BUTTON_RELEASED

#define BUTTON_RELEASED   0

Normal resting state for a menu button.

◆ BUTTON_PRESSED

#define BUTTON_PRESSED   1

State of a menu button that is being pressed.

◆ BUTTON_HIGHLIGHTED

#define BUTTON_HIGHLIGHTED   2

State of a button temporarily highligted.

◆ MASK_CIRCLE_ELLIPSE

#define MASK_CIRCLE_ELLIPSE   (2)

Circle / Ellipse Modes.

◆ MASK_CENTER_CORNERS

#define MASK_CENTER_CORNERS   (1)

◆ MODE_CIRCLE

#define MODE_CIRCLE   (0)

◆ MODE_ELLIPSE

#define MODE_ELLIPSE   (2)

◆ MODE_CENTER

#define MODE_CENTER   (0)

◆ MODE_CORNERS

#define MODE_CORNERS   (1)

◆ MODE_CIRCLE_CTR

#define MODE_CIRCLE_CTR   (MODE_CIRCLE|MODE_CENTER)

◆ MODE_CIRCLE_CRN

#define MODE_CIRCLE_CRN   (MODE_CIRCLE|MODE_CORNERS)

◆ MODE_ELLIPSE_CTR

#define MODE_ELLIPSE_CTR   (MODE_ELLIPSE|MODE_CENTER)

◆ MODE_ELLIPSE_CRN

#define MODE_ELLIPSE_CRN   (MODE_ELLIPSE|MODE_CORNERS)

Enumeration Type Documentation

◆ FILE_FORMATS

List of file formats recognized by grafx2.

Enumerator
FORMAT_ALL_IMAGES 

This is not really a file format, it's reserverd for a compilation of all image file extensions.

FORMAT_ALL_PALETTES 

This is not really a file format, it's reserverd for a compilation of all palette file extensions.

FORMAT_ALL_FILES 

This is not really a file format, it's reserverd for the "*.*" filter option.

FORMAT_PNG 

Portable Network Graphics.

FORMAT_GIF 

Graphics Interchange Format.

FORMAT_BMP 

Windows or OS/2 bitmap.

FORMAT_PCX 

Paintbrush.

FORMAT_PKM 

GrafX2 own format (Karl Maritaud)

FORMAT_LBM 

IFF ILBM : InterLeaved BitMap.

FORMAT_PBM 

IFF PBM : Packet BitMap.

FORMAT_ACBM 

IFF ACBM : Amiga Contiguous BitMap.

FORMAT_IMG 

from PV (c)W.Wiedmann

FORMAT_SCx 

ColoRIX.

FORMAT_PI1 

Atari ST Degas.

FORMAT_PC1 

Atari ST Degas Elite.

FORMAT_CA1 

Atari ST CrackArt.

FORMAT_CEL 

Atari ST Cyber Paint Cell.

FORMAT_NEO 

Atari ST NeoChrome.

FORMAT_TNY 

Atari ST Tiny Stuff.

FORMAT_C64 

Several C64 formats : Koala, FLI, BML, etc.

FORMAT_PRG 

C64 autoload picture.

FORMAT_GPX 

pixcen C64 format : .gpx

FORMAT_KCF 

KiSS Color File.

FORMAT_PAL 

raw 6bit palette or Jasc Paint Shop Pro palette

FORMAT_GPL 

Gimp palette.

FORMAT_SCR 

Amstrad CPC.

FORMAT_CM5 

Amstrad CPC Mode 5.

FORMAT_PPH 

Amstrad CPC Perfect Pix.

FORMAT_GOS 

Amstrad Plus Graphos.

FORMAT_SGX 

SymbOS graphic files.

FORMAT_XPM 

X PixMap.

FORMAT_ICO 

Windows icons.

FORMAT_INFO 

Amiga OS icons.

FORMAT_FLI 

Autodesk Animator FLI/FLC.

FORMAT_MOTO 

Thomson MO/TO computers pictures.

FORMAT_HGR 

Apple II HGR and DHGR.

FORMAT_2GS 

Apple II GS format.

FORMAT_TIFF 

Tagged Image File Format.

FORMAT_GRB 

HP-48 Grob.

FORMAT_MSX 

MSX formats.

FORMAT_MISC 

Must be last of enum: others formats recognized by SDL_image (or recoil)

FORMAT_CLIPBOARD 

To load/save from/to Clipboard.

◆ ERROR_CODES

Error codes for Error()

Enumerator
ERROR_WARNING 

Red flash on screen, non-fatal error.

ERROR_GUI_MISSING 

The graphics file is missing.

ERROR_GUI_CORRUPTED 

The graphics file cannot be parsed for GUI elements.

ERROR_INI_MISSING 

File gfx2def.ini is missing.

ERROR_CFG_MISSING 

File gfx2.cfg is missing (non-fatal)

ERROR_CFG_CORRUPTED 

File gfx2.cfg couldn't be parsed (non-fatal)

ERROR_CFG_OLD 

Unknown version of gfx2.cfg : either VERY old or wrong file (non-fatal)

ERROR_MEMORY 

Out of memory.

ERROR_COMMAND_LINE 

Error in command-line arguments (syntax, or couldn't find the file to open)

ERROR_FORBIDDEN_MODE 

Graphics mode requested is not supported.

ERROR_FORBIDDEN_SIZE 

Image size requested is not supported.

ERROR_SAVING_CFG 

Error while writing gfx2.cfg.

ERROR_MISSING_DIRECTORY 

Unable to return to the original "current directory" on program exit.

ERROR_INI_CORRUPTED 

File gfx2.ini couldn't be parsed.

ERROR_SAVING_INI 

Error while writing gfx2.ini.

ERROR_INIT 

Program initialization error.

ERROR_SORRY_SORRY_SORRY 

(Page allocation error that shouldn't ever happen, now)

◆ PIXEL_RATIO

Available pixel scalers.

Enumerator
PIXEL_SIMPLE 

Use real pixels.

PIXEL_WIDE 

Use wide pixels (2x1) like on Amstrad CPC mode 0.

PIXEL_TALL 

Use tall pixels (1x2) like on Amstrad CPC mode 2.

PIXEL_DOUBLE 

Use big pixels (2x2) if your LCD screen can't do lowres by itself.

PIXEL_TRIPLE 

Use really big pixels (3x3)

PIXEL_WIDE2 

Use big wide pixels (4x2)

PIXEL_TALL2 

Use big tall pixels (2x4)

PIXEL_TALL3 

Use big tall pixels (3x4)

PIXEL_QUAD 

Use really giant pixels (4x4). You need to have a screen resolution at least 1280x800 to use this one.

PIXEL_MAX 

Number of elements in enum.

◆ FAMILY_OF_BUTTONS

Different kinds of menu button behavior.

Enumerator
FAMILY_TOOL 

Drawing tools (example : Freehand draw)

FAMILY_INTERRUPTION 

Temporary operation (example : choosing paintbrush) > Interrupts the current operation to do something, then come back.

FAMILY_INSTANT 

Single-click action (example : choose a color in palette) > It will be over as soon as we exit the called function.

FAMILY_TOOLBAR 

Hide/show the menu.

FAMILY_EFFECTS 

Effects.

◆ BUTTON_SHAPES

The different kinds of buttons in menus or windows.

Enumerator
BUTTON_SHAPE_NO_FRAME 

Ex: the palette.

BUTTON_SHAPE_RECTANGLE 

Ex: Most buttons.

BUTTON_SHAPE_TRIANGLE_TOP_LEFT 

Ex: Empty rectangles.

BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT 

Ex: Filled rectangles.

◆ CURSOR_SHAPES

The different "mouse cursor" shapes.

Enumerator
CURSOR_SHAPE_ARROW 
CURSOR_SHAPE_TARGET 

This one uses the paintbrush.

CURSOR_SHAPE_COLORPICKER 
CURSOR_SHAPE_HOURGLASS 
CURSOR_SHAPE_MULTIDIRECTIONAL 
CURSOR_SHAPE_HORIZONTAL 
CURSOR_SHAPE_THIN_TARGET 

This one uses the paintbrush.

CURSOR_SHAPE_THIN_COLORPICKER 

This one uses the paintbrush.

CURSOR_SHAPE_BUCKET 
CURSOR_SHAPE_XOR_TARGET 
CURSOR_SHAPE_XOR_RECTANGLE 
CURSOR_SHAPE_XOR_ROTATION 

◆ PAINTBRUSH_SHAPES

The different shapes that can be used as a paintbrush (paintbrush types go in the beginning)

Enumerator
PAINTBRUSH_SHAPE_ROUND 
PAINTBRUSH_SHAPE_SQUARE 
PAINTBRUSH_SHAPE_HORIZONTAL_BAR 
PAINTBRUSH_SHAPE_VERTICAL_BAR 
PAINTBRUSH_SHAPE_SLASH 
PAINTBRUSH_SHAPE_ANTISLASH 
PAINTBRUSH_SHAPE_RANDOM 

Random pixels in a circle shape, like an airbrush.

PAINTBRUSH_SHAPE_CROSS 
PAINTBRUSH_SHAPE_PLUS 
PAINTBRUSH_SHAPE_DIAMOND 
PAINTBRUSH_SHAPE_SIEVE_ROUND 
PAINTBRUSH_SHAPE_SIEVE_SQUARE 
PAINTBRUSH_SHAPE_RESERVED1 

Reserved for future use.

PAINTBRUSH_SHAPE_RESERVED2 

Reserved for future use.

PAINTBRUSH_SHAPE_RESERVED3 

Reserved for future use.

PAINTBRUSH_SHAPE_RESERVED4 

Reserved for future use.

PAINTBRUSH_SHAPE_RESERVED5 

Reserved for future use.

PAINTBRUSH_SHAPE_RESERVED6 

Reserved for future use.

PAINTBRUSH_SHAPE_RESERVED7 

Reserved for future use.

PAINTBRUSH_SHAPE_RESERVED8 

Reserved for future use.

PAINTBRUSH_SHAPE_MISC 

A raw monochrome bitmap, can't be resized. This must be the last of the preset paintbrush types.

PAINTBRUSH_SHAPE_POINT 

Used to reduce the paintbrush to a single pixel, during operations like floodfill.

PAINTBRUSH_SHAPE_NONE 

Used to display no cursor at all (colorpicker)

PAINTBRUSH_SHAPE_COLOR_BRUSH 

User's brush, in color mode.

PAINTBRUSH_SHAPE_MONO_BRUSH 

User's brush, in mono mode.

PAINTBRUSH_SHAPE_MAX 

Upper limit.

◆ SHADE_MODES

The different modes of the Shade.

Enumerator
SHADE_MODE_NORMAL 
SHADE_MODE_LOOP 
SHADE_MODE_NOSAT 

◆ CHUNKS_CFG

enum CHUNKS_CFG

Identifiers for the chunks (data blocks) of gfx2.cfg.

Enumerator
CHUNK_KEYS 

Shortcut keys definitions.

CHUNK_VIDEO_MODES 

List of video modes.

CHUNK_SHADE 

Shade settings.

CHUNK_MASK 

Mask settings.

CHUNK_STENCIL 

Stencil settings.

CHUNK_GRADIENTS 

Gradients.

CHUNK_SMOOTH 

Smooth effect settings.

CHUNK_EXCLUDE_COLORS 

List of excluded colors.

CHUNK_QUICK_SHADE 

QShade effect settings.

CHUNK_GRID 

Grid settings.

CHUNK_BRUSH 

Paintbrushes.

CHUNK_SCRIPTS 

Callable scripts.

CHUNK_MAX 

◆ ICON_TYPES

enum ICON_TYPES

Identifiers for the 8x8 icons of Gfx->Icon_sprite (most are unused now)

Enumerator
ICON_FLOPPY_3_5 

3.5 Floppy disk

ICON_FLOPPY_5_25 

5.25 Floppy disk

ICON_HDD 

Hard disk drive.

ICON_CDROM 

CD-ROM.

ICON_NETWORK 

"Network" drive

ICON_STAR 

Star (favorite)

ICON_DROPDOWN 

Dropdown arrow.

NB_ICON_SPRITES 

Number of 8x8 icons.

ICON_NONE 

None of the above.

◆ EFFECT_SPRITES

Enumerator
EFFECTS_SPRITE_SHADE 
EFFECTS_SPRITE_TRANSP 
EFFECTS_SPRITE_SMOOTH 
EFFECTS_SPRITE_TILING 
EFFECTS_SPRITE_STENCIL 
EFFECTS_SPRITE_SIEVE 
EFFECTS_SPRITE_GRID 
EFFECTS_SPRITE_MASK 
EFFECTS_SPRITE_SMEAR 
EFFECTS_SPRITE_8BIT 
NB_EFFECTS_SPRITES 

Number of effect sprites.

◆ BUTTON_NUMBERS

Identifiers for the buttons in the menu.

Enumerator
BUTTON_HIDE 
BUTTON_LAYER_MENU2 
BUTTON_ANIM_TIME 
BUTTON_ANIM_FIRST_FRAME 
BUTTON_ANIM_PREV_FRAME 
BUTTON_ANIM_NEXT_FRAME 
BUTTON_ANIM_LAST_FRAME 
BUTTON_ANIM_ADD_FRAME 
BUTTON_ANIM_REMOVE_FRAME 
BUTTON_ANIM_UP_FRAME 
BUTTON_ANIM_DOWN_FRAME 
BUTTON_ANIM_PLAY 
BUTTON_LAYER_MENU 
BUTTON_LAYER_COLOR 
BUTTON_LAYER_MERGE 
BUTTON_LAYER_ADD 
BUTTON_LAYER_REMOVE 
BUTTON_LAYER_UP 
BUTTON_LAYER_DOWN 
BUTTON_LAYER_SELECT 
BUTTON_PAINTBRUSHES 
BUTTON_ADJUST 
BUTTON_DRAW 
BUTTON_CURVES 
BUTTON_LINES 
BUTTON_AIRBRUSH 
BUTTON_FLOODFILL 
BUTTON_POLYGONS 
BUTTON_POLYFILL 
BUTTON_RECTANGLES 
BUTTON_FILLRECT 
BUTTON_CIRCLES 
BUTTON_FILLCIRC 
BUTTON_GRADRECT 
BUTTON_SPHERES 
BUTTON_BRUSH 
BUTTON_POLYBRUSH 
BUTTON_BRUSH_EFFECTS 
BUTTON_EFFECTS 
BUTTON_TEXT 
BUTTON_MAGNIFIER 
BUTTON_COLORPICKER 
BUTTON_RESOL 
BUTTON_PAGE 
BUTTON_SAVE 
BUTTON_LOAD 
BUTTON_SETTINGS 
BUTTON_CLEAR 
BUTTON_HELP 
BUTTON_UNDO 
BUTTON_KILL 
BUTTON_QUIT 
BUTTON_PALETTE 
BUTTON_PAL_LEFT 
BUTTON_PAL_RIGHT 
BUTTON_CHOOSE_COL 
NB_BUTTONS 

Number of buttons in the menu bar.

◆ MENU_SPRITE

Enumerator
MENU_SPRITE_COLOR_BRUSH 
MENU_SPRITE_MONO_BRUSH 
MENU_SPRITE_DISCONTINUOUS_DRAW 
MENU_SPRITE_POINT_DRAW 
MENU_SPRITE_CONTOUR_DRAW 
MENU_SPRITE_4_POINTS_CURVE 
MENU_SPRITE_K_LINE 
MENU_SPRITE_CENTERED_LINES 
MENU_SPRITE_ELLIPSES 
MENU_SPRITE_POLYFORM 
MENU_SPRITE_REPLACE 
MENU_SPRITE_GRAD_ELLIPSE 
MENU_SPRITE_VERTICAL_PALETTE_SCROLL 
NB_MENU_SPRITES 

Number of menu sprites.

◆ SPECIAL_ACTIONS

Identifiers of special actions that can have a keyboard shortcut.

They are special in the sense that there's no button in the menu for them, so it requires a specific handling.

Enumerator
SPECIAL_MOUSE_UP 
SPECIAL_MOUSE_DOWN 
SPECIAL_MOUSE_LEFT 
SPECIAL_MOUSE_RIGHT 
SPECIAL_CLICK_LEFT 
SPECIAL_CLICK_RIGHT 
SPECIAL_NEXT_FORECOLOR 
SPECIAL_PREVIOUS_FORECOLOR 
SPECIAL_NEXT_BACKCOLOR 
SPECIAL_PREVIOUS_BACKCOLOR 
SPECIAL_SMALLER_PAINTBRUSH 
SPECIAL_BIGGER_PAINTBRUSH 
SPECIAL_NEXT_USER_FORECOLOR 
SPECIAL_PREVIOUS_USER_FORECOLOR 
SPECIAL_NEXT_USER_BACKCOLOR 
SPECIAL_PREVIOUS_USER_BACKCOLOR 
SPECIAL_SCROLL_UP 
SPECIAL_SCROLL_DOWN 
SPECIAL_SCROLL_LEFT 
SPECIAL_SCROLL_RIGHT 
SPECIAL_SCROLL_UP_FAST 
SPECIAL_SCROLL_DOWN_FAST 
SPECIAL_SCROLL_LEFT_FAST 
SPECIAL_SCROLL_RIGHT_FAST 
SPECIAL_SCROLL_UP_SLOW 
SPECIAL_SCROLL_DOWN_SLOW 
SPECIAL_SCROLL_LEFT_SLOW 
SPECIAL_SCROLL_RIGHT_SLOW 
SPECIAL_SHOW_HIDE_CURSOR 
SPECIAL_DOT_PAINTBRUSH 
SPECIAL_CONTINUOUS_DRAW 
SPECIAL_FLIP_X 
SPECIAL_FLIP_Y 
SPECIAL_ROTATE_90 
SPECIAL_ROTATE_180 
SPECIAL_STRETCH 
SPECIAL_DISTORT 
SPECIAL_OUTLINE 
SPECIAL_NIBBLE 
SPECIAL_GET_BRUSH_COLORS 
SPECIAL_RECOLORIZE_BRUSH 
SPECIAL_ROTATE_ANY_ANGLE 
SPECIAL_BRUSH_DOUBLE 
SPECIAL_BRUSH_DOUBLE_WIDTH 
SPECIAL_BRUSH_DOUBLE_HEIGHT 
SPECIAL_BRUSH_HALVE 
SPECIAL_LOAD_BRUSH 
SPECIAL_SAVE_BRUSH 
SPECIAL_INVERT_SIEVE 
SPECIAL_ZOOM_IN 
SPECIAL_ZOOM_OUT 
SPECIAL_CENTER_ATTACHMENT 
SPECIAL_TOP_LEFT_ATTACHMENT 
SPECIAL_TOP_RIGHT_ATTACHMENT 
SPECIAL_BOTTOM_LEFT_ATTACHMENT 
SPECIAL_BOTTOM_RIGHT_ATTACHMENT 
SPECIAL_EXCLUDE_COLORS_MENU 
SPECIAL_SHADE_MODE 
SPECIAL_SHADE_MENU 
SPECIAL_QUICK_SHADE_MODE 

This must be the first of the "effects" family.

SPECIAL_QUICK_SHADE_MENU 
SPECIAL_STENCIL_MODE 
SPECIAL_STENCIL_MENU 
SPECIAL_MASK_MODE 
SPECIAL_MASK_MENU 
SPECIAL_GRID_MODE 
SPECIAL_GRID_MENU 
SPECIAL_SIEVE_MODE 
SPECIAL_SIEVE_MENU 
SPECIAL_COLORIZE_MODE 
SPECIAL_COLORIZE_MENU 
SPECIAL_SMOOTH_MODE 
SPECIAL_SMOOTH_MENU 
SPECIAL_SMEAR_MODE 
SPECIAL_EFFECTS_OFF 
SPECIAL_TILING_MODE 
SPECIAL_TRANSPARENCY_1 
SPECIAL_TRANSPARENCY_2 
SPECIAL_TRANSPARENCY_3 
SPECIAL_TRANSPARENCY_4 
SPECIAL_TRANSPARENCY_5 
SPECIAL_TRANSPARENCY_6 
SPECIAL_TRANSPARENCY_7 
SPECIAL_TRANSPARENCY_8 
SPECIAL_TRANSPARENCY_9 
SPECIAL_TRANSPARENCY_0 
SPECIAL_TILEMAP_MODE 
SPECIAL_TILEMAP_MENU 
SPECIAL_TILING_MENU 

This must be the last of the "effects" family.

SPECIAL_ZOOM_1 
SPECIAL_ZOOM_2 
SPECIAL_ZOOM_3 
SPECIAL_ZOOM_4 
SPECIAL_ZOOM_5 
SPECIAL_ZOOM_6 
SPECIAL_ZOOM_8 
SPECIAL_ZOOM_10 
SPECIAL_ZOOM_12 
SPECIAL_ZOOM_14 
SPECIAL_ZOOM_16 
SPECIAL_ZOOM_18 
SPECIAL_ZOOM_20 
SPECIAL_SHOW_GRID 
SPECIAL_LAYER1_SELECT 
SPECIAL_LAYER1_TOGGLE 
SPECIAL_LAYER2_SELECT 
SPECIAL_LAYER2_TOGGLE 
SPECIAL_LAYER3_SELECT 
SPECIAL_LAYER3_TOGGLE 
SPECIAL_LAYER4_SELECT 
SPECIAL_LAYER4_TOGGLE 
SPECIAL_LAYER5_SELECT 
SPECIAL_LAYER5_TOGGLE 
SPECIAL_LAYER6_SELECT 
SPECIAL_LAYER6_TOGGLE 
SPECIAL_LAYER7_SELECT 
SPECIAL_LAYER7_TOGGLE 
SPECIAL_LAYER8_SELECT 
SPECIAL_LAYER8_TOGGLE 
SPECIAL_REPEAT_SCRIPT 
SPECIAL_RUN_SCRIPT_1 
SPECIAL_RUN_SCRIPT_2 
SPECIAL_RUN_SCRIPT_3 
SPECIAL_RUN_SCRIPT_4 
SPECIAL_RUN_SCRIPT_5 
SPECIAL_RUN_SCRIPT_6 
SPECIAL_RUN_SCRIPT_7 
SPECIAL_RUN_SCRIPT_8 
SPECIAL_RUN_SCRIPT_9 
SPECIAL_RUN_SCRIPT_10 
SPECIAL_CYCLE_MODE 
SPECIAL_FORMAT_CHECKER 
SPECIAL_FORMAT_CHECKER_MENU 
SPECIAL_HOLD_PAN 
SPECIAL_ZOOM_IN_MORE 
SPECIAL_ZOOM_OUT_MORE 
NB_SPECIAL_SHORTCUTS 

Number of special shortcuts.

◆ OPERATIONS

enum OPERATIONS

Identifiers of the operations, ie tools you use on the image.

Enumerator
OPERATION_CONTINUOUS_DRAW 

Freehand continuous draw.

OPERATION_DISCONTINUOUS_DRAW 

Freehand discontinuous draw.

OPERATION_POINT_DRAW 

Freehand point-by-point draw.

OPERATION_FILLED_CONTOUR 

Filled contour.

OPERATION_LINE 

Lines.

OPERATION_K_LINE 

Linked lines.

OPERATION_CENTERED_LINES 

Centered lines.

OPERATION_EMPTY_RECTANGLE 

Empty rectangle.

OPERATION_FILLED_RECTANGLE 

Filled rectangle.

OPERATION_EMPTY_CIRCLE_CTR 

Empty circle (center radius)

OPERATION_EMPTY_CIRCLE_CRN 

Empty circle (corners)

OPERATION_EMPTY_ELLIPSE_CTR 

Empty ellipse (center radius)

OPERATION_EMPTY_ELLIPSE_CRN 

Empty ellipse (corners)

OPERATION_FILLED_CIRCLE_CTR 

Filled circle (center radius)

OPERATION_FILLED_CIRCLE_CRN 

Filled circle (corners)

OPERATION_FILLED_ELLIPSE_CTR 

Filled ellipse (center radius)

OPERATION_FILLED_ELLIPSE_CRN 

Filled ellipse (corners)

OPERATION_FILL 

Fill.

OPERATION_REPLACE 

Color replacer.

OPERATION_GRAB_BRUSH 

Rectangular brush grabbing.

OPERATION_POLYBRUSH 

Polygonal brush grabbing.

OPERATION_COLORPICK 

Colorpicker.

OPERATION_MAGNIFY 

Position the magnify window.

OPERATION_3_POINTS_CURVE 

Curve with 3 control points.

OPERATION_4_POINTS_CURVE 

Curve with 4 control points.

OPERATION_AIRBRUSH 

Airbrush.

OPERATION_POLYGON 

Polygon.

OPERATION_POLYFORM 

Polyform.

OPERATION_POLYFILL 

Filled polygon.

OPERATION_FILLED_POLYFORM 

Filled polyform.

OPERATION_SCROLL 

Scroll (pan)

OPERATION_GRAD_CIRCLE_CTR 

Gradient-filled circle (center radius)

OPERATION_GRAD_CIRCLE_CRN 

Gradient-filled circle (corners)

OPERATION_GRAD_ELLIPSE_CTR 

Gradient-filled ellipse (center radius)

OPERATION_GRAD_ELLIPSE_CRN 

Gradient-filled ellipse (corners)

OPERATION_ROTATE_BRUSH 

Rotate brush.

OPERATION_STRETCH_BRUSH 

Stretch brush.

OPERATION_DISTORT_BRUSH 

Distort brush.

OPERATION_GRAD_RECTANGLE 

Gradient-filled rectangle.

OPERATION_RMB_COLORPICK 

Colorpick on right mouse button.

OPERATION_PAN_VIEW 

Pan view.

NB_OPERATIONS 

Number of operations handled by the engine.

◆ IMAGE_MODES

Image drawing modes.

Enumerator
IMAGE_MODE_LAYERED 

Layered image.

IMAGE_MODE_ANIMATION 

Animation.

IMAGE_MODE_ZX 

ZX Spectrum (note "SPECTRUM" is kept for later... Spectrum 512 anyone?)

IMAGE_MODE_GBC 

Game Boy Color.

IMAGE_MODE_THOMSON 

"40 columns" mode on Thomson machines

IMAGE_MODE_EGX 

CPC EGX.

IMAGE_MODE_EGX2 

CPC EGX2.

IMAGE_MODE_MODE5 

CPC mode 5.

IMAGE_MODE_RASTER 

CPC generic rasters.

IMAGE_MODE_C64HIRES 

C64 HiRes.

IMAGE_MODE_C64MULTI 

C64 Multicolor.

IMAGE_MODE_C64FLI 

C64 Flexible Line Interpretation.

IMAGE_MODE_HGR 

Apple 2 HGR.

IMAGE_MODE_DHGR 

Apple 2 DHGR.

IMAGE_MODE_MEGADRIVE 

Sega Mega Drive / Genesis.

IMAGE_MODE_TMS9918G2 

TMS9918 Mode 2 (MSX, ColecoVision, SC-3000, etc.)

◆ FSOBJECT_TYPE

Enumerator
FSOBJECT_FILE 
FSOBJECT_DIR 
FSOBJECT_DRIVE 

◆ GFX2_WINDOW_STATES

Enumerator
GFX2_WINDOW_STANDARD 
GFX2_WINDOW_MAXIMIZED 
GFX2_WINDOW_MINIMIZED