package tcod

/*
 #include "include/libtcod.h"
 #include "include/libtcod_int.h"
*/
import "C"

/* console enums */
const (
	BKGND_ADD         = C.TCOD_BKGND_ADD
	BKGND_ADDA        = C.TCOD_BKGND_ADDA
	BKGND_ALPH        = C.TCOD_BKGND_ALPH
	BKGND_BURN        = C.TCOD_BKGND_BURN
	BKGND_COLOR_BURN  = C.TCOD_BKGND_COLOR_BURN
	BKGND_COLOR_DODGE = C.TCOD_BKGND_COLOR_DODGE
	BKGND_DARKEN      = C.TCOD_BKGND_DARKEN
	BKGND_LIGHTEN     = C.TCOD_BKGND_LIGHTEN
	BKGND_MULTIPLY    = C.TCOD_BKGND_MULTIPLY
	BKGND_NONE        = C.TCOD_BKGND_NONE
	BKGND_OVERLAY     = C.TCOD_BKGND_OVERLAY
	BKGND_SCREEN      = C.TCOD_BKGND_SCREEN
	BKGND_SET         = C.TCOD_BKGND_SET
)

const (
	CHAR_ARROW2_E       = C.TCOD_CHAR_ARROW2_E
	CHAR_ARROW2_N       = C.TCOD_CHAR_ARROW2_N
	CHAR_ARROW2_S       = C.TCOD_CHAR_ARROW2_S
	CHAR_ARROW2_W       = C.TCOD_CHAR_ARROW2_W
	CHAR_ARROW_E        = C.TCOD_CHAR_ARROW_E
	CHAR_ARROW_N        = C.TCOD_CHAR_ARROW_N
	CHAR_ARROW_S        = C.TCOD_CHAR_ARROW_S
	CHAR_ARROW_W        = C.TCOD_CHAR_ARROW_W
	CHAR_BLOCK1         = C.TCOD_CHAR_BLOCK1
	CHAR_BLOCK2         = C.TCOD_CHAR_BLOCK2
	CHAR_BLOCK3         = C.TCOD_CHAR_BLOCK3
	CHAR_CHECKBOX_SET   = C.TCOD_CHAR_CHECKBOX_SET
	CHAR_CHECKBOX_UNSET = C.TCOD_CHAR_CHECKBOX_UNSET
	CHAR_CROSS          = C.TCOD_CHAR_CROSS
	CHAR_DARROW_H       = C.TCOD_CHAR_DARROW_H
	CHAR_DARROW_V       = C.TCOD_CHAR_DARROW_V
	CHAR_DCROSS         = C.TCOD_CHAR_DCROSS
	CHAR_DHLINE         = C.TCOD_CHAR_DHLINE
	CHAR_DNE            = C.TCOD_CHAR_DNE
	CHAR_DNW            = C.TCOD_CHAR_DNW
	CHAR_DSE            = C.TCOD_CHAR_DSE
	CHAR_DSW            = C.TCOD_CHAR_DSW
	CHAR_DTEEE          = C.TCOD_CHAR_DTEEE
	CHAR_DTEEN          = C.TCOD_CHAR_DTEEN
	CHAR_DTEES          = C.TCOD_CHAR_DTEES
	CHAR_DTEEW          = C.TCOD_CHAR_DTEEW
	CHAR_DVLINE         = C.TCOD_CHAR_DVLINE
	CHAR_HLINE          = C.TCOD_CHAR_HLINE
	CHAR_NE             = C.TCOD_CHAR_NE
	CHAR_NW             = C.TCOD_CHAR_NW
	CHAR_RADIO_SET      = C.TCOD_CHAR_RADIO_SET
	CHAR_RADIO_UNSET    = C.TCOD_CHAR_RADIO_UNSET
	CHAR_SE             = C.TCOD_CHAR_SE
	CHAR_SUBP_DIAG      = C.TCOD_CHAR_SUBP_DIAG
	CHAR_SUBP_E         = C.TCOD_CHAR_SUBP_E
	CHAR_SUBP_N         = C.TCOD_CHAR_SUBP_N
	CHAR_SUBP_NE        = C.TCOD_CHAR_SUBP_NE
	CHAR_SUBP_NW        = C.TCOD_CHAR_SUBP_NW
	CHAR_SUBP_SE        = C.TCOD_CHAR_SUBP_SE
	CHAR_SUBP_SW        = C.TCOD_CHAR_SUBP_SW
	CHAR_SW             = C.TCOD_CHAR_SW
	CHAR_TEEE           = C.TCOD_CHAR_TEEE
	CHAR_TEEN           = C.TCOD_CHAR_TEEN
	CHAR_TEES           = C.TCOD_CHAR_TEES
	CHAR_TEEW           = C.TCOD_CHAR_TEEW
	CHAR_VLINE          = C.TCOD_CHAR_VLINE
)

