twnlua: bindgen.py capable of converting share/twn_api.h spec to lua bindings
This commit is contained in:
406
share/twn_api.json
Normal file
406
share/twn_api.json
Normal file
@ -0,0 +1,406 @@
|
||||
{
|
||||
"name": "twn",
|
||||
|
||||
"procedures": {
|
||||
"input_action": {
|
||||
"module": "input",
|
||||
"symbol": "bind_action",
|
||||
"header": "twn_input.h",
|
||||
"params": [
|
||||
{ "name": "name", "type": "char *" },
|
||||
{ "name": "control", "type": "Control" }
|
||||
]
|
||||
},
|
||||
|
||||
"input_action_pressed": {
|
||||
"module": "input",
|
||||
"symbol": "action_pressed",
|
||||
"header": "twn_input.h",
|
||||
"params": [
|
||||
{ "name": "name", "type": "char *" }
|
||||
],
|
||||
"return": "bool"
|
||||
},
|
||||
|
||||
"input_action_just_pressed": {
|
||||
"module": "input",
|
||||
"symbol": "action_just_pressed",
|
||||
"header": "twn_input.h",
|
||||
"params": [
|
||||
{ "name": "name", "type": "char *" }
|
||||
],
|
||||
"return": "bool"
|
||||
},
|
||||
|
||||
"input_action_just_released": {
|
||||
"module": "input",
|
||||
"symbol": "action_just_released",
|
||||
"header": "twn_input.h",
|
||||
"params": [
|
||||
{ "name": "name", "type": "char *" }
|
||||
],
|
||||
"return": "bool"
|
||||
},
|
||||
|
||||
"input_action_position": {
|
||||
"module": "input",
|
||||
"symbol": "get_action_position",
|
||||
"header": "twn_input.h",
|
||||
"params": [
|
||||
{ "name": "name", "type": "char *" }
|
||||
],
|
||||
"return": "Vec2"
|
||||
},
|
||||
|
||||
"input_mouse_captured": {
|
||||
"module": "input",
|
||||
"symbol": "set_mouse_captured",
|
||||
"header": "twn_input.h",
|
||||
"params": [
|
||||
{ "name": "enabled", "type": "bool" }
|
||||
]
|
||||
},
|
||||
|
||||
"draw_sprite": {
|
||||
"module": "draw",
|
||||
"symbol": "sprite",
|
||||
"header": "twn_draw.h",
|
||||
"params": [
|
||||
{ "name": "path", "type": "char *" },
|
||||
{ "name": "rect", "type": "Rect" },
|
||||
{ "name": "texture_region", "type": "Rect *", "default": {} },
|
||||
{ "name": "color", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } },
|
||||
{ "name": "rotation", "type": "float", "default": 0.0 },
|
||||
{ "name": "flip_x", "type": "bool", "default": false },
|
||||
{ "name": "flip_y", "type": "bool", "default": false },
|
||||
{ "name": "stretch", "type": "bool", "default": true }
|
||||
]
|
||||
},
|
||||
|
||||
"draw_rectangle": {
|
||||
"module": "draw",
|
||||
"symbol": "rectangle",
|
||||
"header": "twn_draw.h",
|
||||
"params": [
|
||||
{ "name": "rect", "type": "Rect" },
|
||||
{ "name": "color", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } }
|
||||
]
|
||||
},
|
||||
|
||||
"draw_circle": {
|
||||
"module": "draw",
|
||||
"symbol": "circle",
|
||||
"header": "twn_draw.h",
|
||||
"params": [
|
||||
{ "name": "position", "type": "Vec2" },
|
||||
{ "name": "radius", "type": "float" },
|
||||
{ "name": "color", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } }
|
||||
]
|
||||
},
|
||||
|
||||
"draw_text": {
|
||||
"module": "draw",
|
||||
"symbol": "text",
|
||||
"header": "twn_draw.h",
|
||||
"params": [
|
||||
{ "name": "string", "type": "char *" },
|
||||
{ "name": "position", "type": "Vec2" },
|
||||
{ "name": "height", "type": "float", "default": 22 },
|
||||
{ "name": "color", "type": "Color", "default": { "r": 255, "g": 255, "b": 255, "a": 255 } },
|
||||
{ "name": "font", "type": "char *", "default": {} }
|
||||
]
|
||||
},
|
||||
|
||||
"draw_text_width": {
|
||||
"module": "draw",
|
||||
"symbol": "text_width",
|
||||
"header": "twn_draw.h",
|
||||
"params": [
|
||||
{ "name": "string", "type": "char *" },
|
||||
{ "name": "height", "type": "float", "default": 22 },
|
||||
{ "name": "font", "type": "char *", "default": {} }
|
||||
],
|
||||
"return": "float"
|
||||
}
|
||||
},
|
||||
|
||||
"types": {
|
||||
"Vec2": {
|
||||
"fields": [
|
||||
{ "name": "x", "type": "float" },
|
||||
{ "name": "y", "type": "float" }
|
||||
]
|
||||
},
|
||||
|
||||
"Vec3": {
|
||||
"fields": [
|
||||
{ "name": "x", "type": "float" },
|
||||
{ "name": "y", "type": "float" },
|
||||
{ "name": "z", "type": "float" }
|
||||
]
|
||||
},
|
||||
|
||||
"Vec4": {
|
||||
"fields": [
|
||||
{ "name": "x", "type": "float" },
|
||||
{ "name": "y", "type": "float" },
|
||||
{ "name": "z", "type": "float" },
|
||||
{ "name": "w", "type": "float" }
|
||||
]
|
||||
},
|
||||
|
||||
"Color": {
|
||||
"fields": [
|
||||
{ "name": "r", "type": "uint8_t" },
|
||||
{ "name": "g", "type": "uint8_t" },
|
||||
{ "name": "b", "type": "uint8_t" },
|
||||
{ "name": "a", "type": "uint8_t" }
|
||||
]
|
||||
},
|
||||
|
||||
"Rect": {
|
||||
"fields": [
|
||||
{ "name": "x", "type": "float" },
|
||||
{ "name": "y", "type": "float" },
|
||||
{ "name": "w", "type": "float" },
|
||||
{ "name": "h", "type": "float" }
|
||||
]
|
||||
},
|
||||
|
||||
"Control": {
|
||||
"enums": {
|
||||
"A": 4,
|
||||
"B": 5,
|
||||
"C": 6,
|
||||
"D": 7,
|
||||
"E": 8,
|
||||
"F": 9,
|
||||
"G": 10,
|
||||
"H": 11,
|
||||
"I": 12,
|
||||
"J": 13,
|
||||
"K": 14,
|
||||
"L": 15,
|
||||
"M": 16,
|
||||
"N": 17,
|
||||
"O": 18,
|
||||
"P": 19,
|
||||
"Q": 20,
|
||||
"R": 21,
|
||||
"S": 22,
|
||||
"T": 23,
|
||||
"U": 24,
|
||||
"V": 25,
|
||||
"W": 26,
|
||||
"X": 27,
|
||||
"Y": 28,
|
||||
"Z": 29,
|
||||
"1": 30,
|
||||
"2": 31,
|
||||
"3": 32,
|
||||
"4": 33,
|
||||
"5": 34,
|
||||
"6": 35,
|
||||
"7": 36,
|
||||
"8": 37,
|
||||
"9": 38,
|
||||
"0": 39,
|
||||
"RETURN": 40,
|
||||
"ESCAPE": 41,
|
||||
"BACKSPACE": 42,
|
||||
"TAB": 43,
|
||||
"SPACE": 44,
|
||||
"MINUS": 45,
|
||||
"EQUALS": 46,
|
||||
"LEFTBRACKET": 47,
|
||||
"RIGHTBRACKET": 48,
|
||||
"BACKSLASH": 49,
|
||||
"NONUSHASH": 50,
|
||||
"SEMICOLON": 51,
|
||||
"APOSTROPHE": 52,
|
||||
"GRAVE": 53,
|
||||
"COMMA": 54,
|
||||
"PERIOD": 55,
|
||||
"SLASH": 56,
|
||||
"CAPSLOCK": 57,
|
||||
"F1": 58,
|
||||
"F2": 59,
|
||||
"F3": 60,
|
||||
"F4": 61,
|
||||
"F5": 62,
|
||||
"F6": 63,
|
||||
"F7": 64,
|
||||
"F8": 65,
|
||||
"F9": 66,
|
||||
"F10": 67,
|
||||
"F11": 68,
|
||||
"F12": 69,
|
||||
"PRINTSCREEN": 70,
|
||||
"SCROLLLOCK": 71,
|
||||
"PAUSE": 72,
|
||||
"INSERT": 73,
|
||||
"HOME": 74,
|
||||
"PAGEUP": 75,
|
||||
"DELETE": 76,
|
||||
"END": 77,
|
||||
"PAGEDOWN": 78,
|
||||
"RIGHT": 79,
|
||||
"LEFT": 80,
|
||||
"DOWN": 81,
|
||||
"UP": 82,
|
||||
"NUMLOCKCLEAR": 83,
|
||||
"KP_DIVIDE": 84,
|
||||
"KP_MULTIPLY": 85,
|
||||
"KP_MINUS": 86,
|
||||
"KP_PLUS": 87,
|
||||
"KP_ENTER": 88,
|
||||
"KP_1": 89,
|
||||
"KP_2": 90,
|
||||
"KP_3": 91,
|
||||
"KP_4": 92,
|
||||
"KP_5": 93,
|
||||
"KP_6": 94,
|
||||
"KP_7": 95,
|
||||
"KP_8": 96,
|
||||
"KP_9": 97,
|
||||
"KP_0": 98,
|
||||
"KP_PERIOD": 99,
|
||||
"NONUSBACKSLASH": 100,
|
||||
"APPLICATION": 101,
|
||||
"POWER": 102,
|
||||
"KP_EQUALS": 103,
|
||||
"F13": 104,
|
||||
"F14": 105,
|
||||
"F15": 106,
|
||||
"F16": 107,
|
||||
"F17": 108,
|
||||
"F18": 109,
|
||||
"F19": 110,
|
||||
"F20": 111,
|
||||
"F21": 112,
|
||||
"F22": 113,
|
||||
"F23": 114,
|
||||
"F24": 115,
|
||||
"EXECUTE": 116,
|
||||
"HELP": 117,
|
||||
"MENU": 118,
|
||||
"SELECT": 119,
|
||||
"STOP": 120,
|
||||
"AGAIN": 121,
|
||||
"UNDO": 122,
|
||||
"CUT": 123,
|
||||
"COPY": 124,
|
||||
"PASTE": 125,
|
||||
"FIND": 126,
|
||||
"MUTE": 127,
|
||||
"VOLUMEUP": 128,
|
||||
"VOLUMEDOWN": 129,
|
||||
"KP_COMMA": 133,
|
||||
"KP_EQUALSAS400": 134,
|
||||
"INTERNATIONAL1": 135,
|
||||
"INTERNATIONAL2": 136,
|
||||
"INTERNATIONAL3": 137,
|
||||
"INTERNATIONAL4": 138,
|
||||
"INTERNATIONAL5": 139,
|
||||
"INTERNATIONAL6": 140,
|
||||
"INTERNATIONAL7": 141,
|
||||
"INTERNATIONAL8": 142,
|
||||
"INTERNATIONAL9": 143,
|
||||
"LANG1": 144,
|
||||
"LANG2": 145,
|
||||
"LANG3": 146,
|
||||
"LANG4": 147,
|
||||
"LANG5": 148,
|
||||
"LANG6": 149,
|
||||
"LANG7": 150,
|
||||
"LANG8": 151,
|
||||
"LANG9": 152,
|
||||
"ALTERASE": 153,
|
||||
"SYSREQ": 154,
|
||||
"CANCEL": 155,
|
||||
"CLEAR": 156,
|
||||
"PRIOR": 157,
|
||||
"RETURN2": 158,
|
||||
"SEPARATOR": 159,
|
||||
"OUT": 160,
|
||||
"OPER": 161,
|
||||
"CLEARAGAIN": 162,
|
||||
"CRSEL": 163,
|
||||
"EXSEL": 164,
|
||||
"KP_00": 176,
|
||||
"KP_000": 177,
|
||||
"THOUSANDSSEPARATOR": 178,
|
||||
"DECIMALSEPARATOR": 179,
|
||||
"CURRENCYUNIT": 180,
|
||||
"CURRENCYSUBUNIT": 181,
|
||||
"KP_LEFTPAREN": 182,
|
||||
"KP_RIGHTPAREN": 183,
|
||||
"KP_LEFTBRACE": 184,
|
||||
"KP_RIGHTBRACE": 185,
|
||||
"KP_TAB": 186,
|
||||
"KP_BACKSPACE": 187,
|
||||
"KP_A": 188,
|
||||
"KP_B": 189,
|
||||
"KP_C": 190,
|
||||
"KP_D": 191,
|
||||
"KP_E": 192,
|
||||
"KP_F": 193,
|
||||
"KP_XOR": 194,
|
||||
"KP_POWER": 195,
|
||||
"KP_PERCENT": 196,
|
||||
"KP_LESS": 197,
|
||||
"KP_GREATER": 198,
|
||||
"KP_AMPERSAND": 199,
|
||||
"KP_DBLAMPERSAND": 200,
|
||||
"KP_VERTICALBAR": 201,
|
||||
"KP_DBLVERTICALBAR": 202,
|
||||
"KP_COLON": 203,
|
||||
"KP_HASH": 204,
|
||||
"KP_SPACE": 205,
|
||||
"KP_AT": 206,
|
||||
"KP_EXCLAM": 207,
|
||||
"KP_MEMSTORE": 208,
|
||||
"KP_MEMRECALL": 209,
|
||||
"KP_MEMCLEAR": 210,
|
||||
"KP_MEMADD": 211,
|
||||
"KP_MEMSUBTRACT": 212,
|
||||
"KP_MEMMULTIPLY": 213,
|
||||
"KP_MEMDIVIDE": 214,
|
||||
"KP_PLUSMINUS": 215,
|
||||
"KP_CLEAR": 216,
|
||||
"KP_CLEARENTRY": 217,
|
||||
"KP_BINARY": 218,
|
||||
"KP_OCTAL": 219,
|
||||
"KP_DECIMAL": 220,
|
||||
"KP_HEXADECIMAL": 221,
|
||||
"LCTRL": 224,
|
||||
"LSHIFT": 225,
|
||||
"LALT": 226,
|
||||
"LGUI": 227,
|
||||
"RCTRL": 228,
|
||||
"RSHIFT": 229,
|
||||
"RALT": 230,
|
||||
"RGUI": 231,
|
||||
"MODE": 257,
|
||||
"KBDILLUMTOGGLE": 278,
|
||||
"KBDILLUMDOWN": 279,
|
||||
"KBDILLUMUP": 280,
|
||||
"EJECT": 281,
|
||||
"SLEEP": 282,
|
||||
"APP1": 283,
|
||||
"APP2": 284,
|
||||
"AUDIOREWIND": 285,
|
||||
"AUDIOFASTFORWARD": 286,
|
||||
"SOFTLEFT": 287,
|
||||
"SOFTRIGHT": 288,
|
||||
"CALL": 289,
|
||||
"ENDCALL": 290,
|
||||
"LEFT_MOUSE": 513,
|
||||
"RIGHT_MOUSE": 515,
|
||||
"MIDDLE_MOUSE": 514,
|
||||
"X1": 516,
|
||||
"X2": 517
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user