github.com/Konstantin8105/c4go@v0.0.0-20240505174241-768bb1c65a51/tests/raylib/raygui.go (about) 1 package main 2 3 type Vector2 struct { 4 x float32 5 y float32 6 } 7 8 type Vector3 struct { 9 x float32 10 y float32 11 z float32 12 } 13 14 type Vector4 struct { 15 x float32 16 y float32 17 z float32 18 w float32 19 } 20 21 type Quaternion = Vector4 22 23 type Matrix struct { 24 m0 float32 25 m4 float32 26 m8 float32 27 m12 float32 28 m1 float32 29 m5 float32 30 m9 float32 31 m13 float32 32 m2 float32 33 m6 float32 34 m10 float32 35 m14 float32 36 m3 float32 37 m7 float32 38 m11 float32 39 m15 float32 40 } 41 42 type Color struct { 43 r uint8 44 g uint8 45 b uint8 46 a uint8 47 } 48 49 type Rectangle struct { 50 x float32 51 y float32 52 width float32 53 height float32 54 } 55 56 type Image struct { 57 data interface{} 58 width int32 59 height int32 60 mipmaps int32 61 format int32 62 } 63 64 type Texture struct { 65 id uint32 66 width int32 67 height int32 68 mipmaps int32 69 format int32 70 } 71 72 type Texture2D = Texture 73 74 type TextureCubemap = Texture 75 76 type RenderTexture struct { 77 id uint32 78 texture Texture 79 depth Texture 80 } 81 82 type RenderTexture2D = RenderTexture 83 84 type NPatchInfo struct { 85 source Rectangle 86 left int32 87 top int32 88 right int32 89 bottom int32 90 layout int32 91 } 92 93 type GlyphInfo struct { 94 value int32 95 offsetX int32 96 offsetY int32 97 advanceX int32 98 image Image 99 } 100 101 type Font struct { 102 baseSize int32 103 glyphCount int32 104 glyphPadding int32 105 texture Texture2D 106 recs []Rectangle 107 glyphs []GlyphInfo 108 } 109 110 type Camera3D struct { 111 position Vector3 112 target Vector3 113 up Vector3 114 fovy float32 115 projection int32 116 } 117 118 type Camera = Camera3D 119 120 type Camera2D struct { 121 offset Vector2 122 target Vector2 123 rotation float32 124 zoom float32 125 } 126 127 type Mesh struct { 128 vertexCount int32 129 triangleCount int32 130 vertices []float32 131 texcoords []float32 132 texcoords2 []float32 133 normals []float32 134 tangents []float32 135 colors []uint8 136 indices []uint16 137 animVertices []float32 138 animNormals []float32 139 boneIds []uint8 140 boneWeights []float32 141 vaoId uint32 142 vboId []uint32 143 } 144 145 type Shader struct { 146 id uint32 147 locs []int32 148 } 149 150 type MaterialMap struct { 151 texture Texture2D 152 color Color 153 value float32 154 } 155 156 type Material struct { 157 shader Shader 158 maps []MaterialMap 159 params [4]float32 160 } 161 162 type Transform struct { 163 translation Vector3 164 rotation Quaternion 165 scale Vector3 166 } 167 168 type BoneInfo struct { 169 name [32]byte 170 parent int32 171 } 172 173 type Model struct { 174 transform Matrix 175 meshCount int32 176 materialCount int32 177 meshes []Mesh 178 materials []Material 179 meshMaterial []int32 180 boneCount int32 181 bones []BoneInfo 182 bindPose []Transform 183 } 184 185 type ModelAnimation struct { 186 boneCount int32 187 frameCount int32 188 bones []BoneInfo 189 framePoses [][]Transform 190 } 191 192 type Ray struct { 193 position Vector3 194 direction Vector3 195 } 196 197 type RayCollision struct { 198 hit int32 199 distance float32 200 point Vector3 201 normal Vector3 202 } 203 204 type BoundingBox struct { 205 min Vector3 206 max Vector3 207 } 208 209 type Wave struct { 210 frameCount uint32 211 sampleRate uint32 212 sampleSize uint32 213 channels uint32 214 data interface{} 215 } 216 217 type AudioStream struct { 218 buffer []rAudioBuffer 219 processor []rAudioProcessor 220 sampleRate uint32 221 sampleSize uint32 222 channels uint32 223 } 224 225 type Sound struct { 226 stream AudioStream 227 frameCount uint32 228 } 229 230 type Music struct { 231 stream AudioStream 232 frameCount uint32 233 looping int32 234 ctxType int32 235 ctxData interface{} 236 } 237 238 type VrDeviceInfo struct { 239 hResolution int32 240 vResolution int32 241 hScreenSize float32 242 vScreenSize float32 243 vScreenCenter float32 244 eyeToScreenDistance float32 245 lensSeparationDistance float32 246 interpupillaryDistance float32 247 lensDistortionValues [4]float32 248 chromaAbCorrection [4]float32 249 } 250 251 type VrStereoConfig struct { 252 projection [2]Matrix 253 viewOffset [2]Matrix 254 leftLensCenter [2]float32 255 rightLensCenter [2]float32 256 leftScreenCenter [2]float32 257 rightScreenCenter [2]float32 258 scale [2]float32 259 scaleIn [2]float32 260 } 261 262 type FilePathList struct { 263 capacity uint32 264 count uint32 265 paths [][]byte 266 } 267 268 const ( 269 FLAG_VSYNC_HINT int32 = 64 270 FLAG_FULLSCREEN_MODE = 2 271 FLAG_WINDOW_RESIZABLE = 4 272 FLAG_WINDOW_UNDECORATED = 8 273 FLAG_WINDOW_HIDDEN = 128 274 FLAG_WINDOW_MINIMIZED = 512 275 FLAG_WINDOW_MAXIMIZED = 1024 276 FLAG_WINDOW_UNFOCUSED = 2048 277 FLAG_WINDOW_TOPMOST = 4096 278 FLAG_WINDOW_ALWAYS_RUN = 256 279 FLAG_WINDOW_TRANSPARENT = 16 280 FLAG_WINDOW_HIGHDPI = 8192 281 FLAG_WINDOW_MOUSE_PASSTHROUGH = 16384 282 FLAG_MSAA_4X_HINT = 32 283 FLAG_INTERLACED_HINT = 65536 284 ) 285 286 type ConfigFlags = int32 287 288 const ( 289 LOG_ALL int32 = 0 290 LOG_TRACE = 1 291 LOG_DEBUG = 2 292 LOG_INFO = 3 293 LOG_WARNING = 4 294 LOG_ERROR = 5 295 LOG_FATAL = 6 296 LOG_NONE = 7 297 ) 298 299 type TraceLogLevel = int32 300 301 const ( 302 KEY_NULL int32 = 0 303 KEY_APOSTROPHE = 39 304 KEY_COMMA = 44 305 KEY_MINUS = 45 306 KEY_PERIOD = 46 307 KEY_SLASH = 47 308 KEY_ZERO = 48 309 KEY_ONE = 49 310 KEY_TWO = 50 311 KEY_THREE = 51 312 KEY_FOUR = 52 313 KEY_FIVE = 53 314 KEY_SIX = 54 315 KEY_SEVEN = 55 316 KEY_EIGHT = 56 317 KEY_NINE = 57 318 KEY_SEMICOLON = 59 319 KEY_EQUAL = 61 320 KEY_A = 65 321 KEY_B = 66 322 KEY_C = 67 323 KEY_D = 68 324 KEY_E = 69 325 KEY_F = 70 326 KEY_G = 71 327 KEY_H = 72 328 KEY_I = 73 329 KEY_J = 74 330 KEY_K = 75 331 KEY_L = 76 332 KEY_M = 77 333 KEY_N = 78 334 KEY_O = 79 335 KEY_P = 80 336 KEY_Q = 81 337 KEY_R = 82 338 KEY_S = 83 339 KEY_T = 84 340 KEY_U = 85 341 KEY_V = 86 342 KEY_W = 87 343 KEY_X = 88 344 KEY_Y = 89 345 KEY_Z = 90 346 KEY_LEFT_BRACKET = 91 347 KEY_BACKSLASH = 92 348 KEY_RIGHT_BRACKET = 93 349 KEY_GRAVE = 96 350 KEY_SPACE = 32 351 KEY_ESCAPE = 256 352 KEY_ENTER = 257 353 KEY_TAB = 258 354 KEY_BACKSPACE = 259 355 KEY_INSERT = 260 356 KEY_DELETE = 261 357 KEY_RIGHT = 262 358 KEY_LEFT = 263 359 KEY_DOWN = 264 360 KEY_UP = 265 361 KEY_PAGE_UP = 266 362 KEY_PAGE_DOWN = 267 363 KEY_HOME = 268 364 KEY_END = 269 365 KEY_CAPS_LOCK = 280 366 KEY_SCROLL_LOCK = 281 367 KEY_NUM_LOCK = 282 368 KEY_PRINT_SCREEN = 283 369 KEY_PAUSE = 284 370 KEY_F1 = 290 371 KEY_F2 = 291 372 KEY_F3 = 292 373 KEY_F4 = 293 374 KEY_F5 = 294 375 KEY_F6 = 295 376 KEY_F7 = 296 377 KEY_F8 = 297 378 KEY_F9 = 298 379 KEY_F10 = 299 380 KEY_F11 = 300 381 KEY_F12 = 301 382 KEY_LEFT_SHIFT = 340 383 KEY_LEFT_CONTROL = 341 384 KEY_LEFT_ALT = 342 385 KEY_LEFT_SUPER = 343 386 KEY_RIGHT_SHIFT = 344 387 KEY_RIGHT_CONTROL = 345 388 KEY_RIGHT_ALT = 346 389 KEY_RIGHT_SUPER = 347 390 KEY_KB_MENU = 348 391 KEY_KP_0 = 320 392 KEY_KP_1 = 321 393 KEY_KP_2 = 322 394 KEY_KP_3 = 323 395 KEY_KP_4 = 324 396 KEY_KP_5 = 325 397 KEY_KP_6 = 326 398 KEY_KP_7 = 327 399 KEY_KP_8 = 328 400 KEY_KP_9 = 329 401 KEY_KP_DECIMAL = 330 402 KEY_KP_DIVIDE = 331 403 KEY_KP_MULTIPLY = 332 404 KEY_KP_SUBTRACT = 333 405 KEY_KP_ADD = 334 406 KEY_KP_ENTER = 335 407 KEY_KP_EQUAL = 336 408 KEY_BACK = 4 409 KEY_MENU = 82 410 KEY_VOLUME_UP = 24 411 KEY_VOLUME_DOWN = 25 412 ) 413 414 type KeyboardKey = int32 415 416 const ( 417 MOUSE_BUTTON_LEFT int32 = 0 418 MOUSE_BUTTON_RIGHT = 1 419 MOUSE_BUTTON_MIDDLE = 2 420 MOUSE_BUTTON_SIDE = 3 421 MOUSE_BUTTON_EXTRA = 4 422 MOUSE_BUTTON_FORWARD = 5 423 MOUSE_BUTTON_BACK = 6 424 ) 425 426 type MouseButton = int32 427 428 const ( 429 MOUSE_CURSOR_DEFAULT int32 = 0 430 MOUSE_CURSOR_ARROW = 1 431 MOUSE_CURSOR_IBEAM = 2 432 MOUSE_CURSOR_CROSSHAIR = 3 433 MOUSE_CURSOR_POINTING_HAND = 4 434 MOUSE_CURSOR_RESIZE_EW = 5 435 MOUSE_CURSOR_RESIZE_NS = 6 436 MOUSE_CURSOR_RESIZE_NWSE = 7 437 MOUSE_CURSOR_RESIZE_NESW = 8 438 MOUSE_CURSOR_RESIZE_ALL = 9 439 MOUSE_CURSOR_NOT_ALLOWED = 10 440 ) 441 442 type MouseCursor = int32 443 444 const ( 445 GAMEPAD_BUTTON_UNKNOWN int32 = 0 446 GAMEPAD_BUTTON_LEFT_FACE_UP = 1 447 GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2 448 GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3 449 GAMEPAD_BUTTON_LEFT_FACE_LEFT = 4 450 GAMEPAD_BUTTON_RIGHT_FACE_UP = 5 451 GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = 6 452 GAMEPAD_BUTTON_RIGHT_FACE_DOWN = 7 453 GAMEPAD_BUTTON_RIGHT_FACE_LEFT = 8 454 GAMEPAD_BUTTON_LEFT_TRIGGER_1 = 9 455 GAMEPAD_BUTTON_LEFT_TRIGGER_2 = 10 456 GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = 11 457 GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = 12 458 GAMEPAD_BUTTON_MIDDLE_LEFT = 13 459 GAMEPAD_BUTTON_MIDDLE = 14 460 GAMEPAD_BUTTON_MIDDLE_RIGHT = 15 461 GAMEPAD_BUTTON_LEFT_THUMB = 16 462 GAMEPAD_BUTTON_RIGHT_THUMB = 17 463 ) 464 465 type GamepadButton = int32 466 467 const ( 468 GAMEPAD_AXIS_LEFT_X int32 = 0 469 GAMEPAD_AXIS_LEFT_Y = 1 470 GAMEPAD_AXIS_RIGHT_X = 2 471 GAMEPAD_AXIS_RIGHT_Y = 3 472 GAMEPAD_AXIS_LEFT_TRIGGER = 4 473 GAMEPAD_AXIS_RIGHT_TRIGGER = 5 474 ) 475 476 type GamepadAxis = int32 477 478 const ( 479 MATERIAL_MAP_ALBEDO int32 = 0 480 MATERIAL_MAP_METALNESS = 1 481 MATERIAL_MAP_NORMAL = 2 482 MATERIAL_MAP_ROUGHNESS = 3 483 MATERIAL_MAP_OCCLUSION = 4 484 MATERIAL_MAP_EMISSION = 5 485 MATERIAL_MAP_HEIGHT = 6 486 MATERIAL_MAP_CUBEMAP = 7 487 MATERIAL_MAP_IRRADIANCE = 8 488 MATERIAL_MAP_PREFILTER = 9 489 MATERIAL_MAP_BRDF = 10 490 ) 491 492 type MaterialMapIndex = int32 493 494 const ( 495 SHADER_LOC_VERTEX_POSITION int32 = 0 496 SHADER_LOC_VERTEX_TEXCOORD01 = 1 497 SHADER_LOC_VERTEX_TEXCOORD02 = 2 498 SHADER_LOC_VERTEX_NORMAL = 3 499 SHADER_LOC_VERTEX_TANGENT = 4 500 SHADER_LOC_VERTEX_COLOR = 5 501 SHADER_LOC_MATRIX_MVP = 6 502 SHADER_LOC_MATRIX_VIEW = 7 503 SHADER_LOC_MATRIX_PROJECTION = 8 504 SHADER_LOC_MATRIX_MODEL = 9 505 SHADER_LOC_MATRIX_NORMAL = 10 506 SHADER_LOC_VECTOR_VIEW = 11 507 SHADER_LOC_COLOR_DIFFUSE = 12 508 SHADER_LOC_COLOR_SPECULAR = 13 509 SHADER_LOC_COLOR_AMBIENT = 14 510 SHADER_LOC_MAP_ALBEDO = 15 511 SHADER_LOC_MAP_METALNESS = 16 512 SHADER_LOC_MAP_NORMAL = 17 513 SHADER_LOC_MAP_ROUGHNESS = 18 514 SHADER_LOC_MAP_OCCLUSION = 19 515 SHADER_LOC_MAP_EMISSION = 20 516 SHADER_LOC_MAP_HEIGHT = 21 517 SHADER_LOC_MAP_CUBEMAP = 22 518 SHADER_LOC_MAP_IRRADIANCE = 23 519 SHADER_LOC_MAP_PREFILTER = 24 520 SHADER_LOC_MAP_BRDF = 25 521 ) 522 523 type ShaderLocationIndex = int32 524 525 const ( 526 SHADER_UNIFORM_FLOAT int32 = 0 527 SHADER_UNIFORM_VEC2 = 1 528 SHADER_UNIFORM_VEC3 = 2 529 SHADER_UNIFORM_VEC4 = 3 530 SHADER_UNIFORM_INT = 4 531 SHADER_UNIFORM_IVEC2 = 5 532 SHADER_UNIFORM_IVEC3 = 6 533 SHADER_UNIFORM_IVEC4 = 7 534 SHADER_UNIFORM_SAMPLER2D = 8 535 ) 536 537 type ShaderUniformDataType = int32 538 539 const ( 540 SHADER_ATTRIB_FLOAT int32 = 0 541 SHADER_ATTRIB_VEC2 = 1 542 SHADER_ATTRIB_VEC3 = 2 543 SHADER_ATTRIB_VEC4 = 3 544 ) 545 546 type ShaderAttributeDataType = int32 547 548 const ( 549 PIXELFORMAT_UNCOMPRESSED_GRAYSCALE int32 = 1 550 PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2 551 PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3 552 PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4 553 PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5 554 PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6 555 PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7 556 PIXELFORMAT_UNCOMPRESSED_R32 = 8 557 PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9 558 PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10 559 PIXELFORMAT_COMPRESSED_DXT1_RGB = 11 560 PIXELFORMAT_COMPRESSED_DXT1_RGBA = 12 561 PIXELFORMAT_COMPRESSED_DXT3_RGBA = 13 562 PIXELFORMAT_COMPRESSED_DXT5_RGBA = 14 563 PIXELFORMAT_COMPRESSED_ETC1_RGB = 15 564 PIXELFORMAT_COMPRESSED_ETC2_RGB = 16 565 PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 17 566 PIXELFORMAT_COMPRESSED_PVRT_RGB = 18 567 PIXELFORMAT_COMPRESSED_PVRT_RGBA = 19 568 PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 20 569 PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 21 570 ) 571 572 type PixelFormat = int32 573 574 const ( 575 TEXTURE_FILTER_POINT int32 = 0 576 TEXTURE_FILTER_BILINEAR = 1 577 TEXTURE_FILTER_TRILINEAR = 2 578 TEXTURE_FILTER_ANISOTROPIC_4X = 3 579 TEXTURE_FILTER_ANISOTROPIC_8X = 4 580 TEXTURE_FILTER_ANISOTROPIC_16X = 5 581 ) 582 583 type TextureFilter = int32 584 585 const ( 586 TEXTURE_WRAP_REPEAT int32 = 0 587 TEXTURE_WRAP_CLAMP = 1 588 TEXTURE_WRAP_MIRROR_REPEAT = 2 589 TEXTURE_WRAP_MIRROR_CLAMP = 3 590 ) 591 592 type TextureWrap = int32 593 594 const ( 595 CUBEMAP_LAYOUT_AUTO_DETECT int32 = 0 596 CUBEMAP_LAYOUT_LINE_VERTICAL = 1 597 CUBEMAP_LAYOUT_LINE_HORIZONTAL = 2 598 CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = 3 599 CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = 4 600 CUBEMAP_LAYOUT_PANORAMA = 5 601 ) 602 603 type CubemapLayout = int32 604 605 const ( 606 FONT_DEFAULT int32 = 0 607 FONT_BITMAP = 1 608 FONT_SDF = 2 609 ) 610 611 type FontType = int32 612 613 const ( 614 BLEND_ALPHA int32 = 0 615 BLEND_ADDITIVE = 1 616 BLEND_MULTIPLIED = 2 617 BLEND_ADD_COLORS = 3 618 BLEND_SUBTRACT_COLORS = 4 619 BLEND_ALPHA_PREMULTIPLY = 5 620 BLEND_CUSTOM = 6 621 BLEND_CUSTOM_SEPARATE = 7 622 ) 623 624 type BlendMode = int32 625 626 const ( 627 GESTURE_NONE int32 = 0 628 GESTURE_TAP = 1 629 GESTURE_DOUBLETAP = 2 630 GESTURE_HOLD = 4 631 GESTURE_DRAG = 8 632 GESTURE_SWIPE_RIGHT = 16 633 GESTURE_SWIPE_LEFT = 32 634 GESTURE_SWIPE_UP = 64 635 GESTURE_SWIPE_DOWN = 128 636 GESTURE_PINCH_IN = 256 637 GESTURE_PINCH_OUT = 512 638 ) 639 640 type Gesture = int32 641 642 const ( 643 CAMERA_CUSTOM int32 = 0 644 CAMERA_FREE = 1 645 CAMERA_ORBITAL = 2 646 CAMERA_FIRST_PERSON = 3 647 CAMERA_THIRD_PERSON = 4 648 ) 649 650 type CameraMode = int32 651 652 const ( 653 CAMERA_PERSPECTIVE int32 = 0 654 CAMERA_ORTHOGRAPHIC = 1 655 ) 656 657 type CameraProjection = int32 658 659 const ( 660 NPATCH_NINE_PATCH int32 = 0 661 NPATCH_THREE_PATCH_VERTICAL = 1 662 NPATCH_THREE_PATCH_HORIZONTAL = 2 663 ) 664 665 type NPatchLayout = int32 666 667 type TraceLogCallback = *va_list 668 669 type LoadFileDataCallback = func([]byte, []uint32) []uint8 670 671 type SaveFileDataCallback = func([]byte, interface{}, uint32) int32 672 673 type LoadFileTextCallback = func([]byte) []byte 674 675 type SaveFileTextCallback = func([]byte, []byte) int32 676 677 type AudioCallback = func(interface{}, uint32) 678 679 type GuiStyleProp struct { 680 controlId uint16 681 propertyId uint16 682 propertyValue uint32 683 } 684 685 const ( 686 STATE_NORMAL int32 = 0 687 STATE_FOCUSED = 1 688 STATE_PRESSED = 2 689 STATE_DISABLED = 3 690 ) 691 692 type GuiState = int32 693 694 const ( 695 TEXT_ALIGN_LEFT int32 = 0 696 TEXT_ALIGN_CENTER = 1 697 TEXT_ALIGN_RIGHT = 2 698 ) 699 700 type GuiTextAlignment = int32 701 702 const ( 703 DEFAULT int32 = 0 704 LABEL = 1 705 BUTTON = 2 706 TOGGLE = 3 707 SLIDER = 4 708 PROGRESSBAR = 5 709 CHECKBOX = 6 710 COMBOBOX = 7 711 DROPDOWNBOX = 8 712 TEXTBOX = 9 713 VALUEBOX = 10 714 SPINNER = 11 715 LISTVIEW = 12 716 COLORPICKER = 13 717 SCROLLBAR = 14 718 STATUSBAR = 15 719 ) 720 721 type GuiControl = int32 722 723 const ( 724 BORDER_COLOR_NORMAL int32 = 0 725 BASE_COLOR_NORMAL = 1 726 TEXT_COLOR_NORMAL = 2 727 BORDER_COLOR_FOCUSED = 3 728 BASE_COLOR_FOCUSED = 4 729 TEXT_COLOR_FOCUSED = 5 730 BORDER_COLOR_PRESSED = 6 731 BASE_COLOR_PRESSED = 7 732 TEXT_COLOR_PRESSED = 8 733 BORDER_COLOR_DISABLED = 9 734 BASE_COLOR_DISABLED = 10 735 TEXT_COLOR_DISABLED = 11 736 BORDER_WIDTH = 12 737 TEXT_PADDING = 13 738 TEXT_ALIGNMENT = 14 739 RESERVED = 15 740 ) 741 742 type GuiControlProperty = int32 743 744 const ( 745 TEXT_SIZE int32 = 16 746 TEXT_SPACING = 17 747 LINE_COLOR = 18 748 BACKGROUND_COLOR = 19 749 ) 750 751 type GuiDefaultProperty = int32 752 753 const ( 754 GROUP_PADDING int32 = 16 755 ) 756 757 type GuiToggleProperty = int32 758 759 const ( 760 SLIDER_WIDTH int32 = 16 761 SLIDER_PADDING = 17 762 ) 763 764 type GuiSliderProperty = int32 765 766 const ( 767 PROGRESS_PADDING int32 = 16 768 ) 769 770 type GuiProgressBarProperty = int32 771 772 const ( 773 ARROWS_SIZE int32 = 16 774 ARROWS_VISIBLE = 17 775 SCROLL_SLIDER_PADDING = 18 776 SCROLL_SLIDER_SIZE = 19 777 SCROLL_PADDING = 20 778 SCROLL_SPEED = 21 779 ) 780 781 type GuiScrollBarProperty = int32 782 783 const ( 784 CHECK_PADDING int32 = 16 785 ) 786 787 type GuiCheckBoxProperty = int32 788 789 const ( 790 COMBO_BUTTON_WIDTH int32 = 16 791 COMBO_BUTTON_SPACING = 17 792 ) 793 794 type GuiComboBoxProperty = int32 795 796 const ( 797 ARROW_PADDING int32 = 16 798 DROPDOWN_ITEMS_SPACING = 17 799 ) 800 801 type GuiDropdownBoxProperty = int32 802 803 const ( 804 TEXT_INNER_PADDING int32 = 16 805 TEXT_LINES_SPACING = 17 806 ) 807 808 type GuiTextBoxProperty = int32 809 810 const ( 811 SPIN_BUTTON_WIDTH int32 = 16 812 SPIN_BUTTON_SPACING = 17 813 ) 814 815 type GuiSpinnerProperty = int32 816 817 const ( 818 LIST_ITEMS_HEIGHT int32 = 16 819 LIST_ITEMS_SPACING = 17 820 SCROLLBAR_WIDTH = 18 821 SCROLLBAR_SIDE = 19 822 ) 823 824 type GuiListViewProperty = int32 825 826 const ( 827 COLOR_SELECTOR_SIZE int32 = 16 828 HUEBAR_WIDTH = 17 829 HUEBAR_PADDING = 18 830 HUEBAR_SELECTOR_HEIGHT = 19 831 HUEBAR_SELECTOR_OVERFLOW = 20 832 ) 833 834 type GuiColorPickerProperty = int32 835 836 const ( 837 ICON_NONE int32 = 0 838 ICON_FOLDER_FILE_OPEN = 1 839 ICON_FILE_SAVE_CLASSIC = 2 840 ICON_FOLDER_OPEN = 3 841 ICON_FOLDER_SAVE = 4 842 ICON_FILE_OPEN = 5 843 ICON_FILE_SAVE = 6 844 ICON_FILE_EXPORT = 7 845 ICON_FILE_ADD = 8 846 ICON_FILE_DELETE = 9 847 ICON_FILETYPE_TEXT = 10 848 ICON_FILETYPE_AUDIO = 11 849 ICON_FILETYPE_IMAGE = 12 850 ICON_FILETYPE_PLAY = 13 851 ICON_FILETYPE_VIDEO = 14 852 ICON_FILETYPE_INFO = 15 853 ICON_FILE_COPY = 16 854 ICON_FILE_CUT = 17 855 ICON_FILE_PASTE = 18 856 ICON_CURSOR_HAND = 19 857 ICON_CURSOR_POINTER = 20 858 ICON_CURSOR_CLASSIC = 21 859 ICON_PENCIL = 22 860 ICON_PENCIL_BIG = 23 861 ICON_BRUSH_CLASSIC = 24 862 ICON_BRUSH_PAINTER = 25 863 ICON_WATER_DROP = 26 864 ICON_COLOR_PICKER = 27 865 ICON_RUBBER = 28 866 ICON_COLOR_BUCKET = 29 867 ICON_TEXT_T = 30 868 ICON_TEXT_A = 31 869 ICON_SCALE = 32 870 ICON_RESIZE = 33 871 ICON_FILTER_POINT = 34 872 ICON_FILTER_BILINEAR = 35 873 ICON_CROP = 36 874 ICON_CROP_ALPHA = 37 875 ICON_SQUARE_TOGGLE = 38 876 ICON_SYMMETRY = 39 877 ICON_SYMMETRY_HORIZONTAL = 40 878 ICON_SYMMETRY_VERTICAL = 41 879 ICON_LENS = 42 880 ICON_LENS_BIG = 43 881 ICON_EYE_ON = 44 882 ICON_EYE_OFF = 45 883 ICON_FILTER_TOP = 46 884 ICON_FILTER = 47 885 ICON_TARGET_POINT = 48 886 ICON_TARGET_SMALL = 49 887 ICON_TARGET_BIG = 50 888 ICON_TARGET_MOVE = 51 889 ICON_CURSOR_MOVE = 52 890 ICON_CURSOR_SCALE = 53 891 ICON_CURSOR_SCALE_RIGHT = 54 892 ICON_CURSOR_SCALE_LEFT = 55 893 ICON_UNDO = 56 894 ICON_REDO = 57 895 ICON_REREDO = 58 896 ICON_MUTATE = 59 897 ICON_ROTATE = 60 898 ICON_REPEAT = 61 899 ICON_SHUFFLE = 62 900 ICON_EMPTYBOX = 63 901 ICON_TARGET = 64 902 ICON_TARGET_SMALL_FILL = 65 903 ICON_TARGET_BIG_FILL = 66 904 ICON_TARGET_MOVE_FILL = 67 905 ICON_CURSOR_MOVE_FILL = 68 906 ICON_CURSOR_SCALE_FILL = 69 907 ICON_CURSOR_SCALE_RIGHT_FILL = 70 908 ICON_CURSOR_SCALE_LEFT_FILL = 71 909 ICON_UNDO_FILL = 72 910 ICON_REDO_FILL = 73 911 ICON_REREDO_FILL = 74 912 ICON_MUTATE_FILL = 75 913 ICON_ROTATE_FILL = 76 914 ICON_REPEAT_FILL = 77 915 ICON_SHUFFLE_FILL = 78 916 ICON_EMPTYBOX_SMALL = 79 917 ICON_BOX = 80 918 ICON_BOX_TOP = 81 919 ICON_BOX_TOP_RIGHT = 82 920 ICON_BOX_RIGHT = 83 921 ICON_BOX_BOTTOM_RIGHT = 84 922 ICON_BOX_BOTTOM = 85 923 ICON_BOX_BOTTOM_LEFT = 86 924 ICON_BOX_LEFT = 87 925 ICON_BOX_TOP_LEFT = 88 926 ICON_BOX_CENTER = 89 927 ICON_BOX_CIRCLE_MASK = 90 928 ICON_POT = 91 929 ICON_ALPHA_MULTIPLY = 92 930 ICON_ALPHA_CLEAR = 93 931 ICON_DITHERING = 94 932 ICON_MIPMAPS = 95 933 ICON_BOX_GRID = 96 934 ICON_GRID = 97 935 ICON_BOX_CORNERS_SMALL = 98 936 ICON_BOX_CORNERS_BIG = 99 937 ICON_FOUR_BOXES = 100 938 ICON_GRID_FILL = 101 939 ICON_BOX_MULTISIZE = 102 940 ICON_ZOOM_SMALL = 103 941 ICON_ZOOM_MEDIUM = 104 942 ICON_ZOOM_BIG = 105 943 ICON_ZOOM_ALL = 106 944 ICON_ZOOM_CENTER = 107 945 ICON_BOX_DOTS_SMALL = 108 946 ICON_BOX_DOTS_BIG = 109 947 ICON_BOX_CONCENTRIC = 110 948 ICON_BOX_GRID_BIG = 111 949 ICON_OK_TICK = 112 950 ICON_CROSS = 113 951 ICON_ARROW_LEFT = 114 952 ICON_ARROW_RIGHT = 115 953 ICON_ARROW_DOWN = 116 954 ICON_ARROW_UP = 117 955 ICON_ARROW_LEFT_FILL = 118 956 ICON_ARROW_RIGHT_FILL = 119 957 ICON_ARROW_DOWN_FILL = 120 958 ICON_ARROW_UP_FILL = 121 959 ICON_AUDIO = 122 960 ICON_FX = 123 961 ICON_WAVE = 124 962 ICON_WAVE_SINUS = 125 963 ICON_WAVE_SQUARE = 126 964 ICON_WAVE_TRIANGULAR = 127 965 ICON_CROSS_SMALL = 128 966 ICON_PLAYER_PREVIOUS = 129 967 ICON_PLAYER_PLAY_BACK = 130 968 ICON_PLAYER_PLAY = 131 969 ICON_PLAYER_PAUSE = 132 970 ICON_PLAYER_STOP = 133 971 ICON_PLAYER_NEXT = 134 972 ICON_PLAYER_RECORD = 135 973 ICON_MAGNET = 136 974 ICON_LOCK_CLOSE = 137 975 ICON_LOCK_OPEN = 138 976 ICON_CLOCK = 139 977 ICON_TOOLS = 140 978 ICON_GEAR = 141 979 ICON_GEAR_BIG = 142 980 ICON_BIN = 143 981 ICON_HAND_POINTER = 144 982 ICON_LASER = 145 983 ICON_COIN = 146 984 ICON_EXPLOSION = 147 985 ICON_1UP = 148 986 ICON_PLAYER = 149 987 ICON_PLAYER_JUMP = 150 988 ICON_KEY = 151 989 ICON_DEMON = 152 990 ICON_TEXT_POPUP = 153 991 ICON_GEAR_EX = 154 992 ICON_CRACK = 155 993 ICON_CRACK_POINTS = 156 994 ICON_STAR = 157 995 ICON_DOOR = 158 996 ICON_EXIT = 159 997 ICON_MODE_2D = 160 998 ICON_MODE_3D = 161 999 ICON_CUBE = 162 1000 ICON_CUBE_FACE_TOP = 163 1001 ICON_CUBE_FACE_LEFT = 164 1002 ICON_CUBE_FACE_FRONT = 165 1003 ICON_CUBE_FACE_BOTTOM = 166 1004 ICON_CUBE_FACE_RIGHT = 167 1005 ICON_CUBE_FACE_BACK = 168 1006 ICON_CAMERA = 169 1007 ICON_SPECIAL = 170 1008 ICON_LINK_NET = 171 1009 ICON_LINK_BOXES = 172 1010 ICON_LINK_MULTI = 173 1011 ICON_LINK = 174 1012 ICON_LINK_BROKE = 175 1013 ICON_TEXT_NOTES = 176 1014 ICON_NOTEBOOK = 177 1015 ICON_SUITCASE = 178 1016 ICON_SUITCASE_ZIP = 179 1017 ICON_MAILBOX = 180 1018 ICON_MONITOR = 181 1019 ICON_PRINTER = 182 1020 ICON_PHOTO_CAMERA = 183 1021 ICON_PHOTO_CAMERA_FLASH = 184 1022 ICON_HOUSE = 185 1023 ICON_HEART = 186 1024 ICON_CORNER = 187 1025 ICON_VERTICAL_BARS = 188 1026 ICON_VERTICAL_BARS_FILL = 189 1027 ICON_LIFE_BARS = 190 1028 ICON_INFO = 191 1029 ICON_CROSSLINE = 192 1030 ICON_HELP = 193 1031 ICON_FILETYPE_ALPHA = 194 1032 ICON_FILETYPE_HOME = 195 1033 ICON_LAYERS_VISIBLE = 196 1034 ICON_LAYERS = 197 1035 ICON_WINDOW = 198 1036 ICON_HIDPI = 199 1037 ICON_FILETYPE_BINARY = 200 1038 ICON_HEX = 201 1039 ICON_SHIELD = 202 1040 ICON_FILE_NEW = 203 1041 ICON_FOLDER_ADD = 204 1042 ICON_ALARM = 205 1043 ICON_CPU = 206 1044 ICON_ROM = 207 1045 ICON_STEP_OVER = 208 1046 ICON_STEP_INTO = 209 1047 ICON_STEP_OUT = 210 1048 ICON_RESTART = 211 1049 ICON_BREAKPOINT_ON = 212 1050 ICON_BREAKPOINT_OFF = 213 1051 ICON_BURGER_MENU = 214 1052 ICON_CASE_SENSITIVE = 215 1053 ICON_REG_EXP = 216 1054 ICON_FOLDER = 217 1055 ICON_FILE = 218 1056 ICON_219 = 219 1057 ICON_220 = 220 1058 ICON_221 = 221 1059 ICON_222 = 222 1060 ICON_223 = 223 1061 ICON_224 = 224 1062 ICON_225 = 225 1063 ICON_226 = 226 1064 ICON_227 = 227 1065 ICON_228 = 228 1066 ICON_229 = 229 1067 ICON_230 = 230 1068 ICON_231 = 231 1069 ICON_232 = 232 1070 ICON_233 = 233 1071 ICON_234 = 234 1072 ICON_235 = 235 1073 ICON_236 = 236 1074 ICON_237 = 237 1075 ICON_238 = 238 1076 ICON_239 = 239 1077 ICON_240 = 240 1078 ICON_241 = 241 1079 ICON_242 = 242 1080 ICON_243 = 243 1081 ICON_244 = 244 1082 ICON_245 = 245 1083 ICON_246 = 246 1084 ICON_247 = 247 1085 ICON_248 = 248 1086 ICON_249 = 249 1087 ICON_250 = 250 1088 ICON_251 = 251 1089 ICON_252 = 252 1090 ICON_253 = 253 1091 ICON_254 = 254 1092 ICON_255 = 255 1093 ) 1094 1095 type GuiIconName = int32 1096 type _Bool int32 1097 1098 type va_list struct { 1099 position int 1100 Slice []interface{} 1101 } 1102 1103 func create_va_list(list []interface{}) *va_list { 1104 return &va_list{ 1105 position: 0, 1106 Slice: list, 1107 } 1108 } 1109 1110 func va_start(v *va_list, count interface{}) { 1111 v.position = 0 1112 } 1113 1114 func va_end(v *va_list) { 1115 // do nothing 1116 } 1117 1118 func va_arg(v *va_list) interface{} { 1119 defer func() { 1120 v.position++ 1121 }() 1122 value := v.Slice[v.position] 1123 switch value.(type) { 1124 case int: 1125 return int32(value.(int)) 1126 default: 1127 return value 1128 } 1129 }