const (
	COLCTRL_1        = C.TCOD_COLCTRL_1
	COLCTRL_2        = C.TCOD_COLCTRL_2
	COLCTRL_3        = C.TCOD_COLCTRL_3
	COLCTRL_4        = C.TCOD_COLCTRL_4
	COLCTRL_5        = C.TCOD_COLCTRL_5
	COLCTRL_BACK_RGB = C.TCOD_COLCTRL_BACK_RGB
	COLCTRL_FORE_RGB = C.TCOD_COLCTRL_FORE_RGB
	COLCTRL_NUMBER   = C.TCOD_COLCTRL_NUMBER
	COLCTRL_STOP     = C.TCOD_COLCTRL_STOP
)

const (
	FONT_LAYOUT_ASCII_INCOL = C.TCOD_FONT_LAYOUT_ASCII_INCOL
	FONT_LAYOUT_ASCII_INROW = C.TCOD_FONT_LAYOUT_ASCII_INROW
	FONT_LAYOUT_TCOD        = C.TCOD_FONT_LAYOUT_TCOD
	FONT_TYPE_GREYSCALE     = C.TCOD_FONT_TYPE_GREYSCALE
)

const (
	K_0           = C.TCODK_0
	K_1           = C.TCODK_1
	K_2           = C.TCODK_2
	K_3           = C.TCODK_3
	K_4           = C.TCODK_4
	K_5           = C.TCODK_5
	K_6           = C.TCODK_6
	K_7           = C.TCODK_7
	K_8           = C.TCODK_8
	K_9           = C.TCODK_9
	K_ALT         = C.TCODK_ALT
	K_APPS        = C.TCODK_APPS
	K_BACKSPACE   = C.TCODK_BACKSPACE
	K_CAPSLOCK    = C.TCODK_CAPSLOCK
	K_CHAR        = C.TCODK_CHAR
	K_CONTROL     = C.TCODK_CONTROL
	K_DELETE      = C.TCODK_DELETE
	K_DOWN        = C.TCODK_DOWN
	K_END         = C.TCODK_END
	K_ENTER       = C.TCODK_ENTER
	K_ESCAPE      = C.TCODK_ESCAPE
	KEY_PRESSED   = C.TCOD_KEY_PRESSED
	KEY_RELEASED  = C.TCOD_KEY_RELEASED
	K_F1          = C.TCODK_F1
	K_F10         = C.TCODK_F10
	K_F11         = C.TCODK_F11
	K_F12         = C.TCODK_F12
	K_F2          = C.TCODK_F2
	K_F3          = C.TCODK_F3
	K_F4          = C.TCODK_F4
	K_F5          = C.TCODK_F5
	K_F6          = C.TCODK_F6
	K_F7          = C.TCODK_F7
	K_F8          = C.TCODK_F8
	K_F9          = C.TCODK_F9
	K_HOME        = C.TCODK_HOME
	K_INSERT      = C.TCODK_INSERT
	K_KP0         = C.TCODK_KP0
	K_KP1         = C.TCODK_KP1
	K_KP2         = C.TCODK_KP2
	K_KP3         = C.TCODK_KP3
	K_KP4         = C.TCODK_KP4
	K_KP5         = C.TCODK_KP5
	K_KP6         = C.TCODK_KP6
	K_KP7         = C.TCODK_KP7
	K_KP8         = C.TCODK_KP8
	K_KP9         = C.TCODK_KP9
	K_KPADD       = C.TCODK_KPADD
	K_KPDEC       = C.TCODK_KPDEC
	K_KPDIV       = C.TCODK_KPDIV
	K_KPENTER     = C.TCODK_KPENTER
	K_KPMUL       = C.TCODK_KPMUL
	K_KPSUB       = C.TCODK_KPSUB
	K_LEFT        = C.TCODK_LEFT
	K_LWIN        = C.TCODK_LWIN
	K_NONE        = C.TCODK_NONE
	K_NUMLOCK     = C.TCODK_NUMLOCK
	K_PAGEDOWN    = C.TCODK_PAGEDOWN
	K_PAGEUP      = C.TCODK_PAGEUP
	K_PAUSE       = C.TCODK_PAUSE
	K_PRINTSCREEN = C.TCODK_PRINTSCREEN
	K_RIGHT       = C.TCODK_RIGHT
	K_RWIN        = C.TCODK_RWIN
	K_SCROLLLOCK  = C.TCODK_SCROLLLOCK
	K_SHIFT       = C.TCODK_SHIFT
	K_SPACE       = C.TCODK_SPACE
	K_TAB         = C.TCODK_TAB
	K_UP          = C.TCODK_UP
)

