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 raylib450, 12 raylib500 13 } 14 enum raylibSupport = RaylibSupport.raylib500; 15 16 17 18 // Opaque structs declaration 19 // NOTE: Actual structs are defined internally in raudio module 20 struct rAudioBuffer; 21 struct rAudioProcessor; 22 23 24 // defines 25 26 enum int RAYLIB_VERSION_MAJOR = 5; 27 enum int RAYLIB_VERSION_MINOR = 0; 28 enum int RAYLIB_VERSION_PATCH = 0; 29 enum string RAYLIB_VERSION = "5.0"; 30 31 // callbacks 32 33 /// FileIO: Load binary data 34 alias LoadFileDataCallback = ubyte* function(const(char)*, int*); 35 /// FileIO: Save binary data 36 alias SaveFileDataCallback = bool function(const(char)*, void*, int); 37 /// FileIO: Load text data 38 alias LoadFileTextCallback = char* function(const(char)*); 39 /// FileIO: Save text data 40 alias SaveFileTextCallback = bool function(const(char)*, char*); 41 alias AudioCallback = void function(void*, uint); 42 43 44 // structs 45 46 /// Vector2, 2 components 47 struct Vector2 { 48 /// Vector x component 49 float x; 50 /// Vector y component 51 float y; 52 } 53 /// Vector3, 3 components 54 struct Vector3 { 55 /// Vector x component 56 float x; 57 /// Vector y component 58 float y; 59 /// Vector z component 60 float z; 61 } 62 /// Vector4, 4 components 63 struct Vector4 { 64 /// Vector x component 65 float x; 66 /// Vector y component 67 float y; 68 /// Vector z component 69 float z; 70 /// Vector w component 71 float w; 72 } 73 /// Matrix, 4x4 components, column major, OpenGL style, right-handed 74 struct Matrix { 75 /// Matrix first row (4 components) 76 float m0; 77 /// Matrix first row (4 components) 78 float m4; 79 /// Matrix first row (4 components) 80 float m8; 81 /// Matrix first row (4 components) 82 float m12; 83 /// Matrix second row (4 components) 84 float m1; 85 /// Matrix second row (4 components) 86 float m5; 87 /// Matrix second row (4 components) 88 float m9; 89 /// Matrix second row (4 components) 90 float m13; 91 /// Matrix third row (4 components) 92 float m2; 93 /// Matrix third row (4 components) 94 float m6; 95 /// Matrix third row (4 components) 96 float m10; 97 /// Matrix third row (4 components) 98 float m14; 99 /// Matrix fourth row (4 components) 100 float m3; 101 /// Matrix fourth row (4 components) 102 float m7; 103 /// Matrix fourth row (4 components) 104 float m11; 105 /// Matrix fourth row (4 components) 106 float m15; 107 } 108 /// Color, 4 components, R8G8B8A8 (32bit) 109 struct Color { 110 /// Color red value 111 ubyte r; 112 /// Color green value 113 ubyte g; 114 /// Color blue value 115 ubyte b; 116 /// Color alpha value 117 ubyte a; 118 } 119 /// Rectangle, 4 components 120 struct Rectangle { 121 /// Rectangle top-left corner position x 122 float x; 123 /// Rectangle top-left corner position y 124 float y; 125 /// Rectangle width 126 float width; 127 /// Rectangle height 128 float height; 129 } 130 /// Image, pixel data stored in CPU memory (RAM) 131 struct Image { 132 /// Image raw data 133 void* data; 134 /// Image base width 135 int width; 136 /// Image base height 137 int height; 138 /// Mipmap levels, 1 by default 139 int mipmaps; 140 /// Data format (PixelFormat type) 141 int format; 142 } 143 /// Texture, tex data stored in GPU memory (VRAM) 144 struct Texture { 145 /// OpenGL texture id 146 uint id; 147 /// Texture base width 148 int width; 149 /// Texture base height 150 int height; 151 /// Mipmap levels, 1 by default 152 int mipmaps; 153 /// Data format (PixelFormat type) 154 int format; 155 } 156 /// RenderTexture, fbo for texture rendering 157 struct RenderTexture { 158 /// OpenGL framebuffer object id 159 uint id; 160 /// Color buffer attachment texture 161 Texture texture; 162 /// Depth buffer attachment texture 163 Texture depth; 164 } 165 /// NPatchInfo, n-patch layout info 166 struct NPatchInfo { 167 /// Texture source rectangle 168 Rectangle source; 169 /// Left border offset 170 int left; 171 /// Top border offset 172 int top; 173 /// Right border offset 174 int right; 175 /// Bottom border offset 176 int bottom; 177 /// Layout of the n-patch: 3x3, 1x3 or 3x1 178 int layout; 179 } 180 /// GlyphInfo, font characters glyphs info 181 struct GlyphInfo { 182 /// Character value (Unicode) 183 int value; 184 /// Character offset X when drawing 185 int offsetX; 186 /// Character offset Y when drawing 187 int offsetY; 188 /// Character advance position X 189 int advanceX; 190 /// Character image data 191 Image image; 192 } 193 /// Font, font texture and GlyphInfo array data 194 struct Font { 195 /// Base size (default chars height) 196 int baseSize; 197 /// Number of glyph characters 198 int glyphCount; 199 /// Padding around the glyph characters 200 int glyphPadding; 201 /// Texture atlas containing the glyphs 202 Texture2D texture; 203 /// Rectangles in texture for the glyphs 204 Rectangle* recs; 205 /// Glyphs info data 206 GlyphInfo* glyphs; 207 } 208 /// Camera, defines position/orientation in 3d space 209 struct Camera3D { 210 /// Camera position 211 Vector3 position; 212 /// Camera target it looks-at 213 Vector3 target; 214 /// Camera up vector (rotation over its axis) 215 Vector3 up; 216 /// Camera field-of-view aperture in Y (degrees) in perspective, used as near plane width in orthographic 217 float fovy; 218 /// Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC 219 int projection; 220 } 221 /// Camera2D, defines position/orientation in 2d space 222 struct Camera2D { 223 /// Camera offset (displacement from target) 224 Vector2 offset; 225 /// Camera target (rotation and zoom origin) 226 Vector2 target; 227 /// Camera rotation in degrees 228 float rotation; 229 /// Camera zoom (scaling), should be 1.0f by default 230 float zoom; 231 } 232 /// Mesh, vertex data and vao/vbo 233 struct Mesh { 234 /// Number of vertices stored in arrays 235 int vertexCount; 236 /// Number of triangles stored (indexed or not) 237 int triangleCount; 238 /// Vertex position (XYZ - 3 components per vertex) (shader-location = 0) 239 float* vertices; 240 /// Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) 241 float* texcoords; 242 /// Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5) 243 float* texcoords2; 244 /// Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) 245 float* normals; 246 /// Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) 247 float* tangents; 248 /// Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) 249 ubyte* colors; 250 /// Vertex indices (in case vertex data comes indexed) 251 ushort* indices; 252 /// Animated vertex positions (after bones transformations) 253 float* animVertices; 254 /// Animated normals (after bones transformations) 255 float* animNormals; 256 /// Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning) 257 ubyte* boneIds; 258 /// Vertex bone weight, up to 4 bones influence by vertex (skinning) 259 float* boneWeights; 260 /// OpenGL Vertex Array Object id 261 uint vaoId; 262 /// OpenGL Vertex Buffer Objects id (default vertex data) 263 uint* vboId; 264 } 265 /// Shader 266 struct Shader { 267 /// Shader program id 268 uint id; 269 /// Shader locations array (RL_MAX_SHADER_LOCATIONS) 270 int* locs; 271 } 272 /// MaterialMap 273 struct MaterialMap { 274 /// Material map texture 275 Texture2D texture; 276 /// Material map color 277 Color color; 278 /// Material map value 279 float value; 280 } 281 /// Material, includes shader and maps 282 struct Material { 283 /// Material shader 284 Shader shader; 285 /// Material maps array (MAX_MATERIAL_MAPS) 286 MaterialMap* maps; 287 /// Material generic parameters (if required) 288 float[4] params; 289 } 290 /// Transform, vertex transformation data 291 struct Transform { 292 /// Translation 293 Vector3 translation; 294 /// Rotation 295 Quaternion rotation; 296 /// Scale 297 Vector3 scale; 298 } 299 /// Bone, skeletal animation bone 300 struct BoneInfo { 301 /// Bone name 302 char[32] name; 303 /// Bone parent 304 int parent; 305 } 306 /// Model, meshes, materials and animation data 307 struct Model { 308 /// Local transform matrix 309 Matrix transform; 310 /// Number of meshes 311 int meshCount; 312 /// Number of materials 313 int materialCount; 314 /// Meshes array 315 Mesh* meshes; 316 /// Materials array 317 Material* materials; 318 /// Mesh material number 319 int* meshMaterial; 320 /// Number of bones 321 int boneCount; 322 /// Bones information (skeleton) 323 BoneInfo* bones; 324 /// Bones base transformation (pose) 325 Transform* bindPose; 326 } 327 /// ModelAnimation 328 struct ModelAnimation { 329 /// Number of bones 330 int boneCount; 331 /// Number of animation frames 332 int frameCount; 333 /// Bones information (skeleton) 334 BoneInfo* bones; 335 /// Poses array by frame 336 Transform** framePoses; 337 /// Animation name 338 char[32] name; 339 } 340 /// Ray, ray for raycasting 341 struct Ray { 342 /// Ray position (origin) 343 Vector3 position; 344 /// Ray direction 345 Vector3 direction; 346 } 347 /// RayCollision, ray hit information 348 struct RayCollision { 349 /// Did the ray hit something? 350 bool hit; 351 /// Distance to the nearest hit 352 float distance; 353 /// Point of the nearest hit 354 Vector3 point; 355 /// Surface normal of hit 356 Vector3 normal; 357 } 358 /// BoundingBox 359 struct BoundingBox { 360 /// Minimum vertex box-corner 361 Vector3 min; 362 /// Maximum vertex box-corner 363 Vector3 max; 364 } 365 /// Wave, audio wave data 366 struct Wave { 367 /// Total number of frames (considering channels) 368 uint frameCount; 369 /// Frequency (samples per second) 370 uint sampleRate; 371 /// Bit depth (bits per sample): 8, 16, 32 (24 not supported) 372 uint sampleSize; 373 /// Number of channels (1-mono, 2-stereo, ...) 374 uint channels; 375 /// Buffer data pointer 376 void* data; 377 } 378 /// AudioStream, custom audio stream 379 struct AudioStream { 380 /// Pointer to internal data used by the audio system 381 rAudioBuffer* buffer; 382 /// Pointer to internal data processor, useful for audio effects 383 rAudioProcessor* processor; 384 /// Frequency (samples per second) 385 uint sampleRate; 386 /// Bit depth (bits per sample): 8, 16, 32 (24 not supported) 387 uint sampleSize; 388 /// Number of channels (1-mono, 2-stereo, ...) 389 uint channels; 390 } 391 /// Sound 392 struct Sound { 393 /// Audio stream 394 AudioStream stream; 395 /// Total number of frames (considering channels) 396 uint frameCount; 397 } 398 /// Music, audio stream, anything longer than ~10 seconds should be streamed 399 struct Music { 400 /// Audio stream 401 AudioStream stream; 402 /// Total number of frames (considering channels) 403 uint frameCount; 404 /// Music looping enable 405 bool looping; 406 /// Type of music context (audio filetype) 407 int ctxType; 408 /// Audio context data, depends on type 409 void* ctxData; 410 } 411 /// VrDeviceInfo, Head-Mounted-Display device parameters 412 struct VrDeviceInfo { 413 /// Horizontal resolution in pixels 414 int hResolution; 415 /// Vertical resolution in pixels 416 int vResolution; 417 /// Horizontal size in meters 418 float hScreenSize; 419 /// Vertical size in meters 420 float vScreenSize; 421 /// Screen center in meters 422 float vScreenCenter; 423 /// Distance between eye and display in meters 424 float eyeToScreenDistance; 425 /// Lens separation distance in meters 426 float lensSeparationDistance; 427 /// IPD (distance between pupils) in meters 428 float interpupillaryDistance; 429 /// Lens distortion constant parameters 430 float[4] lensDistortionValues; 431 /// Chromatic aberration correction parameters 432 float[4] chromaAbCorrection; 433 } 434 /// VrStereoConfig, VR stereo rendering configuration for simulator 435 struct VrStereoConfig { 436 /// VR projection matrices (per eye) 437 Matrix[2] projection; 438 /// VR view offset matrices (per eye) 439 Matrix[2] viewOffset; 440 /// VR left lens center 441 float[2] leftLensCenter; 442 /// VR right lens center 443 float[2] rightLensCenter; 444 /// VR left screen center 445 float[2] leftScreenCenter; 446 /// VR right screen center 447 float[2] rightScreenCenter; 448 /// VR distortion scale 449 float[2] scale; 450 /// VR distortion scale in 451 float[2] scaleIn; 452 } 453 /// File path list 454 struct FilePathList { 455 /// Filepaths max entries 456 uint capacity; 457 /// Filepaths entries count 458 uint count; 459 /// Filepaths entries 460 char** paths; 461 } 462 /// Automation event 463 struct AutomationEvent { 464 /// Event frame 465 uint frame; 466 /// Event type (AutomationEventType) 467 uint type; 468 /// Event parameters (if required) 469 int[4] params; 470 } 471 /// Automation event list 472 struct AutomationEventList { 473 /// Events max entries (MAX_AUTOMATION_EVENTS) 474 uint capacity; 475 /// Events entries count 476 uint count; 477 /// Events entries 478 AutomationEvent* events; 479 } 480 481 // aliases 482 483 alias Quaternion = Vector4; // Quaternion, 4 components (Vector4 alias) 484 alias Texture2D = Texture; // Texture2D, same as Texture 485 alias TextureCubemap = Texture; // TextureCubemap, same as Texture 486 alias RenderTexture2D = RenderTexture; // RenderTexture2D, same as RenderTexture 487 alias Camera = Camera3D; // Camera type fallback, defaults to Camera3D 488 489 // enums 490 491 /// System/Window config flags 492 enum ConfigFlags { 493 /// Set to try enabling V-Sync on GPU 494 FLAG_VSYNC_HINT = 64, 495 /// Set to run program in fullscreen 496 FLAG_FULLSCREEN_MODE = 2, 497 /// Set to allow resizable window 498 FLAG_WINDOW_RESIZABLE = 4, 499 /// Set to disable window decoration (frame and buttons) 500 FLAG_WINDOW_UNDECORATED = 8, 501 /// Set to hide window 502 FLAG_WINDOW_HIDDEN = 128, 503 /// Set to minimize window (iconify) 504 FLAG_WINDOW_MINIMIZED = 512, 505 /// Set to maximize window (expanded to monitor) 506 FLAG_WINDOW_MAXIMIZED = 1024, 507 /// Set to window non focused 508 FLAG_WINDOW_UNFOCUSED = 2048, 509 /// Set to window always on top 510 FLAG_WINDOW_TOPMOST = 4096, 511 /// Set to allow windows running while minimized 512 FLAG_WINDOW_ALWAYS_RUN = 256, 513 /// Set to allow transparent framebuffer 514 FLAG_WINDOW_TRANSPARENT = 16, 515 /// Set to support HighDPI 516 FLAG_WINDOW_HIGHDPI = 8192, 517 /// Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED 518 FLAG_WINDOW_MOUSE_PASSTHROUGH = 16384, 519 /// Set to run program in borderless windowed mode 520 FLAG_BORDERLESS_WINDOWED_MODE = 32768, 521 /// Set to try enabling MSAA 4X 522 FLAG_MSAA_4X_HINT = 32, 523 /// Set to try enabling interlaced video format (for V3D) 524 FLAG_INTERLACED_HINT = 65536, 525 } 526 527 alias FLAG_VSYNC_HINT = ConfigFlags.FLAG_VSYNC_HINT; 528 alias FLAG_FULLSCREEN_MODE = ConfigFlags.FLAG_FULLSCREEN_MODE; 529 alias FLAG_WINDOW_RESIZABLE = ConfigFlags.FLAG_WINDOW_RESIZABLE; 530 alias FLAG_WINDOW_UNDECORATED = ConfigFlags.FLAG_WINDOW_UNDECORATED; 531 alias FLAG_WINDOW_HIDDEN = ConfigFlags.FLAG_WINDOW_HIDDEN; 532 alias FLAG_WINDOW_MINIMIZED = ConfigFlags.FLAG_WINDOW_MINIMIZED; 533 alias FLAG_WINDOW_MAXIMIZED = ConfigFlags.FLAG_WINDOW_MAXIMIZED; 534 alias FLAG_WINDOW_UNFOCUSED = ConfigFlags.FLAG_WINDOW_UNFOCUSED; 535 alias FLAG_WINDOW_TOPMOST = ConfigFlags.FLAG_WINDOW_TOPMOST; 536 alias FLAG_WINDOW_ALWAYS_RUN = ConfigFlags.FLAG_WINDOW_ALWAYS_RUN; 537 alias FLAG_WINDOW_TRANSPARENT = ConfigFlags.FLAG_WINDOW_TRANSPARENT; 538 alias FLAG_WINDOW_HIGHDPI = ConfigFlags.FLAG_WINDOW_HIGHDPI; 539 alias FLAG_WINDOW_MOUSE_PASSTHROUGH = ConfigFlags.FLAG_WINDOW_MOUSE_PASSTHROUGH; 540 alias FLAG_BORDERLESS_WINDOWED_MODE = ConfigFlags.FLAG_BORDERLESS_WINDOWED_MODE; 541 alias FLAG_MSAA_4X_HINT = ConfigFlags.FLAG_MSAA_4X_HINT; 542 alias FLAG_INTERLACED_HINT = ConfigFlags.FLAG_INTERLACED_HINT; 543 /// Trace log level 544 enum TraceLogLevel { 545 /// Display all logs 546 LOG_ALL = 0, 547 /// Trace logging, intended for internal use only 548 LOG_TRACE = 1, 549 /// Debug logging, used for internal debugging, it should be disabled on release builds 550 LOG_DEBUG = 2, 551 /// Info logging, used for program execution info 552 LOG_INFO = 3, 553 /// Warning logging, used on recoverable failures 554 LOG_WARNING = 4, 555 /// Error logging, used on unrecoverable failures 556 LOG_ERROR = 5, 557 /// Fatal logging, used to abort program: exit(EXIT_FAILURE) 558 LOG_FATAL = 6, 559 /// Disable logging 560 LOG_NONE = 7, 561 } 562 563 alias LOG_ALL = TraceLogLevel.LOG_ALL; 564 alias LOG_TRACE = TraceLogLevel.LOG_TRACE; 565 alias LOG_DEBUG = TraceLogLevel.LOG_DEBUG; 566 alias LOG_INFO = TraceLogLevel.LOG_INFO; 567 alias LOG_WARNING = TraceLogLevel.LOG_WARNING; 568 alias LOG_ERROR = TraceLogLevel.LOG_ERROR; 569 alias LOG_FATAL = TraceLogLevel.LOG_FATAL; 570 alias LOG_NONE = TraceLogLevel.LOG_NONE; 571 /// Keyboard keys (US keyboard layout) 572 enum KeyboardKey { 573 /// Key: NULL, used for no key pressed 574 KEY_NULL = 0, 575 /// Key: ' 576 KEY_APOSTROPHE = 39, 577 /// Key: , 578 KEY_COMMA = 44, 579 /// Key: - 580 KEY_MINUS = 45, 581 /// Key: . 582 KEY_PERIOD = 46, 583 /// Key: / 584 KEY_SLASH = 47, 585 /// Key: 0 586 KEY_ZERO = 48, 587 /// Key: 1 588 KEY_ONE = 49, 589 /// Key: 2 590 KEY_TWO = 50, 591 /// Key: 3 592 KEY_THREE = 51, 593 /// Key: 4 594 KEY_FOUR = 52, 595 /// Key: 5 596 KEY_FIVE = 53, 597 /// Key: 6 598 KEY_SIX = 54, 599 /// Key: 7 600 KEY_SEVEN = 55, 601 /// Key: 8 602 KEY_EIGHT = 56, 603 /// Key: 9 604 KEY_NINE = 57, 605 /// Key: ; 606 KEY_SEMICOLON = 59, 607 /// Key: = 608 KEY_EQUAL = 61, 609 /// Key: A | a 610 KEY_A = 65, 611 /// Key: B | b 612 KEY_B = 66, 613 /// Key: C | c 614 KEY_C = 67, 615 /// Key: D | d 616 KEY_D = 68, 617 /// Key: E | e 618 KEY_E = 69, 619 /// Key: F | f 620 KEY_F = 70, 621 /// Key: G | g 622 KEY_G = 71, 623 /// Key: H | h 624 KEY_H = 72, 625 /// Key: I | i 626 KEY_I = 73, 627 /// Key: J | j 628 KEY_J = 74, 629 /// Key: K | k 630 KEY_K = 75, 631 /// Key: L | l 632 KEY_L = 76, 633 /// Key: M | m 634 KEY_M = 77, 635 /// Key: N | n 636 KEY_N = 78, 637 /// Key: O | o 638 KEY_O = 79, 639 /// Key: P | p 640 KEY_P = 80, 641 /// Key: Q | q 642 KEY_Q = 81, 643 /// Key: R | r 644 KEY_R = 82, 645 /// Key: S | s 646 KEY_S = 83, 647 /// Key: T | t 648 KEY_T = 84, 649 /// Key: U | u 650 KEY_U = 85, 651 /// Key: V | v 652 KEY_V = 86, 653 /// Key: W | w 654 KEY_W = 87, 655 /// Key: X | x 656 KEY_X = 88, 657 /// Key: Y | y 658 KEY_Y = 89, 659 /// Key: Z | z 660 KEY_Z = 90, 661 /// Key: [ 662 KEY_LEFT_BRACKET = 91, 663 /// Key: '\' 664 KEY_BACKSLASH = 92, 665 /// Key: ] 666 KEY_RIGHT_BRACKET = 93, 667 /// Key: ` 668 KEY_GRAVE = 96, 669 /// Key: Space 670 KEY_SPACE = 32, 671 /// Key: Esc 672 KEY_ESCAPE = 256, 673 /// Key: Enter 674 KEY_ENTER = 257, 675 /// Key: Tab 676 KEY_TAB = 258, 677 /// Key: Backspace 678 KEY_BACKSPACE = 259, 679 /// Key: Ins 680 KEY_INSERT = 260, 681 /// Key: Del 682 KEY_DELETE = 261, 683 /// Key: Cursor right 684 KEY_RIGHT = 262, 685 /// Key: Cursor left 686 KEY_LEFT = 263, 687 /// Key: Cursor down 688 KEY_DOWN = 264, 689 /// Key: Cursor up 690 KEY_UP = 265, 691 /// Key: Page up 692 KEY_PAGE_UP = 266, 693 /// Key: Page down 694 KEY_PAGE_DOWN = 267, 695 /// Key: Home 696 KEY_HOME = 268, 697 /// Key: End 698 KEY_END = 269, 699 /// Key: Caps lock 700 KEY_CAPS_LOCK = 280, 701 /// Key: Scroll down 702 KEY_SCROLL_LOCK = 281, 703 /// Key: Num lock 704 KEY_NUM_LOCK = 282, 705 /// Key: Print screen 706 KEY_PRINT_SCREEN = 283, 707 /// Key: Pause 708 KEY_PAUSE = 284, 709 /// Key: F1 710 KEY_F1 = 290, 711 /// Key: F2 712 KEY_F2 = 291, 713 /// Key: F3 714 KEY_F3 = 292, 715 /// Key: F4 716 KEY_F4 = 293, 717 /// Key: F5 718 KEY_F5 = 294, 719 /// Key: F6 720 KEY_F6 = 295, 721 /// Key: F7 722 KEY_F7 = 296, 723 /// Key: F8 724 KEY_F8 = 297, 725 /// Key: F9 726 KEY_F9 = 298, 727 /// Key: F10 728 KEY_F10 = 299, 729 /// Key: F11 730 KEY_F11 = 300, 731 /// Key: F12 732 KEY_F12 = 301, 733 /// Key: Shift left 734 KEY_LEFT_SHIFT = 340, 735 /// Key: Control left 736 KEY_LEFT_CONTROL = 341, 737 /// Key: Alt left 738 KEY_LEFT_ALT = 342, 739 /// Key: Super left 740 KEY_LEFT_SUPER = 343, 741 /// Key: Shift right 742 KEY_RIGHT_SHIFT = 344, 743 /// Key: Control right 744 KEY_RIGHT_CONTROL = 345, 745 /// Key: Alt right 746 KEY_RIGHT_ALT = 346, 747 /// Key: Super right 748 KEY_RIGHT_SUPER = 347, 749 /// Key: KB menu 750 KEY_KB_MENU = 348, 751 /// Key: Keypad 0 752 KEY_KP_0 = 320, 753 /// Key: Keypad 1 754 KEY_KP_1 = 321, 755 /// Key: Keypad 2 756 KEY_KP_2 = 322, 757 /// Key: Keypad 3 758 KEY_KP_3 = 323, 759 /// Key: Keypad 4 760 KEY_KP_4 = 324, 761 /// Key: Keypad 5 762 KEY_KP_5 = 325, 763 /// Key: Keypad 6 764 KEY_KP_6 = 326, 765 /// Key: Keypad 7 766 KEY_KP_7 = 327, 767 /// Key: Keypad 8 768 KEY_KP_8 = 328, 769 /// Key: Keypad 9 770 KEY_KP_9 = 329, 771 /// Key: Keypad . 772 KEY_KP_DECIMAL = 330, 773 /// Key: Keypad / 774 KEY_KP_DIVIDE = 331, 775 /// Key: Keypad * 776 KEY_KP_MULTIPLY = 332, 777 /// Key: Keypad - 778 KEY_KP_SUBTRACT = 333, 779 /// Key: Keypad + 780 KEY_KP_ADD = 334, 781 /// Key: Keypad Enter 782 KEY_KP_ENTER = 335, 783 /// Key: Keypad = 784 KEY_KP_EQUAL = 336, 785 /// Key: Android back button 786 KEY_BACK = 4, 787 /// Key: Android menu button 788 KEY_MENU = 82, 789 /// Key: Android volume up button 790 KEY_VOLUME_UP = 24, 791 /// Key: Android volume down button 792 KEY_VOLUME_DOWN = 25, 793 } 794 795 alias KEY_NULL = KeyboardKey.KEY_NULL; 796 alias KEY_APOSTROPHE = KeyboardKey.KEY_APOSTROPHE; 797 alias KEY_COMMA = KeyboardKey.KEY_COMMA; 798 alias KEY_MINUS = KeyboardKey.KEY_MINUS; 799 alias KEY_PERIOD = KeyboardKey.KEY_PERIOD; 800 alias KEY_SLASH = KeyboardKey.KEY_SLASH; 801 alias KEY_ZERO = KeyboardKey.KEY_ZERO; 802 alias KEY_ONE = KeyboardKey.KEY_ONE; 803 alias KEY_TWO = KeyboardKey.KEY_TWO; 804 alias KEY_THREE = KeyboardKey.KEY_THREE; 805 alias KEY_FOUR = KeyboardKey.KEY_FOUR; 806 alias KEY_FIVE = KeyboardKey.KEY_FIVE; 807 alias KEY_SIX = KeyboardKey.KEY_SIX; 808 alias KEY_SEVEN = KeyboardKey.KEY_SEVEN; 809 alias KEY_EIGHT = KeyboardKey.KEY_EIGHT; 810 alias KEY_NINE = KeyboardKey.KEY_NINE; 811 alias KEY_SEMICOLON = KeyboardKey.KEY_SEMICOLON; 812 alias KEY_EQUAL = KeyboardKey.KEY_EQUAL; 813 alias KEY_A = KeyboardKey.KEY_A; 814 alias KEY_B = KeyboardKey.KEY_B; 815 alias KEY_C = KeyboardKey.KEY_C; 816 alias KEY_D = KeyboardKey.KEY_D; 817 alias KEY_E = KeyboardKey.KEY_E; 818 alias KEY_F = KeyboardKey.KEY_F; 819 alias KEY_G = KeyboardKey.KEY_G; 820 alias KEY_H = KeyboardKey.KEY_H; 821 alias KEY_I = KeyboardKey.KEY_I; 822 alias KEY_J = KeyboardKey.KEY_J; 823 alias KEY_K = KeyboardKey.KEY_K; 824 alias KEY_L = KeyboardKey.KEY_L; 825 alias KEY_M = KeyboardKey.KEY_M; 826 alias KEY_N = KeyboardKey.KEY_N; 827 alias KEY_O = KeyboardKey.KEY_O; 828 alias KEY_P = KeyboardKey.KEY_P; 829 alias KEY_Q = KeyboardKey.KEY_Q; 830 alias KEY_R = KeyboardKey.KEY_R; 831 alias KEY_S = KeyboardKey.KEY_S; 832 alias KEY_T = KeyboardKey.KEY_T; 833 alias KEY_U = KeyboardKey.KEY_U; 834 alias KEY_V = KeyboardKey.KEY_V; 835 alias KEY_W = KeyboardKey.KEY_W; 836 alias KEY_X = KeyboardKey.KEY_X; 837 alias KEY_Y = KeyboardKey.KEY_Y; 838 alias KEY_Z = KeyboardKey.KEY_Z; 839 alias KEY_LEFT_BRACKET = KeyboardKey.KEY_LEFT_BRACKET; 840 alias KEY_BACKSLASH = KeyboardKey.KEY_BACKSLASH; 841 alias KEY_RIGHT_BRACKET = KeyboardKey.KEY_RIGHT_BRACKET; 842 alias KEY_GRAVE = KeyboardKey.KEY_GRAVE; 843 alias KEY_SPACE = KeyboardKey.KEY_SPACE; 844 alias KEY_ESCAPE = KeyboardKey.KEY_ESCAPE; 845 alias KEY_ENTER = KeyboardKey.KEY_ENTER; 846 alias KEY_TAB = KeyboardKey.KEY_TAB; 847 alias KEY_BACKSPACE = KeyboardKey.KEY_BACKSPACE; 848 alias KEY_INSERT = KeyboardKey.KEY_INSERT; 849 alias KEY_DELETE = KeyboardKey.KEY_DELETE; 850 alias KEY_RIGHT = KeyboardKey.KEY_RIGHT; 851 alias KEY_LEFT = KeyboardKey.KEY_LEFT; 852 alias KEY_DOWN = KeyboardKey.KEY_DOWN; 853 alias KEY_UP = KeyboardKey.KEY_UP; 854 alias KEY_PAGE_UP = KeyboardKey.KEY_PAGE_UP; 855 alias KEY_PAGE_DOWN = KeyboardKey.KEY_PAGE_DOWN; 856 alias KEY_HOME = KeyboardKey.KEY_HOME; 857 alias KEY_END = KeyboardKey.KEY_END; 858 alias KEY_CAPS_LOCK = KeyboardKey.KEY_CAPS_LOCK; 859 alias KEY_SCROLL_LOCK = KeyboardKey.KEY_SCROLL_LOCK; 860 alias KEY_NUM_LOCK = KeyboardKey.KEY_NUM_LOCK; 861 alias KEY_PRINT_SCREEN = KeyboardKey.KEY_PRINT_SCREEN; 862 alias KEY_PAUSE = KeyboardKey.KEY_PAUSE; 863 alias KEY_F1 = KeyboardKey.KEY_F1; 864 alias KEY_F2 = KeyboardKey.KEY_F2; 865 alias KEY_F3 = KeyboardKey.KEY_F3; 866 alias KEY_F4 = KeyboardKey.KEY_F4; 867 alias KEY_F5 = KeyboardKey.KEY_F5; 868 alias KEY_F6 = KeyboardKey.KEY_F6; 869 alias KEY_F7 = KeyboardKey.KEY_F7; 870 alias KEY_F8 = KeyboardKey.KEY_F8; 871 alias KEY_F9 = KeyboardKey.KEY_F9; 872 alias KEY_F10 = KeyboardKey.KEY_F10; 873 alias KEY_F11 = KeyboardKey.KEY_F11; 874 alias KEY_F12 = KeyboardKey.KEY_F12; 875 alias KEY_LEFT_SHIFT = KeyboardKey.KEY_LEFT_SHIFT; 876 alias KEY_LEFT_CONTROL = KeyboardKey.KEY_LEFT_CONTROL; 877 alias KEY_LEFT_ALT = KeyboardKey.KEY_LEFT_ALT; 878 alias KEY_LEFT_SUPER = KeyboardKey.KEY_LEFT_SUPER; 879 alias KEY_RIGHT_SHIFT = KeyboardKey.KEY_RIGHT_SHIFT; 880 alias KEY_RIGHT_CONTROL = KeyboardKey.KEY_RIGHT_CONTROL; 881 alias KEY_RIGHT_ALT = KeyboardKey.KEY_RIGHT_ALT; 882 alias KEY_RIGHT_SUPER = KeyboardKey.KEY_RIGHT_SUPER; 883 alias KEY_KB_MENU = KeyboardKey.KEY_KB_MENU; 884 alias KEY_KP_0 = KeyboardKey.KEY_KP_0; 885 alias KEY_KP_1 = KeyboardKey.KEY_KP_1; 886 alias KEY_KP_2 = KeyboardKey.KEY_KP_2; 887 alias KEY_KP_3 = KeyboardKey.KEY_KP_3; 888 alias KEY_KP_4 = KeyboardKey.KEY_KP_4; 889 alias KEY_KP_5 = KeyboardKey.KEY_KP_5; 890 alias KEY_KP_6 = KeyboardKey.KEY_KP_6; 891 alias KEY_KP_7 = KeyboardKey.KEY_KP_7; 892 alias KEY_KP_8 = KeyboardKey.KEY_KP_8; 893 alias KEY_KP_9 = KeyboardKey.KEY_KP_9; 894 alias KEY_KP_DECIMAL = KeyboardKey.KEY_KP_DECIMAL; 895 alias KEY_KP_DIVIDE = KeyboardKey.KEY_KP_DIVIDE; 896 alias KEY_KP_MULTIPLY = KeyboardKey.KEY_KP_MULTIPLY; 897 alias KEY_KP_SUBTRACT = KeyboardKey.KEY_KP_SUBTRACT; 898 alias KEY_KP_ADD = KeyboardKey.KEY_KP_ADD; 899 alias KEY_KP_ENTER = KeyboardKey.KEY_KP_ENTER; 900 alias KEY_KP_EQUAL = KeyboardKey.KEY_KP_EQUAL; 901 alias KEY_BACK = KeyboardKey.KEY_BACK; 902 alias KEY_MENU = KeyboardKey.KEY_MENU; 903 alias KEY_VOLUME_UP = KeyboardKey.KEY_VOLUME_UP; 904 alias KEY_VOLUME_DOWN = KeyboardKey.KEY_VOLUME_DOWN; 905 /// Mouse buttons 906 enum MouseButton { 907 /// Mouse button left 908 MOUSE_BUTTON_LEFT = 0, 909 /// Mouse button right 910 MOUSE_BUTTON_RIGHT = 1, 911 /// Mouse button middle (pressed wheel) 912 MOUSE_BUTTON_MIDDLE = 2, 913 /// Mouse button side (advanced mouse device) 914 MOUSE_BUTTON_SIDE = 3, 915 /// Mouse button extra (advanced mouse device) 916 MOUSE_BUTTON_EXTRA = 4, 917 /// Mouse button forward (advanced mouse device) 918 MOUSE_BUTTON_FORWARD = 5, 919 /// Mouse button back (advanced mouse device) 920 MOUSE_BUTTON_BACK = 6, 921 } 922 923 alias MOUSE_BUTTON_LEFT = MouseButton.MOUSE_BUTTON_LEFT; 924 alias MOUSE_BUTTON_RIGHT = MouseButton.MOUSE_BUTTON_RIGHT; 925 alias MOUSE_BUTTON_MIDDLE = MouseButton.MOUSE_BUTTON_MIDDLE; 926 alias MOUSE_BUTTON_SIDE = MouseButton.MOUSE_BUTTON_SIDE; 927 alias MOUSE_BUTTON_EXTRA = MouseButton.MOUSE_BUTTON_EXTRA; 928 alias MOUSE_BUTTON_FORWARD = MouseButton.MOUSE_BUTTON_FORWARD; 929 alias MOUSE_BUTTON_BACK = MouseButton.MOUSE_BUTTON_BACK; 930 /// Mouse cursor 931 enum MouseCursor { 932 /// Default pointer shape 933 MOUSE_CURSOR_DEFAULT = 0, 934 /// Arrow shape 935 MOUSE_CURSOR_ARROW = 1, 936 /// Text writing cursor shape 937 MOUSE_CURSOR_IBEAM = 2, 938 /// Cross shape 939 MOUSE_CURSOR_CROSSHAIR = 3, 940 /// Pointing hand cursor 941 MOUSE_CURSOR_POINTING_HAND = 4, 942 /// Horizontal resize/move arrow shape 943 MOUSE_CURSOR_RESIZE_EW = 5, 944 /// Vertical resize/move arrow shape 945 MOUSE_CURSOR_RESIZE_NS = 6, 946 /// Top-left to bottom-right diagonal resize/move arrow shape 947 MOUSE_CURSOR_RESIZE_NWSE = 7, 948 /// The top-right to bottom-left diagonal resize/move arrow shape 949 MOUSE_CURSOR_RESIZE_NESW = 8, 950 /// The omnidirectional resize/move cursor shape 951 MOUSE_CURSOR_RESIZE_ALL = 9, 952 /// The operation-not-allowed shape 953 MOUSE_CURSOR_NOT_ALLOWED = 10, 954 } 955 956 alias MOUSE_CURSOR_DEFAULT = MouseCursor.MOUSE_CURSOR_DEFAULT; 957 alias MOUSE_CURSOR_ARROW = MouseCursor.MOUSE_CURSOR_ARROW; 958 alias MOUSE_CURSOR_IBEAM = MouseCursor.MOUSE_CURSOR_IBEAM; 959 alias MOUSE_CURSOR_CROSSHAIR = MouseCursor.MOUSE_CURSOR_CROSSHAIR; 960 alias MOUSE_CURSOR_POINTING_HAND = MouseCursor.MOUSE_CURSOR_POINTING_HAND; 961 alias MOUSE_CURSOR_RESIZE_EW = MouseCursor.MOUSE_CURSOR_RESIZE_EW; 962 alias MOUSE_CURSOR_RESIZE_NS = MouseCursor.MOUSE_CURSOR_RESIZE_NS; 963 alias MOUSE_CURSOR_RESIZE_NWSE = MouseCursor.MOUSE_CURSOR_RESIZE_NWSE; 964 alias MOUSE_CURSOR_RESIZE_NESW = MouseCursor.MOUSE_CURSOR_RESIZE_NESW; 965 alias MOUSE_CURSOR_RESIZE_ALL = MouseCursor.MOUSE_CURSOR_RESIZE_ALL; 966 alias MOUSE_CURSOR_NOT_ALLOWED = MouseCursor.MOUSE_CURSOR_NOT_ALLOWED; 967 /// Gamepad buttons 968 enum GamepadButton { 969 /// Unknown button, just for error checking 970 GAMEPAD_BUTTON_UNKNOWN = 0, 971 /// Gamepad left DPAD up button 972 GAMEPAD_BUTTON_LEFT_FACE_UP = 1, 973 /// Gamepad left DPAD right button 974 GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2, 975 /// Gamepad left DPAD down button 976 GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3, 977 /// Gamepad left DPAD left button 978 GAMEPAD_BUTTON_LEFT_FACE_LEFT = 4, 979 /// Gamepad right button up (i.e. PS3: Triangle, Xbox: Y) 980 GAMEPAD_BUTTON_RIGHT_FACE_UP = 5, 981 /// Gamepad right button right (i.e. PS3: Square, Xbox: X) 982 GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = 6, 983 /// Gamepad right button down (i.e. PS3: Cross, Xbox: A) 984 GAMEPAD_BUTTON_RIGHT_FACE_DOWN = 7, 985 /// Gamepad right button left (i.e. PS3: Circle, Xbox: B) 986 GAMEPAD_BUTTON_RIGHT_FACE_LEFT = 8, 987 /// Gamepad top/back trigger left (first), it could be a trailing button 988 GAMEPAD_BUTTON_LEFT_TRIGGER_1 = 9, 989 /// Gamepad top/back trigger left (second), it could be a trailing button 990 GAMEPAD_BUTTON_LEFT_TRIGGER_2 = 10, 991 /// Gamepad top/back trigger right (one), it could be a trailing button 992 GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = 11, 993 /// Gamepad top/back trigger right (second), it could be a trailing button 994 GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = 12, 995 /// Gamepad center buttons, left one (i.e. PS3: Select) 996 GAMEPAD_BUTTON_MIDDLE_LEFT = 13, 997 /// Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX) 998 GAMEPAD_BUTTON_MIDDLE = 14, 999 /// Gamepad center buttons, right one (i.e. PS3: Start) 1000 GAMEPAD_BUTTON_MIDDLE_RIGHT = 15, 1001 /// Gamepad joystick pressed button left 1002 GAMEPAD_BUTTON_LEFT_THUMB = 16, 1003 /// Gamepad joystick pressed button right 1004 GAMEPAD_BUTTON_RIGHT_THUMB = 17, 1005 } 1006 1007 alias GAMEPAD_BUTTON_UNKNOWN = GamepadButton.GAMEPAD_BUTTON_UNKNOWN; 1008 alias GAMEPAD_BUTTON_LEFT_FACE_UP = GamepadButton.GAMEPAD_BUTTON_LEFT_FACE_UP; 1009 alias GAMEPAD_BUTTON_LEFT_FACE_RIGHT = GamepadButton.GAMEPAD_BUTTON_LEFT_FACE_RIGHT; 1010 alias GAMEPAD_BUTTON_LEFT_FACE_DOWN = GamepadButton.GAMEPAD_BUTTON_LEFT_FACE_DOWN; 1011 alias GAMEPAD_BUTTON_LEFT_FACE_LEFT = GamepadButton.GAMEPAD_BUTTON_LEFT_FACE_LEFT; 1012 alias GAMEPAD_BUTTON_RIGHT_FACE_UP = GamepadButton.GAMEPAD_BUTTON_RIGHT_FACE_UP; 1013 alias GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = GamepadButton.GAMEPAD_BUTTON_RIGHT_FACE_RIGHT; 1014 alias GAMEPAD_BUTTON_RIGHT_FACE_DOWN = GamepadButton.GAMEPAD_BUTTON_RIGHT_FACE_DOWN; 1015 alias GAMEPAD_BUTTON_RIGHT_FACE_LEFT = GamepadButton.GAMEPAD_BUTTON_RIGHT_FACE_LEFT; 1016 alias GAMEPAD_BUTTON_LEFT_TRIGGER_1 = GamepadButton.GAMEPAD_BUTTON_LEFT_TRIGGER_1; 1017 alias GAMEPAD_BUTTON_LEFT_TRIGGER_2 = GamepadButton.GAMEPAD_BUTTON_LEFT_TRIGGER_2; 1018 alias GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = GamepadButton.GAMEPAD_BUTTON_RIGHT_TRIGGER_1; 1019 alias GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = GamepadButton.GAMEPAD_BUTTON_RIGHT_TRIGGER_2; 1020 alias GAMEPAD_BUTTON_MIDDLE_LEFT = GamepadButton.GAMEPAD_BUTTON_MIDDLE_LEFT; 1021 alias GAMEPAD_BUTTON_MIDDLE = GamepadButton.GAMEPAD_BUTTON_MIDDLE; 1022 alias GAMEPAD_BUTTON_MIDDLE_RIGHT = GamepadButton.GAMEPAD_BUTTON_MIDDLE_RIGHT; 1023 alias GAMEPAD_BUTTON_LEFT_THUMB = GamepadButton.GAMEPAD_BUTTON_LEFT_THUMB; 1024 alias GAMEPAD_BUTTON_RIGHT_THUMB = GamepadButton.GAMEPAD_BUTTON_RIGHT_THUMB; 1025 /// Gamepad axis 1026 enum GamepadAxis { 1027 /// Gamepad left stick X axis 1028 GAMEPAD_AXIS_LEFT_X = 0, 1029 /// Gamepad left stick Y axis 1030 GAMEPAD_AXIS_LEFT_Y = 1, 1031 /// Gamepad right stick X axis 1032 GAMEPAD_AXIS_RIGHT_X = 2, 1033 /// Gamepad right stick Y axis 1034 GAMEPAD_AXIS_RIGHT_Y = 3, 1035 /// Gamepad back trigger left, pressure level: [1..-1] 1036 GAMEPAD_AXIS_LEFT_TRIGGER = 4, 1037 /// Gamepad back trigger right, pressure level: [1..-1] 1038 GAMEPAD_AXIS_RIGHT_TRIGGER = 5, 1039 } 1040 1041 alias GAMEPAD_AXIS_LEFT_X = GamepadAxis.GAMEPAD_AXIS_LEFT_X; 1042 alias GAMEPAD_AXIS_LEFT_Y = GamepadAxis.GAMEPAD_AXIS_LEFT_Y; 1043 alias GAMEPAD_AXIS_RIGHT_X = GamepadAxis.GAMEPAD_AXIS_RIGHT_X; 1044 alias GAMEPAD_AXIS_RIGHT_Y = GamepadAxis.GAMEPAD_AXIS_RIGHT_Y; 1045 alias GAMEPAD_AXIS_LEFT_TRIGGER = GamepadAxis.GAMEPAD_AXIS_LEFT_TRIGGER; 1046 alias GAMEPAD_AXIS_RIGHT_TRIGGER = GamepadAxis.GAMEPAD_AXIS_RIGHT_TRIGGER; 1047 /// Material map index 1048 enum MaterialMapIndex { 1049 /// Albedo material (same as: MATERIAL_MAP_DIFFUSE) 1050 MATERIAL_MAP_ALBEDO = 0, 1051 /// Metalness material (same as: MATERIAL_MAP_SPECULAR) 1052 MATERIAL_MAP_METALNESS = 1, 1053 /// Normal material 1054 MATERIAL_MAP_NORMAL = 2, 1055 /// Roughness material 1056 MATERIAL_MAP_ROUGHNESS = 3, 1057 /// Ambient occlusion material 1058 MATERIAL_MAP_OCCLUSION = 4, 1059 /// Emission material 1060 MATERIAL_MAP_EMISSION = 5, 1061 /// Heightmap material 1062 MATERIAL_MAP_HEIGHT = 6, 1063 /// Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP) 1064 MATERIAL_MAP_CUBEMAP = 7, 1065 /// Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP) 1066 MATERIAL_MAP_IRRADIANCE = 8, 1067 /// Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP) 1068 MATERIAL_MAP_PREFILTER = 9, 1069 /// Brdf material 1070 MATERIAL_MAP_BRDF = 10, 1071 } 1072 1073 alias MATERIAL_MAP_ALBEDO = MaterialMapIndex.MATERIAL_MAP_ALBEDO; 1074 alias MATERIAL_MAP_METALNESS = MaterialMapIndex.MATERIAL_MAP_METALNESS; 1075 alias MATERIAL_MAP_NORMAL = MaterialMapIndex.MATERIAL_MAP_NORMAL; 1076 alias MATERIAL_MAP_ROUGHNESS = MaterialMapIndex.MATERIAL_MAP_ROUGHNESS; 1077 alias MATERIAL_MAP_OCCLUSION = MaterialMapIndex.MATERIAL_MAP_OCCLUSION; 1078 alias MATERIAL_MAP_EMISSION = MaterialMapIndex.MATERIAL_MAP_EMISSION; 1079 alias MATERIAL_MAP_HEIGHT = MaterialMapIndex.MATERIAL_MAP_HEIGHT; 1080 alias MATERIAL_MAP_CUBEMAP = MaterialMapIndex.MATERIAL_MAP_CUBEMAP; 1081 alias MATERIAL_MAP_IRRADIANCE = MaterialMapIndex.MATERIAL_MAP_IRRADIANCE; 1082 alias MATERIAL_MAP_PREFILTER = MaterialMapIndex.MATERIAL_MAP_PREFILTER; 1083 alias MATERIAL_MAP_BRDF = MaterialMapIndex.MATERIAL_MAP_BRDF; 1084 /// Shader location index 1085 enum ShaderLocationIndex { 1086 /// Shader location: vertex attribute: position 1087 SHADER_LOC_VERTEX_POSITION = 0, 1088 /// Shader location: vertex attribute: texcoord01 1089 SHADER_LOC_VERTEX_TEXCOORD01 = 1, 1090 /// Shader location: vertex attribute: texcoord02 1091 SHADER_LOC_VERTEX_TEXCOORD02 = 2, 1092 /// Shader location: vertex attribute: normal 1093 SHADER_LOC_VERTEX_NORMAL = 3, 1094 /// Shader location: vertex attribute: tangent 1095 SHADER_LOC_VERTEX_TANGENT = 4, 1096 /// Shader location: vertex attribute: color 1097 SHADER_LOC_VERTEX_COLOR = 5, 1098 /// Shader location: matrix uniform: model-view-projection 1099 SHADER_LOC_MATRIX_MVP = 6, 1100 /// Shader location: matrix uniform: view (camera transform) 1101 SHADER_LOC_MATRIX_VIEW = 7, 1102 /// Shader location: matrix uniform: projection 1103 SHADER_LOC_MATRIX_PROJECTION = 8, 1104 /// Shader location: matrix uniform: model (transform) 1105 SHADER_LOC_MATRIX_MODEL = 9, 1106 /// Shader location: matrix uniform: normal 1107 SHADER_LOC_MATRIX_NORMAL = 10, 1108 /// Shader location: vector uniform: view 1109 SHADER_LOC_VECTOR_VIEW = 11, 1110 /// Shader location: vector uniform: diffuse color 1111 SHADER_LOC_COLOR_DIFFUSE = 12, 1112 /// Shader location: vector uniform: specular color 1113 SHADER_LOC_COLOR_SPECULAR = 13, 1114 /// Shader location: vector uniform: ambient color 1115 SHADER_LOC_COLOR_AMBIENT = 14, 1116 /// Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE) 1117 SHADER_LOC_MAP_ALBEDO = 15, 1118 /// Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR) 1119 SHADER_LOC_MAP_METALNESS = 16, 1120 /// Shader location: sampler2d texture: normal 1121 SHADER_LOC_MAP_NORMAL = 17, 1122 /// Shader location: sampler2d texture: roughness 1123 SHADER_LOC_MAP_ROUGHNESS = 18, 1124 /// Shader location: sampler2d texture: occlusion 1125 SHADER_LOC_MAP_OCCLUSION = 19, 1126 /// Shader location: sampler2d texture: emission 1127 SHADER_LOC_MAP_EMISSION = 20, 1128 /// Shader location: sampler2d texture: height 1129 SHADER_LOC_MAP_HEIGHT = 21, 1130 /// Shader location: samplerCube texture: cubemap 1131 SHADER_LOC_MAP_CUBEMAP = 22, 1132 /// Shader location: samplerCube texture: irradiance 1133 SHADER_LOC_MAP_IRRADIANCE = 23, 1134 /// Shader location: samplerCube texture: prefilter 1135 SHADER_LOC_MAP_PREFILTER = 24, 1136 /// Shader location: sampler2d texture: brdf 1137 SHADER_LOC_MAP_BRDF = 25, 1138 } 1139 1140 alias SHADER_LOC_VERTEX_POSITION = ShaderLocationIndex.SHADER_LOC_VERTEX_POSITION; 1141 alias SHADER_LOC_VERTEX_TEXCOORD01 = ShaderLocationIndex.SHADER_LOC_VERTEX_TEXCOORD01; 1142 alias SHADER_LOC_VERTEX_TEXCOORD02 = ShaderLocationIndex.SHADER_LOC_VERTEX_TEXCOORD02; 1143 alias SHADER_LOC_VERTEX_NORMAL = ShaderLocationIndex.SHADER_LOC_VERTEX_NORMAL; 1144 alias SHADER_LOC_VERTEX_TANGENT = ShaderLocationIndex.SHADER_LOC_VERTEX_TANGENT; 1145 alias SHADER_LOC_VERTEX_COLOR = ShaderLocationIndex.SHADER_LOC_VERTEX_COLOR; 1146 alias SHADER_LOC_MATRIX_MVP = ShaderLocationIndex.SHADER_LOC_MATRIX_MVP; 1147 alias SHADER_LOC_MATRIX_VIEW = ShaderLocationIndex.SHADER_LOC_MATRIX_VIEW; 1148 alias SHADER_LOC_MATRIX_PROJECTION = ShaderLocationIndex.SHADER_LOC_MATRIX_PROJECTION; 1149 alias SHADER_LOC_MATRIX_MODEL = ShaderLocationIndex.SHADER_LOC_MATRIX_MODEL; 1150 alias SHADER_LOC_MATRIX_NORMAL = ShaderLocationIndex.SHADER_LOC_MATRIX_NORMAL; 1151 alias SHADER_LOC_VECTOR_VIEW = ShaderLocationIndex.SHADER_LOC_VECTOR_VIEW; 1152 alias SHADER_LOC_COLOR_DIFFUSE = ShaderLocationIndex.SHADER_LOC_COLOR_DIFFUSE; 1153 alias SHADER_LOC_COLOR_SPECULAR = ShaderLocationIndex.SHADER_LOC_COLOR_SPECULAR; 1154 alias SHADER_LOC_COLOR_AMBIENT = ShaderLocationIndex.SHADER_LOC_COLOR_AMBIENT; 1155 alias SHADER_LOC_MAP_ALBEDO = ShaderLocationIndex.SHADER_LOC_MAP_ALBEDO; 1156 alias SHADER_LOC_MAP_METALNESS = ShaderLocationIndex.SHADER_LOC_MAP_METALNESS; 1157 alias SHADER_LOC_MAP_NORMAL = ShaderLocationIndex.SHADER_LOC_MAP_NORMAL; 1158 alias SHADER_LOC_MAP_ROUGHNESS = ShaderLocationIndex.SHADER_LOC_MAP_ROUGHNESS; 1159 alias SHADER_LOC_MAP_OCCLUSION = ShaderLocationIndex.SHADER_LOC_MAP_OCCLUSION; 1160 alias SHADER_LOC_MAP_EMISSION = ShaderLocationIndex.SHADER_LOC_MAP_EMISSION; 1161 alias SHADER_LOC_MAP_HEIGHT = ShaderLocationIndex.SHADER_LOC_MAP_HEIGHT; 1162 alias SHADER_LOC_MAP_CUBEMAP = ShaderLocationIndex.SHADER_LOC_MAP_CUBEMAP; 1163 alias SHADER_LOC_MAP_IRRADIANCE = ShaderLocationIndex.SHADER_LOC_MAP_IRRADIANCE; 1164 alias SHADER_LOC_MAP_PREFILTER = ShaderLocationIndex.SHADER_LOC_MAP_PREFILTER; 1165 alias SHADER_LOC_MAP_BRDF = ShaderLocationIndex.SHADER_LOC_MAP_BRDF; 1166 /// Shader uniform data type 1167 enum ShaderUniformDataType { 1168 /// Shader uniform type: float 1169 SHADER_UNIFORM_FLOAT = 0, 1170 /// Shader uniform type: vec2 (2 float) 1171 SHADER_UNIFORM_VEC2 = 1, 1172 /// Shader uniform type: vec3 (3 float) 1173 SHADER_UNIFORM_VEC3 = 2, 1174 /// Shader uniform type: vec4 (4 float) 1175 SHADER_UNIFORM_VEC4 = 3, 1176 /// Shader uniform type: int 1177 SHADER_UNIFORM_INT = 4, 1178 /// Shader uniform type: ivec2 (2 int) 1179 SHADER_UNIFORM_IVEC2 = 5, 1180 /// Shader uniform type: ivec3 (3 int) 1181 SHADER_UNIFORM_IVEC3 = 6, 1182 /// Shader uniform type: ivec4 (4 int) 1183 SHADER_UNIFORM_IVEC4 = 7, 1184 /// Shader uniform type: sampler2d 1185 SHADER_UNIFORM_SAMPLER2D = 8, 1186 } 1187 1188 alias SHADER_UNIFORM_FLOAT = ShaderUniformDataType.SHADER_UNIFORM_FLOAT; 1189 alias SHADER_UNIFORM_VEC2 = ShaderUniformDataType.SHADER_UNIFORM_VEC2; 1190 alias SHADER_UNIFORM_VEC3 = ShaderUniformDataType.SHADER_UNIFORM_VEC3; 1191 alias SHADER_UNIFORM_VEC4 = ShaderUniformDataType.SHADER_UNIFORM_VEC4; 1192 alias SHADER_UNIFORM_INT = ShaderUniformDataType.SHADER_UNIFORM_INT; 1193 alias SHADER_UNIFORM_IVEC2 = ShaderUniformDataType.SHADER_UNIFORM_IVEC2; 1194 alias SHADER_UNIFORM_IVEC3 = ShaderUniformDataType.SHADER_UNIFORM_IVEC3; 1195 alias SHADER_UNIFORM_IVEC4 = ShaderUniformDataType.SHADER_UNIFORM_IVEC4; 1196 alias SHADER_UNIFORM_SAMPLER2D = ShaderUniformDataType.SHADER_UNIFORM_SAMPLER2D; 1197 /// Shader attribute data types 1198 enum ShaderAttributeDataType { 1199 /// Shader attribute type: float 1200 SHADER_ATTRIB_FLOAT = 0, 1201 /// Shader attribute type: vec2 (2 float) 1202 SHADER_ATTRIB_VEC2 = 1, 1203 /// Shader attribute type: vec3 (3 float) 1204 SHADER_ATTRIB_VEC3 = 2, 1205 /// Shader attribute type: vec4 (4 float) 1206 SHADER_ATTRIB_VEC4 = 3, 1207 } 1208 1209 alias SHADER_ATTRIB_FLOAT = ShaderAttributeDataType.SHADER_ATTRIB_FLOAT; 1210 alias SHADER_ATTRIB_VEC2 = ShaderAttributeDataType.SHADER_ATTRIB_VEC2; 1211 alias SHADER_ATTRIB_VEC3 = ShaderAttributeDataType.SHADER_ATTRIB_VEC3; 1212 alias SHADER_ATTRIB_VEC4 = ShaderAttributeDataType.SHADER_ATTRIB_VEC4; 1213 /// Pixel formats 1214 enum PixelFormat { 1215 /// 8 bit per pixel (no alpha) 1216 PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1, 1217 /// 8*2 bpp (2 channels) 1218 PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2, 1219 /// 16 bpp 1220 PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3, 1221 /// 24 bpp 1222 PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4, 1223 /// 16 bpp (1 bit alpha) 1224 PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5, 1225 /// 16 bpp (4 bit alpha) 1226 PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6, 1227 /// 32 bpp 1228 PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7, 1229 /// 32 bpp (1 channel - float) 1230 PIXELFORMAT_UNCOMPRESSED_R32 = 8, 1231 /// 32*3 bpp (3 channels - float) 1232 PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9, 1233 /// 32*4 bpp (4 channels - float) 1234 PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10, 1235 /// 16 bpp (1 channel - half float) 1236 PIXELFORMAT_UNCOMPRESSED_R16 = 11, 1237 /// 16*3 bpp (3 channels - half float) 1238 PIXELFORMAT_UNCOMPRESSED_R16G16B16 = 12, 1239 /// 16*4 bpp (4 channels - half float) 1240 PIXELFORMAT_UNCOMPRESSED_R16G16B16A16 = 13, 1241 /// 4 bpp (no alpha) 1242 PIXELFORMAT_COMPRESSED_DXT1_RGB = 14, 1243 /// 4 bpp (1 bit alpha) 1244 PIXELFORMAT_COMPRESSED_DXT1_RGBA = 15, 1245 /// 8 bpp 1246 PIXELFORMAT_COMPRESSED_DXT3_RGBA = 16, 1247 /// 8 bpp 1248 PIXELFORMAT_COMPRESSED_DXT5_RGBA = 17, 1249 /// 4 bpp 1250 PIXELFORMAT_COMPRESSED_ETC1_RGB = 18, 1251 /// 4 bpp 1252 PIXELFORMAT_COMPRESSED_ETC2_RGB = 19, 1253 /// 8 bpp 1254 PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 20, 1255 /// 4 bpp 1256 PIXELFORMAT_COMPRESSED_PVRT_RGB = 21, 1257 /// 4 bpp 1258 PIXELFORMAT_COMPRESSED_PVRT_RGBA = 22, 1259 /// 8 bpp 1260 PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 23, 1261 /// 2 bpp 1262 PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 24, 1263 } 1264 1265 alias PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = PixelFormat.PIXELFORMAT_UNCOMPRESSED_GRAYSCALE; 1266 alias PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = PixelFormat.PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA; 1267 alias PIXELFORMAT_UNCOMPRESSED_R5G6B5 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R5G6B5; 1268 alias PIXELFORMAT_UNCOMPRESSED_R8G8B8 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R8G8B8; 1269 alias PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R5G5B5A1; 1270 alias PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R4G4B4A4; 1271 alias PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R8G8B8A8; 1272 alias PIXELFORMAT_UNCOMPRESSED_R32 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R32; 1273 alias PIXELFORMAT_UNCOMPRESSED_R32G32B32 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R32G32B32; 1274 alias PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R32G32B32A32; 1275 alias PIXELFORMAT_UNCOMPRESSED_R16 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R16; 1276 alias PIXELFORMAT_UNCOMPRESSED_R16G16B16 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R16G16B16; 1277 alias PIXELFORMAT_UNCOMPRESSED_R16G16B16A16 = PixelFormat.PIXELFORMAT_UNCOMPRESSED_R16G16B16A16; 1278 alias PIXELFORMAT_COMPRESSED_DXT1_RGB = PixelFormat.PIXELFORMAT_COMPRESSED_DXT1_RGB; 1279 alias PIXELFORMAT_COMPRESSED_DXT1_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_DXT1_RGBA; 1280 alias PIXELFORMAT_COMPRESSED_DXT3_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_DXT3_RGBA; 1281 alias PIXELFORMAT_COMPRESSED_DXT5_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_DXT5_RGBA; 1282 alias PIXELFORMAT_COMPRESSED_ETC1_RGB = PixelFormat.PIXELFORMAT_COMPRESSED_ETC1_RGB; 1283 alias PIXELFORMAT_COMPRESSED_ETC2_RGB = PixelFormat.PIXELFORMAT_COMPRESSED_ETC2_RGB; 1284 alias PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA; 1285 alias PIXELFORMAT_COMPRESSED_PVRT_RGB = PixelFormat.PIXELFORMAT_COMPRESSED_PVRT_RGB; 1286 alias PIXELFORMAT_COMPRESSED_PVRT_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_PVRT_RGBA; 1287 alias PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA; 1288 alias PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = PixelFormat.PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA; 1289 /// Texture parameters: filter mode 1290 enum TextureFilter { 1291 /// No filter, just pixel approximation 1292 TEXTURE_FILTER_POINT = 0, 1293 /// Linear filtering 1294 TEXTURE_FILTER_BILINEAR = 1, 1295 /// Trilinear filtering (linear with mipmaps) 1296 TEXTURE_FILTER_TRILINEAR = 2, 1297 /// Anisotropic filtering 4x 1298 TEXTURE_FILTER_ANISOTROPIC_4X = 3, 1299 /// Anisotropic filtering 8x 1300 TEXTURE_FILTER_ANISOTROPIC_8X = 4, 1301 /// Anisotropic filtering 16x 1302 TEXTURE_FILTER_ANISOTROPIC_16X = 5, 1303 } 1304 1305 alias TEXTURE_FILTER_POINT = TextureFilter.TEXTURE_FILTER_POINT; 1306 alias TEXTURE_FILTER_BILINEAR = TextureFilter.TEXTURE_FILTER_BILINEAR; 1307 alias TEXTURE_FILTER_TRILINEAR = TextureFilter.TEXTURE_FILTER_TRILINEAR; 1308 alias TEXTURE_FILTER_ANISOTROPIC_4X = TextureFilter.TEXTURE_FILTER_ANISOTROPIC_4X; 1309 alias TEXTURE_FILTER_ANISOTROPIC_8X = TextureFilter.TEXTURE_FILTER_ANISOTROPIC_8X; 1310 alias TEXTURE_FILTER_ANISOTROPIC_16X = TextureFilter.TEXTURE_FILTER_ANISOTROPIC_16X; 1311 /// Texture parameters: wrap mode 1312 enum TextureWrap { 1313 /// Repeats texture in tiled mode 1314 TEXTURE_WRAP_REPEAT = 0, 1315 /// Clamps texture to edge pixel in tiled mode 1316 TEXTURE_WRAP_CLAMP = 1, 1317 /// Mirrors and repeats the texture in tiled mode 1318 TEXTURE_WRAP_MIRROR_REPEAT = 2, 1319 /// Mirrors and clamps to border the texture in tiled mode 1320 TEXTURE_WRAP_MIRROR_CLAMP = 3, 1321 } 1322 1323 alias TEXTURE_WRAP_REPEAT = TextureWrap.TEXTURE_WRAP_REPEAT; 1324 alias TEXTURE_WRAP_CLAMP = TextureWrap.TEXTURE_WRAP_CLAMP; 1325 alias TEXTURE_WRAP_MIRROR_REPEAT = TextureWrap.TEXTURE_WRAP_MIRROR_REPEAT; 1326 alias TEXTURE_WRAP_MIRROR_CLAMP = TextureWrap.TEXTURE_WRAP_MIRROR_CLAMP; 1327 /// Cubemap layouts 1328 enum CubemapLayout { 1329 /// Automatically detect layout type 1330 CUBEMAP_LAYOUT_AUTO_DETECT = 0, 1331 /// Layout is defined by a vertical line with faces 1332 CUBEMAP_LAYOUT_LINE_VERTICAL = 1, 1333 /// Layout is defined by a horizontal line with faces 1334 CUBEMAP_LAYOUT_LINE_HORIZONTAL = 2, 1335 /// Layout is defined by a 3x4 cross with cubemap faces 1336 CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = 3, 1337 /// Layout is defined by a 4x3 cross with cubemap faces 1338 CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = 4, 1339 /// Layout is defined by a panorama image (equirrectangular map) 1340 CUBEMAP_LAYOUT_PANORAMA = 5, 1341 } 1342 1343 alias CUBEMAP_LAYOUT_AUTO_DETECT = CubemapLayout.CUBEMAP_LAYOUT_AUTO_DETECT; 1344 alias CUBEMAP_LAYOUT_LINE_VERTICAL = CubemapLayout.CUBEMAP_LAYOUT_LINE_VERTICAL; 1345 alias CUBEMAP_LAYOUT_LINE_HORIZONTAL = CubemapLayout.CUBEMAP_LAYOUT_LINE_HORIZONTAL; 1346 alias CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = CubemapLayout.CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR; 1347 alias CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = CubemapLayout.CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE; 1348 alias CUBEMAP_LAYOUT_PANORAMA = CubemapLayout.CUBEMAP_LAYOUT_PANORAMA; 1349 /// Font type, defines generation method 1350 enum FontType { 1351 /// Default font generation, anti-aliased 1352 FONT_DEFAULT = 0, 1353 /// Bitmap font generation, no anti-aliasing 1354 FONT_BITMAP = 1, 1355 /// SDF font generation, requires external shader 1356 FONT_SDF = 2, 1357 } 1358 1359 alias FONT_DEFAULT = FontType.FONT_DEFAULT; 1360 alias FONT_BITMAP = FontType.FONT_BITMAP; 1361 alias FONT_SDF = FontType.FONT_SDF; 1362 /// Color blending modes (pre-defined) 1363 enum BlendMode { 1364 /// Blend textures considering alpha (default) 1365 BLEND_ALPHA = 0, 1366 /// Blend textures adding colors 1367 BLEND_ADDITIVE = 1, 1368 /// Blend textures multiplying colors 1369 BLEND_MULTIPLIED = 2, 1370 /// Blend textures adding colors (alternative) 1371 BLEND_ADD_COLORS = 3, 1372 /// Blend textures subtracting colors (alternative) 1373 BLEND_SUBTRACT_COLORS = 4, 1374 /// Blend premultiplied textures considering alpha 1375 BLEND_ALPHA_PREMULTIPLY = 5, 1376 /// Blend textures using custom src/dst factors (use rlSetBlendFactors()) 1377 BLEND_CUSTOM = 6, 1378 /// Blend textures using custom rgb/alpha separate src/dst factors (use rlSetBlendFactorsSeparate()) 1379 BLEND_CUSTOM_SEPARATE = 7, 1380 } 1381 1382 alias BLEND_ALPHA = BlendMode.BLEND_ALPHA; 1383 alias BLEND_ADDITIVE = BlendMode.BLEND_ADDITIVE; 1384 alias BLEND_MULTIPLIED = BlendMode.BLEND_MULTIPLIED; 1385 alias BLEND_ADD_COLORS = BlendMode.BLEND_ADD_COLORS; 1386 alias BLEND_SUBTRACT_COLORS = BlendMode.BLEND_SUBTRACT_COLORS; 1387 alias BLEND_ALPHA_PREMULTIPLY = BlendMode.BLEND_ALPHA_PREMULTIPLY; 1388 alias BLEND_CUSTOM = BlendMode.BLEND_CUSTOM; 1389 alias BLEND_CUSTOM_SEPARATE = BlendMode.BLEND_CUSTOM_SEPARATE; 1390 /// Gesture 1391 enum Gesture { 1392 /// No gesture 1393 GESTURE_NONE = 0, 1394 /// Tap gesture 1395 GESTURE_TAP = 1, 1396 /// Double tap gesture 1397 GESTURE_DOUBLETAP = 2, 1398 /// Hold gesture 1399 GESTURE_HOLD = 4, 1400 /// Drag gesture 1401 GESTURE_DRAG = 8, 1402 /// Swipe right gesture 1403 GESTURE_SWIPE_RIGHT = 16, 1404 /// Swipe left gesture 1405 GESTURE_SWIPE_LEFT = 32, 1406 /// Swipe up gesture 1407 GESTURE_SWIPE_UP = 64, 1408 /// Swipe down gesture 1409 GESTURE_SWIPE_DOWN = 128, 1410 /// Pinch in gesture 1411 GESTURE_PINCH_IN = 256, 1412 /// Pinch out gesture 1413 GESTURE_PINCH_OUT = 512, 1414 } 1415 1416 alias GESTURE_NONE = Gesture.GESTURE_NONE; 1417 alias GESTURE_TAP = Gesture.GESTURE_TAP; 1418 alias GESTURE_DOUBLETAP = Gesture.GESTURE_DOUBLETAP; 1419 alias GESTURE_HOLD = Gesture.GESTURE_HOLD; 1420 alias GESTURE_DRAG = Gesture.GESTURE_DRAG; 1421 alias GESTURE_SWIPE_RIGHT = Gesture.GESTURE_SWIPE_RIGHT; 1422 alias GESTURE_SWIPE_LEFT = Gesture.GESTURE_SWIPE_LEFT; 1423 alias GESTURE_SWIPE_UP = Gesture.GESTURE_SWIPE_UP; 1424 alias GESTURE_SWIPE_DOWN = Gesture.GESTURE_SWIPE_DOWN; 1425 alias GESTURE_PINCH_IN = Gesture.GESTURE_PINCH_IN; 1426 alias GESTURE_PINCH_OUT = Gesture.GESTURE_PINCH_OUT; 1427 /// Camera system modes 1428 enum CameraMode { 1429 /// Custom camera 1430 CAMERA_CUSTOM = 0, 1431 /// Free camera 1432 CAMERA_FREE = 1, 1433 /// Orbital camera 1434 CAMERA_ORBITAL = 2, 1435 /// First person camera 1436 CAMERA_FIRST_PERSON = 3, 1437 /// Third person camera 1438 CAMERA_THIRD_PERSON = 4, 1439 } 1440 1441 alias CAMERA_CUSTOM = CameraMode.CAMERA_CUSTOM; 1442 alias CAMERA_FREE = CameraMode.CAMERA_FREE; 1443 alias CAMERA_ORBITAL = CameraMode.CAMERA_ORBITAL; 1444 alias CAMERA_FIRST_PERSON = CameraMode.CAMERA_FIRST_PERSON; 1445 alias CAMERA_THIRD_PERSON = CameraMode.CAMERA_THIRD_PERSON; 1446 /// Camera projection 1447 enum CameraProjection { 1448 /// Perspective projection 1449 CAMERA_PERSPECTIVE = 0, 1450 /// Orthographic projection 1451 CAMERA_ORTHOGRAPHIC = 1, 1452 } 1453 1454 alias CAMERA_PERSPECTIVE = CameraProjection.CAMERA_PERSPECTIVE; 1455 alias CAMERA_ORTHOGRAPHIC = CameraProjection.CAMERA_ORTHOGRAPHIC; 1456 /// N-patch layout 1457 enum NPatchLayout { 1458 /// Npatch layout: 3x3 tiles 1459 NPATCH_NINE_PATCH = 0, 1460 /// Npatch layout: 1x3 tiles 1461 NPATCH_THREE_PATCH_VERTICAL = 1, 1462 /// Npatch layout: 3x1 tiles 1463 NPATCH_THREE_PATCH_HORIZONTAL = 2, 1464 } 1465 1466 alias NPATCH_NINE_PATCH = NPatchLayout.NPATCH_NINE_PATCH; 1467 alias NPATCH_THREE_PATCH_VERTICAL = NPatchLayout.NPATCH_THREE_PATCH_VERTICAL; 1468 alias NPATCH_THREE_PATCH_HORIZONTAL = NPatchLayout.NPATCH_THREE_PATCH_HORIZONTAL;