1 ! Copyright (C) 2023 CapitalEx.
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: accessors alien.c-types arrays help.markup help.syntax
4 kernel make math math.parser quotations sequences strings urls ;
8 : $enum-members ( element -- )
9 "Enum members" $heading
10 first lookup-c-type members>> [ first ] map $subsections ;
12 : $raylib-color ( element -- )
13 "Word description" $heading
14 { { "value" Color } } $values
15 "Represents the color (" print-element print-element ")" print-element
17 "For a visual guide, see the following:\n" print-element
18 { "https://raw.githubusercontent.com/raysan5/raylib/master/examples/shapes/shapes_colors_palette.png" }
21 GENERIC: ($raylib-key) ( array -- )
22 PREDICATE: triple < array length>> 3 = ;
25 "Represents the key " print-element
26 first2 [ % " (" % # ")" % ] "" make $snippet
29 M: triple ($raylib-key)
30 unclip-last swap ($raylib-key) " " [ print-element ] bi@ ;
33 : $raylib-key ( element -- )
34 "Enum value description" $heading
36 { $see-also KeyboardKey } print-element ;
41 HELP: RAYLIB_VERSION_MAJOR
46 The current major version of raylib.
49 HELP: RAYLIB_VERSION_MINOR
54 The current minor version of raylib.
57 HELP: RAYLIB_VERSION_PATCH
62 The current patch version of raylib.
70 A string representing the current version of raylib.
77 An enum representing the various configuration flags in Raylib.
79 { $enum-members ConfigFlags }
84 Setting this flag will attempt to enable v-sync on the GPU.
85 { $see-also ConfigFlags }
88 HELP: FLAG_FULLSCREEN_MODE
90 Setting this flag will run the program in fullscreen
91 { $see-also ConfigFlags }
94 HELP: FLAG_WINDOW_RESIZABLE
96 Setting this flag allows for resizing the window.
97 { $see-also ConfigFlags }
100 HELP: FLAG_WINDOW_UNDECORATED
102 Setting this flag remove window decorations (frame and buttons).
103 { $see-also ConfigFlags }
106 HELP: FLAG_WINDOW_HIDDEN
108 Setting this flag will hide the window.
109 { $see-also ConfigFlags }
112 HELP: FLAG_WINDOW_MINIMIZED
114 Setting this flag will minize the window.
115 { $see-also ConfigFlags }
118 HELP: FLAG_WINDOW_MAXIMIZED
120 Setting this flag will maximize the window to the monitor size.
121 { $see-also ConfigFlags }
124 HELP: FLAG_WINDOW_UNFOCUSED
126 Setting this flag will set the window to be unfocused.
127 { $see-also ConfigFlags }
130 HELP: FLAG_WINDOW_TOPMOST
132 Setting this flag sets the window to always be on top.
133 { $see-also ConfigFlags }
136 HELP: FLAG_WINDOW_ALWAYS_RUN
138 Setting this flag allows the window to run while minimized.
139 { $see-also ConfigFlags }
142 HELP: FLAG_WINDOW_TRANSPARENT
144 Setting this flag allows for transparent framebuffer.
145 { $see-also ConfigFlags }
148 HELP: FLAG_WINDOW_HIGHDPI
150 Setting this flag will enable HighDPI support.
151 { $see-also ConfigFlags }
154 HELP: FLAG_MSAA_4X_HINT
156 Setting this flag will attempt to enable MSAA 4x.
157 { $see-also ConfigFlags }
160 HELP: FLAG_INTERLACED_HINT
162 Setting this flag will attempt to enable the interlaced video
164 { $see-also ConfigFlags }
168 ! Trace log level enum
171 Represents the various logging levels in Raylib.
172 Logs are displayed using the system's standard output.
174 { $enum-members TraceLogLevel }
181 { $see-also TraceLogLevel }
186 Deplays trace logging. \ LOG_TRACE meant for internal usage.
188 { $see-also TraceLogLevel }
193 Displays debugging logs. { $snippet LOG_INFO } is used for internal
194 debugging and should be disabled on release builds.
196 { $see-also TraceLogLevel }
201 Displays warning logs. Warnings are recoverable failures.
203 { $see-also TraceLogLevel }
208 Displays error logs. Errors are unrecoverable failures.
210 { $see-also TraceLogLevel }
215 Displays fatal logs. Fatal errors are used while aborting
217 { $see-also TraceLogLevel }
222 Disables raylib logging.
224 { $see-also TraceLogLevel }
231 An enum representing the various key codes Raylib can produce.
232 These codes are based on the physical layout of a US QWERTY
233 keyboard layout. Use \ get-key-pressed to allow for defining
236 { $enum-members KeyboardKey }
239 HELP: KEY_NULL { $raylib-key 0 "NULL" " Used for no key pressed." } ;
240 HELP: KEY_APOSTROPHE { $raylib-key 39 "'" } ;
241 HELP: KEY_COMMA { $raylib-key 44 "," } ;
242 HELP: KEY_MINUS { $raylib-key 45 "-" } ;
243 HELP: KEY_PERIOD { $raylib-key 46 "." } ;
244 HELP: KEY_SLASH { $raylib-key 47 "/" } ;
245 HELP: KEY_ZERO { $raylib-key 48 "0" } ;
246 HELP: KEY_ONE { $raylib-key 49 "1" } ;
247 HELP: KEY_TWO { $raylib-key 50 "2" } ;
248 HELP: KEY_THREE { $raylib-key 51 "3" } ;
249 HELP: KEY_FOUR { $raylib-key 52 "4" } ;
250 HELP: KEY_FIVE { $raylib-key 53 "5" } ;
251 HELP: KEY_SIX { $raylib-key 54 "6" } ;
252 HELP: KEY_SEVEN { $raylib-key 55 "7" } ;
253 HELP: KEY_EIGHT { $raylib-key 56 "8" } ;
254 HELP: KEY_NINE { $raylib-key 57 "9" } ;
255 HELP: KEY_SEMICOLON { $raylib-key 59 ";" } ;
256 HELP: KEY_EQUAL { $raylib-key 61 "=" } ;
257 HELP: KEY_A { $raylib-key 65 "lowercase and uppercase A" } ;
258 HELP: KEY_B { $raylib-key 66 "lowercase and uppercase B" } ;
259 HELP: KEY_C { $raylib-key 67 "lowercase and uppercase C" } ;
260 HELP: KEY_D { $raylib-key 68 "lowercase and uppercase D" } ;
261 HELP: KEY_E { $raylib-key 69 "lowercase and uppercase E" } ;
262 HELP: KEY_F { $raylib-key 70 "lowercase and uppercase F" } ;
263 HELP: KEY_G { $raylib-key 71 "lowercase and uppercase G" } ;
264 HELP: KEY_H { $raylib-key 72 "lowercase and uppercase H" } ;
265 HELP: KEY_I { $raylib-key 73 "lowercase and uppercase I" } ;
266 HELP: KEY_J { $raylib-key 74 "lowercase and uppercase J" } ;
267 HELP: KEY_K { $raylib-key 75 "lowercase and uppercase K" } ;
268 HELP: KEY_L { $raylib-key 76 "lowercase and uppercase L" } ;
269 HELP: KEY_M { $raylib-key 77 "lowercase and uppercase M" } ;
270 HELP: KEY_N { $raylib-key 78 "lowercase and uppercase N" } ;
271 HELP: KEY_O { $raylib-key 79 "lowercase and uppercase O" } ;
272 HELP: KEY_P { $raylib-key 80 "lowercase and uppercase P" } ;
273 HELP: KEY_Q { $raylib-key 81 "lowercase and uppercase Q" } ;
274 HELP: KEY_R { $raylib-key 82 "lowercase and uppercase R" } ;
275 HELP: KEY_S { $raylib-key 83 "lowercase and uppercase S" } ;
276 HELP: KEY_T { $raylib-key 84 "lowercase and uppercase T" } ;
277 HELP: KEY_U { $raylib-key 85 "lowercase and uppercase U" } ;
278 HELP: KEY_V { $raylib-key 86 "lowercase and uppercase V" } ;
279 HELP: KEY_W { $raylib-key 87 "lowercase and uppercase W" } ;
280 HELP: KEY_X { $raylib-key 88 "lowercase and uppercase X" } ;
281 HELP: KEY_Y { $raylib-key 89 "lowercase and uppercase Y" } ;
282 HELP: KEY_Z { $raylib-key 90 "lowercase and uppercase Z" } ;
283 HELP: KEY_LEFT_BRACKET { $raylib-key 91 "[" } ;
284 HELP: KEY_BACKSLASH { $raylib-key 92 "\\" } ;
285 HELP: KEY_RIGHT_BRACKET { $raylib-key 93 "]" } ;
286 HELP: KEY_GRAVE { $raylib-key 96 "`" } ;
287 HELP: KEY_SPACE { $raylib-key 32 "Space" } ;
288 HELP: KEY_ESCAPE { $raylib-key 256 "Esc" } ;
289 HELP: KEY_ENTER { $raylib-key 257 "Enter" } ;
290 HELP: KEY_TAB { $raylib-key 258 "Tab" } ;
291 HELP: KEY_BACKSPACE { $raylib-key 259 "Backspace" } ;
292 HELP: KEY_INSERT { $raylib-key 260 "Ins" } ;
293 HELP: KEY_DELETE { $raylib-key 261 "Del" } ;
294 HELP: KEY_RIGHT { $raylib-key 262 "Cursor right" } ;
295 HELP: KEY_LEFT { $raylib-key 263 "Cursor left" } ;
296 HELP: KEY_DOWN { $raylib-key 264 "Cursor down" } ;
297 HELP: KEY_UP { $raylib-key 265 "Cursor up" } ;
298 HELP: KEY_PAGE_UP { $raylib-key 266 "Page up" } ;
299 HELP: KEY_PAGE_DOWN { $raylib-key 267 "Page down" } ;
300 HELP: KEY_HOME { $raylib-key 268 "Home" } ;
301 HELP: KEY_END { $raylib-key 269 "End" } ;
302 HELP: KEY_CAPS_LOCK { $raylib-key 280 "Caps lock" } ;
303 HELP: KEY_SCROLL_LOCK { $raylib-key 281 "Scroll down" } ;
304 HELP: KEY_NUM_LOCK { $raylib-key 282 "Num lock" } ;
305 HELP: KEY_PRINT_SCREEN { $raylib-key 283 "Print screen" } ;
306 HELP: KEY_PAUSE { $raylib-key 284 "Pause" } ;
307 HELP: KEY_F1 { $raylib-key 290 "F1" } ;
308 HELP: KEY_F2 { $raylib-key 291 "F2" } ;
309 HELP: KEY_F3 { $raylib-key 292 "F3" } ;
310 HELP: KEY_F4 { $raylib-key 293 "F4" } ;
311 HELP: KEY_F5 { $raylib-key 294 "F5" } ;
312 HELP: KEY_F6 { $raylib-key 295 "F6" } ;
313 HELP: KEY_F7 { $raylib-key 296 "F7" } ;
314 HELP: KEY_F8 { $raylib-key 297 "F8" } ;
315 HELP: KEY_F9 { $raylib-key 298 "F9" } ;
316 HELP: KEY_F10 { $raylib-key 299 "F10" } ;
317 HELP: KEY_F11 { $raylib-key 300 "F11" } ;
318 HELP: KEY_F12 { $raylib-key 301 "F12" } ;
319 HELP: KEY_LEFT_SHIFT { $raylib-key 340 "Shift left" } ;
320 HELP: KEY_LEFT_CONTROL { $raylib-key 341 "Control left" } ;
321 HELP: KEY_LEFT_ALT { $raylib-key 342 "Alt left" } ;
322 HELP: KEY_LEFT_SUPER { $raylib-key 343 "Super left" } ;
323 HELP: KEY_RIGHT_SHIFT { $raylib-key 344 "Shift right" } ;
324 HELP: KEY_RIGHT_CONTROL { $raylib-key 345 "Control right" } ;
325 HELP: KEY_RIGHT_ALT { $raylib-key 346 "Alt right" } ;
326 HELP: KEY_RIGHT_SUPER { $raylib-key 347 "Super right" } ;
327 HELP: KEY_KB_MENU { $raylib-key 348 "KB menu" } ;
328 HELP: KEY_KP_0 { $raylib-key 320 "Keypad 0" } ;
329 HELP: KEY_KP_1 { $raylib-key 321 "Keypad 1" } ;
330 HELP: KEY_KP_2 { $raylib-key 322 "Keypad 2" } ;
331 HELP: KEY_KP_3 { $raylib-key 323 "Keypad 3" } ;
332 HELP: KEY_KP_4 { $raylib-key 324 "Keypad 4" } ;
333 HELP: KEY_KP_5 { $raylib-key 325 "Keypad 5" } ;
334 HELP: KEY_KP_6 { $raylib-key 326 "Keypad 6" } ;
335 HELP: KEY_KP_7 { $raylib-key 327 "Keypad 7" } ;
336 HELP: KEY_KP_8 { $raylib-key 328 "Keypad 8" } ;
337 HELP: KEY_KP_9 { $raylib-key 329 "Keypad 9" } ;
338 HELP: KEY_KP_DECIMAL { $raylib-key 330 "Keypad ." } ;
339 HELP: KEY_KP_DIVIDE { $raylib-key 331 "Keypad /" } ;
340 HELP: KEY_KP_MULTIPLY { $raylib-key 332 "Keypad *" } ;
341 HELP: KEY_KP_SUBTRACT { $raylib-key 333 "Keypad -" } ;
342 HELP: KEY_KP_ADD { $raylib-key 334 "Keypad +" } ;
343 HELP: KEY_KP_ENTER { $raylib-key 335 "Keypad Enter" } ;
344 HELP: KEY_KP_EQUAL { $raylib-key 336 "Keypad =" } ;
345 HELP: KEY_BACK { $raylib-key 4 "Android back button" } ;
346 HELP: KEY_MENU { $raylib-key 82 "Android menu button" } ;
347 HELP: KEY_VOLUME_UP { $raylib-key 24 "Android volume up button" } ;
348 HELP: KEY_VOLUME_DOWN { $raylib-key 25 "Android volume down button" } ;
354 An enum representing the various key mouse buttons Ralyb has support for.
356 { $enum-members MouseButton }
359 HELP: MOUSE_BUTTON_LEFT
361 Represents the left mouse button.
363 { $see-also MouseButton }
366 HELP: MOUSE_BUTTON_RIGHT
368 Represents the right mouse button.
370 { $see-also MouseButton }
373 HELP: MOUSE_BUTTON_MIDDLE
375 Represents the middle mouse button. On most mice, this is clicking
378 { $see-also MouseButton }
381 HELP: MOUSE_BUTTON_SIDE
383 Represents a side button on mice that have additional buttons.
385 { $see-also MouseButton }
388 HELP: MOUSE_BUTTON_EXTRA
390 Represents an extra button on mice that have additional buttons.
392 { $see-also MouseButton }
395 HELP: MOUSE_BUTTON_FORWARD
397 Represents the " \"forward\" " button on mice that have additional buttons.
399 { $see-also MouseButton }
402 HELP: MOUSE_BUTTON_BACK
404 Represents the " \"back\" " button on mice that have additional buttons.
406 { $see-also MouseButton }
413 An enum representing the various states the cursor can be in.
414 This is used to change the cursor icon " / " shape.
417 { $enum-members MouseCursor }
420 HELP: MOUSE_CURSOR_DEFAULT
422 Default pointer shape.
424 { $see-also MouseCursor }
427 HELP: MOUSE_CURSOR_ARROW
431 { $see-also MouseCursor }
434 HELP: MOUSE_CURSOR_IBEAM
436 Text writing cursor shape.
438 { $see-also MouseCursor }
441 HELP: MOUSE_CURSOR_CROSSHAIR
445 { $see-also MouseCursor }
448 HELP: MOUSE_CURSOR_POINTING_HAND
450 Pointing hand cursor.
452 { $see-also MouseCursor }
455 HELP: MOUSE_CURSOR_RESIZE_EW
457 Horizontal resize/move arrow shape.
459 { $see-also MouseCursor }
462 HELP: MOUSE_CURSOR_RESIZE_NS
464 Vertical resize/move arrow shape.
466 { $see-also MouseCursor }
469 HELP: MOUSE_CURSOR_RESIZE_NWSE
471 Top-left to bottom-right diagonal resize/move arrow shape.
473 { $see-also MouseCursor }
476 HELP: MOUSE_CURSOR_RESIZE_NESW
478 The top-right to bottom-left diagonal resize/move arrow shape.
480 { $see-also MouseCursor }
483 HELP: MOUSE_CURSOR_RESIZE_ALL
485 The omni-directional resize/move cursor shape.
487 { $see-also MouseCursor }
490 HELP: MOUSE_CURSOR_NOT_ALLOWED
492 The operation-not-allowed shape.
494 { $see-also MouseCursor }
498 ! Gamepad button enum
501 This enum represents the various buttons a gamepad might have.
503 It's important to keep in mind different controllers may have
504 different button orderings. Each enum member notes the
505 differences in their respective documentation sections.
507 { $see-also GamepadAxis }
509 { $enum-members GamepadButton }
512 HELP: GAMEPAD_BUTTON_UNKNOWN
514 Unknown button, just for error checking
516 { $see-also GamepadButton }
519 HELP: GAMEPAD_BUTTON_LEFT_FACE_UP
521 Gamepad left DPAD up button
523 { $see-also GamepadButton }
526 HELP: GAMEPAD_BUTTON_LEFT_FACE_RIGHT
528 Gamepad left DPAD right button
530 { $see-also GamepadButton }
533 HELP: GAMEPAD_BUTTON_LEFT_FACE_DOWN
535 Gamepad left DPAD down button
537 { $see-also GamepadButton }
540 HELP: GAMEPAD_BUTTON_LEFT_FACE_LEFT
542 Gamepad left DPAD left button
544 { $see-also GamepadButton }
547 HELP: GAMEPAD_BUTTON_RIGHT_FACE_UP
549 Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)
551 { $see-also GamepadButton }
554 HELP: GAMEPAD_BUTTON_RIGHT_FACE_RIGHT
556 Gamepad right button right (i.e. PS3: Square, Xbox: X)
558 { $see-also GamepadButton }
561 HELP: GAMEPAD_BUTTON_RIGHT_FACE_DOWN
563 Gamepad right button down (i.e. PS3: Cross, Xbox: A)
565 { $see-also GamepadButton }
568 HELP: GAMEPAD_BUTTON_RIGHT_FACE_LEFT
570 Gamepad right button left (i.e. PS3: Circle, Xbox: B)
572 { $see-also GamepadButton }
575 HELP: GAMEPAD_BUTTON_LEFT_TRIGGER_1
577 Gamepad top/back trigger left (first), it could be a trailing button
579 { $see-also GamepadButton }
582 HELP: GAMEPAD_BUTTON_LEFT_TRIGGER_2
584 Gamepad top/back trigger left (second), it could be a trailing button
586 { $see-also GamepadButton }
589 HELP: GAMEPAD_BUTTON_RIGHT_TRIGGER_1
591 Gamepad top/back trigger right (one), it could be a trailing button
593 { $see-also GamepadButton }
596 HELP: GAMEPAD_BUTTON_RIGHT_TRIGGER_2
598 Gamepad top/back trigger right (second), it could be a trailing button
600 { $see-also GamepadButton }
603 HELP: GAMEPAD_BUTTON_MIDDLE_LEFT
605 Gamepad center buttons, left one (i.e. PS3: Select)
607 { $see-also GamepadButton }
610 HELP: GAMEPAD_BUTTON_MIDDLE
612 Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)
614 { $see-also GamepadButton }
617 HELP: GAMEPAD_BUTTON_MIDDLE_RIGHT
619 Gamepad center buttons, right one (i.e. PS3: Start)
621 { $see-also GamepadButton }
624 HELP: GAMEPAD_BUTTON_LEFT_THUMB
626 Gamepad joystick pressed button left
628 { $see-also GamepadButton }
631 HELP: GAMEPAD_BUTTON_RIGHT_THUMB
633 Gamepad joystick pressed button right
635 { $see-also GamepadButton }
642 Contains a set of flags for each axis a gamepad may have. Raylib
643 supports controllers with two triggers and two joysticks.
645 { $enum-members GamepadAxis }
648 HELP: GAMEPAD_AXIS_LEFT_X
650 Represents the left gamepad stick and its tilt on the X axis (left/right).
651 { $see-also GamepadAxis }
654 HELP: GAMEPAD_AXIS_LEFT_Y
656 Represents the left gamepad stick and its tilt on the Y axis (up/down).
657 { $see-also GamepadAxis }
660 HELP: GAMEPAD_AXIS_RIGHT_X
662 Represents the right gamepad stick and its tilt on the X axis (left/right).
663 { $see-also GamepadAxis }
666 HELP: GAMEPAD_AXIS_RIGHT_Y
668 Represents the right gamepad stick and its tilt on the Y axis (up/down).
669 { $see-also GamepadAxis }
672 HELP: GAMEPAD_AXIS_LEFT_TRIGGER
674 Represents the left gamepad trigger. Trigger has the value
676 { $see-also GamepadAxis }
679 HELP: GAMEPAD_AXIS_RIGHT_TRIGGER
681 Represents the left gamepad trigger. Trigger has the value
683 { $see-also GamepadAxis }
687 ! Material map index enum
688 HELP: MaterialMapIndex
690 Provides convient names for each index into a texture's various
693 { $enum-members MaterialMapIndex }
695 HELP: MATERIAL_MAP_ALBEDO
697 Represents the index for a texture's albedo material (same as: \ MATERIAL_MAP_DIFFUSE ).
699 { $see-also MaterialMapIndex }
702 HELP: MATERIAL_MAP_METALNESS
704 Represents the index for a texture's metalness material (same as: \ MATERIAL_MAP_SPECULAR ).
706 { $see-also MaterialMapIndex }
709 HELP: MATERIAL_MAP_NORMAL
711 Represents the index for a texture's normal material.
713 { $see-also MaterialMapIndex }
716 HELP: MATERIAL_MAP_ROUGHNESS
718 Represents the index for a texture's roughness material.
720 { $see-also MaterialMapIndex }
723 HELP: MATERIAL_MAP_OCCLUSION
725 Represents the index for a texture's ambient occlusion material.
727 { $see-also MaterialMapIndex }
730 HELP: MATERIAL_MAP_EMISSION
732 Represents the index for a texture's emission material.
734 { $see-also MaterialMapIndex }
737 HELP: MATERIAL_MAP_HEIGHT
739 Represents the index for a texture's heightmap material.
741 { $see-also MaterialMapIndex }
744 HELP: MATERIAL_MAP_CUBEMAP
746 Represents the index for a texture's Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP).
748 { $see-also MaterialMapIndex }
751 HELP: MATERIAL_MAP_IRRADIANCE
753 Represents the index for a texture's irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP).
755 { $see-also MaterialMapIndex }
758 HELP: MATERIAL_MAP_PREFILTER
760 Represents the index for a texture's prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP).
762 { $see-also MaterialMapIndex }
765 HELP: MATERIAL_MAP_BRDF
767 Represents the index for a texture's brdf material.
769 { $see-also MaterialMapIndex }
772 ! Shader Location Index
773 ! TODO: make a better description of these. They are kinda bad...
774 HELP: ShaderLocationIndex
776 Shader location index enum.
778 { $enum-members ShaderLocationIndex }
781 HELP: SHADER_LOC_VERTEX_POSITION
783 Shader location: vertex attribute: position
785 { $see-also ShaderLocationIndex }
788 HELP: SHADER_LOC_VERTEX_TEXCOORD01
790 Shader location: vertex attribute: texcoord01
792 { $see-also ShaderLocationIndex }
795 HELP: SHADER_LOC_VERTEX_TEXCOORD02
797 Shader location: vertex attribute: texcoord02
799 { $see-also ShaderLocationIndex }
802 HELP: SHADER_LOC_VERTEX_NORMAL
804 Shader location: vertex attribute: normal
806 { $see-also ShaderLocationIndex }
809 HELP: SHADER_LOC_VERTEX_TANGENT
811 Shader location: vertex attribute: tangent
813 { $see-also ShaderLocationIndex }
816 HELP: SHADER_LOC_VERTEX_COLOR
818 Shader location: vertex attribute: color
820 { $see-also ShaderLocationIndex }
823 HELP: SHADER_LOC_MATRIX_MVP
825 Shader location: matrix uniform: model-view-projection
827 { $see-also ShaderLocationIndex }
830 HELP: SHADER_LOC_MATRIX_VIEW
832 Shader location: matrix uniform: view (camera transform)
834 { $see-also ShaderLocationIndex }
837 HELP: SHADER_LOC_MATRIX_PROJECTION
839 Shader location: matrix uniform: projection
841 { $see-also ShaderLocationIndex }
844 HELP: SHADER_LOC_MATRIX_MODEL
846 Shader location: matrix uniform: model (transform)
848 { $see-also ShaderLocationIndex }
851 HELP: SHADER_LOC_MATRIX_NORMAL
853 Shader location: matrix uniform: normal
855 { $see-also ShaderLocationIndex }
858 HELP: SHADER_LOC_VECTOR_VIEW
860 Shader location: vector uniform: view
862 { $see-also ShaderLocationIndex }
865 HELP: SHADER_LOC_COLOR_DIFFUSE
867 Shader location: vector uniform: diffuse color
869 { $see-also ShaderLocationIndex }
872 HELP: SHADER_LOC_COLOR_SPECULAR
874 Shader location: vector uniform: specular color
876 { $see-also ShaderLocationIndex }
879 HELP: SHADER_LOC_COLOR_AMBIENT
881 Shader location: vector uniform: ambient color
883 { $see-also ShaderLocationIndex }
886 HELP: SHADER_LOC_MAP_ALBEDO
888 Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)
890 { $see-also ShaderLocationIndex }
893 HELP: SHADER_LOC_MAP_METALNESS
895 Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)
897 { $see-also ShaderLocationIndex }
900 HELP: SHADER_LOC_MAP_NORMAL
902 Shader location: sampler2d texture: normal
904 { $see-also ShaderLocationIndex }
907 HELP: SHADER_LOC_MAP_ROUGHNESS
909 Shader location: sampler2d texture: roughness
911 { $see-also ShaderLocationIndex }
914 HELP: SHADER_LOC_MAP_OCCLUSION
916 Shader location: sampler2d texture: occlusion
918 { $see-also ShaderLocationIndex }
921 HELP: SHADER_LOC_MAP_EMISSION
923 Shader location: sampler2d texture: emission
925 { $see-also ShaderLocationIndex }
928 HELP: SHADER_LOC_MAP_HEIGHT
930 Shader location: sampler2d texture: height
932 { $see-also ShaderLocationIndex }
935 HELP: SHADER_LOC_MAP_CUBEMAP
937 Shader location: samplerCube texture: cubemap
939 { $see-also ShaderLocationIndex }
942 HELP: SHADER_LOC_MAP_IRRADIANCE
944 Shader location: samplerCube texture: irradiance
946 { $see-also ShaderLocationIndex }
949 HELP: SHADER_LOC_MAP_PREFILTER
951 Shader location: samplerCube texture: prefilter
953 { $see-also ShaderLocationIndex }
956 HELP: SHADER_LOC_MAP_BRDF
958 Shader location: sampler2d texture: brdf
960 { $see-also ShaderLocationIndex }
965 ! Shader uniform data type
966 ! TODO: Better descriptions for these...
967 HELP: ShaderUniformDataType
969 Represents the various types a uniform shader can be.
971 { $enum-members MaterialMapIndex }
974 HELP: SHADER_UNIFORM_FLOAT
976 Shader uniform type: float
977 { $see-also ShaderUniformDataType }
980 HELP: SHADER_UNIFORM_VEC2
982 Shader uniform type: vec2 (2 float)
983 { $see-also ShaderUniformDataType }
986 HELP: SHADER_UNIFORM_VEC3
988 Shader uniform type: vec3 (3 float)
989 { $see-also ShaderUniformDataType }
992 HELP: SHADER_UNIFORM_VEC4
994 Shader uniform type: vec4 (4 float)
995 { $see-also ShaderUniformDataType }
998 HELP: SHADER_UNIFORM_INT
1000 Shader uniform type: int
1001 { $see-also ShaderUniformDataType }
1004 HELP: SHADER_UNIFORM_IVEC2
1005 { $class-description
1006 Shader uniform type: ivec2 (2 int)
1007 { $see-also ShaderUniformDataType }
1010 HELP: SHADER_UNIFORM_IVEC3
1011 { $class-description
1012 Shader uniform type: ivec3 (3 int)
1013 { $see-also ShaderUniformDataType }
1016 HELP: SHADER_UNIFORM_IVEC4
1017 { $class-description
1018 Shader uniform type: ivec4 (4 int)
1019 { $see-also ShaderUniformDataType }
1022 HELP: SHADER_UNIFORM_SAMPLER2D
1023 { $class-description
1024 Shader uniform type: sampler2d
1025 { $see-also ShaderUniformDataType }
1029 ! Shader attribute data type enum
1030 HELP: ShaderAttributeDataType
1032 Shader attribute data types
1034 { $enum-members ShaderAttributeDataType }
1037 HELP: SHADER_ATTRIB_FLOAT
1038 { $class-description
1039 Shader attribute type: float
1041 { $see-also ShaderAttributeDataType }
1044 HELP: SHADER_ATTRIB_VEC2
1045 { $class-description
1046 Shader attribute type: vec2 (2 float)
1048 { $see-also ShaderAttributeDataType }
1051 HELP: SHADER_ATTRIB_VEC3
1052 { $class-description
1053 Shader attribute type: vec3 (3 float)
1055 { $see-also ShaderAttributeDataType }
1058 HELP: SHADER_ATTRIB_VEC4
1059 { $class-description
1060 Shader attribute type: vec4 (4 float)
1062 { $see-also ShaderAttributeDataType }
1066 ! Pixel format enum.
1069 The various pixel formats that can be used by Raylib.
1070 This enum's values start from { $snippet 1 } .
1072 { $warning Support depends on OpenGL version and platform. }
1073 { $enum-members PixelFormat }
1076 HELP: PIXELFORMAT_UNCOMPRESSED_GRAYSCALE
1077 { $class-description
1078 8 bit per pixel (no alpha).
1080 { $see-also PixelFormat }
1083 HELP: PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA
1084 { $class-description
1085 8*2 bits per pixel (2 channels).
1087 { $see-also PixelFormat }
1090 HELP: PIXELFORMAT_UNCOMPRESSED_R5G6B5
1091 { $class-description
1094 { $see-also PixelFormat }
1097 HELP: PIXELFORMAT_UNCOMPRESSED_R8G8B8
1098 { $class-description
1101 { $see-also PixelFormat }
1104 HELP: PIXELFORMAT_UNCOMPRESSED_R5G5B5A1
1105 { $class-description
1106 16 bits per pixel (1 bit alpha).
1108 { $see-also PixelFormat }
1111 HELP: PIXELFORMAT_UNCOMPRESSED_R4G4B4A4
1112 { $class-description
1113 16 bits per pixel (4 bit alpha).
1115 { $see-also PixelFormat }
1118 HELP: PIXELFORMAT_UNCOMPRESSED_R8G8B8A8
1119 { $class-description
1122 { $see-also PixelFormat }
1125 HELP: PIXELFORMAT_UNCOMPRESSED_R32
1126 { $class-description
1127 32 bits per pixel (1 channel - float).
1129 { $see-also PixelFormat }
1132 HELP: PIXELFORMAT_UNCOMPRESSED_R32G32B32
1133 { $class-description
1134 32*3 bits per pixel (3 channels - float).
1136 { $see-also PixelFormat }
1139 HELP: PIXELFORMAT_UNCOMPRESSED_R32G32B32A32
1140 { $class-description
1141 32*4 bits per pixel (4 channels - float).
1143 { $see-also PixelFormat }
1146 HELP: PIXELFORMAT_COMPRESSED_DXT1_RGB
1147 { $class-description
1148 4 bits per pixel (no alpha).
1150 { $see-also PixelFormat }
1153 HELP: PIXELFORMAT_COMPRESSED_DXT1_RGBA
1154 { $class-description
1155 4 bits per pixel (1 bit alpha).
1157 { $see-also PixelFormat }
1160 HELP: PIXELFORMAT_COMPRESSED_DXT3_RGBA
1161 { $class-description
1164 { $see-also PixelFormat }
1167 HELP: PIXELFORMAT_COMPRESSED_DXT5_RGBA
1168 { $class-description
1171 { $see-also PixelFormat }
1174 HELP: PIXELFORMAT_COMPRESSED_ETC1_RGB
1175 { $class-description
1178 { $see-also PixelFormat }
1181 HELP: PIXELFORMAT_COMPRESSED_ETC2_RGB
1182 { $class-description
1185 { $see-also PixelFormat }
1188 HELP: PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA
1189 { $class-description
1192 { $see-also PixelFormat }
1195 HELP: PIXELFORMAT_COMPRESSED_PVRT_RGB
1196 { $class-description
1199 { $see-also PixelFormat }
1202 HELP: PIXELFORMAT_COMPRESSED_PVRT_RGBA
1203 { $class-description
1206 { $see-also PixelFormat }
1209 HELP: PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA
1210 { $class-description
1213 { $see-also PixelFormat }
1216 HELP: PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA
1217 { $class-description
1220 { $see-also PixelFormat }
1224 ! Texture filter mode enum
1225 HELP: TextureFilterMode
1227 Controls the filter mode of the texture. In Raylib, filtering will
1228 consider mipmaps if available in the current texture. Additionally,
1229 filter is accordingly set for minification and magnification.
1231 { $enum-members TextureFilterMode }
1234 HELP: TEXTURE_FILTER_POINT
1235 { $class-description
1236 No filter just pixel aproximation.
1238 { $see-also TextureFilterMode }
1241 HELP: TEXTURE_FILTER_BILINEAR
1242 { $class-description
1245 { $see-also TextureFilterMode }
1248 HELP: TEXTURE_FILTER_TRILINEAR
1249 { $class-description
1250 Trilinear filtering (linear with mipmaps).
1252 { $see-also TextureFilterMode }
1255 HELP: TEXTURE_FILTER_ANISOTROPIC_4X
1256 { $class-description
1257 Anisotropic filtering 4x.
1259 { $see-also TextureFilterMode }
1262 HELP: TEXTURE_FILTER_ANISOTROPIC_8X
1263 { $class-description
1264 Anisotropic filtering 8x.
1266 { $see-also TextureFilterMode }
1269 HELP: TEXTURE_FILTER_ANISOTROPIC_16X
1270 { $class-description
1271 Anisotropic filtering 16x.
1273 { $see-also TextureFilterMode }
1277 ! Texture wrap mode enume
1278 HELP: TextureWrapMode
1280 Represents the way a texture will repeate when reading
1281 past the image bounds.
1283 { $enum-members TextureWrapMode }
1286 HELP: TEXTURE_WRAP_REPEAT
1287 { $class-description
1288 Using this mode, a texture will repeate infinitely in all directions.
1290 { $see-also TextureWrapMode }
1293 HELP: TEXTURE_WRAP_CLAMP
1294 { $class-description
1295 Using this mode, the edge pixels in a texture will
1296 be stretched out into infinity.
1298 { $see-also TextureWrapMode }
1302 TEXTURE_WRAP_MIRROR_REPEAT
1303 { $class-description
1304 Using this mode, the texture will repeat infinitely in all directions.
1305 However, each tiling will be mirrored compared to the previous tiling.
1308 { $see-also TextureWrapMode }
1311 HELP: TEXTURE_WRAP_MIRROR_CLAMP
1312 { $class-description
1313 This mode combines mirrored with clamped. The texture will infinitely
1314 tile the last pixel from the oppisite side.
1316 { $see-also TextureWrapMode }
1320 ! Cubemap layout enum
1323 Represents the layout a cube map is using.
1325 { $enum-members CubemapLayout }
1328 HELP: CUBEMAP_LAYOUT_AUTO_DETECT
1329 { $class-description
1330 Raylib will attempt to automatically detect the cubemap's layout type.
1332 { $see-also CubemapLayout }
1335 HELP: CUBEMAP_LAYOUT_LINE_VERTICAL
1336 { $class-description
1337 A cubemap who's layout is defined by a horizontal line with faces.
1339 { $see-also CubemapLayout }
1342 HELP: CUBEMAP_LAYOUT_LINE_HORIZONTAL
1343 { $class-description
1344 A cubemap who's layout is defined by a vertical line with faces.
1346 { $see-also CubemapLayout }
1349 HELP: CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR
1350 { $class-description
1351 A cubemap who's layout is defined by a 3x4 cross with cubemap faces.
1353 { $see-also CubemapLayout }
1356 HELP: CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE
1357 { $class-description
1358 A cubemap who's layout is defined by a 4x3 cross with cubemap faces.
1360 { $see-also CubemapLayout }
1363 HELP: CUBEMAP_LAYOUT_PANORAMA
1364 { $class-description
1365 A cubemap who's layout is defined by a panoramic image (equirectangular map).
1367 { $see-also CubemapLayout }
1374 A C-enum defining the various font generation methods in Raylib.
1376 { $enum-members FontType }
1380 { $class-description
1381 Default font generation with anti-aliasing.
1383 { $see-also FontType }
1387 { $class-description
1388 Bitmap font generation without anti-aliasing.
1390 { $see-also FontType }
1394 { $class-description
1395 SDF font generation. Requires an external shader.
1397 { $see-also FontType }
1404 A C-enum holding the OpenGL texture blend modes.
1407 { $enum-members BlendMode }
1411 { $class-description
1412 Blend mode for blending texturing while considering the alpha channel.
1413 This is the default mode.
1414 { $see-also BlendMode }
1417 HELP: BLEND_ADDITIVE
1418 { $class-description
1419 Blend mode for blending textures while adding colors
1420 { $see-also BlendMode }
1423 HELP: BLEND_MULTIPLIED
1424 { $class-description
1425 Blend mode for blending textures while multiplying colors.
1426 { $see-also BlendMode }
1429 HELP: BLEND_ADD_COLORS
1430 { $class-description
1431 Alternative blend mode to \ BLEND_ADDITIVE
1432 { $see-also BlendMode }
1435 HELP: BLEND_SUBTRACT_COLORS
1436 { $class-description
1437 Blend mode for blending textures while subtracting colors.
1438 { $see-also BlendMode }
1441 HELP: BLEND_ALPHA_PREMULTIPLY
1442 { $class-description
1443 Blend mode for blending premultipled textures while considering the alpha channel
1444 { $see-also BlendMode }
1448 { $class-description
1449 Blend mode for using custom src/dst factors. This is intended for use with
1450 { $snippet rl-set-blend-factors } from { $vocab-link "rlgl" } .
1451 { $see-also BlendMode }
1454 HELP: BLEND_CUSTOM_SEPARATE
1455 { $class-description
1456 Blend mode for using custom rgb/alpha seperate src/dst
1457 factors. This is intended for use with { $snippet rl-set-blend-factors-seperate }
1458 from { $vocab-link "rlgl" } .
1459 { $see-also BlendMode }
1466 Represents the various touch gestures Raylib supports.
1467 This enum is a set of bitflags to enable desired
1468 gestures individually.
1470 { $enum-members Gestures }
1474 { $class-description
1475 Used as the empty set of gestures.
1477 Has the value: { $snippet 0 }
1478 { $see-also Gestures }
1482 { $class-description
1483 Represents a tap gesture.
1485 Has the value: { $snippet 1 }
1486 { $see-also Gestures }
1489 HELP: GESTURE_DOUBLETAP
1490 { $class-description
1491 Represents a double tap gesture.
1493 Has the value: { $snippet 2 }
1494 { $see-also Gestures }
1498 { $class-description
1499 Represents a hold gesture.
1501 Has the value: { $snippet 4 }
1502 { $see-also Gestures }
1506 { $class-description
1507 Represents a drag gesture.
1509 Has the value: { $snippet 8 }
1510 { $see-also Gestures }
1512 HELP: GESTURE_SWIPE_RIGHT
1513 { $class-description
1514 Represents a swipe to the right.
1516 Has the value: { $snippet 16 }
1517 { $see-also Gestures }
1520 HELP: GESTURE_SWIPE_LEFT
1521 { $class-description
1522 Represents a swipe to the left
1524 Has the value: { $snippet 32 }
1525 { $see-also Gestures }
1528 HELP: GESTURE_SWIPE_UP
1529 { $class-description
1530 Represents a swap upwards.
1532 Has the value: { $snippet 64 }
1533 { $see-also Gestures }
1536 HELP: GESTURE_SWIPE_DOWN
1537 { $class-description
1538 Represents a swap downwards.
1540 Has the value: { $snippet 128 }
1541 { $see-also Gestures }
1544 HELP: GESTURE_PINCH_IN
1545 { $class-description
1546 Represents a inwards pinch.
1548 Has the value: { $snippet 256 }
1549 { $see-also Gestures }
1552 HELP: GESTURE_PINCH_OUT
1553 { $class-description
1554 Represents a outwards pinch.
1556 Has the value: { $snippet 512 }
1557 { $see-also Gestures }
1564 The various modes a camera can behave in Raylib.
1566 { $enum-members CameraMode }
1570 { $class-description
1571 A 3D camera with custom behavior.
1573 { $see-also CameraMode }
1577 { $class-description
1578 A \ Camera3D with unrestricted movement.
1580 { $see-also CameraMode }
1583 HELP: CAMERA_ORBITAL
1584 { $class-description
1585 A \ Camera3D that will orbit a fixed point in 3D space.
1587 { $see-also CameraMode }
1590 HELP: CAMERA_FIRST_PERSON
1591 { $class-description
1592 A \ Camera3D that cannot roll and looked on the up-axis.
1594 { $see-also CameraMode }
1597 HELP: CAMERA_THIRD_PERSON
1598 { $class-description
1599 Similiar to \ CAMERA_FIRST_PERSON , however the camera is focused
1602 { $see-also CameraMode }
1606 ! Camera projection enum
1607 HELP: CameraProjection
1609 Represents the projects a camera can use.
1611 { $enum-members CameraProjection }
1614 HELP: CAMERA_PERSPECTIVE
1615 { $class-description
1616 Sets a \ Camera3D to use a perspective projection.
1618 { $see-also CameraProjection }
1621 HELP: CAMERA_ORTHOGRAPHIC
1622 { $class-description
1623 Sets a \ Camera3D to use an orthographic projection. Parallel lines
1624 will stay parallel in this projection.
1626 { $see-also CameraProjection }
1630 ! N-patch layout enum
1633 Raylib features support for " \"n-patch\" " tiles. N-patches allow
1634 for texture to be automatically repeated and stretched. Raylib
1635 has support for the follow n-patch styles:
1637 { "3x3 (" { $link NPATCH_NINE_PATCH } ")" }
1638 { "1x3 (" { $link NPATCH_THREE_PATCH_VERTICAL } ")" }
1639 { "3x1 (" { $link NPATCH_THREE_PATCH_HORIZONTAL } ")" }
1642 See the following page for an example:
1644 { $url "https://www.raylib.com/examples/textures/loader.html?name=textures_npatch_drawing" }
1645 { $enum-members NPatchLayout }
1648 HELP: NPATCH_NINE_PATCH
1649 { $class-description
1650 Represents a 3x3 n-patch tile. This tile type can expand both horizontally
1651 and vertically. It has the following sections:
1653 { "4 corners that are neither stretched nor scaled." }
1654 { "4 edge tiles (top, bottom, left, right) that will be repeated
1655 vertically and horizontally." }
1656 { "1 center tile that will be stretched to fill the space between
1657 the edge tiles and corner tiles." }
1660 { $see-also NPatchLayout }
1663 HELP: NPATCH_THREE_PATCH_VERTICAL
1664 { $class-description
1665 Represents a 1x3 tiling that can be stretched vertically.
1667 { $see-also NPatchLayout }
1670 HELP: NPATCH_THREE_PATCH_HORIZONTAL
1671 { $class-description
1672 Represents a 3x1 tiling that can be streched vertically.
1674 { $see-also NPatchLayout }
1681 { "quot" quotation }
1684 { $description "" } ;
1687 { $class-description
1688 Represents a stream of audio data in Raylib.
1690 { { $snippet buffer } " a pointer to the internal data used by the audio system." }
1691 { { $snippet processor } " a pointer to the interanl data processor, useful for audio effects." }
1692 { { $snippet sampleRate } " the frequence of the samples." }
1693 { { $snippet sampleSize } " the bit depth of the samples: spport values are 8, 16, and 32." }
1694 { { $snippet channels } " the number of channels: 1 for mono, 2 for stereo." }
1700 { $class-description
1701 Represents a RGBA color with 8-bit unsigned components.
1702 Raylibe comes with 25 default colors.
1704 { $heading Builtin colors }
1736 { $class-description
1737 Represents a camera in 3D space. The fields are defined as followed:
1739 { { $snippet position } " is the camera position in 3D space." }
1740 { { $snippet target } " is the target the camera is looking at." }
1741 { { $snippet up } " is the direction that faces up relative to the camera." }
1742 { { $snippet fovy } " is the camera's field of view aperature in degrees. Used as the near-plane for orthogrphic projections." }
1743 { { $snippet projection } " is the camera's projection:" { $link CAMERA_PERSPECTIVE } " or " { $link CAMERA_ORTHOGRAPHIC } }
1748 { $class-description
1749 Represents a camera in 2D space. The fields are defined
1752 { { $snippet offset } " is the camera offset (dispacement from target)" }
1753 { { $snippet target } " is the camera target (rotation and zoom origin)." }
1754 { { $snippet rotation } " is the camera rotation in degrees." }
1755 { { $snippet zoom } " is the camera zoom/scalling, should be 1.0f by default." }
1761 A c-typedef alias for \ Camera3D .
1768 { $class-description
1769 A skeletal animation bone.
1771 { { $snippet name } " is the name of the bone. Max 32 characters." }
1772 { { $snippet processor } " the parent index." }
1777 { $class-description
1778 Represents a 3D bounding box defined by two points:
1780 { { $snippet min } " The minimum vertex box-corner." }
1781 { { $snippet max } " The maxium vertex box-corner." }
1789 { $class-description
1790 A list of file paths returned from \ load-directory-files ,
1791 \ load-directory-files-ex . Must be freed with
1792 \ unload-directory-files .
1794 The fields are defined as followed:
1796 { { $snippet capacity } " the max number of entries." }
1797 { { $snippet count } " the number of entries found." }
1798 { { $snippet paths } " array of string where each member is a file path." }
1802 load-directory-files
1803 load-directory-files-ex
1804 unload-directory-files
1809 { $class-description
1810 Represents a collections of glyphs that can be drawn to the screen.
1811 The fields are defined as followed:
1814 { { $snippet baseSize } { " the base size of the characters. This is how tall a glyph is." } }
1815 { { $snippet glyphCount } { " the number of glyph characters." } }
1816 { { $snippet glyphPadding } { " the padding around each glyph." } }
1817 { { $snippet texture } { " the texture atlas continaing the glyphs." } }
1818 { { $snippet recs } { " an array of rectangles used to find each glyph in " { $snippet texture } "." } }
1819 { { $snippet glyphs } { " metadata about each glyph." } }
1827 HELP: LIGHTGRAY { $raylib-color "200, 200, 200, 255" } ;
1828 HELP: GRAY { $raylib-color "130, 130, 130, 255" } ;
1829 HELP: DARKGRAY { $raylib-color "80, 80, 80, 255" } ;
1830 HELP: YELLOW { $raylib-color "253, 249, 0, 255" } ;
1831 HELP: GOLD { $raylib-color "255, 203, 0, 255" } ;
1832 HELP: ORANGE { $raylib-color "255, 161, 0, 255" } ;
1833 HELP: PINK { $raylib-color "255, 109, 194, 255" } ;
1834 HELP: RED { $raylib-color "230, 41, 55, 255" } ;
1835 HELP: MAROON { $raylib-color "190, 33, 55, 255" } ;
1836 HELP: GREEN { $raylib-color "0, 228, 48, 255" } ;
1837 HELP: LIME { $raylib-color "0, 158, 47, 255" } ;
1838 HELP: DARKGREEN { $raylib-color "0, 117, 44, 255" } ;
1839 HELP: SKYBLUE { $raylib-color "102, 191, 255, 255" } ;
1840 HELP: BLUE { $raylib-color "0, 121, 241, 255" } ;
1841 HELP: DARKBLUE { $raylib-color "0, 82, 172, 255" } ;
1842 HELP: PURPLE { $raylib-color "200, 122, 255, 255" } ;
1843 HELP: VIOLET { $raylib-color "135, 60, 190, 255 " } ;
1844 HELP: DARKPURPLE { $raylib-color "112, 31, 126, 255 " } ;
1845 HELP: BEIGE { $raylib-color "211, 176, 131, 255" } ;
1846 HELP: BROWN { $raylib-color "127, 106, 79, 255 " } ;
1847 HELP: DARKBROWN { $raylib-color "76, 63, 47, 255" } ;
1849 HELP: WHITE { $raylib-color "255, 255, 255, 255" } ;
1850 HELP: BLACK { $raylib-color "0, 0, 0, 255" } ;
1851 HELP: BLANK { $raylib-color "0, 0, 0, 0" } ;
1852 HELP: MAGENTA { $raylib-color "255, 0, 255, 255" } ;
1853 HELP: RAYWHITE { $raylib-color "245, 245, 245, 255" } ;
1855 ARTICLE: "raylib" "Raylib"
1856 { $heading About Raylib }
1857 Raylib attempts to be a simple and easy-to-use library for writing
1858 graphical applications.
1860 { $subheading Main Website }
1861 { $url "https://www.raylib.com/index.html" }
1863 { $subheading Raylib Cheat Sheet }
1864 { $url "https://www.raylib.com/cheatsheet/cheatsheet.html" }
1866 { $heading About These Bindings }
1867 The { $vocab-link "raylib" } vocabulary provides bindings to
1868 Raylib 4.5. The vocab is fully documented using Factor's help
1869 system. So, you can reliably use the browser to find information about
1870 the various functions in raylib.
1873 Use caution when attempting to leverage concurrency features.
1874 Raylib and the UI tools can interact in nasty ways: { $link "raylib-and-threads" } .
1878 ARTICLE: "raylib-and-threads" "Raylib and Threads"
1879 Factor features a powerful UI tool kit. However, Raylibe is designed
1880 under a single threaded model. Running a Raylib program will lock up
1881 the UI until the program finishes. However, attempting to use
1882 concurrency and threading features can corrupt the UI if done wrong.