TombsOfHarc/include/console_types.h

266 lines
6.2 KiB
C

/*
* libtcod 1.6.0
* Copyright (c) 2008,2009,2010,2012,2013 Jice & Mingos
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * The name of Jice or Mingos may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY JICE AND MINGOS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL JICE OR MINGOS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _TCOD_CONSOLE_TYPES_H
#define _TCOD_CONSOLE_TYPES_H
typedef enum {
TCODK_NONE,
TCODK_ESCAPE,
TCODK_BACKSPACE,
TCODK_TAB,
TCODK_ENTER,
TCODK_SHIFT,
TCODK_CONTROL,
TCODK_ALT,
TCODK_PAUSE,
TCODK_CAPSLOCK,
TCODK_PAGEUP,
TCODK_PAGEDOWN,
TCODK_END,
TCODK_HOME,
TCODK_UP,
TCODK_LEFT,
TCODK_RIGHT,
TCODK_DOWN,
TCODK_PRINTSCREEN,
TCODK_INSERT,
TCODK_DELETE,
TCODK_LWIN,
TCODK_RWIN,
TCODK_APPS,
TCODK_0,
TCODK_1,
TCODK_2,
TCODK_3,
TCODK_4,
TCODK_5,
TCODK_6,
TCODK_7,
TCODK_8,
TCODK_9,
TCODK_KP0,
TCODK_KP1,
TCODK_KP2,
TCODK_KP3,
TCODK_KP4,
TCODK_KP5,
TCODK_KP6,
TCODK_KP7,
TCODK_KP8,
TCODK_KP9,
TCODK_KPADD,
TCODK_KPSUB,
TCODK_KPDIV,
TCODK_KPMUL,
TCODK_KPDEC,
TCODK_KPENTER,
TCODK_F1,
TCODK_F2,
TCODK_F3,
TCODK_F4,
TCODK_F5,
TCODK_F6,
TCODK_F7,
TCODK_F8,
TCODK_F9,
TCODK_F10,
TCODK_F11,
TCODK_F12,
TCODK_NUMLOCK,
TCODK_SCROLLLOCK,
TCODK_SPACE,
TCODK_CHAR,
TCODK_TEXT
} TCOD_keycode_t;
#define TCOD_KEY_TEXT_SIZE 32
/* key data : special code or character or text */
typedef struct {
TCOD_keycode_t vk; /* key code */
char c; /* character if vk == TCODK_CHAR else 0 */
char text[TCOD_KEY_TEXT_SIZE]; /* text if vk == TCODK_TEXT else text[0] == '\0' */
bool pressed ; /* does this correspond to a key press or key release event ? */
bool lalt ;
bool lctrl ;
bool ralt ;
bool rctrl ;
bool shift ;
} TCOD_key_t;
typedef enum {
/* single walls */
TCOD_CHAR_HLINE=196,
TCOD_CHAR_VLINE=179,
TCOD_CHAR_NE=191,
TCOD_CHAR_NW=218,
TCOD_CHAR_SE=217,
TCOD_CHAR_SW=192,
TCOD_CHAR_TEEW=180,
TCOD_CHAR_TEEE=195,
TCOD_CHAR_TEEN=193,
TCOD_CHAR_TEES=194,
TCOD_CHAR_CROSS=197,
/* double walls */
TCOD_CHAR_DHLINE=205,
TCOD_CHAR_DVLINE=186,
TCOD_CHAR_DNE=187,
TCOD_CHAR_DNW=201,
TCOD_CHAR_DSE=188,
TCOD_CHAR_DSW=200,
TCOD_CHAR_DTEEW=185,
TCOD_CHAR_DTEEE=204,
TCOD_CHAR_DTEEN=202,
TCOD_CHAR_DTEES=203,
TCOD_CHAR_DCROSS=206,
/* blocks */
TCOD_CHAR_BLOCK1=176,
TCOD_CHAR_BLOCK2=177,
TCOD_CHAR_BLOCK3=178,
/* arrows */
TCOD_CHAR_ARROW_N=24,
TCOD_CHAR_ARROW_S=25,
TCOD_CHAR_ARROW_E=26,
TCOD_CHAR_ARROW_W=27,
/* arrows without tail */
TCOD_CHAR_ARROW2_N=30,
TCOD_CHAR_ARROW2_S=31,
TCOD_CHAR_ARROW2_E=16,
TCOD_CHAR_ARROW2_W=17,
/* double arrows */
TCOD_CHAR_DARROW_H=29,
TCOD_CHAR_DARROW_V=18,
/* GUI stuff */
TCOD_CHAR_CHECKBOX_UNSET=224,
TCOD_CHAR_CHECKBOX_SET=225,
TCOD_CHAR_RADIO_UNSET=9,
TCOD_CHAR_RADIO_SET=10,
/* sub-pixel resolution kit */
TCOD_CHAR_SUBP_NW=226,
TCOD_CHAR_SUBP_NE=227,
TCOD_CHAR_SUBP_N=228,
TCOD_CHAR_SUBP_SE=229,
TCOD_CHAR_SUBP_DIAG=230,
TCOD_CHAR_SUBP_E=231,
TCOD_CHAR_SUBP_SW=232,
/* miscellaneous */
TCOD_CHAR_SMILIE = 1,
TCOD_CHAR_SMILIE_INV = 2,
TCOD_CHAR_HEART = 3,
TCOD_CHAR_DIAMOND = 4,
TCOD_CHAR_CLUB = 5,
TCOD_CHAR_SPADE = 6,
TCOD_CHAR_BULLET = 7,
TCOD_CHAR_BULLET_INV = 8,
TCOD_CHAR_MALE = 11,
TCOD_CHAR_FEMALE = 12,
TCOD_CHAR_NOTE = 13,
TCOD_CHAR_NOTE_DOUBLE = 14,
TCOD_CHAR_LIGHT = 15,
TCOD_CHAR_EXCLAM_DOUBLE = 19,
TCOD_CHAR_PILCROW = 20,
TCOD_CHAR_SECTION = 21,
TCOD_CHAR_POUND = 156,
TCOD_CHAR_MULTIPLICATION = 158,
TCOD_CHAR_FUNCTION = 159,
TCOD_CHAR_RESERVED = 169,
TCOD_CHAR_HALF = 171,
TCOD_CHAR_ONE_QUARTER = 172,
TCOD_CHAR_COPYRIGHT = 184,
TCOD_CHAR_CENT = 189,
TCOD_CHAR_YEN = 190,
TCOD_CHAR_CURRENCY = 207,
TCOD_CHAR_THREE_QUARTERS = 243,
TCOD_CHAR_DIVISION = 246,
TCOD_CHAR_GRADE = 248,
TCOD_CHAR_UMLAUT = 249,
TCOD_CHAR_POW1 = 251,
TCOD_CHAR_POW3 = 252,
TCOD_CHAR_POW2 = 253,
TCOD_CHAR_BULLET_SQUARE = 254,
/* diacritics */
} TCOD_chars_t;
typedef enum {
TCOD_COLCTRL_1 = 1,
TCOD_COLCTRL_2,
TCOD_COLCTRL_3,
TCOD_COLCTRL_4,
TCOD_COLCTRL_5,
TCOD_COLCTRL_NUMBER=5,
TCOD_COLCTRL_FORE_RGB,
TCOD_COLCTRL_BACK_RGB,
TCOD_COLCTRL_STOP
} TCOD_colctrl_t;
typedef enum {
TCOD_BKGND_NONE,
TCOD_BKGND_SET,
TCOD_BKGND_MULTIPLY,
TCOD_BKGND_LIGHTEN,
TCOD_BKGND_DARKEN,
TCOD_BKGND_SCREEN,
TCOD_BKGND_COLOR_DODGE,
TCOD_BKGND_COLOR_BURN,
TCOD_BKGND_ADD,
TCOD_BKGND_ADDA,
TCOD_BKGND_BURN,
TCOD_BKGND_OVERLAY,
TCOD_BKGND_ALPH,
TCOD_BKGND_DEFAULT
} TCOD_bkgnd_flag_t;
typedef enum {
TCOD_KEY_PRESSED=1,
TCOD_KEY_RELEASED=2,
} TCOD_key_status_t;
/* custom font flags */
typedef enum {
TCOD_FONT_LAYOUT_ASCII_INCOL=1,
TCOD_FONT_LAYOUT_ASCII_INROW=2,
TCOD_FONT_TYPE_GREYSCALE=4,
TCOD_FONT_TYPE_GRAYSCALE=4,
TCOD_FONT_LAYOUT_TCOD=8,
} TCOD_font_flags_t;
typedef enum {
TCOD_RENDERER_GLSL,
TCOD_RENDERER_OPENGL,
TCOD_RENDERER_SDL,
TCOD_NB_RENDERERS,
} TCOD_renderer_t;
typedef enum {
TCOD_LEFT,
TCOD_RIGHT,
TCOD_CENTER
} TCOD_alignment_t;
#endif /* _TCOD_CONSOLE_TYPES_H */