/* fov enums */

const (
	FOV_BASIC         = C.FOV_BASIC
	FOV_DIAMOND       = C.FOV_DIAMOND
	FOV_SHADOW        = C.FOV_SHADOW
	FOV_PERMISSIVE_0  = C.FOV_PERMISSIVE_0
	FOV_PERMISSIVE_1  = C.FOV_PERMISSIVE_1
	FOV_PERMISSIVE_2  = C.FOV_PERMISSIVE_2
	FOV_PERMISSIVE_3  = C.FOV_PERMISSIVE_3
	FOV_PERMISSIVE_4  = C.FOV_PERMISSIVE_4
	FOV_PERMISSIVE_5  = C.FOV_PERMISSIVE_5
	FOV_PERMISSIVE_6  = C.FOV_PERMISSIVE_6
	FOV_PERMISSIVE_7  = C.FOV_PERMISSIVE_7
	FOV_PERMISSIVE_8  = C.FOV_PERMISSIVE_8
	FOV_RESTRICTIVE   = C.FOV_RESTRICTIVE
	NB_FOV_ALGORITHMS = C.NB_FOV_ALGORITHMS
)

/* random enums */

const (
	RNG_MT   = C.TCOD_RNG_MT
	RNG_CMWC = C.TCOD_RNG_CMWC
)

