package vendor:raylib
Overview
Package vendor:raylib implements bindings for version 4.5 of the raylib library (https://www.raylib.com/)
********************************************************************************************* * * raylib v4.5 - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com) * * FEATURES: * - NO external dependencies, all required libraries included with raylib * - Multiplatform: Windows, Linux, FreeBSD, OpenBSD, NetBSD, DragonFly, * MacOS, Haiku, Android, Raspberry Pi, DRM native, HTML5. * - Written in plain C code (C99) in PascalCase/camelCase notation * - Hardware accelerated with OpenGL (1.1, 2.1, 3.3, 4.3 or ES2 - choose at compile) * - Unique OpenGL abstraction layer (usable as standalone module): [rlgl] * - Multiple Fonts formats supported (TTF, XNA fonts, AngelCode fonts) * - Outstanding texture formats support, including compressed formats (DXT, ETC, ASTC) * - Full 3d support for 3d Shapes, Models, Billboards, Heightmaps and more! * - Flexible Materials system, supporting classic maps and PBR maps * - Animated 3D models supported (skeletal bones animation) (IQM) * - Shaders support, including Model shaders and Postprocessing shaders * - Powerful math module for Vector, Matrix and Quaternion operations: [raymath] * - Audio loading and playing with streaming support (WAV, OGG, MP3, FLAC, XM, MOD) * - VR stereo rendering with configurable HMD device parameters * - Bindings to multiple programming languages available! * * NOTES: * - One default Font is loaded on InitWindow()->LoadFontDefault() [core, text] * - One default Texture2D is loaded on rlglInit(), 1x1 white pixel R8G8B8A8 [rlgl] (OpenGL 3.3 or ES2) * - One default Shader is loaded on rlglInit()->rlLoadShaderDefault() [rlgl] (OpenGL 3.3 or ES2) * - One default RenderBatch is loaded on rlglInit()->rlLoadRenderBatch() [rlgl] (OpenGL 3.3 or ES2) * * DEPENDENCIES (included): * [rcore] rglfw (Camilla Löwy - github.com/glfw/glfw) for window/context management and input (PLATFORM_DESKTOP) * [rlgl] glad (David Herberth - github.com/Dav1dde/glad) for OpenGL 3.3 extensions loading (PLATFORM_DESKTOP) * [raudio] miniaudio (David Reid - github.com/mackron/miniaudio) for audio device/context management * * OPTIONAL DEPENDENCIES (included): * [rcore] msf_gif (Miles Fogle) for GIF recording * [rcore] sinfl (Micha Mettke) for DEFLATE decompression algorithm * [rcore] sdefl (Micha Mettke) for DEFLATE compression algorithm * [rtextures] stb_image (Sean Barret) for images loading (BMP, TGA, PNG, JPEG, HDR...) * [rtextures] stb_image_write (Sean Barret) for image writing (BMP, TGA, PNG, JPG) * [rtextures] stb_image_resize (Sean Barret) for image resizing algorithms * [rtext] stb_truetype (Sean Barret) for ttf fonts loading * [rtext] stb_rect_pack (Sean Barret) for rectangles packing * [rmodels] par_shapes (Philip Rideout) for parametric 3d shapes generation * [rmodels] tinyobj_loader_c (Syoyo Fujita) for models loading (OBJ, MTL) * [rmodels] cgltf (Johannes Kuhlmann) for models loading (glTF) * [rmodels] Model3D (bzt) for models loading (M3D, https://bztsrc.gitlab.io/model3d) * [raudio] dr_wav (David Reid) for WAV audio file loading * [raudio] dr_flac (David Reid) for FLAC audio file loading * [raudio] dr_mp3 (David Reid) for MP3 audio file loading * [raudio] stb_vorbis (Sean Barret) for OGG audio loading * [raudio] jar_xm (Joshua Reisenauer) for XM audio module loading * [raudio] jar_mod (Joshua Reisenauer) for MOD audio module loading * * * LICENSE: zlib/libpng * * raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software: * * Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. * * Permission is granted to anyone to use this software for any purpose, including commercial * applications, and to alter it and redistribute it freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not claim that you * wrote the original software. If you use this software in a product, an acknowledgment * in the product documentation would be appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be misrepresented * as being the original software. * * 3. This notice may not be removed or altered from any source distribution. * *********************************************************************************************
Index
Types (92)
- AudioCallback
- AudioStream
- BlendMode
- BoneInfo
- BoundingBox
- Camera
- Camera2D
- Camera3D
- CameraMode
- CameraProjection
- Color
- ConfigFlag
- ConfigFlags
- CubemapLayout
- CullMode
- DrawCall
- FilePathList
- Font
- FontType
- FramebufferAttachTextureType
- FramebufferAttachType
- GamepadAxis
- GamepadButton
- Gesture
- Gestures
- GlVersion
- GlyphInfo
- GuiCheckBoxProperty
- GuiColorPickerProperty
- GuiComboBoxProperty
- GuiControl
- GuiControlProperty
- GuiDefaultProperty
- GuiDropdownBoxProperty
- GuiIconName
- GuiListViewProperty
- GuiProgressBarProperty
- GuiScrollBarProperty
- GuiSliderProperty
- GuiSpinnerProperty
- GuiState
- GuiStyleProp
- GuiTextAlignment
- GuiTextBoxProperty
- GuiToggleProperty
- Image
- KeyboardKey
- LoadFileDataCallback
- LoadFileTextCallback
- Material
- MaterialMap
- MaterialMapIndex
- Matrix
- Mesh
- Model
- ModelAnimation
- MouseButton
- MouseCursor
- Music
- NPatchInfo
- NPatchLayout
- PixelFormat
- Quaternion
- Ray
- RayCollision
- Rectangle
- RenderBatch
- RenderTexture
- RenderTexture2D
- SaveFileDataCallback
- SaveFileTextCallback
- Shader
- ShaderAttributeDataType
- ShaderLocationIndex
- ShaderUniformDataType
- Sound
- Texture
- Texture2D
- TextureCubemap
- TextureFilter
- TextureWrap
- TraceLogCallback
- TraceLogLevel
- Transform
- Vector2
- Vector3
- Vector4
- VertexBuffer
- VertexBufferIndexType
- VrDeviceInfo
- VrStereoConfig
- Wave
Constants (112)
- BEIGE
- BLACK
- BLANK
- BLUE
- BROWN
- DARKBLUE
- DARKBROWN
- DARKGRAY
- DARKGREEN
- DARKPURPLE
- DEG2RAD
- GOLD
- GRAY
- GREEN
- LIGHTGRAY
- LIME
- MAGENTA
- MAROON
- MAX_TEXTFORMAT_BUFFERS
- MAX_TEXT_BUFFER_LENGTH
- ORANGE
- PI
- PINK
- PURPLE
- RAD2DEG
- RAYGUI_VERSION
- RAYWHITE
- RED
- RL_BLEND_COLOR
- RL_BLEND_DST_ALPHA
- RL_BLEND_DST_RGB
- RL_BLEND_EQUATION
- RL_BLEND_EQUATION_ALPHA
- RL_BLEND_EQUATION_RGB
- RL_BLEND_SRC_ALPHA
- RL_BLEND_SRC_RGB
- RL_COMPUTE_SHADER
- RL_CONSTANT_ALPHA
- RL_CONSTANT_COLOR
- RL_CULL_DISTANCE_FAR
- RL_CULL_DISTANCE_NEAR
- RL_DEFAULT_BATCH_BUFFERS
- RL_DEFAULT_BATCH_BUFFER_ELEMENTS
- RL_DEFAULT_BATCH_DRAWCALLS
- RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS
- RL_DST_ALPHA
- RL_DST_COLOR
- RL_DYNAMIC_COPY
- RL_DYNAMIC_DRAW
- RL_DYNAMIC_READ
- RL_FLOAT
- RL_FRAGMENT_SHADER
- RL_FUNC_ADD
- RL_FUNC_REVERSE_SUBTRACT
- RL_FUNC_SUBTRACT
- RL_GRAPHICS_API_OPENGL_11
- RL_GRAPHICS_API_OPENGL_21
- RL_GRAPHICS_API_OPENGL_33
- RL_GRAPHICS_API_OPENGL_43
- RL_GRAPHICS_API_OPENGL_ES2
- RL_LINES
- RL_MAX
- RL_MAX_MATRIX_STACK_SIZE
- RL_MAX_SHADER_LOCATIONS
- RL_MIN
- RL_MODELVIEW
- RL_ONE
- RL_ONE_MINUS_CONSTANT_ALPHA
- RL_ONE_MINUS_CONSTANT_COLOR
- RL_ONE_MINUS_DST_ALPHA
- RL_ONE_MINUS_DST_COLOR
- RL_ONE_MINUS_SRC_ALPHA
- RL_ONE_MINUS_SRC_COLOR
- RL_PROJECTION
- RL_QUADS
- RL_SRC_ALPHA
- RL_SRC_ALPHA_SATURATE
- RL_SRC_COLOR
- RL_STATIC_COPY
- RL_STATIC_DRAW
- RL_STATIC_READ
- RL_STREAM_COPY
- RL_STREAM_DRAW
- RL_STREAM_READ
- RL_TEXTURE
- RL_TEXTURE_FILTER_ANISOTROPIC
- RL_TEXTURE_FILTER_LINEAR
- RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST
- RL_TEXTURE_FILTER_MIP_LINEAR
- RL_TEXTURE_FILTER_MIP_NEAREST
- RL_TEXTURE_FILTER_NEAREST
- RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR
- RL_TEXTURE_MAG_FILTER
- RL_TEXTURE_MIN_FILTER
- RL_TEXTURE_WRAP_CLAMP
- RL_TEXTURE_WRAP_MIRROR_CLAMP
- RL_TEXTURE_WRAP_MIRROR_REPEAT
- RL_TEXTURE_WRAP_REPEAT
- RL_TEXTURE_WRAP_S
- RL_TEXTURE_WRAP_T
- RL_TRIANGLES
- RL_UNSIGNED_BYTE
- RL_VERTEX_SHADER
- RL_ZERO
- SCROLLBAR_LEFT_SIDE
- SCROLLBAR_RIGHT_SIDE
- SKYBLUE
- USE_LINALG
- VERSION
- VIOLET
- WHITE
- YELLOW
Variables (0)
This section is empty.
Procedures (747)
- AttachAudioMixedProcessor
- AttachAudioStreamProcessor
- BeginBlendMode
- BeginDrawing
- BeginMode2D
- BeginMode3D
- BeginScissorMode
- BeginShaderMode
- BeginTextureMode
- BeginVrStereoMode
- ChangeDirectory
- CheckCollisionBoxSphere
- CheckCollisionBoxes
- CheckCollisionCircleRec
- CheckCollisionCircles
- CheckCollisionLines
- CheckCollisionPointCircle
- CheckCollisionPointLine
- CheckCollisionPointPoly
- CheckCollisionPointRec
- CheckCollisionPointTriangle
- CheckCollisionRecs
- CheckCollisionSpheres
- ClearBackground
- ClearWindowState
- CloseAudioDevice
- CloseWindow
- CodepointToUTF8
- ColorAlpha
- ColorAlphaBlend
- ColorBrightness
- ColorContrast
- ColorFromHSV
- ColorFromNormalized
- ColorNormalize
- ColorTint
- ColorToHSV
- ColorToInt
- CompressData
- DecodeDataBase64
- DecompressData
- DetachAudioMixedProcessor
- DetachAudioStreamProcessor
- DirectoryExists
- DisableCursor
- DisableEventWaiting
- DrawBillboard
- DrawBillboardPro
- DrawBillboardRec
- DrawBoundingBox
- DrawCapsule
- DrawCapsuleWires
- DrawCircle
- DrawCircle3D
- DrawCircleGradient
- DrawCircleLines
- DrawCircleSector
- DrawCircleSectorLines
- DrawCircleV
- DrawCube
- DrawCubeV
- DrawCubeWires
- DrawCubeWiresV
- DrawCylinder
- DrawCylinderEx
- DrawCylinderWires
- DrawCylinderWiresEx
- DrawEllipse
- DrawEllipseLines
- DrawFPS
- DrawGrid
- DrawLine
- DrawLine3D
- DrawLineBezier
- DrawLineBezierCubic
- DrawLineBezierQuad
- DrawLineEx
- DrawLineStrip
- DrawLineV
- DrawMesh
- DrawMeshInstanced
- DrawModel
- DrawModelEx
- DrawModelWires
- DrawModelWiresEx
- DrawPixel
- DrawPixelV
- DrawPlane
- DrawPoint3D
- DrawPoly
- DrawPolyLines
- DrawPolyLinesEx
- DrawRay
- DrawRectangle
- DrawRectangleGradientEx
- DrawRectangleGradientH
- DrawRectangleGradientV
- DrawRectangleLines
- DrawRectangleLinesEx
- DrawRectanglePro
- DrawRectangleRec
- DrawRectangleRounded
- DrawRectangleRoundedLines
- DrawRectangleV
- DrawRing
- DrawRingLines
- DrawSphere
- DrawSphereEx
- DrawSphereWires
- DrawText
- DrawTextCodepoint
- DrawTextCodepoints
- DrawTextEx
- DrawTextPro
- DrawTexture
- DrawTextureEx
- DrawTextureNPatch
- DrawTexturePro
- DrawTextureRec
- DrawTextureV
- DrawTriangle
- DrawTriangle3D
- DrawTriangleFan
- DrawTriangleLines
- DrawTriangleStrip
- DrawTriangleStrip3D
- EaseBackIn
- EaseBackInOut
- EaseBackOut
- EaseBounceIn
- EaseBounceInOut
- EaseBounceOut
- EaseCircIn
- EaseCircInOut
- EaseCircOut
- EaseCubicIn
- EaseCubicInOut
- EaseCubicOut
- EaseElasticIn
- EaseElasticInOut
- EaseElasticOut
- EaseExpoIn
- EaseExpoInOut
- EaseExpoOut
- EaseLinearIn
- EaseLinearInOut
- EaseLinearNone
- EaseLinearOut
- EaseQuadIn
- EaseQuadInOut
- EaseQuadOut
- EaseSineIn
- EaseSineInOut
- EaseSineOut
- EnableCursor
- EnableEventWaiting
- EncodeDataBase64
- EndBlendMode
- EndDrawing
- EndMode2D
- EndMode3D
- EndScissorMode
- EndShaderMode
- EndTextureMode
- EndVrStereoMode
- ExportDataAsCode
- ExportFontAsCode
- ExportImage
- ExportImageAsCode
- ExportMesh
- ExportWave
- ExportWaveAsCode
- Fade
- FileExists
- GenImageCellular
- GenImageChecked
- GenImageColor
- GenImageFontAtlas
- GenImageGradientH
- GenImageGradientRadial
- GenImageGradientV
- GenImagePerlinNoise
- GenImageText
- GenImageWhiteNoise
- GenMeshCone
- GenMeshCube
- GenMeshCubicmap
- GenMeshCylinder
- GenMeshHeightmap
- GenMeshHemiSphere
- GenMeshKnot
- GenMeshPlane
- GenMeshPoly
- GenMeshSphere
- GenMeshTangents
- GenMeshTorus
- GenTextureMipmaps
- GetApplicationDirectory
- GetCameraMatrix
- GetCameraMatrix2D
- GetCharPressed
- GetClipboardText
- GetCodepoint
- GetCodepointCount
- GetCodepointNext
- GetCodepointPrevious
- GetCollisionRec
- GetColor
- GetCurrentMonitor
- GetDirectoryPath
- GetFPS
- GetFileExtension
- GetFileLength
- GetFileModTime
- GetFileName
- GetFileNameWithoutExt
- GetFontDefault
- GetFrameTime
- GetGamepadAxisCount
- GetGamepadAxisMovement
- GetGamepadButtonPressed
- GetGamepadName
- GetGestureDetected
- GetGestureDragAngle
- GetGestureDragVector
- GetGestureHoldDuration
- GetGesturePinchAngle
- GetGesturePinchVector
- GetGlyphAtlasRec
- GetGlyphIndex
- GetGlyphInfo
- GetImageAlphaBorder
- GetImageColor
- GetKeyPressed
- GetMeshBoundingBox
- GetModelBoundingBox
- GetMonitorCount
- GetMonitorHeight
- GetMonitorName
- GetMonitorPhysicalHeight
- GetMonitorPhysicalWidth
- GetMonitorPosition
- GetMonitorRefreshRate
- GetMonitorWidth
- GetMouseDelta
- GetMousePosition
- GetMouseRay
- GetMouseWheelMove
- GetMouseWheelMoveV
- GetMouseX
- GetMouseY
- GetMusicTimeLength
- GetMusicTimePlayed
- GetPixelColor
- GetPixelDataSize
- GetPrevDirectoryPath
- GetRandomValue
- GetRayCollisionBox
- GetRayCollisionMesh
- GetRayCollisionQuad
- GetRayCollisionSphere
- GetRayCollisionTriangle
- GetRenderHeight
- GetRenderWidth
- GetScreenHeight
- GetScreenToWorld2D
- GetScreenWidth
- GetShaderLocation
- GetShaderLocationAttrib
- GetTime
- GetTouchPointCount
- GetTouchPointId
- GetTouchPosition
- GetTouchX
- GetTouchY
- GetWindowHandle
- GetWindowPosition
- GetWindowScaleDPI
- GetWorkingDirectory
- GetWorldToScreen
- GetWorldToScreen2D
- GetWorldToScreenEx
- GuiButton
- GuiCheckBox
- GuiColorBarAlpha
- GuiColorBarHue
- GuiColorPanel
- GuiColorPanelHSV
- GuiColorPicker
- GuiColorPickerHSV
- GuiComboBox
- GuiDisable
- GuiDisableTooltip
- GuiDrawIcon
- GuiDropdownBox
- GuiDummyRec
- GuiEnable
- GuiEnableTooltip
- GuiFade
- GuiGetFont
- GuiGetIcons
- GuiGetState
- GuiGetStyle
- GuiGrid
- GuiGroupBox
- GuiIconText
- GuiIsLocked
- GuiLabel
- GuiLabelButton
- GuiLine
- GuiListView
- GuiListViewEx
- GuiLoadIcons
- GuiLoadStyle
- GuiLoadStyleDefault
- GuiLock
- GuiMessageBox
- GuiPanel
- GuiProgressBar
- GuiScrollPanel
- GuiSetFont
- GuiSetIconScale
- GuiSetState
- GuiSetStyle
- GuiSetTooltip
- GuiSlider
- GuiSliderBar
- GuiSpinner
- GuiStatusBar
- GuiTabBar
- GuiTextBox
- GuiTextInputBox
- GuiToggle
- GuiToggleGroup
- GuiUnlock
- GuiValueBox
- GuiWindowBox
- HideCursor
- ImageAlphaClear
- ImageAlphaCrop
- ImageAlphaMask
- ImageAlphaPremultiply
- ImageBlurGaussian
- ImageClearBackground
- ImageColorBrightness
- ImageColorContrast
- ImageColorGrayscale
- ImageColorInvert
- ImageColorReplace
- ImageColorTint
- ImageCopy
- ImageCrop
- ImageDither
- ImageDraw
- ImageDrawCircle
- ImageDrawCircleLines
- ImageDrawCircleLinesV
- ImageDrawCircleV
- ImageDrawLine
- ImageDrawLineV
- ImageDrawPixel
- ImageDrawPixelV
- ImageDrawRectangle
- ImageDrawRectangleLines
- ImageDrawRectangleRec
- ImageDrawRectangleV
- ImageDrawText
- ImageDrawTextEx
- ImageFlipHorizontal
- ImageFlipVertical
- ImageFormat
- ImageFromImage
- ImageMipmaps
- ImageResize
- ImageResizeCanvas
- ImageResizeNN
- ImageRotateCCW
- ImageRotateCW
- ImageText
- ImageTextEx
- ImageToPOT
- InitAudioDevice
- InitWindow
- IsAudioDeviceReady
- IsAudioStreamPlaying
- IsAudioStreamProcessed
- IsAudioStreamReady
- IsCursorHidden
- IsCursorOnScreen
- IsFileDropped
- IsFileExtension
- IsFontReady
- IsGamepadAvailable
- IsGamepadButtonDown
- IsGamepadButtonPressed
- IsGamepadButtonReleased
- IsGamepadButtonUp
- IsGestureDetected
- IsImageReady
- IsKeyDown
- IsKeyPressed
- IsKeyReleased
- IsKeyUp
- IsMaterialReady
- IsModelAnimationValid
- IsModelReady
- IsMouseButtonDown
- IsMouseButtonPressed
- IsMouseButtonReleased
- IsMouseButtonUp
- IsMusicReady
- IsMusicStreamPlaying
- IsPathFile
- IsRenderTextureReady
- IsShaderReady
- IsSoundPlaying
- IsSoundReady
- IsTextureReady
- IsWaveReady
- IsWindowFocused
- IsWindowFullscreen
- IsWindowHidden
- IsWindowMaximized
- IsWindowMinimized
- IsWindowReady
- IsWindowResized
- IsWindowState
- LoadAudioStream
- LoadCodepoints
- LoadDirectoryFiles
- LoadDirectoryFilesEx
- LoadDroppedFiles
- LoadFileData
- LoadFileText
- LoadFont
- LoadFontData
- LoadFontEx
- LoadFontFromImage
- LoadFontFromMemory
- LoadImage
- LoadImageAnim
- LoadImageColors
- LoadImageFromMemory
- LoadImageFromScreen
- LoadImageFromTexture
- LoadImagePalette
- LoadImageRaw
- LoadMaterialDefault
- LoadMaterials
- LoadModel
- LoadModelAnimations
- LoadModelFromMesh
- LoadMusicStream
- LoadMusicStreamFromMemory
- LoadRenderTexture
- LoadShader
- LoadShaderFromMemory
- LoadSound
- LoadSoundFromWave
- LoadTexture
- LoadTextureCubemap
- LoadTextureFromImage
- LoadUTF8
- LoadVrStereoConfig
- LoadWave
- LoadWaveFromMemory
- LoadWaveSamples
- MaximizeWindow
- MeasureText
- MeasureTextEx
- MemAlloc
- MemAllocator
- MemAllocatorProc
- MemFree
- MemRealloc
- MinimizeWindow
- OpenURL
- PauseAudioStream
- PauseMusicStream
- PauseSound
- PlayAudioStream
- PlayMusicStream
- PlaySound
- PollInputEvents
- RestoreWindow
- ResumeAudioStream
- ResumeMusicStream
- ResumeSound
- SaveFileData
- SaveFileText
- SeekMusicStream
- SetAudioStreamBufferSizeDefault
- SetAudioStreamCallback
- SetAudioStreamPan
- SetAudioStreamPitch
- SetAudioStreamVolume
- SetClipboardText
- SetConfigFlags
- SetExitKey
- SetGamepadMappings
- SetGesturesEnabled
- SetLoadFileDataCallback
- SetLoadFileTextCallback
- SetMasterVolume
- SetMaterialTexture
- SetModelMeshMaterial
- SetMouseCursor
- SetMouseOffset
- SetMousePosition
- SetMouseScale
- SetMusicPan
- SetMusicPitch
- SetMusicVolume
- SetPixelColor
- SetRandomSeed
- SetSaveFileDataCallback
- SetSaveFileTextCallback
- SetShaderValue
- SetShaderValueMatrix
- SetShaderValueTexture
- SetShaderValueV
- SetShapesTexture
- SetSoundPan
- SetSoundPitch
- SetSoundVolume
- SetTargetFPS
- SetTextureFilter
- SetTextureWrap
- SetTraceLogCallback
- SetTraceLogLevel
- SetWindowIcon
- SetWindowIcons
- SetWindowMinSize
- SetWindowMonitor
- SetWindowOpacity
- SetWindowPosition
- SetWindowSize
- SetWindowState
- SetWindowTitle
- ShowCursor
- StopAudioStream
- StopMusicStream
- StopSound
- SwapScreenBuffer
- TakeScreenshot
- TextAppend
- TextCopy
- TextFindIndex
- TextFormat
- TextFormatAlloc
- TextInsert
- TextIsEqual
- TextJoin
- TextLength
- TextReplace
- TextSplit
- TextSubtext
- TextToInteger
- TextToLower
- TextToPascal
- TextToUpper
- ToggleFullscreen
- TraceLog
- UnloadAudioStream
- UnloadCodepoints
- UnloadDirectoryFiles
- UnloadDroppedFiles
- UnloadFileData
- UnloadFileText
- UnloadFont
- UnloadFontData
- UnloadImage
- UnloadImageColors
- UnloadImagePalette
- UnloadMaterial
- UnloadMesh
- UnloadModel
- UnloadModelAnimation
- UnloadModelAnimations
- UnloadMusicStream
- UnloadRenderTexture
- UnloadShader
- UnloadSound
- UnloadTexture
- UnloadUTF8
- UnloadVrStereoConfig
- UnloadWave
- UnloadWaveSamples
- UpdateAudioStream
- UpdateCamera
- UpdateCameraPro
- UpdateMeshBuffer
- UpdateModelAnimation
- UpdateMusicStream
- UpdateSound
- UpdateTexture
- UpdateTextureRec
- UploadMesh
- WaitTime
- WaveCopy
- WaveCrop
- WaveFormat
- WindowShouldClose
- rlActiveDrawBuffers
- rlActiveTextureSlot
- rlBegin
- rlBindImageTexture
- rlBindShaderBuffer
- rlCheckErrors
- rlCheckRenderBatchLimit
- rlClearColor
- rlClearScreenBuffers
- rlColor3f
- rlColor4f
- rlColor4ub
- rlCompileShader
- rlComputeShaderDispatch
- rlCopyShaderBuffer
- rlCubemapParameters
- rlDisableBackfaceCulling
- rlDisableColorBlend
- rlDisableDepthMask
- rlDisableDepthTest
- rlDisableFramebuffer
- rlDisableScissorTest
- rlDisableShader
- rlDisableSmoothLines
- rlDisableStereoRender
- rlDisableTexture
- rlDisableTextureCubemap
- rlDisableVertexArray
- rlDisableVertexAttribute
- rlDisableVertexBuffer
- rlDisableVertexBufferElement
- rlDisableWireMode
- rlDrawRenderBatch
- rlDrawRenderBatchActive
- rlDrawVertexArray
- rlDrawVertexArrayElements
- rlDrawVertexArrayElementsInstanced
- rlDrawVertexArrayInstanced
- rlEnableBackfaceCulling
- rlEnableDepthMask
- rlEnableDepthTest
- rlEnableFramebuffer
- rlEnableScissorTest
- rlEnableShader
- rlEnableSmoothLines
- rlEnableStereoRender
- rlEnableTexture
- rlEnableTextureCubemap
- rlEnableVertexArray
- rlEnableVertexAttribute
- rlEnableVertexBuffer
- rlEnableVertexBufferElement
- rlEnableWireMode
- rlEnd
- rlFramebufferAttach
- rlFramebufferComplete
- rlFrustum
- rlGenTextureMipmaps
- rlGetFramebufferHeight
- rlGetFramebufferWidth
- rlGetGlTextureFormats
- rlGetLineWidth
- rlGetLocationAttrib
- rlGetLocationUniform
- rlGetMatrixModelview
- rlGetMatrixProjection
- rlGetMatrixProjectionStereo
- rlGetMatrixTransform
- rlGetMatrixViewOffsetStereo
- rlGetPixelFormatName
- rlGetShaderBufferSize
- rlGetShaderIdDefault
- rlGetShaderLocsDefault
- rlGetTextureIdDefault
- rlGetVersion
- rlIsStereoRenderEnabled
- rlLoadComputeShaderProgram
- rlLoadDrawCube
- rlLoadDrawQuad
- rlLoadExtensions
- rlLoadFramebuffer
- rlLoadIdentity
- rlLoadRenderBatch
- rlLoadShaderBuffer
- rlLoadShaderCode
- rlLoadShaderProgram
- rlLoadTexture
- rlLoadTextureCubemap
- rlLoadTextureDepth
- rlLoadVertexArray
- rlLoadVertexBuffer
- rlLoadVertexBufferElement
- rlMatrixMode
- rlMultMatrixf
- rlNormal3f
- rlOrtho
- rlPopMatrix
- rlPushMatrix
- rlReadScreenPixels
- rlReadShaderBuffer
- rlReadTexturePixels
- rlRotatef
- rlScalef
- rlScissor
- rlSetBlendFactors
- rlSetBlendFactorsSeparate
- rlSetBlendMode
- rlSetCullFace
- rlSetFramebufferHeight
- rlSetFramebufferWidth
- rlSetLineWidth
- rlSetMatrixModelview
- rlSetMatrixProjection
- rlSetMatrixProjectionStereo
- rlSetMatrixViewOffsetStereo
- rlSetRenderBatchActive
- rlSetShader
- rlSetTexture
- rlSetUniform
- rlSetUniformMatrix
- rlSetUniformSampler
- rlSetVertexAttribute
- rlSetVertexAttributeDefault
- rlSetVertexAttributeDivisor
- rlTexCoord2f
- rlTextureParameters
- rlTranslatef
- rlUnloadFramebuffer
- rlUnloadRenderBatch
- rlUnloadShaderBuffer
- rlUnloadShaderProgram
- rlUnloadTexture
- rlUnloadVertexArray
- rlUnloadVertexBuffer
- rlUpdateShaderBuffer
- rlUpdateTexture
- rlUpdateVertexBuffer
- rlUpdateVertexBufferElements
- rlVertex2f
- rlVertex2i
- rlVertex3f
- rlViewport
- rlglClose
- rlglInit
Procedure Groups (0)
This section is empty.
Types
AudioCallback ¶
Related Procedures With Parameters
AudioStream ¶
AudioStream :: struct { buffer: rawptr, // Pointer to internal data used by the audio system processor: rawptr, // Pointer to internal data processor, useful for audio effects sampleRate: u32, // Frequency (samples per second) sampleSize: u32, // Bit depth (bits per sample): 8, 16, 32 (24 not supported) channels: u32, }
Audio stream type NOTE: Actual structs are defined internally in raudio module
Related Procedures With Parameters
- AttachAudioStreamProcessor
- DetachAudioStreamProcessor
- IsAudioStreamPlaying
- IsAudioStreamProcessed
- IsAudioStreamReady
- PauseAudioStream
- PlayAudioStream
- ResumeAudioStream
- SetAudioStreamCallback
- SetAudioStreamPan
- SetAudioStreamPitch
- SetAudioStreamVolume
- StopAudioStream
- UnloadAudioStream
- UpdateAudioStream
Related Procedures With Returns
BlendMode ¶
BlendMode :: enum i32 { ALPHA = 0, // Blend textures considering alpha (default) ADDITIVE, // Blend textures adding colors MULTIPLIED, // Blend textures multiplying colors ADD_COLORS, // Blend textures adding colors (alternative) SUBTRACT_COLORS, // Blend textures subtracting colors (alternative) ALPHA_PREMULTIPLY, // Blend premultiplied textures considering alpha CUSTOM, // Blend textures using custom src/dst factors (use rlSetBlendFactors()) CUSTOM_SEPARATE, // Blend textures using custom rgb/alpha separate src/dst factors (use rlSetBlendFactorsSeparate()) }
Color blending modes (pre-defined)
Related Procedures With Parameters
BoneInfo ¶
Bone information
BoundingBox ¶
BoundingBox :: struct { min: linalg.Vector3f32, // Minimum vertex box-corner max: linalg.Vector3f32, }
Bounding box type
Related Procedures With Parameters
Related Procedures With Returns
Camera2D ¶
Camera2D :: struct { offset: linalg.Vector2f32, // Camera offset (displacement from target) target: linalg.Vector2f32, // Camera target (rotation and zoom origin) rotation: f32, // Camera rotation in degrees zoom: f32, }
Camera2D type, defines a 2d camera
Related Procedures With Parameters
Camera3D ¶
Camera3D :: struct { position: linalg.Vector3f32, // Camera position target: linalg.Vector3f32, // Camera target it looks-at up: linalg.Vector3f32, // Camera up vector (rotation over its axis) fovy: f32, // Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic projection: CameraProjection, }
Camera type, defines a camera position/orientation in 3d space
Related Procedures With Parameters
CameraMode ¶
CameraMode :: enum i32 { CUSTOM = 0, // Custom camera FREE, // Free camera ORBITAL, // Orbital camera FIRST_PERSON, // First person camera THIRD_PERSON, // Third person camera }
Camera system modes
Related Procedures With Parameters
CameraProjection ¶
CameraProjection :: enum i32 { PERSPECTIVE = 0, // Perspective projection ORTHOGRAPHIC, // Orthographic projection }
Camera projection
Color ¶
Color :: struct { r, g, b, a: u8, }
Color, 4 components, R8G8B8A8 (32bit)
Related Procedures With Parameters
- ClearBackground
- ColorAlpha
- ColorAlphaBlend
- ColorBrightness
- ColorContrast
- ColorNormalize
- ColorTint
- ColorToHSV
- ColorToInt
- DrawBillboard
- DrawBillboardPro
- DrawBillboardRec
- DrawBoundingBox
- DrawCapsule
- DrawCapsuleWires
- DrawCircle
- DrawCircle3D
- DrawCircleGradient
- DrawCircleLines
- DrawCircleSector
- DrawCircleSectorLines
- DrawCircleV
- DrawCube
- DrawCubeV
- DrawCubeWires
- DrawCubeWiresV
- DrawCylinder
- DrawCylinderEx
- DrawCylinderWires
- DrawCylinderWiresEx
- DrawEllipse
- DrawEllipseLines
- DrawLine
- DrawLine3D
- DrawLineBezier
- DrawLineBezierCubic
- DrawLineBezierQuad
- DrawLineEx
- DrawLineStrip
- DrawLineV
- DrawModel
- DrawModelEx
- DrawModelWires
- DrawModelWiresEx
- DrawPixel
- DrawPixelV
- DrawPlane
- DrawPoint3D
- DrawPoly
- DrawPolyLines
- DrawPolyLinesEx
- DrawRay
- DrawRectangle
- DrawRectangleGradientEx
- DrawRectangleGradientH
- DrawRectangleGradientV
- DrawRectangleLines
- DrawRectangleLinesEx
- DrawRectanglePro
- DrawRectangleRec
- DrawRectangleRounded
- DrawRectangleRoundedLines
- DrawRectangleV
- DrawRing
- DrawRingLines
- DrawSphere
- DrawSphereEx
- DrawSphereWires
- DrawText
- DrawTextCodepoint
- DrawTextCodepoints
- DrawTextEx
- DrawTextPro
- DrawTexture
- DrawTextureEx
- DrawTextureNPatch
- DrawTexturePro
- DrawTextureRec
- DrawTextureV
- DrawTriangle
- DrawTriangle3D
- DrawTriangleFan
- DrawTriangleLines
- DrawTriangleStrip
- DrawTriangleStrip3D
- Fade
- GenImageChecked
- GenImageColor
- GenImageGradientH
- GenImageGradientRadial
- GenImageGradientV
- GuiColorPanel
- GuiColorPicker
- GuiDrawIcon
- ImageAlphaClear
- ImageClearBackground
- ImageColorReplace
- ImageColorTint
- ImageDraw
- ImageDrawCircle
- ImageDrawCircleLines
- ImageDrawCircleLinesV
- ImageDrawCircleV
- ImageDrawLine
- ImageDrawLineV
- ImageDrawPixel
- ImageDrawPixelV
- ImageDrawRectangle
- ImageDrawRectangleLines
- ImageDrawRectangleRec
- ImageDrawRectangleV
- ImageDrawText
- ImageDrawTextEx
- ImageResizeCanvas
- ImageText
- ImageTextEx
- ImageToPOT
- LoadFontFromImage
- SetPixelColor
Related Procedures With Returns
ConfigFlag ¶
ConfigFlag :: enum i32 { VSYNC_HINT = 6, // Set to try enabling V-Sync on GPU FULLSCREEN_MODE = 1, // Set to run program in fullscreen WINDOW_RESIZABLE = 2, // Set to allow resizable window WINDOW_UNDECORATED = 3, // Set to disable window decoration (frame and buttons) WINDOW_HIDDEN = 7, // Set to hide window WINDOW_MINIMIZED = 9, // Set to minimize window (iconify) WINDOW_MAXIMIZED = 10, // Set to maximize window (expanded to monitor) WINDOW_UNFOCUSED = 11, // Set to window non focused WINDOW_TOPMOST = 12, // Set to window always on top WINDOW_ALWAYS_RUN = 8, // Set to allow windows running while minimized WINDOW_TRANSPARENT = 4, // Set to allow transparent framebuffer WINDOW_HIGHDPI = 13, // Set to support HighDPI WINDOW_MOUSE_PASSTHROUGH = 14, // Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED MSAA_4X_HINT = 5, // Set to try enabling MSAA 4X INTERLACED_HINT = 16, // Set to try enabling interlaced video format (for V3D) }
---------------------------------------------------------------------------------- Enumerators Definition ---------------------------------------------------------------------------------- System/Window config flags NOTE: Every bit registers one state (use it with bit masks) By default all flags are set to 0
CubemapLayout ¶
CubemapLayout :: enum i32 { AUTO_DETECT = 0, // Automatically detect layout type LINE_VERTICAL, // Layout is defined by a vertical line with faces LINE_HORIZONTAL, // Layout is defined by an horizontal line with faces CROSS_THREE_BY_FOUR, // Layout is defined by a 3x4 cross with cubemap faces CROSS_FOUR_BY_THREE, // Layout is defined by a 4x3 cross with cubemap faces PANORAMA, // Layout is defined by a panorama image (equirectangular map) }
Cubemap layouts
Related Procedures With Parameters
DrawCall ¶
DrawCall :: struct { mode: i32, // Drawing mode: LINES, TRIANGLES, QUADS vertexCount: i32, // Number of vertex of the draw vertexAlignment: i32, // Number of vertex required for index alignment (LINES, TRIANGLES) textureId: u32, }
Draw call type NOTE: Only texture changes register a new draw, other state-change-related elements are not used at this moment (vaoId, shaderId, matrices), raylib just forces a batch draw call if any of those state-change happens (this is done in core module)
FilePathList ¶
FilePathList :: struct { capacity: u32, // Filepaths max entries count: u32, // Filepaths entries count paths: [^]cstring, }
File path list
Related Procedures With Parameters
Related Procedures With Returns
Font ¶
Font :: struct { baseSize: i32, // Base size (default chars height) charsCount: i32, // Number of characters charsPadding: i32, // Padding around the chars texture: Texture, // Characters texture atlas recs: [^]Rectangle, // Characters rectangles in texture chars: [^]GlyphInfo, }
Font type, includes texture and charSet array data
Related Procedures With Parameters
- DrawTextCodepoint
- DrawTextCodepoints
- DrawTextEx
- DrawTextPro
- ExportFontAsCode
- GetGlyphAtlasRec
- GetGlyphIndex
- GetGlyphInfo
- GuiSetFont
- ImageDrawTextEx
- ImageTextEx
- IsFontReady
- MeasureTextEx
- UnloadFont
Related Procedures With Returns
FontType ¶
FontType :: enum i32 { DEFAULT = 0, // Default font generation, anti-aliased BITMAP, // Bitmap font generation, no anti-aliasing SDF, // SDF font generation, requires external shader }
Font type, defines generation method
Related Procedures With Parameters
FramebufferAttachTextureType ¶
FramebufferAttachTextureType :: enum i32 { CUBEMAP_POSITIVE_X = 0, // Framebuffer texture attachment type: cubemap, +X side CUBEMAP_NEGATIVE_X, // Framebuffer texture attachment type: cubemap, -X side CUBEMAP_POSITIVE_Y, // Framebuffer texture attachment type: cubemap, +Y side CUBEMAP_NEGATIVE_Y, // Framebuffer texture attachment type: cubemap, -Y side CUBEMAP_POSITIVE_Z, // Framebuffer texture attachment type: cubemap, +Z side CUBEMAP_NEGATIVE_Z, // Framebuffer texture attachment type: cubemap, -Z side TEXTURE2D = 100, // Framebuffer texture attachment type: texture2d RENDERBUFFER = 200, // Framebuffer texture attachment type: renderbuffer }
Framebuffer texture attachment type
FramebufferAttachType ¶
FramebufferAttachType :: enum i32 { COLOR_CHANNEL0 = 0, // Framebuffer attachment type: color 0 COLOR_CHANNEL1, // Framebuffer attachment type: color 1 COLOR_CHANNEL2, // Framebuffer attachment type: color 2 COLOR_CHANNEL3, // Framebuffer attachment type: color 3 COLOR_CHANNEL4, // Framebuffer attachment type: color 4 COLOR_CHANNEL5, // Framebuffer attachment type: color 5 COLOR_CHANNEL6, // Framebuffer attachment type: color 6 COLOR_CHANNEL7, // Framebuffer attachment type: color 7 DEPTH = 100, // Framebuffer attachment type: depth STENCIL = 200, // Framebuffer attachment type: stencil }
Framebuffer attachment type NOTE: By default up to 8 color channels defined, but it can be more
GamepadAxis ¶
GamepadAxis :: enum i32 { LEFT_X = 0, // Gamepad left stick X axis LEFT_Y = 1, // Gamepad left stick Y axis RIGHT_X = 2, // Gamepad right stick X axis RIGHT_Y = 3, // Gamepad right stick Y axis LEFT_TRIGGER = 4, // Gamepad back trigger left, pressure level: [1..-1] RIGHT_TRIGGER = 5, // Gamepad back trigger right, pressure level: [1..-1] }
Gamepad axis
Related Procedures With Parameters
GamepadButton ¶
GamepadButton :: enum i32 { UNKNOWN = 0, // Unknown button, just for error checking LEFT_FACE_UP, // Gamepad left DPAD up button LEFT_FACE_RIGHT, // Gamepad left DPAD right button LEFT_FACE_DOWN, // Gamepad left DPAD down button LEFT_FACE_LEFT, // Gamepad left DPAD left button RIGHT_FACE_UP, // Gamepad right button up (i.e. PS3: Triangle, Xbox: Y) RIGHT_FACE_RIGHT, // Gamepad right button right (i.e. PS3: Square, Xbox: X) RIGHT_FACE_DOWN, // Gamepad right button down (i.e. PS3: Cross, Xbox: A) RIGHT_FACE_LEFT, // Gamepad right button left (i.e. PS3: Circle, Xbox: B) LEFT_TRIGGER_1, // Gamepad top/back trigger left (first), it could be a trailing button LEFT_TRIGGER_2, // Gamepad top/back trigger left (second), it could be a trailing button RIGHT_TRIGGER_1, // Gamepad top/back trigger right (one), it could be a trailing button RIGHT_TRIGGER_2, // Gamepad top/back trigger right (second), it could be a trailing button MIDDLE_LEFT, // Gamepad center buttons, left one (i.e. PS3: Select) MIDDLE, // Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX) MIDDLE_RIGHT, // Gamepad center buttons, right one (i.e. PS3: Start) LEFT_THUMB, // Gamepad joystick pressed button left RIGHT_THUMB, // Gamepad joystick pressed button right }
Gamepad buttons
Related Procedures With Parameters
Related Procedures With Returns
Gesture ¶
Gesture :: enum i32 { TAP = 0, // Tap gesture DOUBLETAP = 1, // Double tap gesture HOLD = 2, // Hold gesture DRAG = 3, // Drag gesture SWIPE_RIGHT = 4, // Swipe right gesture SWIPE_LEFT = 5, // Swipe left gesture SWIPE_UP = 6, // Swipe up gesture SWIPE_DOWN = 7, // Swipe down gesture PINCH_IN = 8, // Pinch in gesture PINCH_OUT = 9, // Pinch out gesture }
Gestures NOTE: It could be used as flags to enable only some gestures
Related Procedures With Parameters
GlVersion ¶
GlVersion :: enum i32 { OPENGL_11 = 1, // OpenGL 1.1 OPENGL_21, // OpenGL 2.1 (GLSL 120) OPENGL_33, // OpenGL 3.3 (GLSL 330) OPENGL_43, // OpenGL 4.3 (using GLSL 330) OPENGL_ES_20, // OpenGL ES 2.0 (GLSL 100) }
OpenGL version
Related Procedures With Returns
GlyphInfo ¶
GlyphInfo :: struct { value: rune, // Character value (Unicode) offsetX: i32, // Character offset X when drawing offsetY: i32, // Character offset Y when drawing advanceX: i32, // Character advance position X image: Image, }
Font character info
Related Procedures With Returns
GuiCheckBoxProperty ¶
GuiCheckBoxProperty :: enum i32 { CHECK_PADDING = 16, // CheckBox internal check padding }
CheckBox
GuiColorPickerProperty ¶
GuiColorPickerProperty :: enum i32 { COLOR_SELECTOR_SIZE = 16, HUEBAR_WIDTH, // ColorPicker right hue bar width HUEBAR_PADDING, // ColorPicker right hue bar separation from panel HUEBAR_SELECTOR_HEIGHT, // ColorPicker right hue bar selector height HUEBAR_SELECTOR_OVERFLOW, // ColorPicker right hue bar selector overflow }
ColorPicker
GuiComboBoxProperty ¶
GuiComboBoxProperty :: enum i32 { COMBO_BUTTON_WIDTH = 16, // ComboBox right button width COMBO_BUTTON_SPACING, // ComboBox button separation }
ComboBox
GuiControl ¶
GuiControl :: enum i32 { // Default -> populates to all controls when set DEFAULT = 0, // Basic controls LABEL, // Used also for: LABELBUTTON BUTTON, TOGGLE, // Used also for: TOGGLEGROUP SLIDER, // Used also for: SLIDERBAR PROGRESSBAR, CHECKBOX, COMBOBOX, DROPDOWNBOX, TEXTBOX, // Used also for: TEXTBOXMULTI VALUEBOX, SPINNER, // Uses: BUTTON, VALUEBOX LISTVIEW, COLORPICKER, SCROLLBAR, STATUSBAR, }
Gui controls
GuiControlProperty ¶
GuiControlProperty :: enum i32 { BORDER_COLOR_NORMAL = 0, BASE_COLOR_NORMAL, TEXT_COLOR_NORMAL, BORDER_COLOR_FOCUSED, BASE_COLOR_FOCUSED, TEXT_COLOR_FOCUSED, BORDER_COLOR_PRESSED, BASE_COLOR_PRESSED, TEXT_COLOR_PRESSED, BORDER_COLOR_DISABLED, BASE_COLOR_DISABLED, TEXT_COLOR_DISABLED, BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT, RESERVED, }
Gui base properties for every control NOTE: RAYGUI_MAX_PROPS_BASE properties (by default 16 properties)
GuiDefaultProperty ¶
GuiDefaultProperty :: enum i32 { TEXT_SIZE = 16, // Text size (glyphs max height) TEXT_SPACING, // Text spacing between glyphs LINE_COLOR, // Line control color BACKGROUND_COLOR, // Background color TEXT_LINE_SPACING, // Text spacing between lines }
DEFAULT extended properties NOTE: Those properties are common to all controls or global
GuiDropdownBoxProperty ¶
GuiDropdownBoxProperty :: enum i32 { ARROW_PADDING = 16, // DropdownBox arrow separation from border and items DROPDOWN_ITEMS_SPACING, // DropdownBox items separation }
DropdownBox
GuiIconName ¶
GuiIconName :: enum i32 { ICON_NONE = 0, ICON_FOLDER_FILE_OPEN = 1, ICON_FILE_SAVE_CLASSIC = 2, ICON_FOLDER_OPEN = 3, ICON_FOLDER_SAVE = 4, ICON_FILE_OPEN = 5, ICON_FILE_SAVE = 6, ICON_FILE_EXPORT = 7, ICON_FILE_ADD = 8, ICON_FILE_DELETE = 9, ICON_FILETYPE_TEXT = 10, ICON_FILETYPE_AUDIO = 11, ICON_FILETYPE_IMAGE = 12, ICON_FILETYPE_PLAY = 13, ICON_FILETYPE_VIDEO = 14, ICON_FILETYPE_INFO = 15, ICON_FILE_COPY = 16, ICON_FILE_CUT = 17, ICON_FILE_PASTE = 18, ICON_CURSOR_HAND = 19, ICON_CURSOR_POINTER = 20, ICON_CURSOR_CLASSIC = 21, ICON_PENCIL = 22, ICON_PENCIL_BIG = 23, ICON_BRUSH_CLASSIC = 24, ICON_BRUSH_PAINTER = 25, ICON_WATER_DROP = 26, ICON_COLOR_PICKER = 27, ICON_RUBBER = 28, ICON_COLOR_BUCKET = 29, ICON_TEXT_T = 30, ICON_TEXT_A = 31, ICON_SCALE = 32, ICON_RESIZE = 33, ICON_FILTER_POINT = 34, ICON_FILTER_BILINEAR = 35, ICON_CROP = 36, ICON_CROP_ALPHA = 37, ICON_SQUARE_TOGGLE = 38, ICON_SYMMETRY = 39, ICON_SYMMETRY_HORIZONTAL = 40, ICON_SYMMETRY_VERTICAL = 41, ICON_LENS = 42, ICON_LENS_BIG = 43, ICON_EYE_ON = 44, ICON_EYE_OFF = 45, ICON_FILTER_TOP = 46, ICON_FILTER = 47, ICON_TARGET_POINT = 48, ICON_TARGET_SMALL = 49, ICON_TARGET_BIG = 50, ICON_TARGET_MOVE = 51, ICON_CURSOR_MOVE = 52, ICON_CURSOR_SCALE = 53, ICON_CURSOR_SCALE_RIGHT = 54, ICON_CURSOR_SCALE_LEFT = 55, ICON_UNDO = 56, ICON_REDO = 57, ICON_REREDO = 58, ICON_MUTATE = 59, ICON_ROTATE = 60, ICON_REPEAT = 61, ICON_SHUFFLE = 62, ICON_EMPTYBOX = 63, ICON_TARGET = 64, ICON_TARGET_SMALL_FILL = 65, ICON_TARGET_BIG_FILL = 66, ICON_TARGET_MOVE_FILL = 67, ICON_CURSOR_MOVE_FILL = 68, ICON_CURSOR_SCALE_FILL = 69, ICON_CURSOR_SCALE_RIGHT_FILL = 70, ICON_CURSOR_SCALE_LEFT_FILL = 71, ICON_UNDO_FILL = 72, ICON_REDO_FILL = 73, ICON_REREDO_FILL = 74, ICON_MUTATE_FILL = 75, ICON_ROTATE_FILL = 76, ICON_REPEAT_FILL = 77, ICON_SHUFFLE_FILL = 78, ICON_EMPTYBOX_SMALL = 79, ICON_BOX = 80, ICON_BOX_TOP = 81, ICON_BOX_TOP_RIGHT = 82, ICON_BOX_RIGHT = 83, ICON_BOX_BOTTOM_RIGHT = 84, ICON_BOX_BOTTOM = 85, ICON_BOX_BOTTOM_LEFT = 86, ICON_BOX_LEFT = 87, ICON_BOX_TOP_LEFT = 88, ICON_BOX_CENTER = 89, ICON_BOX_CIRCLE_MASK = 90, ICON_POT = 91, ICON_ALPHA_MULTIPLY = 92, ICON_ALPHA_CLEAR = 93, ICON_DITHERING = 94, ICON_MIPMAPS = 95, ICON_BOX_GRID = 96, ICON_GRID = 97, ICON_BOX_CORNERS_SMALL = 98, ICON_BOX_CORNERS_BIG = 99, ICON_FOUR_BOXES = 100, ICON_GRID_FILL = 101, ICON_BOX_MULTISIZE = 102, ICON_ZOOM_SMALL = 103, ICON_ZOOM_MEDIUM = 104, ICON_ZOOM_BIG = 105, ICON_ZOOM_ALL = 106, ICON_ZOOM_CENTER = 107, ICON_BOX_DOTS_SMALL = 108, ICON_BOX_DOTS_BIG = 109, ICON_BOX_CONCENTRIC = 110, ICON_BOX_GRID_BIG = 111, ICON_OK_TICK = 112, ICON_CROSS = 113, ICON_ARROW_LEFT = 114, ICON_ARROW_RIGHT = 115, ICON_ARROW_DOWN = 116, ICON_ARROW_UP = 117, ICON_ARROW_LEFT_FILL = 118, ICON_ARROW_RIGHT_FILL = 119, ICON_ARROW_DOWN_FILL = 120, ICON_ARROW_UP_FILL = 121, ICON_AUDIO = 122, ICON_FX = 123, ICON_WAVE = 124, ICON_WAVE_SINUS = 125, ICON_WAVE_SQUARE = 126, ICON_WAVE_TRIANGULAR = 127, ICON_CROSS_SMALL = 128, ICON_PLAYER_PREVIOUS = 129, ICON_PLAYER_PLAY_BACK = 130, ICON_PLAYER_PLAY = 131, ICON_PLAYER_PAUSE = 132, ICON_PLAYER_STOP = 133, ICON_PLAYER_NEXT = 134, ICON_PLAYER_RECORD = 135, ICON_MAGNET = 136, ICON_LOCK_CLOSE = 137, ICON_LOCK_OPEN = 138, ICON_CLOCK = 139, ICON_TOOLS = 140, ICON_GEAR = 141, ICON_GEAR_BIG = 142, ICON_BIN = 143, ICON_HAND_POINTER = 144, ICON_LASER = 145, ICON_COIN = 146, ICON_EXPLOSION = 147, ICON_1UP = 148, ICON_PLAYER = 149, ICON_PLAYER_JUMP = 150, ICON_KEY = 151, ICON_DEMON = 152, ICON_TEXT_POPUP = 153, ICON_GEAR_EX = 154, ICON_CRACK = 155, ICON_CRACK_POINTS = 156, ICON_STAR = 157, ICON_DOOR = 158, ICON_EXIT = 159, ICON_MODE_2D = 160, ICON_MODE_3D = 161, ICON_CUBE = 162, ICON_CUBE_FACE_TOP = 163, ICON_CUBE_FACE_LEFT = 164, ICON_CUBE_FACE_FRONT = 165, ICON_CUBE_FACE_BOTTOM = 166, ICON_CUBE_FACE_RIGHT = 167, ICON_CUBE_FACE_BACK = 168, ICON_CAMERA = 169, ICON_SPECIAL = 170, ICON_LINK_NET = 171, ICON_LINK_BOXES = 172, ICON_LINK_MULTI = 173, ICON_LINK = 174, ICON_LINK_BROKE = 175, ICON_TEXT_NOTES = 176, ICON_NOTEBOOK = 177, ICON_SUITCASE = 178, ICON_SUITCASE_ZIP = 179, ICON_MAILBOX = 180, ICON_MONITOR = 181, ICON_PRINTER = 182, ICON_PHOTO_CAMERA = 183, ICON_PHOTO_CAMERA_FLASH = 184, ICON_HOUSE = 185, ICON_HEART = 186, ICON_CORNER = 187, ICON_VERTICAL_BARS = 188, ICON_VERTICAL_BARS_FILL = 189, ICON_LIFE_BARS = 190, ICON_INFO = 191, ICON_CROSSLINE = 192, ICON_HELP = 193, ICON_FILETYPE_ALPHA = 194, ICON_FILETYPE_HOME = 195, ICON_LAYERS_VISIBLE = 196, ICON_LAYERS = 197, ICON_WINDOW = 198, ICON_HIDPI = 199, ICON_FILETYPE_BINARY = 200, ICON_HEX = 201, ICON_SHIELD = 202, ICON_FILE_NEW = 203, ICON_FOLDER_ADD = 204, ICON_ALARM = 205, ICON_CPU = 206, ICON_ROM = 207, ICON_STEP_OVER = 208, ICON_STEP_INTO = 209, ICON_STEP_OUT = 210, ICON_RESTART = 211, ICON_BREAKPOINT_ON = 212, ICON_BREAKPOINT_OFF = 213, ICON_BURGER_MENU = 214, ICON_CASE_SENSITIVE = 215, ICON_REG_EXP = 216, ICON_FOLDER = 217, ICON_FILE = 218, ICON_SAND_TIMER = 219, ICON_220 = 220, ICON_221 = 221, ICON_222 = 222, ICON_223 = 223, ICON_224 = 224, ICON_225 = 225, ICON_226 = 226, ICON_227 = 227, ICON_228 = 228, ICON_229 = 229, ICON_230 = 230, ICON_231 = 231, ICON_232 = 232, ICON_233 = 233, ICON_234 = 234, ICON_235 = 235, ICON_236 = 236, ICON_237 = 237, ICON_238 = 238, ICON_239 = 239, ICON_240 = 240, ICON_241 = 241, ICON_242 = 242, ICON_243 = 243, ICON_244 = 244, ICON_245 = 245, ICON_246 = 246, ICON_247 = 247, ICON_248 = 248, ICON_249 = 249, ICON_250 = 250, ICON_251 = 251, ICON_252 = 252, ICON_253 = 253, ICON_254 = 254, ICON_255 = 255, }
---------------------------------------------------------------------------------- Icons enumeration ----------------------------------------------------------------------------------
GuiListViewProperty ¶
GuiListViewProperty :: enum i32 { LIST_ITEMS_HEIGHT = 16, // ListView items height LIST_ITEMS_SPACING, // ListView items separation SCROLLBAR_WIDTH, // ListView scrollbar size (usually width) SCROLLBAR_SIDE, // ListView scrollbar side (0-left, 1-right) }
ListView
GuiProgressBarProperty ¶
GuiProgressBarProperty :: enum i32 { PROGRESS_PADDING = 16, // ProgressBar internal padding }
ProgressBar
GuiScrollBarProperty ¶
GuiScrollBarProperty :: enum i32 { ARROWS_SIZE = 16, ARROWS_VISIBLE, SCROLL_SLIDER_PADDING, // (SLIDERBAR, SLIDER_PADDING) SCROLL_SLIDER_SIZE, SCROLL_PADDING, SCROLL_SPEED, }
ScrollBar
GuiSliderProperty ¶
GuiSliderProperty :: enum i32 { SLIDER_WIDTH = 16, // Slider size of internal bar SLIDER_PADDING, // Slider/SliderBar internal bar padding }
Slider/SliderBar
GuiSpinnerProperty ¶
GuiSpinnerProperty :: enum i32 { SPIN_BUTTON_WIDTH = 16, // Spinner left/right buttons width SPIN_BUTTON_SPACING, // Spinner buttons separation }
Spinner
GuiState ¶
GuiState :: enum i32 { STATE_NORMAL = 0, STATE_FOCUSED, STATE_PRESSED, STATE_DISABLED, }
Gui control state
GuiStyleProp ¶
Style property
GuiTextAlignment ¶
GuiTextAlignment :: enum i32 { TEXT_ALIGN_LEFT = 0, TEXT_ALIGN_CENTER, TEXT_ALIGN_RIGHT, }
Gui control text alignment
GuiTextBoxProperty ¶
GuiTextBoxProperty :: enum i32 { TEXT_INNER_PADDING = 16, // TextBox/TextBoxMulti/ValueBox/Spinner inner text padding TEXT_LINES_SPACING, // TextBoxMulti lines separation TEXT_ALIGNMENT_VERTICAL, // TextBoxMulti vertical alignment: 0-CENTERED, 1-UP, 2-DOWN TEXT_MULTILINE, // TextBox supports multiple lines TEXT_WRAP_MODE, // TextBox wrap mode for multiline: 0-NO_WRAP, 1-CHAR_WRAP, 2-WORD_WRAP }
TextBox/TextBoxMulti/ValueBox/Spinner
GuiToggleProperty ¶
GuiToggleProperty :: enum i32 { GROUP_PADDING = 16, // ToggleGroup separation between toggles }
Toggle/ToggleGroup
Image ¶
Image :: struct { data: rawptr, // Image raw data width: i32, // Image base width height: i32, // Image base height mipmaps: i32, // Mipmap levels, 1 by default format: PixelFormat, }
Image type, bpp always RGBA (32bit) NOTE: Data stored in CPU memory (RAM)
Related Procedures With Parameters
- ExportImage
- ExportImageAsCode
- GenMeshCubicmap
- GenMeshHeightmap
- GetImageAlphaBorder
- GetImageColor
- ImageAlphaClear
- ImageAlphaCrop
- ImageAlphaMask
- ImageAlphaPremultiply
- ImageBlurGaussian
- ImageClearBackground
- ImageColorBrightness
- ImageColorContrast
- ImageColorGrayscale
- ImageColorInvert
- ImageColorReplace
- ImageColorTint
- ImageCopy
- ImageCrop
- ImageDither
- ImageDraw
- ImageDrawCircle
- ImageDrawCircleLines
- ImageDrawCircleLinesV
- ImageDrawCircleV
- ImageDrawLine
- ImageDrawLineV
- ImageDrawPixel
- ImageDrawPixelV
- ImageDrawRectangle
- ImageDrawRectangleLines
- ImageDrawRectangleRec
- ImageDrawRectangleV
- ImageDrawText
- ImageDrawTextEx
- ImageFlipHorizontal
- ImageFlipVertical
- ImageFormat
- ImageFromImage
- ImageMipmaps
- ImageResize
- ImageResizeCanvas
- ImageResizeNN
- ImageRotateCCW
- ImageRotateCW
- ImageToPOT
- IsImageReady
- LoadFontFromImage
- LoadImageColors
- LoadImagePalette
- LoadTextureCubemap
- LoadTextureFromImage
- SetWindowIcon
- UnloadImage
Related Procedures With Returns
KeyboardKey ¶
KeyboardKey :: enum i32 { KEY_NULL = 0, // Key: NULL, used for no key pressed // Alphanumeric keys APOSTROPHE = 39, // Key: ' COMMA = 44, // Key: , MINUS = 45, // Key: - PERIOD = 46, // Key: . SLASH = 47, // Key: / ZERO = 48, // Key: 0 ONE = 49, // Key: 1 TWO = 50, // Key: 2 THREE = 51, // Key: 3 FOUR = 52, // Key: 4 FIVE = 53, // Key: 5 SIX = 54, // Key: 6 SEVEN = 55, // Key: 7 EIGHT = 56, // Key: 8 NINE = 57, // Key: 9 SEMICOLON = 59, // Key: ; EQUAL = 61, // Key: = A = 65, // Key: A | a B = 66, // Key: B | b C = 67, // Key: C | c D = 68, // Key: D | d E = 69, // Key: E | e F = 70, // Key: F | f G = 71, // Key: G | g H = 72, // Key: H | h I = 73, // Key: I | i J = 74, // Key: J | j K = 75, // Key: K | k L = 76, // Key: L | l M = 77, // Key: M | m N = 78, // Key: N | n O = 79, // Key: O | o P = 80, // Key: P | p Q = 81, // Key: Q | q R = 82, // Key: R | r S = 83, // Key: S | s T = 84, // Key: T | t U = 85, // Key: U | u V = 86, // Key: V | v W = 87, // Key: W | w X = 88, // Key: X | x Y = 89, // Key: Y | y Z = 90, // Key: Z | z LEFT_BRACKET = 91, // Key: [ BACKSLASH = 92, // Key: '\' RIGHT_BRACKET = 93, // Key: ] GRAVE = 96, // Key: ` // Function keys SPACE = 32, // Key: Space ESCAPE = 256, // Key: Esc ENTER = 257, // Key: Enter TAB = 258, // Key: Tab BACKSPACE = 259, // Key: Backspace INSERT = 260, // Key: Ins DELETE = 261, // Key: Del RIGHT = 262, // Key: Cursor right LEFT = 263, // Key: Cursor left DOWN = 264, // Key: Cursor down UP = 265, // Key: Cursor up PAGE_UP = 266, // Key: Page up PAGE_DOWN = 267, // Key: Page down HOME = 268, // Key: Home END = 269, // Key: End CAPS_LOCK = 280, // Key: Caps lock SCROLL_LOCK = 281, // Key: Scroll down NUM_LOCK = 282, // Key: Num lock PRINT_SCREEN = 283, // Key: Print screen PAUSE = 284, // Key: Pause F1 = 290, // Key: F1 F2 = 291, // Key: F2 F3 = 292, // Key: F3 F4 = 293, // Key: F4 F5 = 294, // Key: F5 F6 = 295, // Key: F6 F7 = 296, // Key: F7 F8 = 297, // Key: F8 F9 = 298, // Key: F9 F10 = 299, // Key: F10 F11 = 300, // Key: F11 F12 = 301, // Key: F12 LEFT_SHIFT = 340, // Key: Shift left LEFT_CONTROL = 341, // Key: Control left LEFT_ALT = 342, // Key: Alt left LEFT_SUPER = 343, // Key: Super left RIGHT_SHIFT = 344, // Key: Shift right RIGHT_CONTROL = 345, // Key: Control right RIGHT_ALT = 346, // Key: Alt right RIGHT_SUPER = 347, // Key: Super right KB_MENU = 348, // Key: KB menu // Keypad keys KP_0 = 320, // Key: Keypad 0 KP_1 = 321, // Key: Keypad 1 KP_2 = 322, // Key: Keypad 2 KP_3 = 323, // Key: Keypad 3 KP_4 = 324, // Key: Keypad 4 KP_5 = 325, // Key: Keypad 5 KP_6 = 326, // Key: Keypad 6 KP_7 = 327, // Key: Keypad 7 KP_8 = 328, // Key: Keypad 8 KP_9 = 329, // Key: Keypad 9 KP_DECIMAL = 330, // Key: Keypad . KP_DIVIDE = 331, // Key: Keypad / KP_MULTIPLY = 332, // Key: Keypad * KP_SUBTRACT = 333, // Key: Keypad - KP_ADD = 334, // Key: Keypad + KP_ENTER = 335, // Key: Keypad Enter KP_EQUAL = 336, // Key: Keypad = // Android key buttons BACK = 4, // Key: Android back button MENU = 82, // Key: Android menu button VOLUME_UP = 24, // Key: Android volume up button VOLUME_DOWN = 25, // Key: Android volume down button }
Keyboard keys (US keyboard layout) NOTE: Use GetKeyPressed() to allow redefining required keys for alternative layouts
Related Procedures With Parameters
Related Procedures With Returns
Material ¶
Material :: struct { shader: Shader, // Material shader maps: [^]MaterialMap, // Material maps array (MAX_MATERIAL_MAPS) params: [4]f32, }
Material type (generic)
Related Procedures With Parameters
Related Procedures With Returns
MaterialMap ¶
MaterialMap :: struct { texture: Texture, // Material map texture color: Color, // Material map color value: f32, }
Material texture map
MaterialMapIndex ¶
MaterialMapIndex :: enum i32 { ALBEDO = 0, // Albedo material (same as: MATERIAL_MAP_DIFFUSE) METALNESS, // Metalness material (same as: MATERIAL_MAP_SPECULAR) NORMAL, // Normal material ROUGHNESS, // Roughness material OCCLUSION, // Ambient occlusion material EMISSION, // Emission material HEIGHT, // Heightmap material CUBEMAP, // Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP) IRRADIANCE, // Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP) PREFILTER, // Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP) BRDF, // Brdf material }
Material map index
Related Procedures With Parameters
Mesh ¶
Mesh :: struct { vertexCount: i32, // Number of vertices stored in arrays triangleCount: i32, // Default vertex data vertices: [^]f32, // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) texcoords: [^]f32, // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) texcoords2: [^]f32, // Vertex second texture coordinates (useful for lightmaps) (shader-location = 5) normals: [^]f32, // Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) tangents: [^]f32, // Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) colors: [^]u8, // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) indices: [^]u16, // Animation vertex data animVertices: [^]f32, // Animated vertex positions (after bones transformations) animNormals: [^]f32, // Animated normals (after bones transformations) boneIds: [^]u8, // Vertex bone ids, up to 4 bones influence by vertex (skinning) boneWeights: [^]f32, // OpenGL identifiers vaoId: u32, // OpenGL Vertex Array Object id vboId: [^]u32, }
Vertex data definning a mesh NOTE: Data stored in CPU memory (and GPU)
Related Procedures With Parameters
- DrawMesh
- DrawMeshInstanced
- ExportMesh
- GenMeshTangents
- GetMeshBoundingBox
- GetRayCollisionMesh
- LoadModelFromMesh
- UnloadMesh
- UpdateMeshBuffer
- UploadMesh
Related Procedures With Returns
Model ¶
Model :: struct { transform: linalg.Matrix4x4f32, // Local transform matrix meshCount: i32, // Number of meshes materialCount: i32, // Number of materials meshes: [^]Mesh, // Meshes array materials: [^]Material, // Materials array meshMaterial: [^]i32, // Animation data boneCount: i32, // Number of bones bones: [^]BoneInfo, // Bones information (skeleton) bindPose: [^]Transform, }
Model type
Related Procedures With Parameters
- DrawModel
- DrawModelEx
- DrawModelWires
- DrawModelWiresEx
- GetModelBoundingBox
- IsModelAnimationValid
- IsModelReady
- SetModelMeshMaterial
- UnloadModel
- UpdateModelAnimation
Related Procedures With Returns
ModelAnimation ¶
ModelAnimation :: struct { boneCount: i32, // Number of bones frameCount: i32, // Number of animation frames bones: [^]BoneInfo, // Bones information (skeleton) framePoses: [^][^]Transform, }
Model animation
Related Procedures With Parameters
MouseButton ¶
MouseButton :: enum i32 { LEFT = 0, // Mouse button left RIGHT = 1, // Mouse button right MIDDLE = 2, // Mouse button middle (pressed wheel) SIDE = 3, // Mouse button side (advanced mouse device) EXTRA = 4, // Mouse button extra (advanced mouse device) FORWARD = 5, // Mouse button fordward (advanced mouse device) BACK = 6, // Mouse button back (advanced mouse device) }
Mouse buttons
Related Procedures With Parameters
MouseCursor ¶
MouseCursor :: enum i32 { DEFAULT = 0, // Default pointer shape ARROW = 1, // Arrow shape IBEAM = 2, // Text writing cursor shape CROSSHAIR = 3, // Cross shape POINTING_HAND = 4, // Pointing hand cursor RESIZE_EW = 5, // Horizontal resize/move arrow shape RESIZE_NS = 6, // Vertical resize/move arrow shape RESIZE_NWSE = 7, // Top-left to bottom-right diagonal resize/move arrow shape RESIZE_NESW = 8, // The top-right to bottom-left diagonal resize/move arrow shape RESIZE_ALL = 9, // The omnidirectional resize/move cursor shape NOT_ALLOWED = 10, // The operation-not-allowed shape }
Mouse cursor
Related Procedures With Parameters
Music ¶
Music :: struct { using stream: AudioStream, // Audio stream frameCount: u32, // Total number of frames (considering channels) looping: bool, // Music looping enable ctxType: i32, // Type of music context (audio filetype) ctxData: rawptr, }
Music stream type (audio file streaming from memory) NOTE: Anything longer than ~10 seconds should be streamed
Related Procedures With Parameters
- GetMusicTimeLength
- GetMusicTimePlayed
- IsMusicReady
- IsMusicStreamPlaying
- PauseMusicStream
- PlayMusicStream
- ResumeMusicStream
- SeekMusicStream
- SetMusicPan
- SetMusicPitch
- SetMusicVolume
- StopMusicStream
- UnloadMusicStream
- UpdateMusicStream
Related Procedures With Returns
Procedures Through `using` From AudioStream
- AttachAudioStreamProcessor
- DetachAudioStreamProcessor
- IsAudioStreamPlaying
- IsAudioStreamProcessed
- IsAudioStreamReady
- PauseAudioStream
- PlayAudioStream
- ResumeAudioStream
- SetAudioStreamCallback
- SetAudioStreamPan
- SetAudioStreamPitch
- SetAudioStreamVolume
- StopAudioStream
- UnloadAudioStream
- UpdateAudioStream
NPatchInfo ¶
NPatchInfo :: struct { source: Rectangle, // Texture source rectangle left: i32, // Left border offset top: i32, // Top border offset right: i32, // Right border offset bottom: i32, // Bottom border offset layout: NPatchLayout, }
N-Patch layout info
Related Procedures With Parameters
NPatchLayout ¶
NPatchLayout :: enum i32 { NINE_PATCH = 0, // Npatch layout: 3x3 tiles THREE_PATCH_VERTICAL, // Npatch layout: 1x3 tiles THREE_PATCH_HORIZONTAL, // Npatch layout: 3x1 tiles }
N-patch layout
PixelFormat ¶
PixelFormat :: enum i32 { UNKNOWN = 0, UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha) UNCOMPRESSED_GRAY_ALPHA, // 8*2 bpp (2 channels) UNCOMPRESSED_R5G6B5, // 16 bpp UNCOMPRESSED_R8G8B8, // 24 bpp UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha) UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha) UNCOMPRESSED_R8G8B8A8, // 32 bpp UNCOMPRESSED_R32, // 32 bpp (1 channel - float) UNCOMPRESSED_R32G32B32, // 32*3 bpp (3 channels - float) UNCOMPRESSED_R32G32B32A32, // 32*4 bpp (4 channels - float) COMPRESSED_DXT1_RGB, // 4 bpp (no alpha) COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha) COMPRESSED_DXT3_RGBA, // 8 bpp COMPRESSED_DXT5_RGBA, // 8 bpp COMPRESSED_ETC1_RGB, // 4 bpp COMPRESSED_ETC2_RGB, // 4 bpp COMPRESSED_ETC2_EAC_RGBA, // 8 bpp COMPRESSED_PVRT_RGB, // 4 bpp COMPRESSED_PVRT_RGBA, // 4 bpp COMPRESSED_ASTC_4x4_RGBA, // 8 bpp COMPRESSED_ASTC_8x8_RGBA, // 2 bpp }
Pixel formats NOTE: Support depends on OpenGL version and platform
Related Procedures With Parameters
Ray ¶
Ray :: struct { position: linalg.Vector3f32, // Ray position (origin) direction: linalg.Vector3f32, }
Ray type (useful for raycast)
Related Procedures With Parameters
- DrawRay
- GetRayCollisionBox
- GetRayCollisionMesh
- GetRayCollisionQuad
- GetRayCollisionSphere
- GetRayCollisionTriangle
Related Procedures With Returns
RayCollision ¶
RayCollision :: struct { hit: bool, // Did the ray hit something? distance: f32, // Distance to nearest hit point: linalg.Vector3f32, // Point of nearest hit normal: linalg.Vector3f32, }
RayCollision, ray hit information
Related Procedures With Returns
Rectangle ¶
Rectangle :: struct { x: f32, // Rectangle top-left corner position x y: f32, // Rectangle top-left corner position y width: f32, // Rectangle width height: f32, }
Rectangle type
Related Procedures With Parameters
- CheckCollisionCircleRec
- CheckCollisionPointRec
- CheckCollisionRecs
- DrawBillboardPro
- DrawBillboardRec
- DrawRectangleGradientEx
- DrawRectangleLinesEx
- DrawRectanglePro
- DrawRectangleRec
- DrawRectangleRounded
- DrawRectangleRoundedLines
- DrawTextureNPatch
- DrawTexturePro
- DrawTextureRec
- GetCollisionRec
- GuiButton
- GuiCheckBox
- GuiColorBarAlpha
- GuiColorBarHue
- GuiColorPanel
- GuiColorPanelHSV
- GuiColorPicker
- GuiColorPickerHSV
- GuiComboBox
- GuiDropdownBox
- GuiDummyRec
- GuiGrid
- GuiGroupBox
- GuiLabel
- GuiLabelButton
- GuiLine
- GuiListView
- GuiListViewEx
- GuiMessageBox
- GuiPanel
- GuiProgressBar
- GuiScrollPanel
- GuiSlider
- GuiSliderBar
- GuiSpinner
- GuiStatusBar
- GuiTabBar
- GuiTextBox
- GuiTextInputBox
- GuiToggle
- GuiToggleGroup
- GuiValueBox
- GuiWindowBox
- ImageCrop
- ImageDraw
- ImageDrawRectangleLines
- ImageDrawRectangleRec
- ImageFromImage
- SetShapesTexture
- UpdateTextureRec
Related Procedures With Returns
RenderBatch ¶
RenderBatch :: struct { bufferCount: i32, // Number of vertex buffers (multi-buffering support) currentBuffer: i32, // Current buffer tracking in case of multi-buffering vertexBuffer: [^]VertexBuffer, // Dynamic buffer(s) for vertex data draws: [^]DrawCall, // Draw calls array, depends on textureId drawCounter: i32, // Draw calls counter currentDepth: f32, }
RenderBatch type
Related Procedures With Parameters
Related Procedures With Returns
RenderTexture ¶
RenderTexture :: struct { id: u32, // OpenGL framebuffer object id texture: Texture, // Color buffer attachment texture depth: Texture, }
RenderTexture type, for texture rendering
Related Procedures With Parameters
Related Procedures With Returns
Shader ¶
Shader type (generic)
Related Procedures With Parameters
- BeginShaderMode
- GetShaderLocation
- GetShaderLocationAttrib
- IsShaderReady
- SetShaderValue
- SetShaderValueMatrix
- SetShaderValueTexture
- SetShaderValueV
- UnloadShader
Related Procedures With Returns
ShaderAttributeDataType ¶
ShaderAttributeDataType :: enum i32 { FLOAT = 0, // Shader attribute type: float VEC2, // Shader attribute type: vec2 (2 float) VEC3, // Shader attribute type: vec3 (3 float) VEC4, // Shader attribute type: vec4 (4 float) }
Shader attribute data types
ShaderLocationIndex ¶
ShaderLocationIndex :: enum i32 { VERTEX_POSITION = 0, // Shader location: vertex attribute: position VERTEX_TEXCOORD01, // Shader location: vertex attribute: texcoord01 VERTEX_TEXCOORD02, // Shader location: vertex attribute: texcoord02 VERTEX_NORMAL, // Shader location: vertex attribute: normal VERTEX_TANGENT, // Shader location: vertex attribute: tangent VERTEX_COLOR, // Shader location: vertex attribute: color MATRIX_MVP, // Shader location: matrix uniform: model-view-projection MATRIX_VIEW, // Shader location: matrix uniform: view (camera transform) MATRIX_PROJECTION, // Shader location: matrix uniform: projection MATRIX_MODEL, // Shader location: matrix uniform: model (transform) MATRIX_NORMAL, // Shader location: matrix uniform: normal VECTOR_VIEW, // Shader location: vector uniform: view COLOR_DIFFUSE, // Shader location: vector uniform: diffuse color COLOR_SPECULAR, // Shader location: vector uniform: specular color COLOR_AMBIENT, // Shader location: vector uniform: ambient color MAP_ALBEDO, // Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE) MAP_METALNESS, // Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR) MAP_NORMAL, // Shader location: sampler2d texture: normal MAP_ROUGHNESS, // Shader location: sampler2d texture: roughness MAP_OCCLUSION, // Shader location: sampler2d texture: occlusion MAP_EMISSION, // Shader location: sampler2d texture: emission MAP_HEIGHT, // Shader location: sampler2d texture: height MAP_CUBEMAP, // Shader location: samplerCube texture: cubemap MAP_IRRADIANCE, // Shader location: samplerCube texture: irradiance MAP_PREFILTER, // Shader location: samplerCube texture: prefilter MAP_BRDF, // Shader location: sampler2d texture: brdf }
Shader location index
Related Procedures With Parameters
ShaderUniformDataType ¶
ShaderUniformDataType :: enum i32 { FLOAT = 0, // Shader uniform type: float VEC2, // Shader uniform type: vec2 (2 float) VEC3, // Shader uniform type: vec3 (3 float) VEC4, // Shader uniform type: vec4 (4 float) INT, // Shader uniform type: int IVEC2, // Shader uniform type: ivec2 (2 int) IVEC3, // Shader uniform type: ivec3 (3 int) IVEC4, // Shader uniform type: ivec4 (4 int) SAMPLER2D, // Shader uniform type: sampler2d }
Shader uniform data type
Related Procedures With Parameters
Sound ¶
Sound :: struct { using stream: AudioStream, // Audio stream frameCount: u32, }
Sound source type
Related Procedures With Parameters
- IsSoundPlaying
- IsSoundReady
- PauseSound
- PlaySound
- ResumeSound
- SetSoundPan
- SetSoundPitch
- SetSoundVolume
- StopSound
- UnloadSound
- UpdateSound
Related Procedures With Returns
Procedures Through `using` From AudioStream
- AttachAudioStreamProcessor
- DetachAudioStreamProcessor
- IsAudioStreamPlaying
- IsAudioStreamProcessed
- IsAudioStreamReady
- PauseAudioStream
- PlayAudioStream
- ResumeAudioStream
- SetAudioStreamCallback
- SetAudioStreamPan
- SetAudioStreamPitch
- SetAudioStreamVolume
- StopAudioStream
- UnloadAudioStream
- UpdateAudioStream
Texture ¶
Texture :: struct { id: u32, // OpenGL texture id width: i32, // Texture base width height: i32, // Texture base height mipmaps: i32, // Mipmap levels, 1 by default format: PixelFormat, }
Texture type NOTE: Data stored in GPU memory
Related Procedures With Parameters
- DrawBillboard
- DrawBillboardPro
- DrawBillboardRec
- DrawTexture
- DrawTextureEx
- DrawTextureNPatch
- DrawTexturePro
- DrawTextureRec
- DrawTextureV
- GenTextureMipmaps
- IsTextureReady
- LoadImageFromTexture
- SetMaterialTexture
- SetShaderValueTexture
- SetShapesTexture
- SetTextureFilter
- SetTextureWrap
- UnloadTexture
- UpdateTexture
- UpdateTextureRec
Related Procedures With Returns
TextureFilter ¶
TextureFilter :: enum i32 { POINT = 0, // No filter, just pixel approximation BILINEAR, // Linear filtering TRILINEAR, // Trilinear filtering (linear with mipmaps) ANISOTROPIC_4X, // Anisotropic filtering 4x ANISOTROPIC_8X, // Anisotropic filtering 8x ANISOTROPIC_16X, // Anisotropic filtering 16x }
Texture parameters: filter mode NOTE 1: Filtering considers mipmaps if available in the texture NOTE 2: Filter is accordingly set for minification and magnification
Related Procedures With Parameters
TextureWrap ¶
TextureWrap :: enum i32 { REPEAT = 0, // Repeats texture in tiled mode CLAMP, // Clamps texture to edge pixel in tiled mode MIRROR_REPEAT, // Mirrors and repeats the texture in tiled mode MIRROR_CLAMP, // Mirrors and clamps to border the texture in tiled mode }
Texture parameters: wrap mode
Related Procedures With Parameters
TraceLogCallback ¶
TraceLogCallback :: proc "c" (logLevel: TraceLogLevel, text: cstring, args: libc.va_list)
Callbacks to hook some internal functions WARNING: This callbacks are intended for advance users
Related Procedures With Parameters
TraceLogLevel ¶
TraceLogLevel :: enum i32 { ALL = 0, // Display all logs TRACE, // Trace logging, intended for internal use only DEBUG, // Debug logging, used for internal debugging, it should be disabled on release builds INFO, // Info logging, used for program execution info WARNING, // Warning logging, used on recoverable failures ERROR, // Error logging, used on unrecoverable failures FATAL, // Fatal logging, used to abort program: exit(EXIT_FAILURE) NONE, // Disable logging }
Trace log level
Related Procedures With Parameters
Transform ¶
Transform :: struct { translation: linalg.Vector3f32, // Translation rotation: linalg.Quaternionf32, // Rotation scale: linalg.Vector3f32, }
Transformation properties
VertexBuffer ¶
VertexBuffer :: struct { elementCount: i32, // Number of elements in the buffer (QUADS) vertices: [^]f32, // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) texcoords: [^]f32, // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) colors: [^]u8, // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) indices: [^]u32, // Vertex indices (in case vertex data comes indexed) (6 indices per quad) vaoId: u32, // OpenGL Vertex Array Object id vboId: [4]u32, }
Dynamic vertex buffers (position + texcoords + colors + indices arrays)
VertexBufferIndexType ¶
VertexBufferIndexType :: u32
VrDeviceInfo ¶
VrDeviceInfo :: struct { hResolution: i32, // Horizontal resolution in pixels vResolution: i32, // Vertical resolution in pixels hScreenSize: f32, // Horizontal size in meters vScreenSize: f32, // Vertical size in meters vScreenCenter: f32, // Screen center in meters eyeToScreenDistance: f32, // Distance between eye and display in meters lensSeparationDistance: f32, // Lens separation distance in meters interpupillaryDistance: f32, // IPD (distance between pupils) in meters lensDistortionValues: [4]f32, // Lens distortion constant parameters chromaAbCorrection: [4]f32, }
Head-Mounted-Display device parameters
Related Procedures With Parameters
VrStereoConfig ¶
VrStereoConfig :: struct { projection: [2]linalg.Matrix4x4f32, // VR projection matrices (per eye) viewOffset: [2]linalg.Matrix4x4f32, // VR view offset matrices (per eye) leftLensCenter: [2]f32, // VR left lens center rightLensCenter: [2]f32, // VR right lens center leftScreenCenter: [2]f32, // VR left screen center rightScreenCenter: [2]f32, // VR right screen center scale: [2]f32, // VR distortion scale scaleIn: [2]f32, }
VR Stereo rendering configuration for simulator
Related Procedures With Parameters
Related Procedures With Returns
Wave ¶
Wave :: struct { frameCount: u32, // Total number of frames (considering channels) sampleRate: u32, // Frequency (samples per second) sampleSize: u32, // Bit depth (bits per sample): 8, 16, 32 (24 not supported) channels: u32, // Number of channels (1-mono, 2-stereo) data: rawptr, }
Wave type, defines audio wave data
Related Procedures With Parameters
- ExportWave
- ExportWaveAsCode
- IsWaveReady
- LoadSoundFromWave
- LoadWaveSamples
- UnloadWave
- WaveCopy
- WaveCrop
- WaveFormat
Related Procedures With Returns
Constants
LIGHTGRAY ¶
LIGHTGRAY :: Color{200, 200, 200, 255}
Some Basic Colors NOTE: Custom raylib color palette for amazing visuals on WHITE background
MAX_TEXTFORMAT_BUFFERS ¶
MAX_TEXTFORMAT_BUFFERS :: #config(RAYLIB_MAX_TEXTFORMAT_BUFFERS, 4)
MAX_TEXT_BUFFER_LENGTH ¶
MAX_TEXT_BUFFER_LENGTH :: #config(RAYLIB_MAX_TEXT_BUFFER_LENGTH, 1024)
RAYGUI_VERSION ¶
RAYGUI_VERSION :: "4.0"
RL_BLEND_EQUATION_RGB ¶
RL_BLEND_EQUATION_RGB :: 0x8009
GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)
RL_DEFAULT_BATCH_BUFFERS ¶
RL_DEFAULT_BATCH_BUFFERS :: 1
Default number of batch buffers (multi-buffering)
RL_DEFAULT_BATCH_BUFFER_ELEMENTS ¶
RL_DEFAULT_BATCH_BUFFER_ELEMENTS :: 8192
This is the maximum amount of elements (quads) per batch NOTE: Be careful with text, every letter maps to a quad
RL_DEFAULT_BATCH_DRAWCALLS ¶
RL_DEFAULT_BATCH_DRAWCALLS :: 256
Default number of batch draw calls (by state changes: mode, texture)
RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS ¶
RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS :: 4
Maximum number of additional textures that can be activated on batch drawing (SetShaderValueTexture())
RL_GRAPHICS_API_OPENGL_11 ¶
RL_GRAPHICS_API_OPENGL_11 :: false
RL_GRAPHICS_API_OPENGL_21 ¶
RL_GRAPHICS_API_OPENGL_21 :: true
RL_GRAPHICS_API_OPENGL_33 ¶
RL_GRAPHICS_API_OPENGL_33 :: RL_GRAPHICS_API_OPENGL_21
default currently
RL_GRAPHICS_API_OPENGL_43 ¶
RL_GRAPHICS_API_OPENGL_43 :: false
RL_GRAPHICS_API_OPENGL_ES2 ¶
RL_GRAPHICS_API_OPENGL_ES2 :: false
RL_TEXTURE_FILTER_ANISOTROPIC ¶
RL_TEXTURE_FILTER_ANISOTROPIC :: 0x3000
Anisotropic filter (custom identifier)
RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST ¶
RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST :: 0x2701
GL_LINEAR_MIPMAP_NEAREST
RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR ¶
RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR :: 0x2702
GL_NEAREST_MIPMAP_LINEAR
SCROLLBAR_LEFT_SIDE ¶
SCROLLBAR_LEFT_SIDE :: 0
SCROLLBAR_RIGHT_SIDE ¶
SCROLLBAR_RIGHT_SIDE :: 1
USE_LINALG ¶
USE_LINALG :: #config(RAYLIB_USE_LINALG, true)
Variables
This section is empty.
Procedures
AttachAudioMixedProcessor ¶
AttachAudioMixedProcessor :: proc "c" (processor: AudioCallback) ---
Attach audio stream processor to the entire audio pipeline
AttachAudioStreamProcessor ¶
AttachAudioStreamProcessor :: proc "c" (stream: AudioStream, processor: AudioCallback) ---
Attach audio stream processor to stream
BeginBlendMode ¶
BeginBlendMode :: proc "c" (mode: BlendMode) ---
Begin blending mode (alpha, additive, multiplied)
BeginMode2D ¶
BeginMode2D :: proc "c" (camera: Camera2D) ---
Initialize 2D mode with custom camera (2D)
BeginMode3D ¶
BeginMode3D :: proc "c" (camera: Camera3D) ---
Initializes 3D mode with custom camera (3D)
BeginScissorMode ¶
BeginScissorMode :: proc "c" (x, y, width, height: i32) ---
Begin scissor mode (define screen area for following drawing)
BeginTextureMode ¶
BeginTextureMode :: proc "c" (target: RenderTexture) ---
Initializes render texture for drawing
BeginVrStereoMode ¶
BeginVrStereoMode :: proc "c" (config: VrStereoConfig) ---
Begin stereo rendering (requires VR simulator)
ChangeDirectory ¶
Change working directory, return true on success
CheckCollisionBoxSphere ¶
CheckCollisionBoxSphere :: proc "c" (box: BoundingBox, center: linalg.Vector3f32, radius: f32) -> bool ---
Check collision between box and sphere
CheckCollisionBoxes ¶
CheckCollisionBoxes :: proc "c" (box1, box2: BoundingBox) -> bool ---
Check collision between two bounding boxes
CheckCollisionCircleRec ¶
CheckCollisionCircleRec :: proc "c" (center: linalg.Vector2f32, radius: f32, rec: Rectangle) -> bool ---
Check collision between circle and rectangle
CheckCollisionCircles ¶
CheckCollisionCircles :: proc "c" (center1: linalg.Vector2f32, radius1: f32, center2: linalg.Vector2f32, radius2: f32) -> bool ---
Check collision between two circles
CheckCollisionLines ¶
CheckCollisionLines :: proc "c" (startPos1, endPos1, startPos2, endPos2: linalg.Vector2f32, collisionPoint: [^]linalg.Vector2f32) -> bool ---
Check the collision between two lines defined by two points each, returns collision point by reference
CheckCollisionPointCircle ¶
CheckCollisionPointCircle :: proc "c" (point, center: linalg.Vector2f32, radius: f32) -> bool ---
Check if point is inside circle
CheckCollisionPointLine ¶
CheckCollisionPointLine :: proc "c" (point: linalg.Vector2f32, p1, p2: linalg.Vector2f32, threshold: i32) -> bool ---
Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]
CheckCollisionPointPoly ¶
CheckCollisionPointPoly :: proc "c" (point: linalg.Vector2f32, points: [^]linalg.Vector2f32, pointCount: i32) -> bool ---
Check if point is within a polygon described by array of vertices
CheckCollisionPointRec ¶
CheckCollisionPointRec :: proc "c" (point: linalg.Vector2f32, rec: Rectangle) -> bool ---
Check if point is inside rectangle
CheckCollisionPointTriangle ¶
CheckCollisionPointTriangle :: proc "c" (point: linalg.Vector2f32, p1, p2, p3: linalg.Vector2f32) -> bool ---
Check if point is inside a triangle
CheckCollisionRecs ¶
Basic shapes collision detection functions
CheckCollisionSpheres ¶
CheckCollisionSpheres :: proc "c" (center1: linalg.Vector3f32, radius1: f32, center2: linalg.Vector3f32, radius2: f32) -> bool ---
Check collision between two spheres
ClearBackground ¶
ClearBackground :: proc "c" (color: Color) ---
Set background color (framebuffer clear color)
ClearWindowState ¶
ClearWindowState :: proc "c" (flags: ConfigFlags) ---
Clear window configuration state flags
CodepointToUTF8 ¶
Encode one codepoint into UTF-8 byte array (array length returned as parameter)
ColorAlpha ¶
Get color with alpha applied, alpha goes from 0.0f to 1.0f
ColorAlphaBlend ¶
Get src alpha-blended into dst color with tint
ColorBrightness ¶
Get color with brightness correction, brightness factor goes from -1.0f to 1.0f
ColorContrast ¶
Get color with contrast correction, contrast values between -1.0f and 1.0f
ColorFromHSV ¶
Get a Color from HSV values, hue [0..360], saturation/value [0..1]
ColorFromNormalized ¶
ColorFromNormalized :: proc "c" (normalized: linalg.Vector4f32) -> Color ---
Get Color from normalized values [0..1]
ColorNormalize ¶
ColorNormalize :: proc "c" (color: Color) -> linalg.Vector4f32 ---
Get Color normalized as float [0..1]
ColorTint ¶
Get color multiplied with another color
ColorToHSV ¶
ColorToHSV :: proc "c" (color: Color) -> linalg.Vector3f32 ---
Get HSV values for a Color, hue [0..360], saturation/value [0..1]
ColorToInt ¶
Get hexadecimal value for a Color
CompressData ¶
Compress data (DEFLATE algorithm), memory must be MemFree()
DecodeDataBase64 ¶
Decode Base64 string data, memory must be MemFree()
DecompressData ¶
Decompress data (DEFLATE algorithm), memory must be MemFree()
DetachAudioMixedProcessor ¶
DetachAudioMixedProcessor :: proc "c" (processor: AudioCallback) ---
Detach audio stream processor from the entire audio pipeline
DetachAudioStreamProcessor ¶
DetachAudioStreamProcessor :: proc "c" (stream: AudioStream, processor: AudioCallback) ---
Detach audio stream processor from stream
DirectoryExists ¶
Check if a directory path exists
DisableEventWaiting ¶
DisableEventWaiting :: proc "c" () ---
Disable waiting for events on EndDrawing(), automatic events polling
DrawBillboard ¶
DrawBillboard :: proc "c" (camera: Camera3D, texture: Texture, position: linalg.Vector3f32, size: f32, tint: Color) ---
Draw a billboard texture
DrawBillboardPro ¶
DrawBillboardPro :: proc "c" ( camera: Camera3D, texture: Texture, source: Rectangle, position: linalg.Vector3f32, up: linalg.Vector3f32, size: linalg.Vector2f32, origin: linalg.Vector2f32, rotation: f32, tint: Color, ) ---
Draw a billboard texture defined by source and rotation
DrawBillboardRec ¶
DrawBillboardRec :: proc "c" ( camera: Camera3D, texture: Texture, source: Rectangle, position: linalg.Vector3f32, size: linalg.Vector2f32, tint: Color, ) ---
Draw a billboard texture defined by source
DrawBoundingBox ¶
DrawBoundingBox :: proc "c" (box: BoundingBox, color: Color) ---
Draw bounding box (wires)
DrawCapsule ¶
DrawCapsule :: proc "c" ( startPos, endPos: linalg.Vector3f32, radius: f32, slices, rings: i32, color: Color, ) ---
Draw a capsule with the center of its sphere caps at startPos and endPos
DrawCapsuleWires ¶
DrawCapsuleWires :: proc "c" ( startPos, endPos: linalg.Vector3f32, radius: f32, slices, rings: i32, color: Color, ) ---
Draw capsule wireframe with the center of its sphere caps at startPos and endPos
DrawCircle ¶
Draw a color-filled circle
DrawCircle3D ¶
DrawCircle3D :: proc "c" (center: linalg.Vector3f32, radius: f32, rotationAxis: linalg.Vector3f32, rotationAngle: f32, color: Color) ---
Draw a circle in 3D world space
DrawCircleGradient ¶
Draw a gradient-filled circle
DrawCircleLines ¶
Draw circle outline
DrawCircleSector ¶
DrawCircleSector :: proc "c" ( center: linalg.Vector2f32, radius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw a piece of a circle
DrawCircleSectorLines ¶
DrawCircleSectorLines :: proc "c" ( center: linalg.Vector2f32, radius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw circle sector outline
DrawCircleV ¶
DrawCircleV :: proc "c" (center: linalg.Vector2f32, radius: f32, color: Color) ---
Draw a color-filled circle (Vector version)
DrawCube ¶
DrawCube :: proc "c" (position: linalg.Vector3f32, width, height, length: f32, color: Color) ---
Draw cube
DrawCubeV ¶
DrawCubeV :: proc "c" (position: linalg.Vector3f32, size: linalg.Vector3f32, color: Color) ---
Draw cube (Vector version)
DrawCubeWires ¶
DrawCubeWires :: proc "c" (position: linalg.Vector3f32, width, height, length: f32, color: Color) ---
Draw cube wires
DrawCubeWiresV ¶
DrawCubeWiresV :: proc "c" (position: linalg.Vector3f32, size: linalg.Vector3f32, color: Color) ---
Draw cube wires (Vector version)
DrawCylinder ¶
DrawCylinder :: proc "c" ( position: linalg.Vector3f32, radiusTop, radiusBottom: f32, height: f32, slices: i32, color: Color, ) ---
Draw a cylinder/cone
DrawCylinderEx ¶
DrawCylinderEx :: proc "c" ( startPos, endPos: linalg.Vector3f32, startRadius, endRadius: f32, sides: i32, color: Color, ) ---
Draw a cylinder with base at startPos and top at endPos
DrawCylinderWires ¶
DrawCylinderWires :: proc "c" ( position: linalg.Vector3f32, radiusTop, radiusBottom: f32, height: f32, slices: i32, color: Color, ) ---
Draw a cylinder/cone wires
DrawCylinderWiresEx ¶
DrawCylinderWiresEx :: proc "c" ( startPos, endPos: linalg.Vector3f32, startRadius, endRadius: f32, sides: i32, color: Color, ) ---
Draw a cylinder wires with base at startPos and top at endPos
DrawEllipse ¶
Draw ellipse
DrawEllipseLines ¶
Draw ellipse outline
DrawGrid ¶
Draw a grid (centered at (0, 0, 0))
DrawLine ¶
Draw a line
DrawLine3D ¶
DrawLine3D :: proc "c" (startPos, endPos: linalg.Vector3f32, color: Color) ---
Draw a line in 3D world space
DrawLineBezier ¶
DrawLineBezier :: proc "c" (startPos, endPos: linalg.Vector2f32, thick: f32, color: Color) ---
Draw a line using cubic-bezier curves in-out
DrawLineBezierCubic ¶
DrawLineBezierCubic :: proc "c" ( startPos, endPos: linalg.Vector2f32, startControlPos, endControlPos: linalg.Vector2f32, thick: f32, color: Color, ) ---
Draw line using cubic bezier curves with 2 control points
DrawLineBezierQuad ¶
DrawLineBezierQuad :: proc "c" (startPos, endPos: linalg.Vector2f32, controlPos: linalg.Vector2f32, thick: f32, color: Color) ---
Draw line using quadratic bezier curves with a control point
DrawLineEx ¶
DrawLineEx :: proc "c" (startPos, endPos: linalg.Vector2f32, thick: f32, color: Color) ---
Draw a line defining thickness
DrawLineStrip ¶
DrawLineStrip :: proc "c" (points: [^]linalg.Vector2f32, pointCount: i32, color: Color) ---
Draw lines sequence
DrawLineV ¶
DrawLineV :: proc "c" (startPos, endPos: linalg.Vector2f32, color: Color) ---
Draw a line (Vector version)
DrawMesh ¶
DrawMesh :: proc "c" (mesh: Mesh, material: Material, transform: linalg.Matrix4x4f32) ---
Draw a 3d mesh with material and transform
DrawMeshInstanced ¶
DrawMeshInstanced :: proc "c" (mesh: Mesh, material: Material, transforms: [^]linalg.Matrix4x4f32, instances: i32) ---
Draw multiple mesh instances with material and different transforms
DrawModel ¶
DrawModel :: proc "c" (model: Model, position: linalg.Vector3f32, scale: f32, tint: Color) ---
Draw a model (with texture if set)
DrawModelEx ¶
DrawModelEx :: proc "c" ( model: Model, position: linalg.Vector3f32, rotationAxis: linalg.Vector3f32, rotationAngle: f32, scale: linalg.Vector3f32, tint: Color, ) ---
Draw a model with extended parameters
DrawModelWires ¶
DrawModelWires :: proc "c" (model: Model, position: linalg.Vector3f32, scale: f32, tint: Color) ---
Draw a model wires (with texture if set)
DrawModelWiresEx ¶
DrawModelWiresEx :: proc "c" ( model: Model, position: linalg.Vector3f32, rotationAxis: linalg.Vector3f32, rotationAngle: f32, scale: linalg.Vector3f32, tint: Color, ) ---
Draw a model wires (with texture if set) with extended parameters
DrawPixelV ¶
DrawPixelV :: proc "c" (position: linalg.Vector2f32, color: Color) ---
Draw a pixel (Vector version)
DrawPlane ¶
DrawPlane :: proc "c" (centerPos: linalg.Vector3f32, size: linalg.Vector2f32, color: Color) ---
Draw a plane XZ
DrawPoint3D ¶
DrawPoint3D :: proc "c" (position: linalg.Vector3f32, color: Color) ---
Draw a point in 3D space, actually a small line
DrawPoly ¶
DrawPoly :: proc "c" (center: linalg.Vector2f32, sides: i32, radius: f32, rotation: f32, color: Color) ---
Draw a regular polygon (Vector version)
DrawPolyLines ¶
DrawPolyLines :: proc "c" (center: linalg.Vector2f32, sides: i32, radius: f32, rotation: f32, color: Color) ---
Draw a polygon outline of n sides
DrawPolyLinesEx ¶
DrawPolyLinesEx :: proc "c" ( center: linalg.Vector2f32, sides: i32, radius: f32, rotation: f32, lineThick: f32, color: Color, ) ---
Draw a polygon outline of n sides with extended parameters
DrawRectangle ¶
Draw a color-filled rectangle
DrawRectangleGradientEx ¶
Draw a gradient-filled rectangle with custom vertex colors
DrawRectangleGradientH ¶
DrawRectangleGradientH :: proc "c" ( posX, posY: i32, width, height: i32, color1, color2: Color, ) ---
Draw a horizontal-gradient-filled rectangle
DrawRectangleGradientV ¶
DrawRectangleGradientV :: proc "c" ( posX, posY: i32, width, height: i32, color1, color2: Color, ) ---
Draw a vertical-gradient-filled rectangle
DrawRectangleLines ¶
Draw rectangle outline
DrawRectangleLinesEx ¶
Draw rectangle outline with extended parameters
DrawRectanglePro ¶
DrawRectanglePro :: proc "c" (rec: Rectangle, origin: linalg.Vector2f32, rotation: f32, color: Color) ---
Draw a color-filled rectangle with pro parameters
DrawRectangleRec ¶
Draw a color-filled rectangle
DrawRectangleRounded ¶
Draw rectangle with rounded edges
DrawRectangleRoundedLines ¶
DrawRectangleRoundedLines :: proc "c" (rec: Rectangle, roundness: f32, segments: i32, lineThick: f32, color: Color) ---
Draw rectangle with rounded edges outline
DrawRectangleV ¶
DrawRectangleV :: proc "c" (position: linalg.Vector2f32, size: linalg.Vector2f32, color: Color) ---
Draw a color-filled rectangle (Vector version)
DrawRing ¶
DrawRing :: proc "c" ( center: linalg.Vector2f32, innerRadius, outerRadius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw ring
DrawRingLines ¶
DrawRingLines :: proc "c" ( center: linalg.Vector2f32, innerRadius, outerRadius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw ring outline
DrawSphere ¶
DrawSphere :: proc "c" (centerPos: linalg.Vector3f32, radius: f32, color: Color) ---
Draw sphere
DrawSphereEx ¶
DrawSphereEx :: proc "c" (centerPos: linalg.Vector3f32, radius: f32, rings, slices: i32, color: Color) ---
Draw sphere with extended parameters
DrawSphereWires ¶
DrawSphereWires :: proc "c" (centerPos: linalg.Vector3f32, radius: f32, rings, slices: i32, color: Color) ---
Draw sphere wires
DrawText ¶
Draw text (using default font)
DrawTextCodepoint ¶
DrawTextCodepoint :: proc "c" (font: Font, codepoint: rune, position: linalg.Vector2f32, fontSize: f32, tint: Color) ---
Draw one character (codepoint)
DrawTextCodepoints ¶
DrawTextCodepoints :: proc "c" ( font: Font, codepoints: [^]rune, count: i32, position: linalg.Vector2f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw multiple character (codepoint)
DrawTextEx ¶
DrawTextEx :: proc "c" ( font: Font, text: cstring, position: linalg.Vector2f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw text using font and additional parameters
DrawTextPro ¶
DrawTextPro :: proc "c" ( font: Font, text: cstring, position, origin: linalg.Vector2f32, rotation: f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw text using Font and pro parameters (rotation)
DrawTexture ¶
Texture drawing functions
DrawTextureEx ¶
DrawTextureEx :: proc "c" (texture: Texture, position: linalg.Vector2f32, rotation: f32, scale: f32, tint: Color) ---
Draw a Texture2D with extended parameters
DrawTextureNPatch ¶
DrawTextureNPatch :: proc "c" ( texture: Texture, nPatchInfo: NPatchInfo, dest: Rectangle, origin: linalg.Vector2f32, rotation: f32, tint: Color, ) ---
Draws a texture (or part of it) that stretches or shrinks nicely
DrawTexturePro ¶
DrawTexturePro :: proc "c" ( texture: Texture, source, dest: Rectangle, origin: linalg.Vector2f32, rotation: f32, tint: Color, ) ---
Draw a part of a texture defined by a rectangle with 'pro' parameters
DrawTextureRec ¶
DrawTextureRec :: proc "c" (texture: Texture, source: Rectangle, position: linalg.Vector2f32, tint: Color) ---
Draw a part of a texture defined by a rectangle
DrawTextureV ¶
DrawTextureV :: proc "c" (texture: Texture, position: linalg.Vector2f32, tint: Color) ---
Draw a Texture2D with position defined as Vector2
DrawTriangle ¶
DrawTriangle :: proc "c" (v1, v2, v3: linalg.Vector2f32, color: Color) ---
Draw a color-filled triangle (vertex in counter-clockwise order!)
DrawTriangle3D ¶
DrawTriangle3D :: proc "c" (v1, v2, v3: linalg.Vector3f32, color: Color) ---
Draw a color-filled triangle (vertex in counter-clockwise order!)
DrawTriangleFan ¶
DrawTriangleFan :: proc "c" (points: [^]linalg.Vector2f32, pointCount: i32, color: Color) ---
Draw a triangle fan defined by points (first vertex is the center)
DrawTriangleLines ¶
DrawTriangleLines :: proc "c" (v1, v2, v3: linalg.Vector2f32, color: Color) ---
Draw triangle outline (vertex in counter-clockwise order!)
DrawTriangleStrip ¶
DrawTriangleStrip :: proc "c" (points: [^]linalg.Vector2f32, pointCount: i32, color: Color) ---
Draw a triangle strip defined by points
DrawTriangleStrip3D ¶
DrawTriangleStrip3D :: proc "c" (points: [^]linalg.Vector3f32, pointCount: i32, color: Color) ---
Draw a triangle strip defined by points
EnableEventWaiting ¶
EnableEventWaiting :: proc "c" () ---
Enable waiting for events on EndDrawing(), no automatic event polling
EncodeDataBase64 ¶
Encode data to Base64 string, memory must be MemFree()
ExportDataAsCode ¶
Export data to code (.h), returns true on success
ExportFontAsCode ¶
Export font as code file, returns true on success
ExportImage ¶
Export image data to file, returns true on success
ExportImageAsCode ¶
Export image as code file defining an array of bytes, returns true on success
ExportMesh ¶
Export mesh data to file, returns true on success
ExportWave ¶
Export wave data to file, returns true on success
ExportWaveAsCode ¶
Export wave sample data to code (.h), returns true on success
Fade ¶
Get color with alpha applied, alpha goes from 0.0f to 1.0f
GenImageCellular ¶
Generate image: cellular algorithm, bigger tileSize means bigger cells
GenImageChecked ¶
GenImageChecked :: proc "c" ( width, height: i32, checksX, checksY: i32, col1, col2: Color, ) -> Image ---
Generate image: checked
GenImageColor ¶
Generate image: plain color
GenImageFontAtlas ¶
GenImageFontAtlas :: proc "c" ( chars: [^]GlyphInfo, recs: ^[^]Rectangle, glyphCount: i32, fontSize: i32, padding: i32, packMethod: i32, ) -> Image ---
Generate image font atlas using chars info
GenImageGradientH ¶
Generate image: horizontal gradient
GenImageGradientRadial ¶
GenImageGradientRadial :: proc "c" (width, height: i32, density: f32, inner, outer: Color) -> Image ---
Generate image: radial gradient
GenImageGradientV ¶
Generate image: vertical gradient
GenImagePerlinNoise ¶
GenImagePerlinNoise :: proc "c" (width, height: i32, offsetX, offsetY: i32, scale: f32) -> Image ---
Generate image: perlin noise
GenImageText ¶
Generate image: grayscale image from text data
GenImageWhiteNoise ¶
Generate image: white noise
GenMeshCone ¶
Generate cone/pyramid mesh
GenMeshCube ¶
Generate cuboid mesh
GenMeshCubicmap ¶
GenMeshCubicmap :: proc "c" (cubicmap: Image, cubeSize: linalg.Vector3f32) -> Mesh ---
Generate cubes-based map mesh from image data
GenMeshCylinder ¶
Generate cylinder mesh
GenMeshHeightmap ¶
GenMeshHeightmap :: proc "c" (heightmap: Image, size: linalg.Vector3f32) -> Mesh ---
Generate heightmap mesh from image data
GenMeshHemiSphere ¶
Generate half-sphere mesh (no bottom cap)
GenMeshKnot ¶
Generate trefoil knot mesh
GenMeshPlane ¶
Generate plane mesh (with subdivisions)
GenMeshPoly ¶
Generate polygonal mesh
GenMeshSphere ¶
Generate sphere mesh (standard sphere)
GenMeshTorus ¶
Generate torus mesh
GenTextureMipmaps ¶
GenTextureMipmaps :: proc "c" (texture: ^Texture) ---
Generate GPU mipmaps for a texture
GetApplicationDirectory ¶
GetApplicationDirectory :: proc "c" () -> cstring ---
Get the directory if the running application (uses static string)
GetCameraMatrix ¶
GetCameraMatrix :: proc "c" (camera: Camera3D) -> linalg.Matrix4x4f32 ---
Get camera transform matrix (view matrix)
GetCameraMatrix2D ¶
GetCameraMatrix2D :: proc "c" (camera: Camera2D) -> linalg.Matrix4x4f32 ---
Get camera 2d transform matrix
GetCharPressed ¶
GetCharPressed :: proc "c" () -> rune ---
Get char pressed (unicode), call it multiple times for chars queued
GetCodepoint ¶
Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
GetCodepointCount ¶
Get total number of codepoints in a UTF-8 encoded string
GetCodepointNext ¶
Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
GetCodepointPrevious ¶
Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
GetCollisionRec ¶
Get collision rectangle for two rectangles collision
GetColor ¶
Get Color structure from hexadecimal value
GetDirectoryPath ¶
Get full path for a given fileName with path (uses static string)
GetFileExtension ¶
Get pointer to extension for a filename string (includes dot: '.png')
GetFileLength ¶
Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)
GetFileModTime ¶
Get file modification time (last write time)
GetFileName ¶
Get pointer to filename for a path string
GetFileNameWithoutExt ¶
Get filename string without extension (uses static string)
GetFrameTime ¶
GetFrameTime :: proc "c" () -> f32 ---
Returns time in seconds for last frame drawn (delta time)
GetGamepadAxisCount ¶
Get gamepad axis count for a gamepad
GetGamepadAxisMovement ¶
GetGamepadAxisMovement :: proc "c" (gamepad: i32, axis: GamepadAxis) -> f32 ---
Get axis movement value for a gamepad axis
GetGamepadButtonPressed ¶
GetGamepadButtonPressed :: proc "c" () -> GamepadButton ---
Get the last gamepad button pressed
GetGamepadName ¶
Get gamepad internal name id
GetGestureDragVector ¶
GetGestureDragVector :: proc "c" () -> linalg.Vector2f32 ---
Get gesture drag vector
GetGestureHoldDuration ¶
GetGestureHoldDuration :: proc "c" () -> f32 ---
Get gesture hold time in milliseconds
GetGesturePinchVector ¶
GetGesturePinchVector :: proc "c" () -> linalg.Vector2f32 ---
Get gesture pinch delta
GetGlyphAtlasRec ¶
Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found
GetGlyphIndex ¶
Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
GetGlyphInfo ¶
Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found
GetImageAlphaBorder ¶
Get image alpha border rectangle
GetImageColor ¶
Get image pixel color at (x, y) position
GetKeyPressed ¶
GetKeyPressed :: proc "c" () -> KeyboardKey ---
Get key pressed (keycode), call it multiple times for keys queued
GetMeshBoundingBox ¶
GetMeshBoundingBox :: proc "c" (mesh: Mesh) -> BoundingBox ---
Compute mesh bounding box limits
GetModelBoundingBox ¶
GetModelBoundingBox :: proc "c" (model: Model) -> BoundingBox ---
Compute model bounding box limits (considers all meshes)
GetMonitorHeight ¶
Get specified monitor height (current video mode used by monitor)
GetMonitorName ¶
Get the human-readable, UTF-8 encoded name of the primary monitor
GetMonitorPhysicalHeight ¶
Get specified monitor physical height in millimetres
GetMonitorPhysicalWidth ¶
Get specified monitor physical width in millimetres
GetMonitorPosition ¶
GetMonitorPosition :: proc "c" (monitor: i32) -> linalg.Vector2f32 ---
Get specified monitor position
GetMonitorRefreshRate ¶
Get specified monitor refresh rate
GetMonitorWidth ¶
Get specified monitor width (current video mode used by monitor)
GetMousePosition ¶
GetMousePosition :: proc "c" () -> linalg.Vector2f32 ---
Returns mouse position XY
GetMouseRay ¶
GetMouseRay :: proc "c" (mousePosition: linalg.Vector2f32, camera: Camera3D) -> Ray ---
Get a ray trace from mouse position
GetMouseWheelMoveV ¶
GetMouseWheelMoveV :: proc "c" () -> linalg.Vector2f32 ---
Get mouse wheel movement for both X and Y
GetMusicTimeLength ¶
Get music time length (in seconds)
GetMusicTimePlayed ¶
Get current music time played (in seconds)
GetPixelColor ¶
GetPixelColor :: proc "c" (srcPtr: rawptr, format: PixelFormat) -> Color ---
Get Color from a source pixel pointer of certain format
GetPixelDataSize ¶
GetPixelDataSize :: proc "c" (width, height: i32, format: PixelFormat) -> i32 ---
Get pixel data size in bytes for certain format
GetPrevDirectoryPath ¶
Get previous directory path for a given path (uses static string)
GetRandomValue ¶
Returns a random value between min and max (both included)
GetRayCollisionBox ¶
GetRayCollisionBox :: proc "c" (ray: Ray, box: BoundingBox) -> RayCollision ---
Get collision info between ray and box
GetRayCollisionMesh ¶
GetRayCollisionMesh :: proc "c" (ray: Ray, mesh: Mesh, transform: linalg.Matrix4x4f32) -> RayCollision ---
Get collision info between ray and mesh
GetRayCollisionQuad ¶
GetRayCollisionQuad :: proc "c" (ray: Ray, p1, p2, p3, p4: linalg.Vector3f32) -> RayCollision ---
Get collision info between ray and quad
GetRayCollisionSphere ¶
GetRayCollisionSphere :: proc "c" (ray: Ray, center: linalg.Vector3f32, radius: f32) -> RayCollision ---
Get collision info between ray and sphere
GetRayCollisionTriangle ¶
GetRayCollisionTriangle :: proc "c" (ray: Ray, p1, p2, p3: linalg.Vector3f32) -> RayCollision ---
Get collision info between ray and triangle
GetRenderHeight ¶
GetRenderHeight :: proc "c" () -> i32 ---
Get current render height (it considers HiDPI)
GetRenderWidth ¶
GetRenderWidth :: proc "c" () -> i32 ---
Get current render width (it considers HiDPI)
GetScreenToWorld2D ¶
GetScreenToWorld2D :: proc "c" (position: linalg.Vector2f32, camera: Camera2D) -> linalg.Vector2f32 ---
Get the world space position for a 2d camera screen space position
GetShaderLocation ¶
Get shader uniform location
GetShaderLocationAttrib ¶
Get shader attribute location
GetTouchPointId ¶
Get touch point identifier for given index
GetTouchPosition ¶
GetTouchPosition :: proc "c" (index: i32) -> linalg.Vector2f32 ---
Returns touch position XY for a touch point index (relative to screen size)
GetTouchX ¶
GetTouchX :: proc "c" () -> i32 ---
Returns touch position X for touch point 0 (relative to screen size)
GetTouchY ¶
GetTouchY :: proc "c" () -> i32 ---
Returns touch position Y for touch point 0 (relative to screen size)
GetWindowPosition ¶
GetWindowPosition :: proc "c" () -> linalg.Vector2f32 ---
Get window position XY on monitor
GetWindowScaleDPI ¶
GetWindowScaleDPI :: proc "c" () -> linalg.Vector2f32 ---
Get window scale DPI factor
GetWorkingDirectory ¶
GetWorkingDirectory :: proc "c" () -> cstring ---
Get current working directory (uses static string)
GetWorldToScreen ¶
GetWorldToScreen :: proc "c" (position: linalg.Vector3f32, camera: Camera3D) -> linalg.Vector2f32 ---
Get the screen space position for a 3d world space position
GetWorldToScreen2D ¶
GetWorldToScreen2D :: proc "c" (position: linalg.Vector2f32, camera: Camera2D) -> linalg.Vector2f32 ---
Get the screen space position for a 2d camera world space position
GetWorldToScreenEx ¶
GetWorldToScreenEx :: proc "c" (position: linalg.Vector3f32, camera: Camera3D, width, height: i32) -> linalg.Vector2f32 ---
Get size position for a 3d world space position
GuiButton ¶
Button control, returns true when clicked
GuiCheckBox ¶
Check Box control, returns true when active
GuiColorBarAlpha ¶
Color Bar Alpha control
GuiColorBarHue ¶
Color Bar Hue control
GuiColorPanel ¶
Color Panel control
GuiColorPanelHSV ¶
GuiColorPanelHSV :: proc "c" (bounds: Rectangle, text: cstring, colorHsv: ^linalg.Vector3f32) -> i32 ---
Color Panel control that returns HSV color value, used by GuiColorPickerHSV()
GuiColorPicker ¶
Color Picker control (multiple color controls)
GuiColorPickerHSV ¶
GuiColorPickerHSV :: proc "c" (bounds: Rectangle, text: cstring, colorHsv: ^linalg.Vector3f32) -> i32 ---
Color Picker control that avoids conversion to RGB on each call (multiple color controls)
GuiComboBox ¶
Combo Box control, returns selected item index
GuiDrawIcon ¶
Draw icon using pixel size at specified position
GuiDropdownBox ¶
GuiDropdownBox :: proc "c" (bounds: Rectangle, text: cstring, active: ^i32, editMode: bool) -> i32 ---
Dropdown Box control, returns selected item
GuiDummyRec ¶
Dummy control for placeholders
GuiFade ¶
GuiFade :: proc "c" (alpha: f32) ---
Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f
GuiGetStyle ¶
Get one style property
GuiGrid ¶
GuiGrid :: proc "c" (bounds: Rectangle, text: cstring, spacing: f32, subdivs: i32, mouseCell: ^linalg.Vector2f32) -> i32 ---
Grid control, returns mouse cell position
GuiGroupBox ¶
Group Box control with text name
GuiIconText ¶
Get text with icon id prepended (if supported)
GuiLabel ¶
Label control, shows text
GuiLabelButton ¶
Label button control, show true when clicked
GuiLine ¶
Line separator control, could contain text
GuiListView ¶
GuiListView :: proc "c" (bounds: Rectangle, text: cstring, scrollIndex: ^i32, active: ^i32) -> i32 ---
Advance controls set
GuiListViewEx ¶
GuiListViewEx :: proc "c" ( bounds: Rectangle, text: [^]cstring, count: i32, scrollIndex: ^i32, active: ^i32, focus: ^i32, ) -> i32 ---
List View with extended parameters
GuiLoadIcons ¶
Load raygui icons file (.rgi) into internal icons data
GuiLoadStyle ¶
GuiLoadStyle :: proc "c" (fileName: cstring) ---
Load style file over global style variable (.rgs)
GuiMessageBox ¶
GuiMessageBox :: proc "c" (bounds: Rectangle, title: cstring, message: cstring, buttons: cstring) -> i32 ---
Message Box control, displays a message
GuiPanel ¶
Panel control, useful to group controls
GuiProgressBar ¶
GuiProgressBar :: proc "c" ( bounds: Rectangle, textLeft: cstring, textRight: cstring, value: ^f32, minValue: f32, maxValue: f32, ) -> i32 ---
Progress Bar control, shows current progress value
GuiScrollPanel ¶
GuiScrollPanel :: proc "c" (bounds: Rectangle, text: cstring, content: Rectangle, scroll: ^linalg.Vector2f32, view: ^Rectangle) -> i32 ---
Scroll Panel control
GuiSetStyle ¶
Set one style property
GuiSlider ¶
GuiSlider :: proc "c" ( bounds: Rectangle, textLeft: cstring, textRight: cstring, value: ^f32, minValue: f32, maxValue: f32, ) -> i32 ---
Slider control, returns selected value
GuiSliderBar ¶
GuiSliderBar :: proc "c" ( bounds: Rectangle, textLeft: cstring, textRight: cstring, value: ^f32, minValue: f32, maxValue: f32, ) -> i32 ---
Slider Bar control, returns selected value
GuiSpinner ¶
GuiSpinner :: proc "c" ( bounds: Rectangle, text: cstring, value: ^i32, minValue, maxValue: i32, editMode: bool, ) -> i32 ---
Spinner control, returns selected value
GuiStatusBar ¶
Status Bar control, shows info text
GuiTabBar ¶
Tab Bar control, returns TAB to be closed or -1
GuiTextBox ¶
Text Box control, updates input text
GuiTextInputBox ¶
GuiTextInputBox :: proc "c" ( bounds: Rectangle, title: cstring, message: cstring, buttons: cstring, text: cstring, textMaxSize: i32, secretViewActive: ^bool, ) -> i32 ---
Text Input Box control, ask for text, supports secret
GuiToggle ¶
Toggle Button control, returns true when active
GuiToggleGroup ¶
Toggle Group control, returns active toggle index
GuiValueBox ¶
GuiValueBox :: proc "c" ( bounds: Rectangle, text: cstring, value: ^i32, minValue, maxValue: i32, editMode: bool, ) -> i32 ---
Value Box control, updates input text with numbers
GuiWindowBox ¶
Window Box control, shows a window that can be closed
ImageAlphaClear ¶
Clear alpha channel to desired color
ImageAlphaCrop ¶
Crop image depending on alpha value
ImageAlphaMask ¶
Apply alpha mask to image
ImageAlphaPremultiply ¶
ImageAlphaPremultiply :: proc "c" (image: ^Image) ---
Premultiply alpha channel
ImageBlurGaussian ¶
Apply Gaussian blur using a box blur approximation
ImageClearBackground ¶
Clear image background with given color
ImageColorBrightness ¶
Modify image color: brightness (-255 to 255)
ImageColorContrast ¶
Modify image color: contrast (-100 to 100)
ImageColorGrayscale ¶
ImageColorGrayscale :: proc "c" (image: ^Image) ---
Modify image color: grayscale
ImageColorReplace ¶
Modify image color: replace color
ImageColorTint ¶
Modify image color: tint
ImageCopy ¶
Create an image duplicate (useful for transformations)
ImageCrop ¶
Crop an image to a defined rectangle
ImageDither ¶
Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
ImageDraw ¶
Draw a source image within a destination image (tint applied to source)
ImageDrawCircle ¶
Draw a filled circle within an image
ImageDrawCircleLines ¶
ImageDrawCircleLines :: proc "c" (dst: ^Image, centerX, centerY: i32, radius: i32, color: Color) ---
Draw circle outline within an image
ImageDrawCircleLinesV ¶
ImageDrawCircleLinesV :: proc "c" (dst: ^Image, center: linalg.Vector2f32, radius: i32, color: Color) ---
Draw circle outline within an image (Vector version)
ImageDrawCircleV ¶
ImageDrawCircleV :: proc "c" (dst: ^Image, center: linalg.Vector2f32, radius: i32, color: Color) ---
Draw a filled circle within an image (Vector version)
ImageDrawLine ¶
ImageDrawLine :: proc "c" ( dst: ^Image, startPosX, startPosY, endPosX, endPosY: i32, color: Color, ) ---
Draw line within an image
ImageDrawLineV ¶
ImageDrawLineV :: proc "c" (dst: ^Image, start, end: linalg.Vector2f32, color: Color) ---
Draw line within an image (Vector version)
ImageDrawPixel ¶
Draw pixel within an image
ImageDrawPixelV ¶
ImageDrawPixelV :: proc "c" (dst: ^Image, position: linalg.Vector2f32, color: Color) ---
Draw pixel within an image (Vector version)
ImageDrawRectangle ¶
ImageDrawRectangle :: proc "c" ( dst: ^Image, posX, posY: i32, width, height: i32, color: Color, ) ---
Draw rectangle within an image
ImageDrawRectangleLines ¶
Draw rectangle lines within an image
ImageDrawRectangleRec ¶
Draw rectangle within an image
ImageDrawRectangleV ¶
ImageDrawRectangleV :: proc "c" (dst: ^Image, position, size: linalg.Vector2f32, color: Color) ---
Draw rectangle within an image (Vector version)
ImageDrawText ¶
ImageDrawText :: proc "c" ( dst: ^Image, text: cstring, posX, posY: i32, fontSize: i32, color: Color, ) ---
Draw text (using default font) within an image (destination)
ImageDrawTextEx ¶
ImageDrawTextEx :: proc "c" ( dst: ^Image, font: Font, text: cstring, position: linalg.Vector2f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw text (custom sprite font) within an image (destination)
ImageFormat ¶
ImageFormat :: proc "c" (image: ^Image, newFormat: PixelFormat) ---
Convert image data to desired format
ImageFromImage ¶
Create an image from another image piece
ImageMipmaps ¶
ImageMipmaps :: proc "c" (image: ^Image) ---
Compute all mipmap levels for a provided image
ImageResize ¶
Resize image (Bicubic scaling algorithm)
ImageResizeCanvas ¶
ImageResizeCanvas :: proc "c" ( image: ^Image, newWidth, newHeight: i32, offsetX, offsetY: i32, fill: Color, ) ---
Resize canvas and fill with color
ImageResizeNN ¶
Resize image (Nearest-Neighbor scaling algorithm)
ImageRotateCCW ¶
ImageRotateCCW :: proc "c" (image: ^Image) ---
Rotate image counter-clockwise 90deg
ImageText ¶
Create an image from text (default font)
ImageTextEx ¶
ImageTextEx :: proc "c" (font: Font, text: cstring, fontSize: f32, spacing: f32, tint: Color) -> Image ---
Create an image from text (custom sprite font)
ImageToPOT ¶
Convert image to POT (power-of-two)
InitWindow ¶
Initialize window and OpenGL context
IsAudioDeviceReady ¶
IsAudioDeviceReady :: proc "c" () -> bool ---
Check if audio device has been initialized successfully
IsAudioStreamPlaying ¶
IsAudioStreamPlaying :: proc "c" (stream: AudioStream) -> bool ---
Check if audio stream is playing
IsAudioStreamProcessed ¶
IsAudioStreamProcessed :: proc "c" (stream: AudioStream) -> bool ---
Check if any audio stream buffers requires refill
IsAudioStreamReady ¶
IsAudioStreamReady :: proc "c" (stream: AudioStream) -> bool ---
Checks if an audio stream is ready
IsCursorOnScreen ¶
IsCursorOnScreen :: proc "c" () -> bool ---
Check if cursor is on the current screen.
IsFileDropped ¶
IsFileDropped :: proc "c" () -> bool ---
Check if a file has been dropped into window
IsFileExtension ¶
Check file extension (including point: .png, .wav)
IsGamepadAvailable ¶
Check if a gamepad is available
IsGamepadButtonDown ¶
IsGamepadButtonDown :: proc "c" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button is being pressed
IsGamepadButtonPressed ¶
IsGamepadButtonPressed :: proc "c" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button has been pressed once
IsGamepadButtonReleased ¶
IsGamepadButtonReleased :: proc "c" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button has been released once
IsGamepadButtonUp ¶
IsGamepadButtonUp :: proc "c" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button is NOT being pressed
IsGestureDetected ¶
Check if a gesture have been detected
IsKeyPressed ¶
IsKeyPressed :: proc "c" (key: KeyboardKey) -> bool ---
Detect if a key has been pressed once
IsKeyReleased ¶
IsKeyReleased :: proc "c" (key: KeyboardKey) -> bool ---
Detect if a key has been released once
IsMaterialReady ¶
Check if a material is ready
IsModelAnimationValid ¶
IsModelAnimationValid :: proc "c" (model: Model, anim: ModelAnimation) -> bool ---
Check model animation skeleton match
IsMouseButtonDown ¶
IsMouseButtonDown :: proc "c" (button: MouseButton) -> bool ---
Detect if a mouse button is being pressed
IsMouseButtonPressed ¶
IsMouseButtonPressed :: proc "c" (button: MouseButton) -> bool ---
Detect if a mouse button has been pressed once
IsMouseButtonReleased ¶
IsMouseButtonReleased :: proc "c" (button: MouseButton) -> bool ---
Detect if a mouse button has been released once
IsMouseButtonUp ¶
IsMouseButtonUp :: proc "c" (button: MouseButton) -> bool ---
Detect if a mouse button is NOT being pressed
IsMusicReady ¶
Checks if a music stream is ready
IsMusicStreamPlaying ¶
Check if music is playing
IsPathFile ¶
Check if a given path is a file or a directory
IsRenderTextureReady ¶
IsRenderTextureReady :: proc "c" (target: RenderTexture) -> bool ---
Check if a render texture is ready
IsShaderReady ¶
Check if a shader is ready
IsSoundPlaying ¶
Check if a sound is currently playing
IsTextureReady ¶
Check if a texture is ready
IsWindowFocused ¶
IsWindowFocused :: proc "c" () -> bool ---
Check if window is currently focused (only PLATFORM_DESKTOP)
IsWindowFullscreen ¶
IsWindowFullscreen :: proc "c" () -> bool ---
Check if window is currently fullscreen
IsWindowHidden ¶
IsWindowHidden :: proc "c" () -> bool ---
Check if window is currently hidden (only PLATFORM_DESKTOP)
IsWindowMaximized ¶
IsWindowMaximized :: proc "c" () -> bool ---
Check if window is currently maximized (only PLATFORM_DESKTOP)
IsWindowMinimized ¶
IsWindowMinimized :: proc "c" () -> bool ---
Check if window is currently minimized (only PLATFORM_DESKTOP)
IsWindowReady ¶
IsWindowReady :: proc "c" () -> bool ---
Check if window has been initialized successfully
IsWindowResized ¶
IsWindowResized :: proc "c" () -> bool ---
Check if window has been resized last frame
IsWindowState ¶
IsWindowState :: proc "c" (flags: ConfigFlags) -> bool ---
Check if one specific window flag is enabled
LoadAudioStream ¶
LoadAudioStream :: proc "c" (sampleRate, sampleSize: u32, channels: u32) -> AudioStream ---
Load audio stream (to stream raw audio pcm data)
LoadCodepoints ¶
Load all codepoints from a UTF-8 text string, codepoints count returned by parameter
LoadDirectoryFiles ¶
LoadDirectoryFiles :: proc "c" (dirPath: cstring) -> FilePathList ---
Load directory filepaths
LoadDirectoryFilesEx ¶
LoadDirectoryFilesEx :: proc "c" (basePath: cstring, filter: cstring, scanSubdirs: bool) -> FilePathList ---
Load directory filepaths with extension filtering and recursive directory scan
LoadFileData ¶
Load file data as byte array (read)
LoadFileText ¶
Load text data from file (read), returns a '\0' terminated string
LoadFont ¶
Load font from file into GPU memory (VRAM)
LoadFontData ¶
LoadFontData :: proc "c" ( fileData: rawptr, dataSize: i32, fontSize: i32, fontChars: [^]rune, glyphCount: i32, type: FontType, ) -> [^]GlyphInfo ---
Load font data for further use
LoadFontEx ¶
LoadFontEx :: proc "c" (fileName: cstring, fontSize: i32, fontChars: [^]rune, glyphCount: i32) -> Font ---
Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set
LoadFontFromImage ¶
Load font from Image (XNA style)
LoadFontFromMemory ¶
LoadFontFromMemory :: proc "c" ( fileType: cstring, fileData: rawptr, dataSize: i32, fontSize: i32, fontChars: [^]rune, glyphCount: i32, ) -> Font ---
Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
LoadImage ¶
Load image from file into CPU memory (RAM)
LoadImageAnim ¶
Load image sequence from file (frames appended to image.data)
LoadImageColors ¶
Load color data from image as a Color array (RGBA - 32bit)
LoadImageFromMemory ¶
Load image from memory buffer, fileType refers to extension: i.e. '.png'
LoadImageFromScreen ¶
LoadImageFromScreen :: proc "c" () -> Image ---
Load image from screen buffer and (screenshot)
LoadImageFromTexture ¶
Load image from GPU texture data
LoadImagePalette ¶
Load colors palette from image as a Color array (RGBA - 32bit)
LoadImageRaw ¶
LoadImageRaw :: proc "c" (fileName: cstring, width, height: i32, format: PixelFormat, headerSize: i32) -> Image ---
Load image from RAW file data
LoadMaterialDefault ¶
LoadMaterialDefault :: proc "c" () -> Material ---
Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
LoadMaterials ¶
Load materials from model file
LoadModel ¶
Load model from files (meshes and materials)
LoadModelAnimations ¶
LoadModelAnimations :: proc "c" (fileName: cstring, animCount: ^u32) -> [^]ModelAnimation ---
Load model animations from file
LoadModelFromMesh ¶
Load model from generated mesh (default material)
LoadMusicStream ¶
Load music stream from file
LoadMusicStreamFromMemory ¶
Load music stream from data
LoadRenderTexture ¶
LoadRenderTexture :: proc "c" (width, height: i32) -> RenderTexture ---
Load texture for rendering (framebuffer)
LoadShader ¶
Load shader from files and bind default locations
LoadShaderFromMemory ¶
Load shader from code strings and bind default locations
LoadSoundFromWave ¶
Load sound from wave data
LoadTexture ¶
Load texture from file into GPU memory (VRAM)
LoadTextureCubemap ¶
LoadTextureCubemap :: proc "c" (image: Image, layout: CubemapLayout) -> Texture ---
Load cubemap from image, multiple image cubemap layouts supported
LoadTextureFromImage ¶
Load texture from image data
LoadUTF8 ¶
Load UTF-8 text encoded from codepoints array
LoadVrStereoConfig ¶
LoadVrStereoConfig :: proc "c" (device: VrDeviceInfo) -> VrStereoConfig ---
Load VR stereo config for VR simulator device parameters
LoadWaveFromMemory ¶
Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
LoadWaveSamples ¶
Load samples data from wave as a 32bit float data array
MaximizeWindow ¶
MaximizeWindow :: proc "c" () ---
Set window state: maximized, if resizable (only PLATFORM_DESKTOP)
MeasureText ¶
Measure string width for default font
MeasureTextEx ¶
MeasureTextEx :: proc "c" (font: Font, text: cstring, fontSize: f32, spacing: f32) -> linalg.Vector2f32 ---
Measure string size for Font
MemAllocator ¶
MemAllocator :: proc "contextless" () -> runtime.Allocator {…}
MemAllocatorProc ¶
MemAllocatorProc :: proc( allocator_data: rawptr, mode: runtime.Allocator_Mode, size, alignment: int, old_memory: rawptr, old_size: int, location := #caller_location, ) -> (data: []u8, err: runtime.Allocator_Error) {…}
MemRealloc ¶
Internal memory reallocator
MinimizeWindow ¶
MinimizeWindow :: proc "c" () ---
Set window state: minimized, if resizable (only PLATFORM_DESKTOP)
OpenURL ¶
OpenURL :: proc "c" (url: cstring) ---
Open URL with default system browser (if available)
RestoreWindow ¶
RestoreWindow :: proc "c" () ---
Set window state: not minimized/maximized (only PLATFORM_DESKTOP)
SaveFileData ¶
Save data to file from byte array (write), returns true on success
SaveFileText ¶
Save text data to file (write), string must be '\0' terminated, returns true on success
SeekMusicStream ¶
Seek music to a position (in seconds)
SetAudioStreamBufferSizeDefault ¶
SetAudioStreamBufferSizeDefault :: proc "c" (size: i32) ---
Default size for new audio streams
SetAudioStreamCallback ¶
SetAudioStreamCallback :: proc "c" (stream: AudioStream, callback: AudioCallback) ---
Audio thread callback to request new data
SetAudioStreamPan ¶
SetAudioStreamPan :: proc "c" (stream: AudioStream, pan: f32) ---
Set pan for audio stream (0.5 is centered)
SetAudioStreamPitch ¶
SetAudioStreamPitch :: proc "c" (stream: AudioStream, pitch: f32) ---
Set pitch for audio stream (1.0 is base level)
SetAudioStreamVolume ¶
SetAudioStreamVolume :: proc "c" (stream: AudioStream, volume: f32) ---
Set volume for audio stream (1.0 is max level)
SetConfigFlags ¶
SetConfigFlags :: proc "c" (flags: ConfigFlags) ---
Setup init configuration flags (view FLAGS)
SetExitKey ¶
SetExitKey :: proc "c" (key: KeyboardKey) ---
Set a custom key to exit program (default is ESC)
SetGamepadMappings ¶
Set internal gamepad mappings (SDL_GameControllerDB)
SetGesturesEnabled ¶
SetGesturesEnabled :: proc "c" (flags: Gestures) ---
Enable a set of gestures using flags
SetLoadFileDataCallback ¶
SetLoadFileDataCallback :: proc "c" (callback: LoadFileDataCallback) ---
Set custom file binary data loader
SetLoadFileTextCallback ¶
SetLoadFileTextCallback :: proc "c" (callback: LoadFileTextCallback) ---
Set custom file text data loader
SetMaterialTexture ¶
SetMaterialTexture :: proc "c" (material: ^Material, mapType: MaterialMapIndex, texture: Texture) ---
Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)
SetModelMeshMaterial ¶
Set material for a mesh
SetMusicPan ¶
Set pan for a music (0.5 is center)
SetMusicPitch ¶
Set pitch for a music (1.0 is base level)
SetMusicVolume ¶
Set volume for music (1.0 is max level)
SetPixelColor ¶
SetPixelColor :: proc "c" (dstPtr: rawptr, color: Color, format: PixelFormat) ---
Set color formatted into destination pixel pointer
SetRandomSeed ¶
SetRandomSeed :: proc "c" (seed: u32) ---
Set the seed for the random number generator
SetSaveFileDataCallback ¶
SetSaveFileDataCallback :: proc "c" (callback: SaveFileDataCallback) ---
Set custom file binary data saver
SetSaveFileTextCallback ¶
SetSaveFileTextCallback :: proc "c" (callback: SaveFileTextCallback) ---
Set custom file text data saver
SetShaderValue ¶
SetShaderValue :: proc "c" (shader: Shader, locIndex: ShaderLocationIndex, value: rawptr, uniformType: ShaderUniformDataType) ---
Set shader uniform value
SetShaderValueMatrix ¶
SetShaderValueMatrix :: proc "c" (shader: Shader, locIndex: ShaderLocationIndex, mat: linalg.Matrix4x4f32) ---
Set shader uniform value (matrix 4x4)
SetShaderValueTexture ¶
SetShaderValueTexture :: proc "c" (shader: Shader, locIndex: ShaderLocationIndex, texture: Texture) ---
Set shader uniform value for texture (sampler2d)
SetShaderValueV ¶
SetShaderValueV :: proc "c" (shader: Shader, locIndex: ShaderLocationIndex, value: rawptr, uniformType: ShaderUniformDataType, count: i32) ---
Set shader uniform value vector
SetSoundPan ¶
Set pan for a sound (0.5 is center)
SetSoundPitch ¶
Set pitch for a sound (1.0 is base level)
SetSoundVolume ¶
Set volume for a sound (1.0 is max level)
SetTextureFilter ¶
SetTextureFilter :: proc "c" (texture: Texture, filter: TextureFilter) ---
Set texture scaling filter mode
SetTextureWrap ¶
SetTextureWrap :: proc "c" (texture: Texture, wrap: TextureWrap) ---
Set texture wrapping mode
SetTraceLogCallback ¶
SetTraceLogCallback :: proc "c" (callback: TraceLogCallback) ---
Set custom trace log
SetTraceLogLevel ¶
SetTraceLogLevel :: proc "c" (logLevel: TraceLogLevel) ---
Set the current threshold (minimum) log level
SetWindowIcon ¶
SetWindowIcon :: proc "c" (image: Image) ---
Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)
SetWindowIcons ¶
Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)
SetWindowMinSize ¶
SetWindowMinSize :: proc "c" (width, height: i32) ---
Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
SetWindowMonitor ¶
SetWindowMonitor :: proc "c" (monitor: i32) ---
Set monitor for the current window (fullscreen mode)
SetWindowOpacity ¶
SetWindowOpacity :: proc "c" (opacity: f32) ---
Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)
SetWindowPosition ¶
SetWindowPosition :: proc "c" (x, y: i32) ---
Set window position on screen (only PLATFORM_DESKTOP)
SetWindowState ¶
SetWindowState :: proc "c" (flags: ConfigFlags) ---
Set window configuration state using flags (only PLATFORM_DESKTOP)
SetWindowTitle ¶
SetWindowTitle :: proc "c" (title: cstring) ---
Set title for window (only PLATFORM_DESKTOP)
SwapScreenBuffer ¶
SwapScreenBuffer :: proc "c" () ---
Swap back buffer with front buffer (screen drawing)
TakeScreenshot ¶
TakeScreenshot :: proc "c" (fileName: cstring) ---
Takes a screenshot of current screen (filename extension defines format)
TextAppend ¶
Append text at specific position and move cursor!
TextCopy ¶
Copy one string to another, returns bytes copied
TextFindIndex ¶
Find first text occurrence within a string
TextFormat ¶
Text formatting with variables (sprintf style)
TextFormatAlloc ¶
Text formatting with variables (sprintf style) and allocates (must be freed with 'MemFree')
TextInsert ¶
Insert text in a position (WARNING: memory must be freed!)
TextIsEqual ¶
Check if two text string are equal
TextJoin ¶
Join text strings with delimiter
TextLength ¶
Get text length, checks for '\0' ending
TextReplace ¶
Replace text string (WARNING: memory must be freed!)
TextSplit ¶
Split text into multiple strings
TextSubtext ¶
Get a piece of a text string
TextToInteger ¶
Get integer value from text (negative values not supported)
TextToLower ¶
Get lower case version of provided string
TextToPascal ¶
Get Pascal case notation version of provided string
TextToUpper ¶
Get upper case version of provided string
ToggleFullscreen ¶
ToggleFullscreen :: proc "c" () ---
Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)
TraceLog ¶
TraceLog :: proc "c" (logLevel: TraceLogLevel, text: cstring, args: ..any) ---
Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR)
UnloadAudioStream ¶
UnloadAudioStream :: proc "c" (stream: AudioStream) ---
Unload audio stream and free memory
UnloadCodepoints ¶
UnloadCodepoints :: proc "c" (codepoints: [^]rune) ---
Unload codepoints data from memory
UnloadDroppedFiles ¶
UnloadDroppedFiles :: proc "c" (files: FilePathList) ---
Unload dropped filepaths
UnloadFileData ¶
UnloadFileData :: proc "c" (data: [^]u8) ---
Unload file data allocated by LoadFileData()
UnloadFileText ¶
UnloadFileText :: proc "c" (text: [^]u8) ---
Unload file text data allocated by LoadFileText()
UnloadFontData ¶
Unload font chars info data (RAM)
UnloadImageColors ¶
UnloadImageColors :: proc "c" (colors: [^]Color) ---
Unload color data loaded with LoadImageColors()
UnloadImagePalette ¶
UnloadImagePalette :: proc "c" (colors: [^]Color) ---
Unload colors palette loaded with LoadImagePalette()
UnloadMaterial ¶
UnloadMaterial :: proc "c" (material: Material) ---
Unload material from GPU memory (VRAM)
UnloadModel ¶
UnloadModel :: proc "c" (model: Model) ---
Unload model (including meshes) from memory (RAM and/or VRAM)
UnloadModelAnimation ¶
UnloadModelAnimation :: proc "c" (anim: ModelAnimation) ---
Unload animation data
UnloadModelAnimations ¶
UnloadModelAnimations :: proc "c" (animations: [^]ModelAnimation, count: u32) ---
Unload animation array data
UnloadRenderTexture ¶
UnloadRenderTexture :: proc "c" (target: RenderTexture) ---
Unload render texture from GPU memory (VRAM)
UnloadTexture ¶
UnloadTexture :: proc "c" (texture: Texture) ---
Unload texture from GPU memory (VRAM)
UnloadUTF8 ¶
UnloadUTF8 :: proc "c" (text: [^]u8) ---
Unload UTF-8 text encoded from codepoints array
UnloadVrStereoConfig ¶
UnloadVrStereoConfig :: proc "c" (config: VrStereoConfig) ---
Unload VR stereo config
UnloadWaveSamples ¶
UnloadWaveSamples :: proc "c" (samples: [^]f32) ---
Unload samples data loaded with LoadWaveSamples()
UpdateAudioStream ¶
UpdateAudioStream :: proc "c" (stream: AudioStream, data: rawptr, frameCount: i32) ---
Update audio stream buffers with data
UpdateCamera ¶
UpdateCamera :: proc "c" (camera: ^Camera3D, mode: CameraMode) ---
Set camera mode (multiple camera modes available)
UpdateCameraPro ¶
UpdateCameraPro :: proc "c" (camera: ^Camera3D, movement: linalg.Vector3f32, rotation: linalg.Vector3f32, zoom: f32) ---
Update camera movement/rotation
UpdateMeshBuffer ¶
Update mesh vertex data in GPU for a specific buffer index
UpdateModelAnimation ¶
UpdateModelAnimation :: proc "c" (model: Model, anim: ModelAnimation, frame: i32) ---
Update model animation pose
UpdateMusicStream ¶
UpdateMusicStream :: proc "c" (music: Music) ---
Updates buffers for music streaming
UpdateSound ¶
Update sound buffer with new data
UpdateTexture ¶
Update GPU texture with new data
UpdateTextureRec ¶
Update GPU texture rectangle with new data
UploadMesh ¶
Upload mesh vertex data in GPU and provide VAO/VBO ids
WaveCrop ¶
Crop a wave to defined samples range
WaveFormat ¶
Convert wave data to desired format
WindowShouldClose ¶
WindowShouldClose :: proc "c" () -> bool ---
Check if KEY_ESCAPE pressed or Close icon pressed
rlActiveDrawBuffers ¶
rlActiveDrawBuffers :: proc "c" (count: i32) ---
Activate multiple draw color buffers
rlBegin ¶
rlBegin :: proc "c" (mode: i32) ---
------------------------------------------------------------------------------------ Functions Declaration - Vertex level operations ------------------------------------------------------------------------------------
rlBindImageTexture ¶
Buffer management
rlBindShaderBuffer ¶
Bind SSBO buffer
rlCheckRenderBatchLimit ¶
Check internal buffer overflow for a given number of vertex
rlClearScreenBuffers ¶
rlClearScreenBuffers :: proc "c" () ---
Clear used screen buffers (color and depth)
rlCompileShader ¶
Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)
rlComputeShaderDispatch ¶
rlComputeShaderDispatch :: proc "c" (groupX, groupY, groupZ: u32) ---
Dispatch compute shader (equivalent to draw for graphics pipeline)
rlCopyShaderBuffer ¶
Copy SSBO data between buffers
rlCubemapParameters ¶
Set cubemap parameters (filter, wrap)
rlDisableFramebuffer ¶
rlDisableFramebuffer :: proc "c" () ---
Disable render texture (fbo), return to default framebuffer
rlDisableVertexArray ¶
rlDisableVertexArray :: proc "c" () ---
Disable vertex array (VAO, if supported)
rlDisableVertexAttribute ¶
rlDisableVertexAttribute :: proc "c" (index: u32) ---
Disable vertex attribute index
rlDisableVertexBufferElement ¶
rlDisableVertexBufferElement :: proc "c" () ---
Disable vertex buffer element (VBO element)
rlDrawRenderBatch ¶
rlDrawRenderBatch :: proc "c" (batch: ^RenderBatch) ---
Draw render batch data (Update->Draw->Reset)
rlDrawRenderBatchActive ¶
rlDrawRenderBatchActive :: proc "c" () ---
Update and draw internal render batch
rlEnableVertexArray ¶
Vertex buffers state
rlEnableVertexAttribute ¶
rlEnableVertexAttribute :: proc "c" (index: u32) ---
Enable vertex attribute index
rlEnableVertexBufferElement ¶
rlEnableVertexBufferElement :: proc "c" (id: u32) ---
Enable vertex buffer element (VBO element)
rlFramebufferAttach ¶
rlFramebufferAttach :: proc "c" (fboId, texId: u32, attachType: i32, texType: i32, mipLevel: i32) ---
Attach texture/renderbuffer to a framebuffer
rlFramebufferComplete ¶
Verify framebuffer is complete
rlFrustum ¶
rlFrustum :: proc "c" ( left, right, bottom, top, znear, zfar: f64, ) ---
rlGenTextureMipmaps ¶
Generate mipmap data for selected texture
rlGetFramebufferHeight ¶
rlGetFramebufferHeight :: proc "c" () -> i32 ---
Get default framebuffer height
rlGetFramebufferWidth ¶
rlGetFramebufferWidth :: proc "c" () -> i32 ---
Get default framebuffer width
rlGetGlTextureFormats ¶
Get OpenGL internal formats
rlGetLocationAttrib ¶
Get shader location attribute
rlGetLocationUniform ¶
Get shader location uniform
rlGetMatrixModelview ¶
rlGetMatrixModelview :: proc "c" () -> linalg.Matrix4x4f32 ---
Matrix state management
rlGetMatrixProjection ¶
rlGetMatrixProjection :: proc "c" () -> linalg.Matrix4x4f32 ---
Get internal projection matrix
rlGetMatrixProjectionStereo ¶
rlGetMatrixProjectionStereo :: proc "c" (eye: i32) -> linalg.Matrix4x4f32 ---
Get internal projection matrix for stereo render (selected eye)
rlGetMatrixTransform ¶
rlGetMatrixTransform :: proc "c" () -> linalg.Matrix4x4f32 ---
Get internal accumulated transform matrix
rlGetMatrixViewOffsetStereo ¶
rlGetMatrixViewOffsetStereo :: proc "c" (eye: i32) -> linalg.Matrix4x4f32 ---
Get internal view offset matrix for stereo render (selected eye)
rlGetPixelFormatName ¶
Get name string for pixel format
rlGetShaderBufferSize ¶
Get SSBO buffer size
rlGetShaderLocsDefault ¶
rlGetShaderLocsDefault :: proc "c" () -> [^]i32 ---
Get default shader locations
rlIsStereoRenderEnabled ¶
rlIsStereoRenderEnabled :: proc "c" () -> bool ---
Check if stereo render is enabled
rlLoadComputeShaderProgram ¶
Compute shader management
rlLoadDrawCube ¶
rlLoadDrawCube :: proc "c" () ---
Quick and dirty cube/quad buffers load->draw->unload
rlLoadExtensions ¶
rlLoadExtensions :: proc "c" (loader: rawptr) ---
Load OpenGL extensions (loader function required)
rlLoadFramebuffer ¶
Framebuffer management (fbo)
rlLoadRenderBatch ¶
rlLoadRenderBatch :: proc "c" (numBuffers, bufferElements: i32) -> RenderBatch ---
Render batch management NOTE: rlgl provides a default render batch to behave like OpenGL 1.1 immediate mode but this render batch API is exposed in case of custom batches are required
rlLoadShaderBuffer ¶
Shader buffer storage object management (ssbo)
rlLoadShaderCode ¶
Shaders management
rlLoadShaderProgram ¶
Load custom shader program
rlLoadTexture ¶
rlLoadTexture :: proc "c" (data: rawptr, width, height: i32, format: i32, mipmapCount: i32) -> u32 ---
Textures management
rlLoadTextureCubemap ¶
Load texture cubemap
rlLoadTextureDepth ¶
Load depth texture/renderbuffer (to be attached to fbo)
rlLoadVertexBuffer ¶
Load a vertex buffer attribute
rlLoadVertexBufferElement ¶
Load a new attributes element buffer
rlMatrixMode ¶
rlMatrixMode :: proc "c" (mode: i32) ---
------------------------------------------------------------------------------------ Functions Declaration - Matrix operations ------------------------------------------------------------------------------------
rlMultMatrixf ¶
rlMultMatrixf :: proc "c" (matf: [^]f32) ---
Multiply the current matrix by another matrix
rlReadScreenPixels ¶
Read screen pixel data (color buffer)
rlReadShaderBuffer ¶
Read SSBO buffer data (GPU->CPU)
rlReadTexturePixels ¶
Read texture pixel data
rlRotatef ¶
Multiply the current matrix by a rotation matrix
rlSetBlendFactors ¶
rlSetBlendFactors :: proc "c" (glSrcFactor, glDstFactor, glEquation: i32) ---
Set blending mode factor and equation (using OpenGL factors)
rlSetBlendFactorsSeparate ¶
rlSetBlendFactorsSeparate :: proc "c" ( glSrcRGB, glDstRGB, glSrcAlpha, glDstAlpha, glEqRGB, glEqAlpha: i32, ) ---
Set blending mode factors and equations separately (using OpenGL factors)
rlSetFramebufferHeight ¶
rlSetFramebufferHeight :: proc "c" (height: i32) ---
Set current framebuffer height
rlSetFramebufferWidth ¶
rlSetFramebufferWidth :: proc "c" (width: i32) ---
Set current framebuffer width
rlSetMatrixModelview ¶
rlSetMatrixModelview :: proc "c" (view: linalg.Matrix4x4f32) ---
Set a custom modelview matrix (replaces internal modelview matrix)
rlSetMatrixProjection ¶
rlSetMatrixProjection :: proc "c" (proj: linalg.Matrix4x4f32) ---
Set a custom projection matrix (replaces internal projection matrix)
rlSetMatrixProjectionStereo ¶
rlSetMatrixProjectionStereo :: proc "c" (right, left: linalg.Matrix4x4f32) ---
Set eyes projection matrices for stereo rendering
rlSetMatrixViewOffsetStereo ¶
rlSetMatrixViewOffsetStereo :: proc "c" (right, left: linalg.Matrix4x4f32) ---
Set eyes view offsets matrices for stereo rendering
rlSetRenderBatchActive ¶
rlSetRenderBatchActive :: proc "c" (batch: ^RenderBatch) ---
Set the active render batch for rlgl (NULL for default internal)
rlSetShader ¶
Set shader currently active (id and locations)
rlSetTexture ¶
rlSetTexture :: proc "c" (id: u32) ---
Set current texture for render batch and check buffers limits
rlSetUniform ¶
Set shader value uniform
rlSetUniformMatrix ¶
rlSetUniformMatrix :: proc "c" (locIndex: i32, mat: linalg.Matrix4x4f32) ---
Set shader value matrix
rlSetUniformSampler ¶
Set shader value sampler
rlSetVertexAttributeDefault ¶
rlSetVertexAttributeDefault :: proc "c" (locIndex: i32, value: rawptr, attribType: i32, count: i32) ---
Set vertex attribute default value
rlTexCoord2f ¶
rlTexCoord2f :: proc "c" (x, y: f32) ---
Define one vertex (texture coordinate) - 2 f32
rlTextureParameters ¶
Set texture parameters (filter, wrap)
rlTranslatef ¶
rlTranslatef :: proc "c" (x, y, z: f32) ---
Multiply the current matrix by a translation matrix
rlUnloadRenderBatch ¶
rlUnloadRenderBatch :: proc "c" (batch: RenderBatch) ---
Unload render batch system
rlUnloadShaderBuffer ¶
rlUnloadShaderBuffer :: proc "c" (ssboId: u32) ---
Unload shader storage buffer object (SSBO)
rlUnloadVertexArray ¶
rlUnloadVertexArray :: proc "c" (vaoId: u32) ---
rlUnloadVertexBuffer ¶
rlUnloadVertexBuffer :: proc "c" (vboId: u32) ---
rlUpdateShaderBuffer ¶
Update SSBO buffer data
rlUpdateTexture ¶
rlUpdateTexture :: proc "c" ( id: u32, offsetX, offsetY: i32, width, height: i32, format: i32, data: rawptr, ) ---
Update GPU texture with new data
rlUpdateVertexBuffer ¶
Update GPU buffer with new data
rlUpdateVertexBufferElements ¶
Update vertex buffer elements with new data
rlglInit ¶
rlglInit :: proc "c" (width, height: i32) ---
------------------------------------------------------------------------------------ Functions Declaration - rlgl functionality ------------------------------------------------------------------------------------ rlgl initialization functions
Procedure Groups
This section is empty.
Source Files
Generation Information
Generated with odin version dev-2023-10 (vendor "odin") Windows_amd64 @ 2023-10-03 21:09:47.888453400 +0000 UTC