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