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

Structures that can be used in the whole program. More...

#include <stdint.h>
#include "const.h"
+ Include dependency graph for struct.h:

Data Structures

struct  T_Components
 A set of RGB values. More...
 
struct  T_Normal_button
 A normal rectangular button in windows and menus. More...
 
struct  T_Palette_button
 A window control that shows a complete 256-color palette. More...
 
struct  T_Scroller_button
 A window control that represents a scrollbar, with a slider, and two arrow buttons. More...
 
struct  T_Special_button
 Special invisible button A window control that only has a rectangular "active" area which catches mouse clicks,. More...
 
struct  T_Dropdown_choice
 Data for a dropdown item, ie. one proposed choice. More...
 
struct  T_Dropdown_button
 A window control that behaves like a dropdown button. More...
 
struct  T_Fileselector_item
 Data for one item (file, directory) in a fileselector. More...
 
struct  T_Fileselector
 Data for a fileselector. More...
 
struct  T_List_button
 "List" button as used in the font selection, skin selection, and brush factory screens. More...
 
struct  T_Window
 A stackable window (editor screen) More...
 
struct  T_Help_table
 Data for one line of the "Help" screens. More...
 
struct  T_Help_section
 Data for one section of the "Help" screens, ie a page. More...
 
struct  T_Gradient_range
 Data for one setting of gradients. Warning, this one is saved/loaded as binary. More...
 
struct  T_Gradient_array
 Data for a full set of gradients. More...
 
struct  T_Shade
 Data for one setting of shade. Warning, this one is saved/loaded as binary. More...
 
struct  T_Config_video_mode
 Data for one fullscreen video mode in configuration file. Warning, this one is saved/loaded as binary. More...
 
struct  T_Config_header
 Header for gfx2.cfg. More...
 
struct  T_Config_chunk
 Header for a config chunk in for gfx2.cfg. More...
 
struct  T_Config_shortcut_info
 Configuration for one keyboard shortcut in gfx2.cfg. More...
 
struct  T_Config
 This structure holds all the settings saved and loaded as gfx2.ini. More...
 
struct  T_Image
 
struct  T_Page
 This is the data for one step of Undo/Redo, for one image. More...
 
struct  T_List_of_pages
 Collection of undo/redo steps. More...
 
struct  T_Bitmap
 A single image bitmap This struct is used to store a flattened view of the current picture. More...
 
struct  T_Brush_template
 A single memorized brush from the Brush Container. More...
 
struct  T_Gui_skin
 GUI skin data. More...
 
struct  T_Paintbrush
 
struct  T_Tile
 Element of a circular linked list in the tile map. More...
 
struct  T_Selector_settings
 Settings for an entire file selector screen. More...
 
struct  T_Document
 structure for Main or Spare page global data More...
 
struct  T_Unicode_Font
 

Macros

#define COLOR_CYCLING_SPEED_MAX   250
 

Typedefs

typedef uint8_t byte
 8bit unsigned integer More...
 
typedef uint16_t word
 16bit unsigned integer More...
 
typedef uint32_t dword
 32bit unsigned integer More...
 
typedef uint64_t qword
 64bit unsigned integer More...
 
typedef void(* Func_action) (void)
 An action. More...
 
typedef void(* Func_btn_action) (int)
 An action. Used when you click a menu button or trigger a keyboard shortcut. More...
 
typedef void(* Func_pixel) (word, word, byte)
 Set pixel at position (x,y) to color c. Used in load screen to write the data to brush, picture, or preview area. More...
 
typedef void(* Func_pixel_opt_preview) (word, word, byte, int)
 Set pixel at position (x,y) to color c. With optional preview. More...
 
typedef byte(* Func_read) (word, word)
 Read a pixel at position (x,y) on something. Used for example in save to tell if the data is a brush or a picture. More...
 
typedef void(* Func_clear) (byte)
 
typedef void(* Func_display) (word, word, word)
 
typedef byte(* Func_effect) (word, word, byte)
 Called by all drawing tools to draw with a special effect (smooth, transparency, shade, ...) More...
 
typedef void(* Func_block) (word, word, word, word, byte)
 
typedef void(* Func_line_XOR) (word, word, word)
 Draw an XOR line on the picture view of the screen. Use a different function when in magnify mode. More...
 