const (
	TYPE_NONE        = C.TCOD_TYPE_NONE
	TYPE_BOOL        = C.TCOD_TYPE_BOOL
	TYPE_CHAR        = C.TCOD_TYPE_CHAR
	TYPE_INT         = C.TCOD_TYPE_INT
	TYPE_FLOAT       = C.TCOD_TYPE_FLOAT
	TYPE_STRING      = C.TCOD_TYPE_STRING
	TYPE_COLOR       = C.TCOD_TYPE_COLOR
	TYPE_DICE        = C.TCOD_TYPE_DICE
	TYPE_VALUELIST00 = C.TCOD_TYPE_VALUELIST00
	TYPE_VALUELIST01 = C.TCOD_TYPE_VALUELIST01
	TYPE_VALUELIST02 = C.TCOD_TYPE_VALUELIST02
	TYPE_VALUELIST03 = C.TCOD_TYPE_VALUELIST03
	TYPE_VALUELIST04 = C.TCOD_TYPE_VALUELIST04
	TYPE_VALUELIST05 = C.TCOD_TYPE_VALUELIST05
	TYPE_VALUELIST06 = C.TCOD_TYPE_VALUELIST06
	TYPE_VALUELIST07 = C.TCOD_TYPE_VALUELIST07
	TYPE_VALUELIST08 = C.TCOD_TYPE_VALUELIST08
	TYPE_VALUELIST09 = C.TCOD_TYPE_VALUELIST09
	TYPE_VALUELIST10 = C.TCOD_TYPE_VALUELIST10
	TYPE_VALUELIST11 = C.TCOD_TYPE_VALUELIST11
	TYPE_VALUELIST12 = C.TCOD_TYPE_VALUELIST12
	TYPE_VALUELIST13 = C.TCOD_TYPE_VALUELIST13
	TYPE_VALUELIST14 = C.TCOD_TYPE_VALUELIST14
	TYPE_VALUELIST15 = C.TCOD_TYPE_VALUELIST15
	TYPE_CUSTOM00    = C.TCOD_TYPE_CUSTOM00
	TYPE_CUSTOM01    = C.TCOD_TYPE_CUSTOM01
	TYPE_CUSTOM02    = C.TCOD_TYPE_CUSTOM02
	TYPE_CUSTOM03    = C.TCOD_TYPE_CUSTOM03
	TYPE_CUSTOM04    = C.TCOD_TYPE_CUSTOM04
	TYPE_CUSTOM05    = C.TCOD_TYPE_CUSTOM05
	TYPE_CUSTOM06    = C.TCOD_TYPE_CUSTOM06
	TYPE_CUSTOM07    = C.TCOD_TYPE_CUSTOM07
	TYPE_CUSTOM08    = C.TCOD_TYPE_CUSTOM08
	TYPE_CUSTOM09    = C.TCOD_TYPE_CUSTOM09
	TYPE_CUSTOM10    = C.TCOD_TYPE_CUSTOM10
	TYPE_CUSTOM11    = C.TCOD_TYPE_CUSTOM11
	TYPE_CUSTOM12    = C.TCOD_TYPE_CUSTOM12
	TYPE_CUSTOM13    = C.TCOD_TYPE_CUSTOM13
	TYPE_CUSTOM14    = C.TCOD_TYPE_CUSTOM14
	TYPE_CUSTOM15    = C.TCOD_TYPE_CUSTOM15
	TYPE_LIST        = C.TCOD_TYPE_LIST
)

/* noise enum */

const (
	NOISE_PERLIN  = C.TCOD_NOISE_PERLIN
	NOISE_SIMPLEX = C.TCOD_NOISE_SIMPLEX
	NOISE_WAVELET = C.TCOD_NOISE_WAVELET
	NOISE_DEFAULT = C.TCOD_NOISE_DEFAULT
)

/* renderer enum */
const (
	RENDERER_GLSL   = C.TCOD_RENDERER_GLSL
	RENDERER_OPENGL = C.TCOD_RENDERER_OPENGL
	RENDERER_SDL    = C.TCOD_RENDERER_SDL
	NB_RENDERERS    = C.TCOD_NB_RENDERERS
)

/* alignment enum */
const (
	LEFT   = C.TCOD_LEFT
	RIGHT  = C.TCOD_RIGHT
	CENTER = C.TCOD_CENTER
)

/* distribution for mersenne */
const (
	DISTRIBUTION_LINEAR                 = C.TCOD_DISTRIBUTION_LINEAR
	DISTRIBUTION_GAUSSIAN               = C.TCOD_DISTRIBUTION_GAUSSIAN
	DISTRIBUTION_GAUSSIAN_RANGE         = C.TCOD_DISTRIBUTION_GAUSSIAN_RANGE
	DISTRIBUTION_GAUSSIAN_INVERSE       = C.TCOD_DISTRIBUTION_GAUSSIAN_INVERSE
	DISTRIBUTION_GAUSSIAN_RANGE_INVERSE = C.TCOD_DISTRIBUTION_GAUSSIAN_RANGE_INVERSE
)
