1 /**
2  * Raylib types
3  *
4  * Automatically generated, do not modify
5  */
6 module bindbc.raylib.types;
7 
8 enum RaylibSupport {
9    noLibrary,
10    badLibrary,
11    raylib370 = 370,
12    raylib400 = 400
13 }
14 
15 enum RAYLIB_VERSION_MAJOR = 4;
16 enum RAYLIB_VERSION_MINOR = 0;
17 enum RAYLIB_VERSION_REVISION = 0;
18 enum RAYLIB_VERSION_BUILD = 0;
19 enum raylibSupport = RaylibSupport.raylib400;
20 
21 
22 // structs
23 
24 struct Vector2 {
25    /// Vector x component
26    float x;
27    /// Vector y component
28    float y;
29 }
30 struct Vector3 {
31    /// Vector x component
32    float x;
33    /// Vector y component
34    float y;
35    /// Vector z component
36    float z;
37 }
38 struct Vector4 {
39    /// Vector x component
40    float x;
41    /// Vector y component
42    float y;
43    /// Vector z component
44    float z;
45    /// Vector w component
46    float w;
47 }
48 struct Matrix {
49    /// Matrix first row (4 components)
50    float m0, m4, m8, m12;
51    /// Matrix second row (4 components)
52    float m1, m5, m9, m13;
53    /// Matrix third row (4 components)
54    float m2, m6, m10, m14;
55    /// Matrix fourth row (4 components)
56    float m3, m7, m11, m15;
57 }
58 struct Color {
59    /// Color red value
60    ubyte r;
61    /// Color green value
62    ubyte g;
63    /// Color blue value
64    ubyte b;
65    /// Color alpha value
66    ubyte a;
67 }
68 struct Rectangle {
69    /// Rectangle top-left corner position x
70    float x;
71    /// Rectangle top-left corner position y
72    float y;
73    /// Rectangle width
74    float width;
75    /// Rectangle height
76    float height;
77 }
78 struct Image {
79    /// Image raw data
80    void* data;
81    /// Image base width
82    int width;
83    /// Image base height
84    int height;
85    /// Mipmap levels, 1 by default
86    int mipmaps;
87    /// Data format (PixelFormat type)
88    int format;
89 }
90 struct Texture {
91    /// OpenGL texture id
92    uint id;
93    /// Texture base width
94    int width;
95    /// Texture base height
96    int height;
97    /// Mipmap levels, 1 by default
98    int mipmaps;
99    /// Data format (PixelFormat type)
100    int format;
101 }
102 struct RenderTexture {
103    /// OpenGL framebuffer object id
104    uint id;
105    /// Color buffer attachment texture
106    Texture texture;
107    /// Depth buffer attachment texture
108    Texture depth;
109 }
110 struct NPatchInfo {
111    /// Texture source rectangle
112    Rectangle source;
113    /// Left border offset
114    int left;
115    /// Top border offset
116    int top;
117    /// Right border offset
118    int right;
119    /// Bottom border offset
120    int bottom;
121    /// Layout of the n-patch: 3x3, 1x3 or 3x1
122    int layout;
123 }
124 struct GlyphInfo {
125    /// Character value (Unicode)
126    int value;
127    /// Character offset X when drawing
128    int offsetX;
129    /// Character offset Y when drawing
130    int offsetY;
131    /// Character advance position X
132    int advanceX;
133    /// Character image data
134    Image image;
135 }
136 struct Font {
137    /// Base size (default chars height)
138    int baseSize;
139    /// Number of glyph characters
140    int glyphCount;
141    /// Padding around the glyph characters
142    int glyphPadding;
143    /// Texture atlas containing the glyphs
144    Texture2D texture;
145    /// Rectangles in texture for the glyphs
146    Rectangle* recs;
147    /// Glyphs info data
148    GlyphInfo* glyphs;
149 }
150 struct Camera3D {
151    /// Camera position
152    Vector3 position;
153    /// Camera target it looks-at
154    Vector3 target;
155    /// Camera up vector (rotation over its axis)
156    Vector3 up;
157    /// Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic
158    float fovy;
159    /// Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC
160    int projection;
161 }
162 struct Camera2D {
163    /// Camera offset (displacement from target)
164    Vector2 offset;
165    /// Camera target (rotation and zoom origin)
166    Vector2 target;
167    /// Camera rotation in degrees
168    float rotation;
169    /// Camera zoom (scaling), should be 1.0f by default
170    float zoom;
171 }
172 struct Mesh {
173    /// Number of vertices stored in arrays
174    int vertexCount;
175    /// Number of triangles stored (indexed or not)
176    int triangleCount;
177    /// Vertex position (XYZ - 3 components per vertex) (shader-location = 0)
178    float* vertices;
179    /// Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)
180    float* texcoords;
181    /// Vertex second texture coordinates (useful for lightmaps) (shader-location = 5)
182    float* texcoords2;
183    /// Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)
184    float* normals;
185    /// Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)
186    float* tangents;
187    /// Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)
188    ubyte* colors;
189    /// Vertex indices (in case vertex data comes indexed)
190    ushort* indices;
191    /// Animated vertex positions (after bones transformations)
192    float* animVertices;
193    /// Animated normals (after bones transformations)
194    float* animNormals;
195    /// Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning)
196    ubyte* boneIds;
197    /// Vertex bone weight, up to 4 bones influence by vertex (skinning)
198    float* boneWeights;
199    /// OpenGL Vertex Array Object id
200    uint vaoId;
201    /// OpenGL Vertex Buffer Objects id (default vertex data)
202    uint* vboId;
203 }
204 struct Shader {
205    /// Shader program id
206    uint id;
207    /// Shader locations array (RL_MAX_SHADER_LOCATIONS)
208    int* locs;
209 }
210 struct MaterialMap {
211    /// Material map texture
212    Texture2D texture;
213    /// Material map color
214    Color color;
215    /// Material map value
216    float value;
217 }
218 struct Material {
219    /// Material shader
220    Shader shader;
221    /// Material maps array (MAX_MATERIAL_MAPS)
222    MaterialMap* maps;
223    /// Material generic parameters (if required)
224    float[4] params;
225 }
226 struct Transform {
227    /// Translation
228    Vector3 translation;
229    /// Rotation
230    Quaternion rotation;
231    /// Scale
232    Vector3 scale;
233 }
234 struct BoneInfo {
235    /// Bone name
236    char[32] name;
237    /// Bone parent
238    int parent;
239 }
240 struct Model {
241    /// Local transform matrix
242    Matrix transform;
243    /// Number of meshes
244    int meshCount;
245    /// Number of materials
246    int materialCount;
247    /// Meshes array
248    Mesh* meshes;
249    /// Materials array
250    Material* materials;
251    /// Mesh material number
252    int* meshMaterial;
253    /// Number of bones
254    int boneCount;
255    /// Bones information (skeleton)
256    BoneInfo* bones;
257    /// Bones base transformation (pose)
258    Transform* bindPose;
259 }
260 struct ModelAnimation {
261    /// Number of bones
262    int boneCount;
263    /// Number of animation frames
264    int frameCount;
265    /// Bones information (skeleton)
266    BoneInfo* bones;
267    /// Poses array by frame
268    Transform** framePoses;
269 }
270 struct Ray {
271    /// Ray position (origin)
272    Vector3 position;
273    /// Ray direction
274    Vector3 direction;
275 }
276 struct RayCollision {
277    /// Did the ray hit something?
278    bool hit;
279    /// Distance to nearest hit
280    float distance;
281    /// Point of nearest hit
282    Vector3 point;
283    /// Surface normal of hit
284    Vector3 normal;
285 }
286 struct BoundingBox {
287    /// Minimum vertex box-corner
288    Vector3 min;
289    /// Maximum vertex box-corner
290    Vector3 max;
291 }
292 struct Wave {
293    /// Total number of frames (considering channels)
294    uint frameCount;
295    /// Frequency (samples per second)
296    uint sampleRate;
297    /// Bit depth (bits per sample): 8, 16, 32 (24 not supported)
298    uint sampleSize;
299    /// Number of channels (1-mono, 2-stereo, ...)
300    uint channels;
301    /// Buffer data pointer
302    void* data;
303 }
304 struct AudioStream {
305    /// Pointer to internal data used by the audio system
306    rAudioBuffer* buffer;
307    /// Frequency (samples per second)
308    uint sampleRate;
309    /// Bit depth (bits per sample): 8, 16, 32 (24 not supported)
310    uint sampleSize;
311    /// Number of channels (1-mono, 2-stereo, ...)
312    uint channels;
313 }
314 struct Sound {
315    /// Audio stream
316    AudioStream stream;
317    /// Total number of frames (considering channels)
318    uint frameCount;
319 }
320 struct Music {
321    /// Audio stream
322    AudioStream stream;
323    /// Total number of frames (considering channels)
324    uint frameCount;
325    /// Music looping enable
326    bool looping;
327    /// Type of music context (audio filetype)
328    int ctxType;
329    /// Audio context data, depends on type
330    void* ctxData;
331 }
332 struct VrDeviceInfo {
333    /// Horizontal resolution in pixels
334    int hResolution;
335    /// Vertical resolution in pixels
336    int vResolution;
337    /// Horizontal size in meters
338    float hScreenSize;
339    /// Vertical size in meters
340    float vScreenSize;
341    /// Screen center in meters
342    float vScreenCenter;
343    /// Distance between eye and display in meters
344    float eyeToScreenDistance;
345    /// Lens separation distance in meters
346    float lensSeparationDistance;
347    /// IPD (distance between pupils) in meters
348    float interpupillaryDistance;
349    /// Lens distortion constant parameters
350    float[4] lensDistortionValues;
351    /// Chromatic aberration correction parameters
352    float[4] chromaAbCorrection;
353 }
354 struct VrStereoConfig {
355    /// VR projection matrices (per eye)
356    Matrix[2] projection;
357    /// VR view offset matrices (per eye)
358    Matrix[2] viewOffset;
359    /// VR left lens center
360    float[2] leftLensCenter;
361    /// VR right lens center
362    float[2] rightLensCenter;
363    /// VR left screen center
364    float[2] leftScreenCenter;
365    /// VR right screen center
366    float[2] rightScreenCenter;
367    /// VR distortion scale
368    float[2] scale;
369    /// VR distortion scale in
370    float[2] scaleIn;
371 }
372 
373 alias RenderTexture2D = RenderTexture;
374 alias Camera = Camera3D;
375 alias Texture2D = Texture;
376 alias TextureCubemap = Texture;
377 alias Quaternion = Vector4;
378 struct rAudioBuffer {}
379 
380 // enums
381 
382 enum ConfigFlags {
383    FLAG_VSYNC_HINT = 64,
384    FLAG_FULLSCREEN_MODE = 2,
385    FLAG_WINDOW_RESIZABLE = 4,
386    FLAG_WINDOW_UNDECORATED = 8,
387    FLAG_WINDOW_HIDDEN = 128,
388    FLAG_WINDOW_MINIMIZED = 512,
389    FLAG_WINDOW_MAXIMIZED = 1024,
390    FLAG_WINDOW_UNFOCUSED = 2048,
391    FLAG_WINDOW_TOPMOST = 4096,
392    FLAG_WINDOW_ALWAYS_RUN = 256,
393    FLAG_WINDOW_TRANSPARENT = 16,
394    FLAG_WINDOW_HIGHDPI = 8192,
395    FLAG_MSAA_4X_HINT = 32,
396    FLAG_INTERLACED_HINT = 65536,
397 }
398 
399 alias FLAG_VSYNC_HINT = ConfigFlags.FLAG_VSYNC_HINT;
400 alias FLAG_FULLSCREEN_MODE = ConfigFlags.FLAG_FULLSCREEN_MODE;
401 alias FLAG_WINDOW_RESIZABLE = ConfigFlags.FLAG_WINDOW_RESIZABLE;
402 alias FLAG_WINDOW_UNDECORATED = ConfigFlags.FLAG_WINDOW_UNDECORATED;
403 alias FLAG_WINDOW_HIDDEN = ConfigFlags.FLAG_WINDOW_HIDDEN;
404 alias FLAG_WINDOW_MINIMIZED = ConfigFlags.FLAG_WINDOW_MINIMIZED;
405 alias FLAG_WINDOW_MAXIMIZED = ConfigFlags.FLAG_WINDOW_MAXIMIZED;
406 alias FLAG_WINDOW_UNFOCUSED = ConfigFlags.FLAG_WINDOW_UNFOCUSED;
407 alias FLAG_WINDOW_TOPMOST = ConfigFlags.FLAG_WINDOW_TOPMOST;
408 alias FLAG_WINDOW_ALWAYS_RUN = ConfigFlags.FLAG_WINDOW_ALWAYS_RUN;
409 alias FLAG_WINDOW_TRANSPARENT = ConfigFlags.FLAG_WINDOW_TRANSPARENT;
410 alias FLAG_WINDOW_HIGHDPI = ConfigFlags.FLAG_WINDOW_HIGHDPI;
411 alias FLAG_MSAA_4X_HINT = ConfigFlags.FLAG_MSAA_4X_HINT;
412 alias FLAG_INTERLACED_HINT = ConfigFlags.FLAG_INTERLACED_HINT;
413 enum TraceLogLevel {
414    LOG_ALL = 0,
415    LOG_TRACE = 1,
416    LOG_DEBUG = 2,
417    LOG_INFO = 3,
418    LOG_WARNING = 4,
419    LOG_ERROR = 5,
420    LOG_FATAL = 6,
421    LOG_NONE = 7,
422 }
423 
424 alias LOG_ALL = TraceLogLevel.LOG_ALL;
425 alias LOG_TRACE = TraceLogLevel.LOG_TRACE;
426 alias LOG_DEBUG = TraceLogLevel.LOG_DEBUG;
427 alias LOG_INFO = TraceLogLevel.LOG_INFO;
428 alias LOG_WARNING = TraceLogLevel.LOG_WARNING;
429 alias LOG_ERROR = TraceLogLevel.LOG_ERROR;
430 alias LOG_FATAL = TraceLogLevel.LOG_FATAL;
431 alias LOG_NONE = TraceLogLevel.LOG_NONE;
432 enum KeyboardKey {
433    KEY_NULL = 0,
434    KEY_APOSTROPHE = 39,
435    KEY_COMMA = 44,
436    KEY_MINUS = 45,
437    KEY_PERIOD = 46,
438    KEY_SLASH = 47,
439    KEY_ZERO = 48,
440    KEY_ONE = 49,
441    KEY_TWO = 50,
442    KEY_THREE = 51,
443    KEY_FOUR = 52,
444    KEY_FIVE = 53,
445    KEY_SIX = 54,
446    KEY_SEVEN = 55,
447    KEY_EIGHT = 56,
448    KEY_NINE = 57,
449    KEY_SEMICOLON = 59,
450    KEY_EQUAL = 61,
451    KEY_A = 65,
452    KEY_B = 66,
453    KEY_C = 67,
454    KEY_D = 68,
455    KEY_E = 69,
456    KEY_F = 70,
457    KEY_G = 71,
458    KEY_H = 72,
459    KEY_I = 73,
460    KEY_J = 74,
461    KEY_K = 75,
462    KEY_L = 76,
463    KEY_M = 77,
464    KEY_N = 78,
465    KEY_O = 79,
466    KEY_P = 80,
467    KEY_Q = 81,
468    KEY_R = 82,
469    KEY_S = 83,
470    KEY_T = 84,
471    KEY_U = 85,
472    KEY_V = 86,
473    KEY_W = 87,
474    KEY_X = 88,
475    KEY_Y = 89,
476    KEY_Z = 90,
477    KEY_LEFT_BRACKET = 91,
478    KEY_BACKSLASH = 92,
479    KEY_RIGHT_BRACKET = 93,
480    KEY_GRAVE = 96,
481    KEY_SPACE = 32,
482    KEY_ESCAPE = 256,
483    KEY_ENTER = 257,
484    KEY_TAB = 258,
485    KEY_BACKSPACE = 259,
486    KEY_INSERT = 260,
487    KEY_DELETE = 261,
488    KEY_RIGHT = 262,
489    KEY_LEFT = 263,
490    KEY_DOWN = 264,
491    KEY_UP = 265,
492    KEY_PAGE_UP = 266,
493    KEY_PAGE_DOWN = 267,
494    KEY_HOME = 268,
495    KEY_END = 269,
496    KEY_CAPS_LOCK = 280,
497    KEY_SCROLL_LOCK = 281,
498    KEY_NUM_LOCK = 282,
499    KEY_PRINT_SCREEN = 283,
500    KEY_PAUSE = 284,
501    KEY_F1 = 290,
502    KEY_F2 = 291,
503    KEY_F3 = 292,
504    KEY_F4 = 293,
505    KEY_F5 = 294,
506    KEY_F6 = 295,
507    KEY_F7 = 296,
508    KEY_F8 = 297,
509    KEY_F9 = 298,
510    KEY_F10 = 299,
511    KEY_F11 = 300,
512    KEY_F12 = 301,
513    KEY_LEFT_SHIFT = 340,
514    KEY_LEFT_CONTROL = 341,
515    KEY_LEFT_ALT = 342,
516    KEY_LEFT_SUPER = 343,
517    KEY_RIGHT_SHIFT = 344,
518    KEY_RIGHT_CONTROL = 345,
519    KEY_RIGHT_ALT = 346,
520    KEY_RIGHT_SUPER = 347,
521    KEY_KB_MENU = 348,
522    KEY_KP_0 = 320,
523    KEY_KP_1 = 321,
524    KEY_KP_2 = 322,
525    KEY_KP_3 = 323,
526    KEY_KP_4 = 324,
527    KEY_KP_5 = 325,
528    KEY_KP_6 = 326,
529    KEY_KP_7 = 327,
530    KEY_KP_8 = 328,
531    KEY_KP_9 = 329,
532    KEY_KP_DECIMAL = 330,
533    KEY_KP_DIVIDE = 331,
534    KEY_KP_MULTIPLY = 332,
535    KEY_KP_SUBTRACT = 333,
536    KEY_KP_ADD = 334,
537    KEY_KP_ENTER = 335,
538    KEY_KP_EQUAL = 336,
539    KEY_BACK = 4,
540    KEY_MENU = 82,
541    KEY_VOLUME_UP = 24,
542    KEY_VOLUME_DOWN = 25,
543 }
544 
545 alias KEY_NULL = KeyboardKey.KEY_NULL;
546 alias KEY_APOSTROPHE = KeyboardKey.KEY_APOSTROPHE;
547 alias KEY_COMMA = KeyboardKey.KEY_COMMA;
548 alias KEY_MINUS = KeyboardKey.KEY_MINUS;
549 alias KEY_PERIOD = KeyboardKey.KEY_PERIOD;
550 alias KEY_SLASH = KeyboardKey.KEY_SLASH;
551 alias KEY_ZERO = KeyboardKey.KEY_ZERO;
552 alias KEY_ONE = KeyboardKey.KEY_ONE;
553 alias KEY_TWO = KeyboardKey.KEY_TWO;
554 alias KEY_THREE = KeyboardKey.KEY_THREE;
555 alias KEY_FOUR = KeyboardKey.KEY_FOUR;
556 alias KEY_FIVE = KeyboardKey.KEY_FIVE;
557 alias KEY_SIX = KeyboardKey.KEY_SIX;
558 alias KEY_SEVEN = KeyboardKey.KEY_SEVEN;
559 alias KEY_EIGHT = KeyboardKey.KEY_EIGHT;
560 alias KEY_NINE = KeyboardKey.KEY_NINE;
561 alias KEY_SEMICOLON = KeyboardKey.KEY_SEMICOLON;
562 alias KEY_EQUAL = KeyboardKey.KEY_EQUAL;
563 alias KEY_A = KeyboardKey.KEY_A;
564 alias KEY_B = KeyboardKey.KEY_B;
565 alias KEY_C = KeyboardKey.KEY_C;
566 alias KEY_D = KeyboardKey.KEY_D;
567 alias KEY_E = KeyboardKey.KEY_E;
568 alias KEY_F = KeyboardKey.KEY_F;
569 alias KEY_G = KeyboardKey.KEY_G;
570 alias KEY_H = KeyboardKey.KEY_H;
571 alias KEY_I = KeyboardKey.KEY_I;
572 alias KEY_J = KeyboardKey.KEY_J;
573 alias KEY_K = KeyboardKey.KEY_K;
574 alias KEY_L = KeyboardKey.KEY_L;
575 alias KEY_M = KeyboardKey.KEY_M;
576 alias KEY_N = KeyboardKey.KEY_N;
577 alias KEY_O = KeyboardKey.KEY_O;
578 alias KEY_P = KeyboardKey.KEY_P;
579 alias KEY_Q = KeyboardKey.KEY_Q;
580 alias KEY_R = KeyboardKey.KEY_R;
581 alias KEY_S = KeyboardKey.KEY_S;
582 alias KEY_T = KeyboardKey.KEY_T;
583 alias KEY_U = KeyboardKey.KEY_U;
584 alias KEY_V = KeyboardKey.KEY_V;
585 alias KEY_W = KeyboardKey.KEY_W;
586 alias KEY_X = KeyboardKey.KEY_X;
587 alias KEY_Y = KeyboardKey.KEY_Y;
588 alias KEY_Z = KeyboardKey.KEY_Z;
589 alias KEY_LEFT_BRACKET = KeyboardKey.KEY_LEFT_BRACKET;
590 alias KEY_BACKSLASH = KeyboardKey.KEY_BACKSLASH;
591 alias KEY_RIGHT_BRACKET = KeyboardKey.KEY_RIGHT_BRACKET;
592 alias KEY_GRAVE = KeyboardKey.KEY_GRAVE;
593 alias KEY_SPACE = KeyboardKey.KEY_SPACE;
594 alias KEY_ESCAPE = KeyboardKey.KEY_ESCAPE;
595 alias KEY_ENTER = KeyboardKey.KEY_ENTER;
596 alias KEY_TAB = KeyboardKey.KEY_TAB;
597 alias KEY_BACKSPACE = KeyboardKey.KEY_BACKSPACE;
598 alias KEY_INSERT = KeyboardKey.KEY_INSERT;
599 alias KEY_DELETE = KeyboardKey.KEY_DELETE;
600 alias KEY_RIGHT = KeyboardKey.KEY_RIGHT;
601 alias KEY_LEFT = KeyboardKey.KEY_LEFT;
602 alias KEY_DOWN = KeyboardKey.KEY_DOWN;
603 alias KEY_UP = KeyboardKey.KEY_UP;
604 alias KEY_PAGE_UP = KeyboardKey.KEY_PAGE_UP;
605 alias KEY_PAGE_DOWN = KeyboardKey.KEY_PAGE_DOWN;
606 alias KEY_HOME = KeyboardKey.KEY_HOME;
607 alias KEY_END = KeyboardKey.KEY_END;
608 alias KEY_CAPS_LOCK = KeyboardKey.KEY_CAPS_LOCK;
609 alias KEY_SCROLL_LOCK = KeyboardKey.KEY_SCROLL_LOCK;
610 alias KEY_NUM_LOCK = KeyboardKey.KEY_NUM_LOCK;
611 alias KEY_PRINT_SCREEN = KeyboardKey.KEY_PRINT_SCREEN;
612 alias KEY_PAUSE = KeyboardKey.KEY_PAUSE;
613 alias KEY_F1 = KeyboardKey.KEY_F1;
614 alias KEY_F2 = KeyboardKey.KEY_F2;
615 alias KEY_F3 = KeyboardKey.KEY_F3;
616 alias KEY_F4 = KeyboardKey.KEY_F4;
617 alias KEY_F5 = KeyboardKey.KEY_F5;
618 alias KEY_F6 = KeyboardKey.KEY_F6;
619 alias KEY_F7 = KeyboardKey.KEY_F7;
620 alias KEY_F8 = KeyboardKey.KEY_F8;
621 alias KEY_F9 = KeyboardKey.KEY_F9;
622 alias KEY_F10 = KeyboardKey.KEY_F10;
623 alias KEY_F11 = KeyboardKey.KEY_F11;
624 alias KEY_F12 = KeyboardKey.KEY_F12;
625 alias KEY_LEFT_SHIFT = KeyboardKey.KEY_LEFT_SHIFT;
626 alias KEY_LEFT_CONTROL = KeyboardKey.KEY_LEFT_CONTROL;
627 alias KEY_LEFT_ALT = KeyboardKey.KEY_LEFT_ALT;
628 alias KEY_LEFT_SUPER = KeyboardKey.KEY_LEFT_SUPER;
629 alias KEY_RIGHT_SHIFT = KeyboardKey.KEY_RIGHT_SHIFT;
630 alias KEY_RIGHT_CONTROL = KeyboardKey.KEY_RIGHT_CONTROL;
631 alias KEY_RIGHT_ALT = KeyboardKey.KEY_RIGHT_ALT;
632 alias KEY_RIGHT_SUPER = KeyboardKey.KEY_RIGHT_SUPER;
633 alias KEY_KB_MENU = KeyboardKey.KEY_KB_MENU;
634 alias KEY_KP_0 = KeyboardKey.KEY_KP_0;
635 alias KEY_KP_1 = KeyboardKey.KEY_KP_1;
636 alias KEY_KP_2 = KeyboardKey.KEY_KP_2;
637 alias KEY_KP_3 = KeyboardKey.KEY_KP_3;
638 alias KEY_KP_4 = KeyboardKey.KEY_KP_4;
639 alias KEY_KP_5 = KeyboardKey.KEY_KP_5;
640 alias KEY_KP_6 = KeyboardKey.KEY_KP_6;
641 alias KEY_KP_7 = KeyboardKey.KEY_KP_7;
642 alias KEY_KP_8 = KeyboardKey.KEY_KP_8;
643 alias KEY_KP_9 = KeyboardKey.KEY_KP_9;
644 alias KEY_KP_DECIMAL = KeyboardKey.KEY_KP_DECIMAL;
645 alias KEY_KP_DIVIDE = KeyboardKey.KEY_KP_DIVIDE;
646 alias KEY_KP_MULTIPLY = KeyboardKey.KEY_KP_MULTIPLY;
647 alias KEY_KP_SUBTRACT = KeyboardKey.KEY_KP_SUBTRACT;
648 alias KEY_KP_ADD = KeyboardKey.KEY_KP_ADD;
649 alias KEY_KP_ENTER = KeyboardKey.KEY_KP_ENTER;
650 alias KEY_KP_EQUAL = KeyboardKey.KEY_KP_EQUAL;
651 alias KEY_BACK = KeyboardKey.KEY_BACK;
652 alias KEY_MENU = KeyboardKey.KEY_MENU;
653 alias KEY_VOLUME_UP = KeyboardKey.KEY_VOLUME_UP;
654 alias KEY_VOLUME_DOWN = KeyboardKey.KEY_VOLUME_DOWN;
655 enum MouseButton {
656    MOUSE_BUTTON_LEFT = 0,
657    MOUSE_BUTTON_RIGHT = 1,
658    MOUSE_BUTTON_MIDDLE = 2,
659    MOUSE_BUTTON_SIDE = 3,
660    MOUSE_BUTTON_EXTRA = 4,
661    MOUSE_BUTTON_FORWARD = 5,
662    MOUSE_BUTTON_BACK = 6,
663 }
664 
665 alias MOUSE_BUTTON_LEFT = MouseButton.MOUSE_BUTTON_LEFT;
666 alias MOUSE_BUTTON_RIGHT = MouseButton.MOUSE_BUTTON_RIGHT;
667 alias MOUSE_BUTTON_MIDDLE = MouseButton.MOUSE_BUTTON_MIDDLE;
668 alias MOUSE_BUTTON_SIDE = MouseButton.MOUSE_BUTTON_SIDE;
669 alias MOUSE_BUTTON_EXTRA = MouseButton.MOUSE_BUTTON_EXTRA;
670 alias MOUSE_BUTTON_FORWARD = MouseButton.MOUSE_BUTTON_FORWARD;
671 alias MOUSE_BUTTON_BACK = MouseButton.MOUSE_BUTTON_BACK;
672 enum MouseCursor {
673    MOUSE_CURSOR_DEFAULT = 0,
674    MOUSE_CURSOR_ARROW = 1,
675    MOUSE_CURSOR_IBEAM = 2,
676    MOUSE_CURSOR_CROSSHAIR = 3,
677    MOUSE_CURSOR_POINTING_HAND = 4,
678    MOUSE_CURSOR_RESIZE_EW = 5,
679    MOUSE_CURSOR_RESIZE_NS = 6,
680    MOUSE_CURSOR_RESIZE_NWSE = 7,
681    MOUSE_CURSOR_RESIZE_NESW = 8,
682    MOUSE_CURSOR_RESIZE_ALL = 9,
683    MOUSE_CURSOR_NOT_ALLOWED = 10,
684 }
685 
686 alias MOUSE_CURSOR_DEFAULT = MouseCursor.MOUSE_CURSOR_DEFAULT;
687 alias MOUSE_CURSOR_ARROW = MouseCursor.MOUSE_CURSOR_ARROW;
688 alias MOUSE_CURSOR_IBEAM = MouseCursor.MOUSE_CURSOR_IBEAM;
689 alias MOUSE_CURSOR_CROSSHAIR = MouseCursor.MOUSE_CURSOR_CROSSHAIR;
690 alias MOUSE_CURSOR_POINTING_HAND = MouseCursor.MOUSE_CURSOR_POINTING_HAND;
691 alias MOUSE_CURSOR_RESIZE_EW = MouseCursor.MOUSE_CURSOR_RESIZE_EW;
692 alias MOUSE_CURSOR_RESIZE_NS = MouseCursor.MOUSE_CURSOR_RESIZE_NS;
693 alias MOUSE_CURSOR_RESIZE_NWSE = MouseCursor.MOUSE_CURSOR_RESIZE_NWSE;
694 alias MOUSE_CURSOR_RESIZE_NESW = MouseCursor.MOUSE_CURSOR_RESIZE_NESW;
695 alias MOUSE_CURSOR_RESIZE_ALL = MouseCursor.MOUSE_CURSOR_RESIZE_ALL;
696 alias MOUSE_CURSOR_NOT_ALLOWED = MouseCursor.MOUSE_CURSOR_NOT_ALLOWED;
697 enum GamepadButton {
698    GAMEPAD_BUTTON_UNKNOWN = 0,
699    GAMEPAD_BUTTON_LEFT_FACE_UP = 1,
700    GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2,
701    GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3,
702    GAMEPAD_BUTTON_LEFT_FACE_LEFT = 4,
703    GAMEPAD_BUTTON_RIGHT_FACE_UP = 5,
704    GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = 6,
705    GAMEPAD_BUTTON_RIGHT_FACE_DOWN = 7,
706    GAMEPAD_BUTTON_RIGHT_FACE_LEFT = 8,
707    GAMEPAD_BUTTON_LEFT_TRIGGER_1 = 9,
708    GAMEPAD_BUTTON_LEFT_TRIGGER_2 = 10,
709    GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = 11,
710    GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = 12,
711    GAMEPAD_BUTTON_MIDDLE_LEFT = 13,
712    GAMEPAD_BUTTON_MIDDLE = 14,
713    GAMEPAD_BUTTON_MIDDLE_RIGHT = 15,
714    GAMEPAD_BUTTON_LEFT_THUMB = 16,
715    GAMEPAD_BUTTON_RIGHT_THUMB = 17,
716 }
717 
718 alias GAMEPAD_BUTTON_UNKNOWN = GamepadButton.GAMEPAD_BUTTON_UNKNOWN;
719 alias GAMEPAD_BUTTON_LEFT_FACE_UP = GamepadButton.GAMEPAD_BUTTON_LEFT_FACE_UP;
720 alias GAMEPAD_BUTTON_LEFT_FACE_RIGHT = GamepadButton.GAMEPAD_BUTTON_LEFT_FACE_RIGHT;
721 alias GAMEPAD_BUTTON_LEFT_FACE_DOWN = GamepadButton.GAMEPAD_BUTTON_LEFT_FACE_DOWN;
722 alias GAMEPAD_BUTTON_LEFT_FACE_LEFT = GamepadButton.GAMEPAD_BUTTON_LEFT_FACE_LEFT;
723 alias GAMEPAD_BUTTON_RIGHT_FACE_UP = GamepadButton.GAMEPAD_BUTTON_RIGHT_FACE_UP;
724 alias GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = GamepadButton.GAMEPAD_BUTTON_RIGHT_FACE_RIGHT;
725 alias GAMEPAD_BUTTON_RIGHT_FACE_DOWN = GamepadButton.GAMEPAD_BUTTON_RIGHT_FACE_DOWN;
726 alias GAMEPAD_BUTTON_RIGHT_FACE_LEFT = GamepadButton.GAMEPAD_BUTTON_RIGHT_FACE_LEFT;
727 alias GAMEPAD_BUTTON_LEFT_TRIGGER_1 = GamepadButton.GAMEPAD_BUTTON_LEFT_TRIGGER_1;
728 alias GAMEPAD_BUTTON_LEFT_TRIGGER_2 = GamepadButton.GAMEPAD_BUTTON_LEFT_TRIGGER_2;
729 alias GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = GamepadButton.GAMEPAD_BUTTON_RIGHT_TRIGGER_1;
730 alias GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = GamepadButton.GAMEPAD_BUTTON_RIGHT_TRIGGER_2;
731 alias GAMEPAD_BUTTON_MIDDLE_LEFT = GamepadButton.GAMEPAD_BUTTON_MIDDLE_LEFT;
732 alias GAMEPAD_BUTTON_MIDDLE = GamepadButton.GAMEPAD_BUTTON_MIDDLE;
733 alias GAMEPAD_BUTTON_MIDDLE_RIGHT = GamepadButton.GAMEPAD_BUTTON_MIDDLE_RIGHT;
734 alias GAMEPAD_BUTTON_LEFT_THUMB = GamepadButton.GAMEPAD_BUTTON_LEFT_THUMB;
735 alias GAMEPAD_BUTTON_RIGHT_THUMB = GamepadButton.GAMEPAD_BUTTON_RIGHT_THUMB;
736 enum GamepadAxis {
737    GAMEPAD_AXIS_LEFT_X = 0,
738    GAMEPAD_AXIS_LEFT_Y = 1,
739    GAMEPAD_AXIS_RIGHT_X = 2,
740    GAMEPAD_AXIS_RIGHT_Y = 3,
741    GAMEPAD_AXIS_LEFT_TRIGGER = 4,
742    GAMEPAD_AXIS_RIGHT_TRIGGER = 5,
743 }
744 
745 alias GAMEPAD_AXIS_LEFT_X = GamepadAxis.GAMEPAD_AXIS_LEFT_X;
746 alias GAMEPAD_AXIS_LEFT_Y = GamepadAxis.GAMEPAD_AXIS_LEFT_Y;
747 alias GAMEPAD_AXIS_RIGHT_X = GamepadAxis.GAMEPAD_AXIS_RIGHT_X;
748 alias GAMEPAD_AXIS_RIGHT_Y = GamepadAxis.GAMEPAD_AXIS_RIGHT_Y;
749 alias GAMEPAD_AXIS_LEFT_TRIGGER = GamepadAxis.GAMEPAD_AXIS_LEFT_TRIGGER;
750 alias GAMEPAD_AXIS_RIGHT_TRIGGER = GamepadAxis.GAMEPAD_AXIS_RIGHT_TRIGGER;
751 enum MaterialMapIndex {
752    MATERIAL_MAP_ALBEDO = 0,
753    MATERIAL_MAP_METALNESS = 1,
754    MATERIAL_MAP_NORMAL = 2,
755    MATERIAL_MAP_ROUGHNESS = 3,
756    MATERIAL_MAP_OCCLUSION = 4,
757    MATERIAL_MAP_EMISSION = 5,
758    MATERIAL_MAP_HEIGHT = 6,
759    MATERIAL_MAP_CUBEMAP = 7,
760    MATERIAL_MAP_IRRADIANCE = 8,
761    MATERIAL_MAP_PREFILTER = 9,
762    MATERIAL_MAP_BRDF = 10,
763 }
764 
765 alias MATERIAL_MAP_ALBEDO = MaterialMapIndex.MATERIAL_MAP_ALBEDO;
766 alias MATERIAL_MAP_METALNESS = MaterialMapIndex.MATERIAL_MAP_METALNESS;
767 alias MATERIAL_MAP_NORMAL = MaterialMapIndex.MATERIAL_MAP_NORMAL;
768 alias MATERIAL_MAP_ROUGHNESS = MaterialMapIndex.MATERIAL_MAP_ROUGHNESS;
769 alias MATERIAL_MAP_OCCLUSION = MaterialMapIndex.MATERIAL_MAP_OCCLUSION;
770 alias MATERIAL_MAP_EMISSION = MaterialMapIndex.MATERIAL_MAP_EMISSION;
771 alias MATERIAL_MAP_HEIGHT = MaterialMapIndex.MATERIAL_MAP_HEIGHT;
772 alias MATERIAL_MAP_CUBEMAP = MaterialMapIndex.MATERIAL_MAP_CUBEMAP;
773 alias MATERIAL_MAP_IRRADIANCE = MaterialMapIndex.MATERIAL_MAP_IRRADIANCE;
774 alias MATERIAL_MAP_PREFILTER = MaterialMapIndex.MATERIAL_MAP_PREFILTER;
775 alias MATERIAL_MAP_BRDF = MaterialMapIndex.MATERIAL_MAP_BRDF;
776 enum ShaderLocationIndex {
777    SHADER_LOC_VERTEX_POSITION = 0,
778    SHADER_LOC_VERTEX_TEXCOORD01 = 1,
779    SHADER_LOC_VERTEX_TEXCOORD02 = 2,
780    SHADER_LOC_VERTEX_NORMAL = 3,
781    SHADER_LOC_VERTEX_TANGENT = 4,
782    SHADER_LOC_VERTEX_COLOR = 5,
783    SHADER_LOC_MATRIX_MVP = 6,
784    SHADER_LOC_MATRIX_VIEW = 7,
785    SHADER_LOC_MATRIX_PROJECTION = 8,
786    SHADER_LOC_MATRIX_MODEL = 9,
787    SHADER_LOC_MATRIX_NORMAL = 10,
788    SHADER_LOC_VECTOR_VIEW = 11,
789    SHADER_LOC_COLOR_DIFFUSE = 12,
790    SHADER_LOC_COLOR_SPECULAR = 13,
791    SHADER_LOC_COLOR_AMBIENT = 14,
792    SHADER_LOC_MAP_ALBEDO = 15,
793    SHADER_LOC_MAP_METALNESS = 16,
794    SHADER_LOC_MAP_NORMAL = 17,
795    SHADER_LOC_MAP_ROUGHNESS = 18,
796    SHADER_LOC_MAP_OCCLUSION = 19,
797    SHADER_LOC_MAP_EMISSION = 20,
798    SHADER_LOC_MAP_HEIGHT = 21,
799    SHADER_LOC_MAP_CUBEMAP = 22,
800    SHADER_LOC_MAP_IRRADIANCE = 23,
801    SHADER_LOC_MAP_PREFILTER = 24,
802    SHADER_LOC_MAP_BRDF = 25,
803 }
804 
805 alias SHADER_LOC_VERTEX_POSITION = ShaderLocationIndex.SHADER_LOC_VERTEX_POSITION;
806 alias SHADER_LOC_VERTEX_TEXCOORD01 = ShaderLocationIndex.SHADER_LOC_VERTEX_TEXCOORD01;
807 alias SHADER_LOC_VERTEX_TEXCOORD02 = ShaderLocationIndex.SHADER_LOC_VERTEX_TEXCOORD02;
808 alias SHADER_LOC_VERTEX_NORMAL = ShaderLocationIndex.SHADER_LOC_VERTEX_NORMAL;
809 alias SHADER_LOC_VERTEX_TANGENT = ShaderLocationIndex.SHADER_LOC_VERTEX_TANGENT;
810 alias SHADER_LOC_VERTEX_COLOR = ShaderLocationIndex.SHADER_LOC_VERTEX_COLOR;
811 alias SHADER_LOC_MATRIX_MVP = ShaderLocationIndex.SHADER_LOC_MATRIX_MVP;
812 alias SHADER_LOC_MATRIX_VIEW = ShaderLocationIndex.SHADER_LOC_MATRIX_VIEW;
813 alias SHADER_LOC_MATRIX_PROJECTION = ShaderLocationIndex.SHADER_LOC_MATRIX_PROJECTION;
814 alias SHADER_LOC_MATRIX_MODEL = ShaderLocationIndex.SHADER_LOC_MATRIX_MODEL;
815 alias SHADER_LOC_MATRIX_NORMAL = ShaderLocationIndex.SHADER_LOC_MATRIX_NORMAL;
816 alias SHADER_LOC_VECTOR_VIEW = ShaderLocationIndex.SHADER_LOC_VECTOR_VIEW;
817 alias SHADER_LOC_COLOR_DIFFUSE = ShaderLocationIndex.SHADER_LOC_COLOR_DIFFUSE;
818 alias SHADER_LOC_COLOR_SPECULAR = ShaderLocationIndex.SHADER_LOC_COLOR_SPECULAR;
819 alias SHADER_LOC_COLOR_AMBIENT = ShaderLocationIndex.SHADER_LOC_COLOR_AMBIENT;
820 alias SHADER_LOC_MAP_ALBEDO = ShaderLocationIndex.SHADER_LOC_MAP_ALBEDO;
821 alias SHADER_LOC_MAP_METALNESS = ShaderLocationIndex.SHADER_LOC_MAP_METALNESS;
822 alias SHADER_LOC_MAP_NORMAL = ShaderLocationIndex.SHADER_LOC_MAP_NORMAL;
823 alias SHADER_LOC_MAP_ROUGHNESS = ShaderLocationIndex.SHADER_LOC_MAP_ROUGHNESS;
824 alias SHADER_LOC_MAP_OCCLUSION = ShaderLocationIndex.SHADER_LOC_MAP_OCCLUSION;
825 alias SHADER_LOC_MAP_EMISSION = ShaderLocationIndex.SHADER_LOC_MAP_EMISSION;
826 alias SHADER_LOC_MAP_HEIGHT = ShaderLocationIndex.SHADER_LOC_MAP_HEIGHT;
827 alias SHADER_LOC_MAP_CUBEMAP = ShaderLocationIndex.SHADER_LOC_MAP_CUBEMAP;
828 alias SHADER_LOC_MAP_IRRADIANCE = ShaderLocationIndex.SHADER_LOC_MAP_IRRADIANCE;
829 alias SHADER_LOC_MAP_PREFILTER = ShaderLocationIndex.SHADER_LOC_MAP_PREFILTER;
830 alias SHADER_LOC_MAP_BRDF = ShaderLocationIndex.SHADER_LOC_MAP_BRDF;
831 enum ShaderUniformDataType {
832    SHADER_UNIFORM_FLOAT = 0,
833    SHADER_UNIFORM_VEC2 = 1,
834    SHADER_UNIFORM_VEC3 = 2,
835    SHADER_UNIFORM_VEC4 = 3,
836    SHADER_UNIFORM_INT = 4,
837    SHADER_UNIFORM_IVEC2 = 5,
838    SHADER_UNIFORM_IVEC3 = 6,
839    SHADER_UNIFORM_IVEC4 = 7,
840    SHADER_UNIFORM_SAMPLER2D = 8,
841 }
842 
843 alias SHADER_UNIFORM_FLOAT = ShaderUniformDataType.SHADER_UNIFORM_FLOAT;
844 alias SHADER_UNIFORM_VEC2 = ShaderUniformDataType.SHADER_UNIFORM_VEC2;
845 alias SHADER_UNIFORM_VEC3 = ShaderUniformDataType.SHADER_UNIFORM_VEC3;
846 alias SHADER_UNIFORM_VEC4 = ShaderUniformDataType.SHADER_UNIFORM_VEC4;
847 alias SHADER_UNIFORM_INT = ShaderUniformDataType.SHADER_UNIFORM_INT;
848 alias SHADER_UNIFORM_IVEC2 = ShaderUniformDataType.SHADER_UNIFORM_IVEC2;
849 alias SHADER_UNIFORM_IVEC3 = ShaderUniformDataType.SHADER_UNIFORM_IVEC3;
850 alias SHADER_UNIFORM_IVEC4 = ShaderUniformDataType.SHADER_UNIFORM_IVEC4;
851 alias SHADER_UNIFORM_SAMPLER2D = ShaderUniformDataType.SHADER_UNIFORM_SAMPLER2D;
852 enum ShaderAttributeDataType {
853    SHADER_ATTRIB_FLOAT = 0,
854    SHADER_ATTRIB_VEC2 = 1,
855    SHADER_ATTRIB_VEC3 = 2,
856    SHADER_ATTRIB_VEC4 = 3,
857 }
858 
859 alias SHADER_ATTRIB_FLOAT = ShaderAttributeDataType.SHADER_ATTRIB_FLOAT;
860 alias SHADER_ATTRIB_VEC2 = ShaderAttributeDataType.SHADER_ATTRIB_VEC2;
861 alias SHADER_ATTRIB_VEC3 = ShaderAttributeDataType.SHADER_ATTRIB_VEC3;
862 alias SHADER_ATTRIB_VEC4 = ShaderAttributeDataType.SHADER_ATTRIB_VEC4;
863 enum PixelFormat {
864    PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1,
865    PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2,
866    PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3,
867    PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4,
868    PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5,
869    PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6,
870    PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7,
871    PIXELFORMAT_UNCOMPRESSED_R32 = 8,
872    PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9,
873    PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10,
874    PIXELFORMAT_COMPRESSED_DXT1_RGB = 11,
875    PIXELFORMAT_COMPRESSED_DXT1_RGBA = 12,
876    PIXELFORMAT_COMPRESSED_DXT3_RGBA = 13,
877    PIXELFORMAT_COMPRESSED_DXT5_RGBA = 14,
878    PIXELFORMAT_COMPRESSED_ETC1_RGB = 15,
879    PIXELFORMAT_COMPRESSED_ETC2_RGB = 16,
880    PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 17,
881    PIXELFORMAT_COMPRESSED_PVRT_RGB = 18,
882    PIXELFORMAT_COMPRESSED_PVRT_RGBA = 19,
883    PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 20,
884    PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 21,
885 }
886 
887 alias PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = PixelFormat.PIXELFORMAT_UNCOMPRESSED_GRAYSCALE;
888 alias PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = PixelFormat.PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA;
889 alias PIXELFORMAT_UNCOMPRESSED_R5G6B5 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R5G6B5;
890 alias PIXELFORMAT_UNCOMPRESSED_R8G8B8 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R8G8B8;
891 alias PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R5G5B5A1;
892 alias PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R4G4B4A4;
893 alias PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R8G8B8A8;
894 alias PIXELFORMAT_UNCOMPRESSED_R32 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R32;
895 alias PIXELFORMAT_UNCOMPRESSED_R32G32B32 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R32G32B32;
896 alias PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R32G32B32A32;
897 alias PIXELFORMAT_COMPRESSED_DXT1_RGB = PixelFormat.PIXELFORMAT_COMPRESSED_DXT1_RGB;
898 alias PIXELFORMAT_COMPRESSED_DXT1_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_DXT1_RGBA;
899 alias PIXELFORMAT_COMPRESSED_DXT3_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_DXT3_RGBA;
900 alias PIXELFORMAT_COMPRESSED_DXT5_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_DXT5_RGBA;
901 alias PIXELFORMAT_COMPRESSED_ETC1_RGB = PixelFormat.PIXELFORMAT_COMPRESSED_ETC1_RGB;
902 alias PIXELFORMAT_COMPRESSED_ETC2_RGB = PixelFormat.PIXELFORMAT_COMPRESSED_ETC2_RGB;
903 alias PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA;
904 alias PIXELFORMAT_COMPRESSED_PVRT_RGB = PixelFormat.PIXELFORMAT_COMPRESSED_PVRT_RGB;
905 alias PIXELFORMAT_COMPRESSED_PVRT_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_PVRT_RGBA;
906 alias PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA;
907 alias PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA;
908 enum TextureFilter {
909    TEXTURE_FILTER_POINT = 0,
910    TEXTURE_FILTER_BILINEAR = 1,
911    TEXTURE_FILTER_TRILINEAR = 2,
912    TEXTURE_FILTER_ANISOTROPIC_4X = 3,
913    TEXTURE_FILTER_ANISOTROPIC_8X = 4,
914    TEXTURE_FILTER_ANISOTROPIC_16X = 5,
915 }
916 
917 alias TEXTURE_FILTER_POINT = TextureFilter.TEXTURE_FILTER_POINT;
918 alias TEXTURE_FILTER_BILINEAR = TextureFilter.TEXTURE_FILTER_BILINEAR;
919 alias TEXTURE_FILTER_TRILINEAR = TextureFilter.TEXTURE_FILTER_TRILINEAR;
920 alias TEXTURE_FILTER_ANISOTROPIC_4X = TextureFilter.TEXTURE_FILTER_ANISOTROPIC_4X;
921 alias TEXTURE_FILTER_ANISOTROPIC_8X = TextureFilter.TEXTURE_FILTER_ANISOTROPIC_8X;
922 alias TEXTURE_FILTER_ANISOTROPIC_16X = TextureFilter.TEXTURE_FILTER_ANISOTROPIC_16X;
923 enum TextureWrap {
924    TEXTURE_WRAP_REPEAT = 0,
925    TEXTURE_WRAP_CLAMP = 1,
926    TEXTURE_WRAP_MIRROR_REPEAT = 2,
927    TEXTURE_WRAP_MIRROR_CLAMP = 3,
928 }
929 
930 alias TEXTURE_WRAP_REPEAT = TextureWrap.TEXTURE_WRAP_REPEAT;
931 alias TEXTURE_WRAP_CLAMP = TextureWrap.TEXTURE_WRAP_CLAMP;
932 alias TEXTURE_WRAP_MIRROR_REPEAT = TextureWrap.TEXTURE_WRAP_MIRROR_REPEAT;
933 alias TEXTURE_WRAP_MIRROR_CLAMP = TextureWrap.TEXTURE_WRAP_MIRROR_CLAMP;
934 enum CubemapLayout {
935    CUBEMAP_LAYOUT_AUTO_DETECT = 0,
936    CUBEMAP_LAYOUT_LINE_VERTICAL = 1,
937    CUBEMAP_LAYOUT_LINE_HORIZONTAL = 2,
938    CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = 3,
939    CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = 4,
940    CUBEMAP_LAYOUT_PANORAMA = 5,
941 }
942 
943 alias CUBEMAP_LAYOUT_AUTO_DETECT = CubemapLayout.CUBEMAP_LAYOUT_AUTO_DETECT;
944 alias CUBEMAP_LAYOUT_LINE_VERTICAL = CubemapLayout.CUBEMAP_LAYOUT_LINE_VERTICAL;
945 alias CUBEMAP_LAYOUT_LINE_HORIZONTAL = CubemapLayout.CUBEMAP_LAYOUT_LINE_HORIZONTAL;
946 alias CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = CubemapLayout.CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR;
947 alias CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = CubemapLayout.CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE;
948 alias CUBEMAP_LAYOUT_PANORAMA = CubemapLayout.CUBEMAP_LAYOUT_PANORAMA;
949 enum FontType {
950    FONT_DEFAULT = 0,
951    FONT_BITMAP = 1,
952    FONT_SDF = 2,
953 }
954 
955 alias FONT_DEFAULT = FontType.FONT_DEFAULT;
956 alias FONT_BITMAP = FontType.FONT_BITMAP;
957 alias FONT_SDF = FontType.FONT_SDF;
958 enum BlendMode {
959    BLEND_ALPHA = 0,
960    BLEND_ADDITIVE = 1,
961    BLEND_MULTIPLIED = 2,
962    BLEND_ADD_COLORS = 3,
963    BLEND_SUBTRACT_COLORS = 4,
964    BLEND_CUSTOM = 5,
965 }
966 
967 alias BLEND_ALPHA = BlendMode.BLEND_ALPHA;
968 alias BLEND_ADDITIVE = BlendMode.BLEND_ADDITIVE;
969 alias BLEND_MULTIPLIED = BlendMode.BLEND_MULTIPLIED;
970 alias BLEND_ADD_COLORS = BlendMode.BLEND_ADD_COLORS;
971 alias BLEND_SUBTRACT_COLORS = BlendMode.BLEND_SUBTRACT_COLORS;
972 alias BLEND_CUSTOM = BlendMode.BLEND_CUSTOM;
973 enum Gesture {
974    GESTURE_NONE = 0,
975    GESTURE_TAP = 1,
976    GESTURE_DOUBLETAP = 2,
977    GESTURE_HOLD = 4,
978    GESTURE_DRAG = 8,
979    GESTURE_SWIPE_RIGHT = 16,
980    GESTURE_SWIPE_LEFT = 32,
981    GESTURE_SWIPE_UP = 64,
982    GESTURE_SWIPE_DOWN = 128,
983    GESTURE_PINCH_IN = 256,
984    GESTURE_PINCH_OUT = 512,
985 }
986 
987 alias GESTURE_NONE = Gesture.GESTURE_NONE;
988 alias GESTURE_TAP = Gesture.GESTURE_TAP;
989 alias GESTURE_DOUBLETAP = Gesture.GESTURE_DOUBLETAP;
990 alias GESTURE_HOLD = Gesture.GESTURE_HOLD;
991 alias GESTURE_DRAG = Gesture.GESTURE_DRAG;
992 alias GESTURE_SWIPE_RIGHT = Gesture.GESTURE_SWIPE_RIGHT;
993 alias GESTURE_SWIPE_LEFT = Gesture.GESTURE_SWIPE_LEFT;
994 alias GESTURE_SWIPE_UP = Gesture.GESTURE_SWIPE_UP;
995 alias GESTURE_SWIPE_DOWN = Gesture.GESTURE_SWIPE_DOWN;
996 alias GESTURE_PINCH_IN = Gesture.GESTURE_PINCH_IN;
997 alias GESTURE_PINCH_OUT = Gesture.GESTURE_PINCH_OUT;
998 enum CameraMode {
999    CAMERA_CUSTOM = 0,
1000    CAMERA_FREE = 1,
1001    CAMERA_ORBITAL = 2,
1002    CAMERA_FIRST_PERSON = 3,
1003    CAMERA_THIRD_PERSON = 4,
1004 }
1005 
1006 alias CAMERA_CUSTOM = CameraMode.CAMERA_CUSTOM;
1007 alias CAMERA_FREE = CameraMode.CAMERA_FREE;
1008 alias CAMERA_ORBITAL = CameraMode.CAMERA_ORBITAL;
1009 alias CAMERA_FIRST_PERSON = CameraMode.CAMERA_FIRST_PERSON;
1010 alias CAMERA_THIRD_PERSON = CameraMode.CAMERA_THIRD_PERSON;
1011 enum CameraProjection {
1012    CAMERA_PERSPECTIVE = 0,
1013    CAMERA_ORTHOGRAPHIC = 1,
1014 }
1015 
1016 alias CAMERA_PERSPECTIVE = CameraProjection.CAMERA_PERSPECTIVE;
1017 alias CAMERA_ORTHOGRAPHIC = CameraProjection.CAMERA_ORTHOGRAPHIC;
1018 enum NPatchLayout {
1019    NPATCH_NINE_PATCH = 0,
1020    NPATCH_THREE_PATCH_VERTICAL = 1,
1021    NPATCH_THREE_PATCH_HORIZONTAL = 2,
1022 }
1023 
1024 alias NPATCH_NINE_PATCH = NPatchLayout.NPATCH_NINE_PATCH;
1025 alias NPATCH_THREE_PATCH_VERTICAL = NPatchLayout.NPATCH_THREE_PATCH_VERTICAL;
1026 alias NPATCH_THREE_PATCH_HORIZONTAL = NPatchLayout.NPATCH_THREE_PATCH_HORIZONTAL;