typedef void(* Func_display_brush_color) (word, word, word, word, word, word, byte, word)
 
typedef void(* Func_display_brush_mono) (word, word, word, word, word, word, byte, byte, word)
 
typedef void(* Func_gradient) (long, short, short)
 
typedef void(* Func_remap) (word, word, word, word, byte *)
 
typedef void(* Func_procsline) (word, word, word, byte *)
 
typedef void(* Func_display_zoom) (word, word, word, byte *)
 
typedef void(* Func_display_brush_color_zoom) (word, word, word, word, word, word, byte, word, byte *)
 
typedef void(* Func_display_brush_mono_zoom) (word, word, word, word, word, word, byte, byte, word, byte *)
 
typedef void(* Func_draw_brush) (byte *, word, word, word, word, word, word, byte, word)
 
typedef void(* Func_draw_list_item) (word, word, word, byte)
 Draw an item inside a list button. This is done with a callback so it is possible to draw anything, as the list itself doesn't handle the content. More...
 
typedef struct T_Components T_Palette[256]
 A complete 256-entry RGB palette (768 bytes). More...
 

Detailed Description

Structures that can be used in the whole program.

Macro Definition Documentation

◆ COLOR_CYCLING_SPEED_MAX

#define COLOR_CYCLING_SPEED_MAX   250

Typedef Documentation

◆ byte

typedef uint8_t byte

8bit unsigned integer

◆ word

typedef uint16_t word

16bit unsigned integer

◆ dword

typedef uint32_t dword

32bit unsigned integer

◆ qword

typedef uint64_t qword

64bit unsigned integer

◆ Func_action

typedef void(* Func_action) (void)

An action.

◆ Func_btn_action

typedef void(* Func_btn_action) (int)

An action. Used when you click a menu button or trigger a keyboard shortcut.

◆ Func_pixel

typedef void(* Func_pixel) (word, word, byte)

Set pixel at position (x,y) to color c. Used in load screen to write the data to brush, picture, or preview area.

◆ Func_pixel_opt_preview

typedef void(* Func_pixel_opt_preview) (word, word, byte, int)

Set pixel at position (x,y) to color c. With optional preview.

◆ Func_read

typedef byte(* Func_read) (word, word)

Read a pixel at position (x,y) on something. Used for example in save to tell if the data is a brush or a picture.

◆ Func_clear

typedef void(* Func_clear) (byte)

◆ Func_display

typedef void(* Func_display) (word, word, word)

◆ Func_effect

typedef byte(* Func_effect) (word, word, byte)

Called by all drawing tools to draw with a special effect (smooth, transparency, shade, ...)

◆ Func_block

typedef void(* Func_block) (word, word, word, word, byte)

◆ Func_line_XOR

typedef void(* Func_line_XOR) (word, word, word)

Draw an XOR line on the picture view of the screen. Use a different function when in magnify mode.

◆ Func_display_brush_color

typedef void(* Func_display_brush_color) (word, word, word, word, word, word, byte, word)

◆ Func_display_brush_mono

typedef void(* Func_display_brush_mono) (word, word, word, word, word, word, byte, byte, word)

◆ Func_gradient

typedef void(* Func_gradient) (long, short, short)

◆ Func_remap

typedef void(* Func_remap) (word, word, word, word, byte *)

◆ Func_procsline

typedef void(* Func_procsline) (word, word, word, byte *)

◆ Func_display_zoom

typedef void(* Func_display_zoom) (word, word, word, byte *)

◆ Func_display_brush_color_zoom

typedef void(* Func_display_brush_color_zoom) (word, word, word, word, word, word, byte, word, byte *)

◆ Func_display_brush_mono_zoom

typedef void(* Func_display_brush_mono_zoom) (word, word, word, word, word, word, byte, byte, word, byte *)

◆ Func_draw_brush

typedef void(* Func_draw_brush) (byte *, word, word, word, word, word, word, byte, word)

◆ Func_draw_list_item

typedef void(* Func_draw_list_item) (word, word, word, byte)

Draw an item inside a list button. This is done with a callback so it is possible to draw anything, as the list itself doesn't handle the content.

◆ T_Palette

typedef struct T_Components T_Palette[256]

A complete 256-entry RGB palette (768 bytes).