Callbacks to hook some internal functions WARNING: This callbacks are intended for advance users
Types
AudioCallback = proc (bufferData: pointer; frames: uint32) {.cdecl.}
- Audio thread callback to request new data Source Edit
AudioStream {.importc, header: "raylib.h", completeStruct, bycopy.} = object buffer: ptr rAudioBuffer ## Pointer to internal data used by the audio system processor: ptr rAudioProcessor ## Pointer to internal data processor, useful for audio effects sampleRate*: uint32 ## Frequency (samples per second) sampleSize*: uint32 ## Bit depth (bits per sample): 8, 16, 32 (24 not supported) channels*: uint32 ## Number of channels (1-mono, 2-stereo, ...)
- AudioStream, custom audio stream Source Edit
AutomationEvent {.importc, header: "raylib.h", completeStruct, bycopy.} = object frame*: uint32 ## Event frame `type`*: uint32 ## Event type (AutomationEventType) params*: array[4, int32] ## Event parameters (if required)
- Automation event Source Edit
AutomationEventList {.importc, header: "raylib.h", completeStruct, bycopy.} = object capacity: uint32 ## Events max entries (MAX_AUTOMATION_EVENTS) count: uint32 ## Events entries count events: ptr UncheckedArray[AutomationEvent] ## Events entries
- Automation event list Source Edit
BlendMode {.size: 4.} = enum Alpha, ## Blend textures considering alpha (default) Additive, ## Blend textures adding colors Multiplied, ## Blend textures multiplying colors AddColors, ## Blend textures adding colors (alternative) SubtractColors, ## Blend textures subtracting colors (alternative) AlphaPremultiply, ## Blend premultiplied textures considering alpha Custom, ## Blend textures using custom src/dst factors (use rlSetBlendFactors()) CustomSeparate ## Blend textures using custom rgb/alpha separate src/dst factors (use rlSetBlendFactorsSeparate())
- Color blending modes (pre-defined) Source Edit
BoneInfo {.importc, header: "raylib.h", completeStruct, bycopy.} = object name*: array[32, char] ## Bone name parent*: int32 ## Bone parent
- Bone, skeletal animation bone Source Edit
BoundingBox {.importc, header: "raylib.h", completeStruct, bycopy.} = object min*: Vector3 ## Minimum vertex box-corner max*: Vector3 ## Maximum vertex box-corner
- BoundingBox Source Edit
Camera2D {.importc, header: "raylib.h", completeStruct, bycopy.} = object offset*: Vector2 ## Camera offset (displacement from target) target*: Vector2 ## Camera target (rotation and zoom origin) rotation*: float32 ## Camera rotation in degrees zoom*: float32 ## Camera zoom (scaling), should be 1.0f by default
- Camera2D, defines position/orientation in 2d space Source Edit
Camera3D {.importc, header: "raylib.h", completeStruct, bycopy.} = object position*: Vector3 ## Camera position target*: Vector3 ## Camera target it looks-at up*: Vector3 ## Camera up vector (rotation over its axis) fovy*: float32 ## Camera field-of-view aperture in Y (degrees) in perspective, used as near plane width in orthographic projection*: CameraProjection ## Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC
- Camera, defines position/orientation in 3d space Source Edit
CameraMode {.size: 4.} = enum Custom, ## Camera custom, controlled by user (UpdateCamera() does nothing) Free, ## Camera free mode Orbital, ## Camera orbital, around target, zoom supported FirstPerson, ## Camera first person ThirdPerson ## Camera third person
- Camera system modes Source Edit
CameraProjection {.size: 4.} = enum Perspective, ## Perspective projection Orthographic ## Orthographic projection
- Camera projection Source Edit
Color {.importc, header: "raylib.h", completeStruct, bycopy.} = object r*: uint8 ## Color red value g*: uint8 ## Color green value b*: uint8 ## Color blue value a*: uint8 ## Color alpha value
- Color, 4 components, R8G8B8A8 (32bit) Source Edit
ConfigFlags {.size: 4.} = enum FullscreenMode = 2, ## Set to run program in fullscreen WindowResizable = 4, ## Set to allow resizable window WindowUndecorated = 8, ## Set to disable window decoration (frame and buttons) WindowTransparent = 16, ## Set to allow transparent framebuffer Msaa4xHint = 32, ## Set to try enabling MSAA 4X VsyncHint = 64, ## Set to try enabling V-Sync on GPU WindowHidden = 128, ## Set to hide window WindowAlwaysRun = 256, ## Set to allow windows running while minimized WindowMinimized = 512, ## Set to minimize window (iconify) WindowMaximized = 1024, ## Set to maximize window (expanded to monitor) WindowUnfocused = 2048, ## Set to window non focused WindowTopmost = 4096, ## Set to window always on top WindowHighdpi = 8192, ## Set to support HighDPI WindowMousePassthrough = 16384, ## Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED BorderlessWindowedMode = 32768, ## Set to run program in borderless windowed mode InterlacedHint = 65536 ## Set to try enabling interlaced video format (for V3D)
- System/Window config flags Source Edit
CubemapLayout {.size: 4.} = enum AutoDetect, ## Automatically detect layout type LineVertical, ## Layout is defined by a vertical line with faces LineHorizontal, ## Layout is defined by a horizontal line with faces CrossThreeByFour, ## Layout is defined by a 3x4 cross with cubemap faces CrossFourByThree, ## Layout is defined by a 4x3 cross with cubemap faces Panorama ## Layout is defined by a panorama image (equirrectangular map)
- Cubemap layouts Source Edit
Font {.importc, header: "raylib.h", completeStruct, bycopy.} = object baseSize*: int32 ## Base size (default chars height) glyphCount: int32 ## Number of glyph characters glyphPadding*: int32 ## Padding around the glyph characters texture*: Texture2D ## Texture atlas containing the glyphs recs: ptr UncheckedArray[Rectangle] ## Rectangles in texture for the glyphs glyphs: ptr UncheckedArray[GlyphInfo] ## Glyphs info data
- Font, font texture and GlyphInfo array data Source Edit
FontGlyphs = distinct Font
- Source Edit
FontType {.size: 4.} = enum Default, ## Default font generation, anti-aliased Bitmap, ## Bitmap font generation, no anti-aliasing Sdf ## SDF font generation, requires external shader
- Font type, defines generation method Source Edit
GamepadAxis {.size: 4.} = enum LeftX, ## Gamepad left stick X axis LeftY, ## Gamepad left stick Y axis RightX, ## Gamepad right stick X axis RightY, ## Gamepad right stick Y axis LeftTrigger, ## Gamepad back trigger left, pressure level: [1..-1] RightTrigger ## Gamepad back trigger right, pressure level: [1..-1]
- Gamepad axis Source Edit
GamepadButton {.size: 4.} = enum Unknown, ## Unknown button, just for error checking LeftFaceUp, ## Gamepad left DPAD up button LeftFaceRight, ## Gamepad left DPAD right button LeftFaceDown, ## Gamepad left DPAD down button LeftFaceLeft, ## Gamepad left DPAD left button RightFaceUp, ## Gamepad right button up (i.e. PS3: Triangle, Xbox: Y) RightFaceRight, ## Gamepad right button right (i.e. PS3: Circle, Xbox: B) RightFaceDown, ## Gamepad right button down (i.e. PS3: Cross, Xbox: A) RightFaceLeft, ## Gamepad right button left (i.e. PS3: Square, Xbox: X) LeftTrigger1, ## Gamepad top/back trigger left (first), it could be a trailing button LeftTrigger2, ## Gamepad top/back trigger left (second), it could be a trailing button RightTrigger1, ## Gamepad top/back trigger right (first), it could be a trailing button RightTrigger2, ## Gamepad top/back trigger right (second), it could be a trailing button MiddleLeft, ## Gamepad center buttons, left one (i.e. PS3: Select) Middle, ## Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX) MiddleRight, ## Gamepad center buttons, right one (i.e. PS3: Start) LeftThumb, ## Gamepad joystick pressed button left RightThumb ## Gamepad joystick pressed button right
- Gamepad buttons Source Edit
Gesture {.size: 4.} = enum None, ## No gesture Tap, ## Tap gesture Doubletap, ## Double tap gesture Hold = 4, ## Hold gesture Drag = 8, ## Drag gesture SwipeRight = 16, ## Swipe right gesture SwipeLeft = 32, ## Swipe left gesture SwipeUp = 64, ## Swipe up gesture SwipeDown = 128, ## Swipe down gesture PinchIn = 256, ## Pinch in gesture PinchOut = 512 ## Pinch out gesture
- Gesture Source Edit
GlyphInfo {.importc, header: "raylib.h", completeStruct, bycopy.} = object value*: int32 ## Character value (Unicode) offsetX*: int32 ## Character offset X when drawing offsetY*: int32 ## Character offset Y when drawing advanceX*: int32 ## Character advance position X image*: Image ## Character image data
- GlyphInfo, font characters glyphs info Source Edit
Image {.importc, header: "raylib.h", completeStruct, bycopy.} = object data*: pointer ## Image raw data width*: int32 ## Image base width height*: int32 ## Image base height mipmaps*: int32 ## Mipmap levels, 1 by default format*: PixelFormat ## Data format (PixelFormat type)
- Image, pixel data stored in CPU memory (RAM) Source Edit
KeyboardKey {.size: 4.} = enum Null, ## Key: NULL, used for no key pressed Back = 4, ## Key: Android back button Menu, ## Key: Android menu button VolumeUp = 24, ## Key: Android volume up button VolumeDown, ## Key: Android volume down button Space = 32, ## Key: Space Apostrophe = 39, ## Key: ' Comma = 44, ## Key: , Minus, ## Key: - Period, ## Key: . Slash, ## Key: / Zero, ## Key: 0 One, ## Key: 1 Two, ## Key: 2 Three, ## Key: 3 Four, ## Key: 4 Five, ## Key: 5 Six, ## Key: 6 Seven, ## Key: 7 Eight, ## Key: 8 Nine, ## Key: 9 Semicolon = 59, ## Key: ; Equal = 61, ## Key: = A = 65, ## Key: A | a B, ## Key: B | b C, ## Key: C | c D, ## Key: D | d E, ## Key: E | e F, ## Key: F | f G, ## Key: G | g H, ## Key: H | h I, ## Key: I | i J, ## Key: J | j K, ## Key: K | k L, ## Key: L | l M, ## Key: M | m N, ## Key: N | n O, ## Key: O | o P, ## Key: P | p Q, ## Key: Q | q R, ## Key: R | r S, ## Key: S | s T, ## Key: T | t U, ## Key: U | u V, ## Key: V | v W, ## Key: W | w X, ## Key: X | x Y, ## Key: Y | y Z, ## Key: Z | z LeftBracket, ## Key: [ Backslash, ## Key: '\' RightBracket, ## Key: ] Grave = 96, ## Key: ` Escape = 256, ## Key: Esc Enter, ## Key: Enter Tab, ## Key: Tab Backspace, ## Key: Backspace Insert, ## Key: Ins Delete, ## Key: Del Right, ## Key: Cursor right Left, ## Key: Cursor left Down, ## Key: Cursor down Up, ## Key: Cursor up PageUp, ## Key: Page up PageDown, ## Key: Page down Home, ## Key: Home End, ## Key: End CapsLock = 280, ## Key: Caps lock ScrollLock, ## Key: Scroll down NumLock, ## Key: Num lock PrintScreen, ## Key: Print screen Pause, ## Key: Pause F1 = 290, ## Key: F1 F2, ## Key: F2 F3, ## Key: F3 F4, ## Key: F4 F5, ## Key: F5 F6, ## Key: F6 F7, ## Key: F7 F8, ## Key: F8 F9, ## Key: F9 F10, ## Key: F10 F11, ## Key: F11 F12, ## Key: F12 Kp0 = 320, ## Key: Keypad 0 Kp1, ## Key: Keypad 1 Kp2, ## Key: Keypad 2 Kp3, ## Key: Keypad 3 Kp4, ## Key: Keypad 4 Kp5, ## Key: Keypad 5 Kp6, ## Key: Keypad 6 Kp7, ## Key: Keypad 7 Kp8, ## Key: Keypad 8 Kp9, ## Key: Keypad 9 KpDecimal, ## Key: Keypad . KpDivide, ## Key: Keypad / KpMultiply, ## Key: Keypad * KpSubtract, ## Key: Keypad - KpAdd, ## Key: Keypad + KpEnter, ## Key: Keypad Enter KpEqual, ## Key: Keypad = LeftShift = 340, ## Key: Shift left LeftControl, ## Key: Control left LeftAlt, ## Key: Alt left LeftSuper, ## Key: Super left RightShift, ## Key: Shift right RightControl, ## Key: Control right RightAlt, ## Key: Alt right RightSuper, ## Key: Super right KbMenu ## Key: KB menu
- Keyboard keys (US keyboard layout) Source Edit
LoadFileDataCallback = proc (fileName: ConstCstring; bytesRead: ptr uint32): ptr UncheckedArray[ uint8] {.cdecl.}
- FileIO: Load binary data Source Edit
LoadFileTextCallback = proc (fileName: ConstCstring): cstring {.cdecl.}
- FileIO: Load text data Source Edit
Material {.importc, header: "raylib.h", completeStruct, bycopy.} = object shader: Shader ## Material shader maps: ptr UncheckedArray[MaterialMap] ## Material maps array (MAX_MATERIAL_MAPS) params*: array[4, float32] ## Material generic parameters (if required)
- Material, includes shader and maps Source Edit
MaterialMap {.importc, header: "raylib.h", completeStruct, bycopy.} = object texture: Texture2D ## Material map texture color*: Color ## Material map color value*: float32 ## Material map value
- MaterialMap Source Edit
MaterialMapIndex {.size: 4.} = enum Albedo, ## 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 Source Edit
MaterialMaps = distinct Material
- Source Edit
MaterialMapsPtr = distinct typeof(Material.maps)
- Source Edit
Matrix {.importc, header: "raylib.h", completeStruct, bycopy.} = object m0*, m4*, m8*, m12*: float32 ## Matrix first row (4 components) m1*, m5*, m9*, m13*: float32 ## Matrix second row (4 components) m2*, m6*, m10*, m14*: float32 ## Matrix third row (4 components) m3*, m7*, m11*, m15*: float32 ## Matrix fourth row (4 components)
- Matrix, 4x4 components, column major, OpenGL style, right-handed Source Edit
Mesh {.importc, header: "raylib.h", completeStruct, bycopy.} = object vertexCount: int32 ## Number of vertices stored in arrays triangleCount: int32 ## Number of triangles stored (indexed or not) vertices: ptr UncheckedArray[float32] ## Vertex position (XYZ - 3 components per vertex) (shader-location = 0) texcoords: ptr UncheckedArray[float32] ## Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) texcoords2: ptr UncheckedArray[float32] ## Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5) normals: ptr UncheckedArray[float32] ## Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) tangents: ptr UncheckedArray[float32] ## Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) colors: ptr UncheckedArray[uint8] ## Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) indices: ptr UncheckedArray[uint16] ## Vertex indices (in case vertex data comes indexed) animVertices: ptr UncheckedArray[float32] ## Animated vertex positions (after bones transformations) animNormals: ptr UncheckedArray[float32] ## Animated normals (after bones transformations) boneIds: ptr UncheckedArray[uint8] ## Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning) (shader-location = 6) boneWeights: ptr UncheckedArray[float32] ## Vertex bone weight, up to 4 bones influence by vertex (skinning) (shader-location = 7) boneMatrices: ptr UncheckedArray[Matrix] ## Bones animated transformation matrices boneCount: int32 ## Number of bones vaoId*: uint32 ## OpenGL Vertex Array Object id vboId: ptr UncheckedArray[uint32] ## OpenGL Vertex Buffer Objects id (default vertex data)
- Mesh, vertex data and vao/vbo Source Edit
MeshAnimNormals = distinct Mesh
- Source Edit
MeshAnimVertices = distinct Mesh
- Source Edit
MeshBoneIds = distinct Mesh
- Source Edit
MeshBoneMatrices = distinct Mesh
- Source Edit
MeshBoneWeights = distinct Mesh
- Source Edit
MeshColors = distinct Mesh
- Source Edit
MeshIndices = distinct Mesh
- Source Edit
MeshNormals = distinct Mesh
- Source Edit
MeshTangents = distinct Mesh
- Source Edit
MeshTexcoords = distinct Mesh
- Source Edit
MeshTexcoords2 = distinct Mesh
- Source Edit
MeshVertices = distinct Mesh
- Source Edit
Model {.importc, header: "raylib.h", completeStruct, bycopy.} = object transform*: Matrix ## Local transform matrix meshCount: int32 ## Number of meshes materialCount: int32 ## Number of materials meshes: ptr UncheckedArray[Mesh] ## Meshes array materials: ptr UncheckedArray[Material] ## Materials array meshMaterial: ptr UncheckedArray[int32] ## Mesh material number boneCount: int32 ## Number of bones bones: ptr UncheckedArray[BoneInfo] ## Bones information (skeleton) bindPose: ptr UncheckedArray[Transform] ## Bones base transformation (pose)
- Model, meshes, materials and animation data Source Edit
ModelAnimation {.importc, header: "raylib.h", completeStruct, bycopy.} = object boneCount: int32 ## Number of bones frameCount: int32 ## Number of animation frames bones: ptr UncheckedArray[BoneInfo] ## Bones information (skeleton) framePoses: ptr UncheckedArray[ptr UncheckedArray[Transform]] ## Poses array by frame name*: array[32, char] ## Animation name
- ModelAnimation Source Edit
ModelAnimationBones = distinct ModelAnimation
- Source Edit
ModelAnimationFramePoses = distinct ModelAnimation
- Source Edit
ModelBindPose = distinct Model
- Source Edit
ModelBones = distinct Model
- Source Edit
ModelMaterials = distinct Model
- Source Edit
ModelMeshes = distinct Model
- Source Edit
ModelMeshMaterial = distinct Model
- Source Edit
MouseButton {.size: 4.} = enum Left, ## Mouse button left Right, ## Mouse button right Middle, ## Mouse button middle (pressed wheel) Side, ## Mouse button side (advanced mouse device) Extra, ## Mouse button extra (advanced mouse device) Forward, ## Mouse button forward (advanced mouse device) Back ## Mouse button back (advanced mouse device)
- Mouse buttons Source Edit
MouseCursor {.size: 4.} = enum Default, ## Default pointer shape Arrow, ## Arrow shape Ibeam, ## Text writing cursor shape Crosshair, ## Cross shape PointingHand, ## Pointing hand cursor ResizeEw, ## Horizontal resize/move arrow shape ResizeNs, ## Vertical resize/move arrow shape ResizeNwse, ## Top-left to bottom-right diagonal resize/move arrow shape ResizeNesw, ## The top-right to bottom-left diagonal resize/move arrow shape ResizeAll, ## The omnidirectional resize/move cursor shape NotAllowed ## The operation-not-allowed shape
- Mouse cursor Source Edit
Music {.importc, header: "raylib.h", completeStruct, bycopy.} = object stream*: AudioStream ## Audio stream frameCount*: uint32 ## Total number of frames (considering channels) looping*: bool ## Music looping enable ctxType*: int32 ## Type of music context (audio filetype) ctxData*: pointer ## Audio context data, depends on type
- Music, audio stream, anything longer than ~10 seconds should be streamed Source Edit
NPatchInfo {.importc, header: "raylib.h", completeStruct, bycopy.} = object source*: Rectangle ## Texture source rectangle left*: int32 ## Left border offset top*: int32 ## Top border offset right*: int32 ## Right border offset bottom*: int32 ## Bottom border offset layout*: NPatchLayout ## Layout of the n-patch: 3x3, 1x3 or 3x1
- NPatchInfo, n-patch layout info Source Edit
NPatchLayout {.size: 4.} = enum NinePatch, ## Npatch layout: 3x3 tiles ThreePatchVertical, ## Npatch layout: 1x3 tiles ThreePatchHorizontal ## Npatch layout: 3x1 tiles
- N-patch layout Source Edit
Pixel = concept proc kind(x: typedesc[Self]): PixelFormat
- Source Edit
PixelFormat {.size: 4.} = enum UncompressedGrayscale = 1, ## 8 bit per pixel (no alpha) UncompressedGrayAlpha, ## 8*2 bpp (2 channels) UncompressedR5g6b5, ## 16 bpp UncompressedR8g8b8, ## 24 bpp UncompressedR5g5b5a1, ## 16 bpp (1 bit alpha) UncompressedR4g4b4a4, ## 16 bpp (4 bit alpha) UncompressedR8g8b8a8, ## 32 bpp UncompressedR32, ## 32 bpp (1 channel - float) UncompressedR32g32b32, ## 32*3 bpp (3 channels - float) UncompressedR32g32b32a32, ## 32*4 bpp (4 channels - float) UncompressedR16, ## 16 bpp (1 channel - half float) UncompressedR16g16b16, ## 16*3 bpp (3 channels - half float) UncompressedR16g16b16a16, ## 16*4 bpp (4 channels - half float) CompressedDxt1Rgb, ## 4 bpp (no alpha) CompressedDxt1Rgba, ## 4 bpp (1 bit alpha) CompressedDxt3Rgba, ## 8 bpp CompressedDxt5Rgba, ## 8 bpp CompressedEtc1Rgb, ## 4 bpp CompressedEtc2Rgb, ## 4 bpp CompressedEtc2EacRgba, ## 8 bpp CompressedPvrtRgb, ## 4 bpp CompressedPvrtRgba, ## 4 bpp CompressedAstc4x4Rgba, ## 8 bpp CompressedAstc8x8Rgba ## 2 bpp
- Pixel formats Source Edit
Quaternion {.borrow: `.`.} = distinct Vector4
- Quaternion, 4 components (Vector4 alias) Source Edit
Ray {.importc, header: "raylib.h", completeStruct, bycopy.} = object position*: Vector3 ## Ray position (origin) direction*: Vector3 ## Ray direction (normalized)
- Ray, ray for raycasting Source Edit
RayCollision {.importc, header: "raylib.h", completeStruct, bycopy.} = object hit*: bool ## Did the ray hit something? distance*: float32 ## Distance to the nearest hit point*: Vector3 ## Point of the nearest hit normal*: Vector3 ## Surface normal of hit
- RayCollision, ray hit information Source Edit
RaylibError = object of CatchableError
- Source Edit
Rectangle {.importc: "rlRectangle", header: "raylib.h", completeStruct, bycopy.} = object x*: float32 ## Rectangle top-left corner position x y*: float32 ## Rectangle top-left corner position y width*: float32 ## Rectangle width height*: float32 ## Rectangle height
- Rectangle, 4 components Source Edit
RenderTexture {.importc, header: "raylib.h", completeStruct, bycopy.} = object id*: uint32 ## OpenGL framebuffer object id texture*: Texture ## Color buffer attachment texture depth*: Texture ## Depth buffer attachment texture
- RenderTexture, fbo for texture rendering Source Edit
RenderTexture2D = RenderTexture
- RenderTexture2D, same as RenderTexture Source Edit
SaveFileDataCallback = proc (fileName: ConstCstring; data: pointer; bytesToWrite: uint32): bool {.cdecl.}
- FileIO: Save binary data Source Edit
SaveFileTextCallback = proc (fileName: ConstCstring; text: cstring): bool {. cdecl.}
- FileIO: Save text data Source Edit
Shader {.importc, header: "raylib.h", completeStruct, bycopy.} = object id*: uint32 ## Shader program id locs: ptr UncheckedArray[ShaderLocation] ## Shader locations array (RL_MAX_SHADER_LOCATIONS)
- Shader Source Edit
ShaderAttributeDataType {.size: 4.} = enum Float, ## 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 Source Edit
ShaderLocation = distinct int32
- Shader location Source Edit
ShaderLocationIndex {.size: 4.} = enum VertexPosition, ## Shader location: vertex attribute: position VertexTexcoord01, ## Shader location: vertex attribute: texcoord01 VertexTexcoord02, ## Shader location: vertex attribute: texcoord02 VertexNormal, ## Shader location: vertex attribute: normal VertexTangent, ## Shader location: vertex attribute: tangent VertexColor, ## Shader location: vertex attribute: color MatrixMvp, ## Shader location: matrix uniform: model-view-projection MatrixView, ## Shader location: matrix uniform: view (camera transform) MatrixProjection, ## Shader location: matrix uniform: projection MatrixModel, ## Shader location: matrix uniform: model (transform) MatrixNormal, ## Shader location: matrix uniform: normal VectorView, ## Shader location: vector uniform: view ColorDiffuse, ## Shader location: vector uniform: diffuse color ColorSpecular, ## Shader location: vector uniform: specular color ColorAmbient, ## Shader location: vector uniform: ambient color MapAlbedo, ## Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE) MapMetalness, ## Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR) MapNormal, ## Shader location: sampler2d texture: normal MapRoughness, ## Shader location: sampler2d texture: roughness MapOcclusion, ## Shader location: sampler2d texture: occlusion MapEmission, ## Shader location: sampler2d texture: emission MapHeight, ## Shader location: sampler2d texture: height MapCubemap, ## Shader location: samplerCube texture: cubemap MapIrradiance, ## Shader location: samplerCube texture: irradiance MapPrefilter, ## Shader location: samplerCube texture: prefilter MapBrdf, ## Shader location: sampler2d texture: brdf VertexBoneids, ## Shader location: vertex attribute: boneIds VertexBoneweights, ## Shader location: vertex attribute: boneWeights BoneMatrices ## Shader location: array of matrices uniform: boneMatrices
- Shader location index Source Edit
ShaderLocs = distinct Shader
- Source Edit
ShaderLocsPtr = distinct typeof(Shader.locs)
- Source Edit
ShaderUniformDataType {.size: 4.} = enum Float, ## 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 Source Edit
ShaderV = concept proc kind(x: typedesc[Self]): ShaderUniformDataType
- Source Edit
Sound {.importc, header: "raylib.h", completeStruct, bycopy.} = object stream*: AudioStream ## Audio stream frameCount*: uint32 ## Total number of frames (considering channels)
- Sound Source Edit
SoundAlias = distinct Sound
- Source Edit
Texture {.importc, header: "raylib.h", completeStruct, bycopy.} = object id*: uint32 ## OpenGL texture id width*: int32 ## Texture base width height*: int32 ## Texture base height mipmaps*: int32 ## Mipmap levels, 1 by default format*: PixelFormat ## Data format (PixelFormat type)
- Texture, tex data stored in GPU memory (VRAM) Source Edit
TextureCubemap = Texture
- TextureCubemap, same as Texture Source Edit
TextureFilter {.size: 4.} = enum Point, ## No filter, just pixel approximation Bilinear, ## Linear filtering Trilinear, ## Trilinear filtering (linear with mipmaps) Anisotropic4x, ## Anisotropic filtering 4x Anisotropic8x, ## Anisotropic filtering 8x Anisotropic16x ## Anisotropic filtering 16x
- Texture parameters: filter mode Source Edit
TextureWrap {.size: 4.} = enum Repeat, ## Repeats texture in tiled mode Clamp, ## Clamps texture to edge pixel in tiled mode MirrorRepeat, ## Mirrors and repeats the texture in tiled mode MirrorClamp ## Mirrors and clamps to border the texture in tiled mode
- Texture parameters: wrap mode Source Edit
TraceLogCallback = proc (logLevel: TraceLogLevel; text: string) {.nimcall.}
- Logging: Redirect trace log messages Source Edit
TraceLogLevel {.size: 4.} = enum All, ## 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 Source Edit
Transform {.importc, header: "raylib.h", completeStruct, bycopy.} = object translation*: Vector3 ## Translation rotation*: Quaternion ## Rotation scale*: Vector3 ## Scale
- Transform, vertex transformation data Source Edit
Vector2 {.importc, header: "raylib.h", completeStruct, bycopy.} = object x*: float32 ## Vector x component y*: float32 ## Vector y component
- Vector2, 2 components Source Edit
Vector3 {.importc, header: "raylib.h", completeStruct, bycopy.} = object x*: float32 ## Vector x component y*: float32 ## Vector y component z*: float32 ## Vector z component
- Vector3, 3 components Source Edit
Vector4 {.importc, header: "raylib.h", completeStruct, bycopy.} = object x*: float32 ## Vector x component y*: float32 ## Vector y component z*: float32 ## Vector z component w*: float32 ## Vector w component
- Vector4, 4 components Source Edit
VrDeviceInfo {.importc, header: "raylib.h", completeStruct, bycopy.} = object hResolution*: int32 ## Horizontal resolution in pixels vResolution*: int32 ## Vertical resolution in pixels hScreenSize*: float32 ## Horizontal size in meters vScreenSize*: float32 ## Vertical size in meters eyeToScreenDistance*: float32 ## Distance between eye and display in meters lensSeparationDistance*: float32 ## Lens separation distance in meters interpupillaryDistance*: float32 ## IPD (distance between pupils) in meters lensDistortionValues*: array[4, float32] ## Lens distortion constant parameters chromaAbCorrection*: array[4, float32] ## Chromatic aberration correction parameters
- VrDeviceInfo, Head-Mounted-Display device parameters Source Edit
VrStereoConfig {.importc, header: "raylib.h", completeStruct, bycopy.} = object projection*: array[2, Matrix] ## VR projection matrices (per eye) viewOffset*: array[2, Matrix] ## VR view offset matrices (per eye) leftLensCenter*: array[2, float32] ## VR left lens center rightLensCenter*: array[2, float32] ## VR right lens center leftScreenCenter*: array[2, float32] ## VR left screen center rightScreenCenter*: array[2, float32] ## VR right screen center scale*: array[2, float32] ## VR distortion scale scaleIn*: array[2, float32] ## VR distortion scale in
- VrStereoConfig, VR stereo rendering configuration for simulator Source Edit
Wave {.importc, header: "raylib.h", completeStruct, bycopy.} = object frameCount*: uint32 ## Total number of frames (considering channels) sampleRate*: uint32 ## Frequency (samples per second) sampleSize*: uint32 ## Bit depth (bits per sample): 8, 16, 32 (24 not supported) channels*: uint32 ## Number of channels (1-mono, 2-stereo, ...) data*: pointer ## Buffer data pointer
- Wave, audio wave data Source Edit
Consts
DarkPurple = (r: 112'u, g: 31'u, b: 126'u, a: 255'u)
- Source Edit
MaxMaterialMaps = 12
- Maximum number of shader maps supported Source Edit
MaxMeshVertexBuffers = 7
- Maximum vertex buffers (VBO) per mesh Source Edit
MaxShaderLocations = 32
- Maximum number of shader locations supported Source Edit
RaylibVersion = (5, 5, 0)
- Source Edit
Procs
proc `=copy`(dest: var AudioStream; source: AudioStream) {.error.}
- Source Edit
proc `=copy`(dest: var AutomationEventList; source: AutomationEventList) {.error.}
- Source Edit
proc `=copy`(dest: var MaterialMap; source: MaterialMap) {.error.}
- Source Edit
proc `=copy`(dest: var ModelAnimation; source: ModelAnimation) {.error.}
- Source Edit
proc `=copy`(dest: var RenderTexture; source: RenderTexture) {.error.}
- Source Edit
proc `=copy`(dest: var WeakFont; source: WeakFont) {.nodestroy, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc `=copy`(dest: var WeakImage; source: WeakImage) {.nodestroy, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: AudioStream) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: AutomationEventList) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: Font) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: Image) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: Material) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: MaterialMap) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: Mesh) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: Model) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: ModelAnimation) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: Music) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: RenderTexture) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: Shader) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: Sound) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: SoundAlias) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: Texture) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: Wave) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: WeakFont) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: WeakImage) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`(x: WeakWave) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `=destroy`[T](x: RArray[T]) {....raises: [].}
- Source Edit
proc `=dup`(source: AudioStream): AudioStream {.error.}
- Source Edit
proc `=dup`(source: AutomationEventList): AutomationEventList {.error.}
- Source Edit
proc `=dup`(source: MaterialMap): MaterialMap {.error.}
- Source Edit
proc `=dup`(source: RenderTexture): RenderTexture {.error.}
- Source Edit
proc `=dup`(source: WeakFont): WeakFont {.nodestroy, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc `=dup`(source: WeakImage): WeakImage {.nodestroy, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc `=sink`(dest: var MaterialMap; source: MaterialMap) {.error.}
- Source Edit
proc `=wasMoved`(x: var MaterialMap) {.error.}
- Source Edit
proc `=wasMoved`[T](x: var RArray[T])
- Source Edit
proc `[]`(x: AutomationEventList; i: int): lent AutomationEvent {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: FontGlyphs; i: int): lent GlyphInfo {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MaterialMaps; i: MaterialMapIndex): lent MaterialMap {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshAnimNormals; i: int): Vector3 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshAnimVertices; i: int): Vector3 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshBoneIds; i: int): array[4, uint8] {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshBoneMatrices; i: int): Matrix {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshBoneWeights; i: int): Vector4 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshColors; i: int): Color {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshIndices; i: int): array[3, uint16] {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshNormals; i: int): Vector3 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshTangents; i: int): Vector4 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshTexcoords2; i: int): Vector2 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshTexcoords; i: int): Vector2 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: MeshVertices; i: int): Vector3 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: ModelAnimationBones; i: int): lent BoneInfo {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: ModelAnimationFramePoses; i, j: int): lent Transform {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: ModelBindPose; i: int): lent Transform {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: ModelBones; i: int): lent BoneInfo {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: ModelMaterials; i: int): lent Material {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: ModelMeshes; i: int): lent Mesh {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: ModelMeshMaterial; i: int): int32 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: ShaderLocs; i: ShaderLocationIndex): ShaderLocation {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var AutomationEventList; i: int): var AutomationEvent {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var FontGlyphs; i: int): var GlyphInfo {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var FontRecs; i: int): var Rectangle {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MaterialMaps; i: MaterialMapIndex): var MaterialMap {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshAnimNormals; i: int): var Vector3 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshAnimVertices; i: int): var Vector3 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshBoneIds; i: int): var array[4, uint8] {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshBoneMatrices; i: int): var Matrix {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshBoneWeights; i: int): var Vector4 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshColors; i: int): var Color {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshIndices; i: int): var array[3, uint16] {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshNormals; i: int): var Vector3 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshTangents; i: int): var Vector4 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshTexcoords2; i: int): var Vector2 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshTexcoords; i: int): var Vector2 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshVboId; i: int): var uint32 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var MeshVertices; i: int): var Vector3 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var ModelAnimationBones; i: int): var BoneInfo {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var ModelAnimationFramePoses; i, j: int): var Transform {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var ModelBindPose; i: int): var Transform {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var ModelBones; i: int): var BoneInfo {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var ModelMaterials; i: int): var Material {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var ModelMeshes; i: int): var Mesh {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var ModelMeshMaterial; i: int): var int32 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(x: var ShaderLocs; i: ShaderLocationIndex): var ShaderLocation {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var AutomationEventList; i: int; val: sink AutomationEvent) {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var FontGlyphs; i: int; val: GlyphInfo) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var FontRecs; i: int; val: Rectangle) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MaterialMaps; i: MaterialMapIndex; val: MaterialMap) {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshAnimNormals; i: int; val: Vector3) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshAnimVertices; i: int; val: Vector3) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshBoneIds; i: int; val: array[4, uint8]) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshBoneMatrices; i: int; val: Matrix) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshBoneWeights; i: int; val: Vector4) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshColors; i: int; val: Color) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshIndices; i: int; val: array[3, uint16]) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshNormals; i: int; val: Vector3) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshTangents; i: int; val: Vector4) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshTexcoords2; i: int; val: Vector2) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshTexcoords; i: int; val: Vector2) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshVboId; i: int; val: uint32) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var MeshVertices; i: int; val: Vector3) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var ModelAnimationBones; i: int; val: BoneInfo) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var ModelAnimationFramePoses; i, j: int; val: Transform) {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var ModelBindPose; i: int; val: Transform) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var ModelBones; i: int; val: BoneInfo) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var ModelMaterials; i: int; val: Material) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var ModelMeshes; i: int; val: Mesh) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]=`(x: var ModelMeshMaterial; i: int; val: int32) {....raises: [], tags: [], forbids: [].}
- Set the material for a mesh Source Edit
proc `[]=`(x: var ShaderLocs; i: ShaderLocationIndex; val: ShaderLocation) {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc attachAudioMixedProcessor(processor: AudioCallback) {. importc: "AttachAudioMixedProcessor", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Attach audio stream processor to the entire audio pipeline, receives the samples as 'float' Source Edit
proc attachAudioStreamProcessor(stream: AudioStream; processor: AudioCallback) {. importc: "AttachAudioStreamProcessor", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Attach audio stream processor to stream, receives the samples as 'float' Source Edit
proc beginBlendMode(mode: BlendMode) {.importc: "BeginBlendMode", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Begin blending mode (alpha, additive, multiplied, subtract, custom) Source Edit
proc beginDrawing() {.importc: "BeginDrawing", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Setup canvas (framebuffer) to start drawing Source Edit
proc beginMode2D(camera: Camera2D) {.importc: "BeginMode2D", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Begin 2D mode with custom camera (2D) Source Edit
proc beginMode3D(camera: Camera3D) {.importc: "BeginMode3D", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Begin 3D mode with custom camera (3D) Source Edit
proc beginScissorMode(x: int32; y: int32; width: int32; height: int32) {. importc: "BeginScissorMode", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Begin scissor mode (define screen area for following drawing) Source Edit
proc beginShaderMode(shader: Shader) {.importc: "BeginShaderMode", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Begin custom shader drawing Source Edit
proc beginTextureMode(target: RenderTexture2D) {.importc: "BeginTextureMode", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Begin drawing to render texture Source Edit
proc beginVrStereoMode(config: VrStereoConfig) {.importc: "BeginVrStereoMode", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Begin stereo rendering (requires VR simulator) Source Edit
proc boneCount(x: ModelAnimation): int32 {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc capacity(x: AutomationEventList): int {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
func checkCollisionBoxes(box1: BoundingBox; box2: BoundingBox): bool {. importc: "CheckCollisionBoxes", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check collision between two bounding boxes Source Edit
func checkCollisionBoxSphere(box: BoundingBox; center: Vector3; radius: float32): bool {. importc: "CheckCollisionBoxSphere", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check collision between box and sphere Source Edit
func checkCollisionCircleRec(center: Vector2; radius: float32; rec: Rectangle): bool {. importc: "CheckCollisionCircleRec", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check collision between circle and rectangle Source Edit
func checkCollisionCircles(center1: Vector2; radius1: float32; center2: Vector2; radius2: float32): bool {. importc: "CheckCollisionCircles", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check collision between two circles Source Edit
func checkCollisionLines(startPos1: Vector2; endPos1: Vector2; startPos2: Vector2; endPos2: Vector2; collisionPoint: out Vector2): bool {. importc: "CheckCollisionLines", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check the collision between two lines defined by two points each, returns collision point by reference Source Edit
func checkCollisionPointCircle(point: Vector2; center: Vector2; radius: float32): bool {. importc: "CheckCollisionPointCircle", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if point is inside circle Source Edit
func checkCollisionPointLine(point: Vector2; p1: Vector2; p2: Vector2; threshold: int32): bool {. importc: "CheckCollisionPointLine", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if point belongs to line created between two points p1 and p2 with defined margin in pixels threshold Source Edit
proc checkCollisionPointPoly(point: Vector2; points: openArray[Vector2]): bool {. ...raises: [], tags: [], forbids: [].}
- Check if point is within a polygon described by array of vertices Source Edit
func checkCollisionPointRec(point: Vector2; rec: Rectangle): bool {. importc: "CheckCollisionPointRec", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if point is inside rectangle Source Edit
func checkCollisionRecs(rec1: Rectangle; rec2: Rectangle): bool {. importc: "CheckCollisionRecs", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check collision between two rectangles Source Edit
func checkCollisionSpheres(center1: Vector3; radius1: float32; center2: Vector3; radius2: float32): bool {. importc: "CheckCollisionSpheres", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check collision between two spheres Source Edit
proc clearBackground(color: Color) {.importc: "ClearBackground", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set background color (framebuffer clear color) Source Edit
proc clearWindowState(flags: Flags[ConfigFlags]) {.importc: "ClearWindowState", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Clear window configuration state flags Source Edit
proc closeAudioDevice() {.importc: "CloseAudioDevice", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Close the audio device and context Source Edit
proc closeWindow() {.importc: "rlCloseWindow", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Close window and unload OpenGL context Source Edit
func colorAlpha(color: Color; alpha: float32): Color {.importc: "ColorAlpha", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get color with alpha applied, alpha goes from 0.0f to 1.0f Source Edit
func colorBrightness(color: Color; factor: float32): Color {. importc: "ColorBrightness", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get color with brightness correction, brightness factor goes from -1.0f to 1.0f Source Edit
func colorContrast(color: Color; contrast: float32): Color {. importc: "ColorContrast", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get color with contrast correction, contrast values between -1.0f and 1.0f Source Edit
proc colorToInt(color: Color): int32 {....raises: [], tags: [], forbids: [].}
- Get hexadecimal value for a Color Source Edit
proc detachAudioMixedProcessor(processor: AudioCallback) {. importc: "DetachAudioMixedProcessor", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Detach audio stream processor from the entire audio pipeline Source Edit
proc detachAudioStreamProcessor(stream: AudioStream; processor: AudioCallback) {. importc: "DetachAudioStreamProcessor", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Detach audio stream processor from stream Source Edit
proc disableCursor() {.importc: "DisableCursor", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Disables cursor (lock cursor) Source Edit
proc disableEventWaiting() {.importc: "DisableEventWaiting", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Disable waiting for events on EndDrawing(), automatic events polling Source Edit
proc drawBillboard(camera: Camera; texture: Texture2D; position: Vector3; scale: float32; tint: Color) {.importc: "DrawBillboard", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a billboard texture Source Edit
proc drawBillboard(camera: Camera; texture: Texture2D; source: Rectangle; position: Vector3; size: Vector2; tint: Color) {. importc: "DrawBillboardRec", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a billboard texture defined by source Source Edit
proc drawBillboard(camera: Camera; texture: Texture2D; source: Rectangle; position: Vector3; up: Vector3; size: Vector2; origin: Vector2; rotation: float32; tint: Color) {. importc: "DrawBillboardPro", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a billboard texture defined by source and rotation Source Edit
proc drawBoundingBox(box: BoundingBox; color: Color) {. importc: "DrawBoundingBox", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw bounding box (wires) Source Edit
proc drawCapsuleWires(startPos: Vector3; endPos: Vector3; radius: float32; slices: int32; rings: int32; color: Color) {. importc: "DrawCapsuleWires", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw capsule wireframe with the center of its sphere caps at startPos and endPos Source Edit
proc drawCircle(center: Vector2; radius: float32; color: Color) {. importc: "DrawCircleV", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a color-filled circle (Vector version) Source Edit
proc drawCircle(centerX: int32; centerY: int32; radius: float32; color: Color) {. importc: "DrawCircle", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a color-filled circle Source Edit
proc drawCircleGradient(centerX: int32; centerY: int32; radius: float32; inner: Color; outer: Color) {. importc: "DrawCircleGradient", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a gradient-filled circle Source Edit
proc drawCircleLines(center: Vector2; radius: float32; color: Color) {. importc: "DrawCircleLinesV", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw circle outline (Vector version) Source Edit
proc drawCircleLines(centerX: int32; centerY: int32; radius: float32; color: Color) {.importc: "DrawCircleLines", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw circle outline Source Edit
proc drawCircleSector(center: Vector2; radius: float32; startAngle: float32; endAngle: float32; segments: int32; color: Color) {. importc: "DrawCircleSector", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a piece of a circle Source Edit
proc drawCircleSectorLines(center: Vector2; radius: float32; startAngle: float32; endAngle: float32; segments: int32; color: Color) {. importc: "DrawCircleSectorLines", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw circle sector outline Source Edit
proc drawCubeWires(position: Vector3; size: Vector3; color: Color) {. importc: "DrawCubeWiresV", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw cube wires (Vector version) Source Edit
proc drawCubeWires(position: Vector3; width: float32; height: float32; length: float32; color: Color) {.importc: "DrawCubeWires", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw cube wires Source Edit
proc drawCylinder(position: Vector3; radiusTop: float32; radiusBottom: float32; height: float32; slices: int32; color: Color) {. importc: "DrawCylinder", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a cylinder/cone Source Edit
proc drawCylinderWires(position: Vector3; radiusTop: float32; radiusBottom: float32; height: float32; slices: int32; color: Color) {.importc: "DrawCylinderWires", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a cylinder/cone wires Source Edit
proc drawCylinderWires(startPos: Vector3; endPos: Vector3; startRadius: float32; endRadius: float32; sides: int32; color: Color) {. importc: "DrawCylinderWiresEx", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a cylinder wires with base at startPos and top at endPos Source Edit
proc drawEllipse(centerX: int32; centerY: int32; radiusH: float32; radiusV: float32; color: Color) {.importc: "DrawEllipse", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw ellipse Source Edit
proc drawEllipseLines(centerX: int32; centerY: int32; radiusH: float32; radiusV: float32; color: Color) {. importc: "DrawEllipseLines", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw ellipse outline Source Edit
proc drawLine(startPos: Vector2; endPos: Vector2; color: Color) {. importc: "DrawLineV", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a line (using gl lines) Source Edit
proc drawLineStrip(points: openArray[Vector2]; color: Color) {....raises: [], tags: [], forbids: [].}
- Draw lines sequence (using gl lines) Source Edit
proc drawModelWires(model: Model; position: Vector3; rotationAxis: Vector3; rotationAngle: float32; scale: Vector3; tint: Color) {. importc: "DrawModelWiresEx", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a model wires (with texture if set) with extended parameters Source Edit
proc drawPixel(position: Vector2; color: Color) {.importc: "DrawPixelV", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a pixel using geometry (Vector version) Can be slow, use with care Source Edit
proc drawPixel(posX: int32; posY: int32; color: Color) {.importc: "DrawPixel", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a pixel using geometry Can be slow, use with care Source Edit
proc drawPoint3D(position: Vector3; color: Color) {.importc: "DrawPoint3D", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a point in 3D space, actually a small line Source Edit
proc drawPolyLines(center: Vector2; sides: int32; radius: float32; rotation: float32; color: Color) {.importc: "DrawPolyLines", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a polygon outline of n sides Source Edit
proc drawPolyLines(center: Vector2; sides: int32; radius: float32; rotation: float32; lineThick: float32; color: Color) {. importc: "DrawPolyLinesEx", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a polygon outline of n sides with extended parameters Source Edit
proc drawRectangle(position: Vector2; size: Vector2; color: Color) {. importc: "DrawRectangleV", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a color-filled rectangle (Vector version) Source Edit
proc drawRectangle(posX: int32; posY: int32; width: int32; height: int32; color: Color) {.importc: "DrawRectangle", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a color-filled rectangle Source Edit
proc drawRectangle(rec: Rectangle; color: Color) {.importc: "DrawRectangleRec", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a color-filled rectangle Source Edit
proc drawRectangleGradientH(posX: int32; posY: int32; width: int32; height: int32; left: Color; right: Color) {. importc: "DrawRectangleGradientH", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a horizontal-gradient-filled rectangle Source Edit
proc drawRectangleGradientV(posX: int32; posY: int32; width: int32; height: int32; top: Color; bottom: Color) {. importc: "DrawRectangleGradientV", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a vertical-gradient-filled rectangle Source Edit
proc drawRectangleLines(posX: int32; posY: int32; width: int32; height: int32; color: Color) {.importc: "DrawRectangleLines", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw rectangle outline Source Edit
proc drawRectangleLines(rec: Rectangle; lineThick: float32; color: Color) {. importc: "DrawRectangleLinesEx", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw rectangle outline with extended parameters Source Edit
proc drawRectangleRounded(rec: Rectangle; roundness: float32; segments: int32; color: Color) {.importc: "DrawRectangleRounded", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw rectangle with rounded edges Source Edit
proc drawRectangleRoundedLines(rec: Rectangle; roundness: float32; segments: int32; color: Color) {. importc: "DrawRectangleRoundedLines", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw rectangle lines with rounded edges Source Edit
proc drawRectangleRoundedLines(rec: Rectangle; roundness: float32; segments: int32; lineThick: float32; color: Color) {. importc: "DrawRectangleRoundedLinesEx", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw rectangle with rounded edges outline Source Edit
proc drawRingLines(center: Vector2; innerRadius: float32; outerRadius: float32; startAngle: float32; endAngle: float32; segments: int32; color: Color) {.importc: "DrawRingLines", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw ring outline Source Edit
proc drawSphere(centerPos: Vector3; radius: float32; color: Color) {. importc: "DrawSphere", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw sphere Source Edit
proc drawSphere(centerPos: Vector3; radius: float32; rings: int32; slices: int32; color: Color) {.importc: "DrawSphereEx", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw sphere with extended parameters Source Edit
proc drawSphereWires(centerPos: Vector3; radius: float32; rings: int32; slices: int32; color: Color) {.importc: "DrawSphereWires", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw sphere wires Source Edit
proc drawSplineBasis(points: openArray[Vector2]; thick: float32; color: Color) {. ...raises: [], tags: [], forbids: [].}
- Draw spline: B-Spline, minimum 4 points Source Edit
proc drawSplineBezierCubic(points: openArray[Vector2]; thick: float32; color: Color) {....raises: [], tags: [], forbids: [].}
- Draw spline: Cubic Bezier, minimum 4 points (2 control points): p1, c2, c3, p4, c5, c6... Source Edit
proc drawSplineBezierQuadratic(points: openArray[Vector2]; thick: float32; color: Color) {....raises: [], tags: [], forbids: [].}
- Draw spline: Quadratic Bezier, minimum 3 points (1 control point): p1, c2, p3, c4... Source Edit
proc drawSplineCatmullRom(points: openArray[Vector2]; thick: float32; color: Color) {....raises: [], tags: [], forbids: [].}
- Draw spline: Catmull-Rom, minimum 4 points Source Edit
proc drawSplineLinear(points: openArray[Vector2]; thick: float32; color: Color) {. ...raises: [], tags: [], forbids: [].}
- Draw spline: Linear, minimum 2 points Source Edit
proc drawSplineSegmentBezierCubic(p1: Vector2; c2: Vector2; c3: Vector2; p4: Vector2; thick: float32; color: Color) {. importc: "DrawSplineSegmentBezierCubic", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw spline segment: Cubic Bezier, 2 points, 2 control points Source Edit
proc drawSplineSegmentBezierQuadratic(p1: Vector2; c2: Vector2; p3: Vector2; thick: float32; color: Color) {. importc: "DrawSplineSegmentBezierQuadratic", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw spline segment: Quadratic Bezier, 2 points, 1 control point Source Edit
proc drawText(font: Font; text: string; position: Vector2; fontSize: float32; spacing: float32; tint: Color) {....raises: [], tags: [], forbids: [].}
- Draw text using font and additional parameters Source Edit
proc drawTexture(texture: Texture2D; position: Vector2; rotation: float32; scale: float32; tint: Color) {.importc: "DrawTextureEx", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a Texture2D with extended parameters Source Edit
proc drawTexture(texture: Texture2D; position: Vector2; tint: Color) {. importc: "DrawTextureV", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a Texture2D with position defined as Vector2 Source Edit
proc drawTexture(texture: Texture2D; posX: int32; posY: int32; tint: Color) {. importc: "DrawTexture", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a Texture2D Source Edit
proc drawTexture(texture: Texture2D; source: Rectangle; dest: Rectangle; origin: Vector2; rotation: float32; tint: Color) {. importc: "DrawTexturePro", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a part of a texture defined by a rectangle with 'pro' parameters Source Edit
proc drawTextureNPatch(texture: Texture2D; nPatchInfo: NPatchInfo; dest: Rectangle; origin: Vector2; rotation: float32; tint: Color) {.importc: "DrawTextureNPatch", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draws a texture (or part of it) that stretches or shrinks nicely Source Edit
proc drawTriangleFan(points: openArray[Vector2]; color: Color) {....raises: [], tags: [], forbids: [].}
- Draw a triangle fan defined by points (first vertex is the center) Source Edit
proc drawTriangleStrip(points: openArray[Vector2]; color: Color) {....raises: [], tags: [], forbids: [].}
- Draw a triangle strip defined by points Source Edit
proc drawTriangleStrip3D(points: openArray[Vector3]; color: Color) {....raises: [], tags: [], forbids: [].}
- Draw a triangle strip defined by points Source Edit
proc enableCursor() {.importc: "EnableCursor", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Enables cursor (unlock cursor) Source Edit
proc enableEventWaiting() {.importc: "EnableEventWaiting", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Enable waiting for events on EndDrawing(), no automatic event polling Source Edit
proc endBlendMode() {.importc: "EndBlendMode", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- End blending mode (reset to default: alpha blending) Source Edit
proc endDrawing() {.importc: "EndDrawing", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- End canvas drawing and swap buffers (double buffering) Source Edit
proc endScissorMode() {.importc: "EndScissorMode", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- End scissor mode Source Edit
proc endShaderMode() {.importc: "EndShaderMode", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- End custom shader drawing (use default shader) Source Edit
proc endTextureMode() {.importc: "EndTextureMode", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Ends drawing to render texture Source Edit
proc endVrStereoMode() {.importc: "EndVrStereoMode", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- End stereo rendering (requires VR simulator) Source Edit
proc exportAutomationEventList(list: AutomationEventList; fileName: string): bool {. ...raises: [], tags: [], forbids: [].}
- Export automation events list as text file Source Edit
proc exportDataAsCode(data: openArray[byte]; fileName: string): bool {. ...raises: [ValueError], tags: [WriteIOEffect], forbids: [].}
- Export data to code (.nim), returns true on success Source Edit
proc exportFontAsCode(font: Font; fileName: string): bool {....raises: [], tags: [], forbids: [].}
- Export font as code file, returns true on success Source Edit
proc exportImage(image: Image; fileName: string): bool {....raises: [], tags: [], forbids: [].}
- Export image data to file, returns true on success Source Edit
proc exportImageAsCode(image: Image; fileName: string): bool {....raises: [], tags: [], forbids: [].}
- Export image as code file defining an array of bytes, returns true on success Source Edit
proc exportImageToMemory(image: Image; fileType: string): RArray[uint8] {. ...raises: [], tags: [], forbids: [].}
- Export image to memory buffer Source Edit
proc exportMesh(mesh: Mesh; fileName: string): bool {....raises: [], tags: [], forbids: [].}
- Export mesh data to file, returns true on success Source Edit
proc exportMeshAsCode(mesh: Mesh; fileName: string): bool {....raises: [], tags: [], forbids: [].}
- Export mesh as code file (.h) defining multiple arrays of vertex attributes Source Edit
proc exportWave(wave: Wave; fileName: string): bool {....raises: [], tags: [], forbids: [].}
- Export wave data to file, returns true on success Source Edit
proc exportWaveAsCode(wave: Wave; fileName: string): bool {....raises: [], tags: [], forbids: [].}
- Export wave sample data to code (.h), returns true on success Source Edit
proc frameCount(x: ModelAnimation): int32 {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
func genImageCellular(width: int32; height: int32; tileSize: int32): Image {. importc: "GenImageCellular", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate image: cellular algorithm, bigger tileSize means bigger cells Source Edit
func genImageColor(width: int32; height: int32; color: Color): Image {. importc: "GenImageColor", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate image: plain color Source Edit
func genImagePerlinNoise(width: int32; height: int32; offsetX: int32; offsetY: int32; scale: float32): Image {. importc: "GenImagePerlinNoise", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate image: perlin noise Source Edit
proc genImageText(width: int32; height: int32; text: string): Image {. ...raises: [], tags: [], forbids: [].}
- Generate image: grayscale image from text data Source Edit
func genImageWhiteNoise(width: int32; height: int32; factor: float32): Image {. importc: "GenImageWhiteNoise", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate image: white noise Source Edit
proc genMeshCone(radius: float32; height: float32; slices: int32): Mesh {. importc: "GenMeshCone", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate cone/pyramid mesh Source Edit
proc genMeshCube(width: float32; height: float32; length: float32): Mesh {. importc: "GenMeshCube", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate cuboid mesh Source Edit
proc genMeshCylinder(radius: float32; height: float32; slices: int32): Mesh {. importc: "GenMeshCylinder", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate cylinder mesh Source Edit
proc genMeshHemiSphere(radius: float32; rings: int32; slices: int32): Mesh {. importc: "GenMeshHemiSphere", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate half-sphere mesh (no bottom cap) Source Edit
proc genMeshKnot(radius: float32; size: float32; radSeg: int32; sides: int32): Mesh {. importc: "GenMeshKnot", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate trefoil knot mesh Source Edit
proc genMeshPlane(width: float32; length: float32; resX: int32; resZ: int32): Mesh {. importc: "GenMeshPlane", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate plane mesh (with subdivisions) Source Edit
proc genMeshPoly(sides: int32; radius: float32): Mesh {.importc: "GenMeshPoly", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate polygonal mesh Source Edit
proc genMeshSphere(radius: float32; rings: int32; slices: int32): Mesh {. importc: "GenMeshSphere", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate sphere mesh (standard sphere) Source Edit
proc genMeshTangents(mesh: var Mesh) {.importc: "GenMeshTangents", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Compute mesh tangents Source Edit
proc genMeshTorus(radius: float32; size: float32; radSeg: int32; sides: int32): Mesh {. importc: "GenMeshTorus", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate torus mesh Source Edit
proc genTextureMipmaps(texture: var Texture2D) {.importc: "GenTextureMipmaps", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Generate GPU mipmaps for a texture Source Edit
func getCameraMatrix(camera: Camera): Matrix {.importc: "GetCameraMatrix", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get camera transform matrix (view matrix) Source Edit
func getCameraMatrix2D(camera: Camera2D): Matrix {.importc: "GetCameraMatrix2D", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get camera 2d transform matrix Source Edit
proc getCharPressed(): int32 {.importc: "GetCharPressed", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty Source Edit
proc getClipboardText(): string {....raises: [], tags: [], forbids: [].}
- Get clipboard text content Source Edit
proc getCurrentMonitor(): int32 {.importc: "GetCurrentMonitor", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get current connected monitor Source Edit
proc getDroppedFiles(): seq[string] {....raises: [], tags: [], forbids: [].}
- Get dropped files names Source Edit
proc getFontDefault(): Font {.importc: "GetFontDefault", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get the default Font Source Edit
proc getFrameTime(): float32 {.importc: "GetFrameTime", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get time in seconds for last frame drawn (delta time) Source Edit
proc getGamepadAxisCount(gamepad: int32): int32 {. importc: "GetGamepadAxisCount", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get gamepad axis count for a gamepad Source Edit
proc getGamepadAxisMovement(gamepad: int32; axis: GamepadAxis): float32 {. importc: "GetGamepadAxisMovement", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get axis movement value for a gamepad axis Source Edit
proc getGamepadButtonPressed(): GamepadButton {. importc: "GetGamepadButtonPressed", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get the last gamepad button pressed Source Edit
proc getGamepadName(gamepad: int32): string {....raises: [], tags: [], forbids: [].}
- Get gamepad internal name id Source Edit
proc getGestureDetected(): Gesture {.importc: "GetGestureDetected", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get latest detected gesture Source Edit
proc getGestureDragAngle(): float32 {.importc: "GetGestureDragAngle", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get gesture drag angle Source Edit
proc getGestureDragVector(): Vector2 {.importc: "GetGestureDragVector", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get gesture drag vector Source Edit
proc getGestureHoldDuration(): float32 {.importc: "GetGestureHoldDuration", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get gesture hold time in milliseconds Source Edit
proc getGesturePinchAngle(): float32 {.importc: "GetGesturePinchAngle", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get gesture pinch angle Source Edit
proc getGesturePinchVector(): Vector2 {.importc: "GetGesturePinchVector", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get gesture pinch delta Source Edit
func getGlyphAtlasRec(font: Font; codepoint: Rune): Rectangle {. importc: "GetGlyphAtlasRec", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found Source Edit
func getGlyphIndex(font: Font; codepoint: Rune): int32 {. importc: "GetGlyphIndex", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found Source Edit
func getGlyphInfo(font: Font; codepoint: Rune): GlyphInfo {. importc: "GetGlyphInfo", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found Source Edit
func getImageAlphaBorder(image: Image; threshold: float32): Rectangle {. importc: "GetImageAlphaBorder", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get image alpha border rectangle Source Edit
func getImageColor(image: Image; x: int32; y: int32): Color {. importc: "GetImageColor", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get image pixel color at (x, y) position Source Edit
proc getKeyPressed(): KeyboardKey {.importc: "GetKeyPressed", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty Source Edit
proc getMasterVolume(): float32 {.importc: "GetMasterVolume", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get master volume (listener) Source Edit
func getMeshBoundingBox(mesh: Mesh): BoundingBox {. importc: "GetMeshBoundingBox", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Compute mesh bounding box limits Source Edit
proc getModelBoundingBox(model: Model): BoundingBox {. importc: "GetModelBoundingBox", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Compute model bounding box limits (considers all meshes) Source Edit
proc getMonitorCount(): int32 {.importc: "GetMonitorCount", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get number of connected monitors Source Edit
proc getMonitorHeight(monitor: int32): int32 {.importc: "GetMonitorHeight", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get specified monitor height (current video mode used by monitor) Source Edit
proc getMonitorName(monitor: int32): string {....raises: [], tags: [], forbids: [].}
- Get the human-readable, UTF-8 encoded name of the specified monitor Source Edit
proc getMonitorPhysicalHeight(monitor: int32): int32 {. importc: "GetMonitorPhysicalHeight", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get specified monitor physical height in millimetres Source Edit
proc getMonitorPhysicalWidth(monitor: int32): int32 {. importc: "GetMonitorPhysicalWidth", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get specified monitor physical width in millimetres Source Edit
proc getMonitorPosition(monitor: int32): Vector2 {. importc: "GetMonitorPosition", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get specified monitor position Source Edit
proc getMonitorRefreshRate(monitor: int32): int32 {. importc: "GetMonitorRefreshRate", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get specified monitor refresh rate Source Edit
proc getMonitorWidth(monitor: int32): int32 {.importc: "GetMonitorWidth", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get specified monitor width (current video mode used by monitor) Source Edit
proc getMouseDelta(): Vector2 {.importc: "GetMouseDelta", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get mouse delta between frames Source Edit
proc getMousePosition(): Vector2 {.importc: "GetMousePosition", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get mouse position XY Source Edit
proc getMouseWheelMove(): float32 {.importc: "GetMouseWheelMove", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get mouse wheel movement for X or Y, whichever is larger Source Edit
proc getMouseWheelMoveV(): Vector2 {.importc: "GetMouseWheelMoveV", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get mouse wheel movement for both X and Y Source Edit
func getMusicTimeLength(music: Music): float32 {.importc: "GetMusicTimeLength", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get music time length (in seconds) Source Edit
proc getMusicTimePlayed(music: Music): float32 {.importc: "GetMusicTimePlayed", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get current music time played (in seconds) Source Edit
proc getPixelColor[T: Pixel](pixel: T): Color
- Get Color from a source pixel pointer of certain format Source Edit
func getPixelDataSize(width: int32; height: int32; format: PixelFormat): int32 {. importc: "GetPixelDataSize", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get pixel data size in bytes for certain format Source Edit
func getRayCollisionBox(ray: Ray; box: BoundingBox): RayCollision {. importc: "GetRayCollisionBox", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get collision info between ray and box Source Edit
func getRayCollisionMesh(ray: Ray; mesh: Mesh; transform: Matrix): RayCollision {. importc: "GetRayCollisionMesh", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get collision info between ray and mesh Source Edit
func getRayCollisionQuad(ray: Ray; p1: Vector3; p2: Vector3; p3: Vector3; p4: Vector3): RayCollision {. importc: "GetRayCollisionQuad", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get collision info between ray and quad Source Edit
func getRayCollisionSphere(ray: Ray; center: Vector3; radius: float32): RayCollision {. importc: "GetRayCollisionSphere", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get collision info between ray and sphere Source Edit
func getRayCollisionTriangle(ray: Ray; p1: Vector3; p2: Vector3; p3: Vector3): RayCollision {. importc: "GetRayCollisionTriangle", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get collision info between ray and triangle Source Edit
proc getRenderHeight(): int32 {.importc: "GetRenderHeight", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get current render height (it considers HiDPI) Source Edit
proc getRenderWidth(): int32 {.importc: "GetRenderWidth", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get current render width (it considers HiDPI) Source Edit
proc getScreenHeight(): int32 {.importc: "GetScreenHeight", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get current screen height Source Edit
proc getScreenWidth(): int32 {.importc: "GetScreenWidth", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get current screen width Source Edit
proc getShaderLocation(shader: Shader; uniformName: string): ShaderLocation {. ...raises: [], tags: [], forbids: [].}
- Get shader uniform location Source Edit
proc getShaderLocationAttrib(shader: Shader; attribName: string): ShaderLocation {. ...raises: [], tags: [], forbids: [].}
- Get shader attribute location Source Edit
proc getShapesTexture(): Texture2D {.importc: "GetShapesTexture", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get texture that is used for shapes drawing Source Edit
proc getShapesTextureRectangle(): Rectangle {. importc: "GetShapesTextureRectangle", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get texture source rectangle that is used for shapes drawing Source Edit
proc getTouchPointCount(): int32 {.importc: "GetTouchPointCount", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get number of touch points Source Edit
proc getTouchPointId(index: int32): int32 {.importc: "GetTouchPointId", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get touch point identifier for given index Source Edit
proc getTouchPosition(index: int32): Vector2 {.importc: "GetTouchPosition", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get touch position XY for a touch point index (relative to screen size) Source Edit
proc getWindowHandle(): pointer {.importc: "GetWindowHandle", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get native window handle Source Edit
proc getWindowPosition(): Vector2 {.importc: "GetWindowPosition", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get window position XY on monitor Source Edit
proc getWindowScaleDPI(): Vector2 {.importc: "GetWindowScaleDPI", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Get window scale DPI factor Source Edit
proc glyphCount(x: Font): int32 {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc hideCursor() {.importc: "HideCursor", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Hides cursor Source Edit
func imageAlphaClear(image: var Image; color: Color; threshold: float32) {. importc: "ImageAlphaClear", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Clear alpha channel to desired color Source Edit
func imageAlphaCrop(image: var Image; threshold: float32) {. importc: "ImageAlphaCrop", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Crop image depending on alpha value Source Edit
func imageAlphaMask(image: var Image; alphaMask: Image) {. importc: "ImageAlphaMask", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Apply alpha mask to image Source Edit
func imageAlphaPremultiply(image: var Image) {.importc: "ImageAlphaPremultiply", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Premultiply alpha channel Source Edit
func imageBlurGaussian(image: var Image; blurSize: int32) {. importc: "ImageBlurGaussian", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Apply Gaussian blur using a box blur approximation Source Edit
func imageClearBackground(dst: var Image; color: Color) {. importc: "ImageClearBackground", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Clear image background with given color Source Edit
func imageColorBrightness(image: var Image; brightness: int32) {. importc: "ImageColorBrightness", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Modify image color: brightness (-255 to 255) Source Edit
func imageColorContrast(image: var Image; contrast: float32) {. importc: "ImageColorContrast", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Modify image color: contrast (-100 to 100) Source Edit
func imageColorGrayscale(image: var Image) {.importc: "ImageColorGrayscale", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Modify image color: grayscale Source Edit
func imageColorInvert(image: var Image) {.importc: "ImageColorInvert", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Modify image color: invert Source Edit
func imageColorTint(image: var Image; color: Color) {.importc: "ImageColorTint", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Modify image color: tint Source Edit
func imageDither(image: var Image; rBpp: int32; gBpp: int32; bBpp: int32; aBpp: int32) {.importc: "ImageDither", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Dither image data to 16bpp or lower (Floyd-Steinberg dithering) Source Edit
func imageDrawCircle(dst: var Image; center: Vector2; radius: int32; color: Color) {.importc: "ImageDrawCircleV", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a filled circle within an image (Vector version) Source Edit
func imageDrawCircle(dst: var Image; centerX: int32; centerY: int32; radius: int32; color: Color) {.importc: "ImageDrawCircle", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a filled circle within an image Source Edit
func imageDrawCircleLines(dst: var Image; center: Vector2; radius: int32; color: Color) {.importc: "ImageDrawCircleLinesV", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw circle outline within an image (Vector version) Source Edit
func imageDrawCircleLines(dst: var Image; centerX: int32; centerY: int32; radius: int32; color: Color) {. importc: "ImageDrawCircleLines", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw circle outline within an image Source Edit
func imageDrawLine(dst: var Image; start: Vector2; end: Vector2; color: Color) {. importc: "ImageDrawLineV", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw line within an image (Vector version) Source Edit
func imageDrawLine(dst: var Image; start: Vector2; end: Vector2; thick: int32; color: Color) {.importc: "ImageDrawLineEx", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw a line defining thickness within an image Source Edit
func imageDrawLine(dst: var Image; startPosX: int32; startPosY: int32; endPosX: int32; endPosY: int32; color: Color) {. importc: "ImageDrawLine", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw line within an image Source Edit
func imageDrawPixel(dst: var Image; position: Vector2; color: Color) {. importc: "ImageDrawPixelV", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw pixel within an image (Vector version) Source Edit
func imageDrawPixel(dst: var Image; posX: int32; posY: int32; color: Color) {. importc: "ImageDrawPixel", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw pixel within an image Source Edit
func imageDrawRectangle(dst: var Image; position: Vector2; size: Vector2; color: Color) {.importc: "ImageDrawRectangleV", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw rectangle within an image (Vector version) Source Edit
func imageDrawRectangle(dst: var Image; posX: int32; posY: int32; width: int32; height: int32; color: Color) {. importc: "ImageDrawRectangle", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Draw rectangle within an image Source Edit
proc imageDrawText(dst: var Image; font: Font; text: string; position: Vector2; fontSize: float32; spacing: float32; tint: Color) {. ...raises: [], tags: [], forbids: [].}
- Draw text (custom sprite font) within an image (destination) Source Edit
proc imageDrawText(dst: var Image; text: string; posX: int32; posY: int32; fontSize: int32; color: Color) {....raises: [], tags: [], forbids: [].}
- Draw text (using default font) within an image (destination) Source Edit
func imageFlipHorizontal(image: var Image) {.importc: "ImageFlipHorizontal", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Flip image horizontally Source Edit
func imageFlipVertical(image: var Image) {.importc: "ImageFlipVertical", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Flip image vertically Source Edit
func imageFormat(image: var Image; newFormat: PixelFormat) {. importc: "ImageFormat", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Convert image data to desired format Source Edit
func imageFromChannel(image: Image; selectedChannel: int32): Image {. importc: "ImageFromChannel", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Create an image from a selected channel of another image (GRAYSCALE) Source Edit
proc imageKernelConvolution(image: var Image; kernel: openArray[float32]) {. ...raises: [], tags: [], forbids: [].}
- Apply custom square convolution kernel to image Source Edit
func imageMipmaps(image: var Image) {.importc: "ImageMipmaps", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Compute all mipmap levels for a provided image Source Edit
func imageResize(image: var Image; newWidth: int32; newHeight: int32) {. importc: "ImageResize", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Resize image (Bicubic scaling algorithm) Source Edit
func imageResizeCanvas(image: var Image; newWidth: int32; newHeight: int32; offsetX: int32; offsetY: int32; fill: Color) {. importc: "ImageResizeCanvas", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Resize canvas and fill with color Source Edit
func imageResizeNN(image: var Image; newWidth: int32; newHeight: int32) {. importc: "ImageResizeNN", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Resize image (Nearest-Neighbor scaling algorithm) Source Edit
func imageRotate(image: var Image; degrees: int32) {.importc: "ImageRotate", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Rotate image by input angle in degrees (-359 to 359) Source Edit
func imageRotateCCW(image: var Image) {.importc: "ImageRotateCCW", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Rotate image counter-clockwise 90deg Source Edit
func imageRotateCW(image: var Image) {.importc: "ImageRotateCW", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Rotate image clockwise 90deg Source Edit
func imageToPOT(image: var Image; fill: Color) {.importc: "ImageToPOT", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Convert image to POT (power-of-two) Source Edit
proc initAudioDevice() {.importc: "InitAudioDevice", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Initialize audio device and context Source Edit
proc initWindow(width: int32; height: int32; title: string) {. ...raises: [RaylibError], tags: [], forbids: [].}
- Initialize window and OpenGL context Source Edit
func isAudioDeviceReady(): bool {.importc: "IsAudioDeviceReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if audio device has been initialized successfully Source Edit
proc isAudioStreamPlaying(stream: AudioStream): bool {. importc: "IsAudioStreamPlaying", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if audio stream is playing Source Edit
proc isAudioStreamProcessed(stream: AudioStream): bool {. importc: "IsAudioStreamProcessed", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if any audio stream buffers requires refill Source Edit
func isAudioStreamReady(stream: AudioStream): bool {. importc: "IsAudioStreamReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Checks if an audio stream is ready Source Edit
proc isCursorHidden(): bool {.importc: "IsCursorHidden", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if cursor is not visible Source Edit
proc isCursorOnScreen(): bool {.importc: "IsCursorOnScreen", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if cursor is on the screen Source Edit
proc isFileDropped(): bool {.importc: "IsFileDropped", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a file has been dropped into window Source Edit
func isFontReady(font: Font): bool {.importc: "IsFontReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a font is ready Source Edit
proc isGamepadAvailable(gamepad: int32): bool {.importc: "IsGamepadAvailable", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a gamepad is available Source Edit
proc isGamepadButtonDown(gamepad: int32; button: GamepadButton): bool {. importc: "IsGamepadButtonDown", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a gamepad button is being pressed Source Edit
proc isGamepadButtonPressed(gamepad: int32; button: GamepadButton): bool {. importc: "IsGamepadButtonPressed", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a gamepad button has been pressed once Source Edit
proc isGamepadButtonReleased(gamepad: int32; button: GamepadButton): bool {. importc: "IsGamepadButtonReleased", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a gamepad button has been released once Source Edit
proc isGamepadButtonUp(gamepad: int32; button: GamepadButton): bool {. importc: "IsGamepadButtonUp", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a gamepad button is NOT being pressed Source Edit
proc isGestureDetected(gesture: Gesture): bool {.importc: "IsGestureDetected", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a gesture have been detected Source Edit
func isImageReady(image: Image): bool {.importc: "IsImageReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if an image is ready Source Edit
proc isKeyDown(key: KeyboardKey): bool {.importc: "IsKeyDown", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a key is being pressed Source Edit
proc isKeyPressed(key: KeyboardKey): bool {.importc: "IsKeyPressed", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a key has been pressed once Source Edit
proc isKeyPressedRepeat(key: KeyboardKey): bool {.importc: "IsKeyPressedRepeat", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a key has been pressed again (Only PLATFORM_DESKTOP) Source Edit
proc isKeyReleased(key: KeyboardKey): bool {.importc: "IsKeyReleased", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a key has been released once Source Edit
proc isKeyUp(key: KeyboardKey): bool {.importc: "IsKeyUp", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a key is NOT being pressed Source Edit
func isMaterialReady(material: Material): bool {.importc: "IsMaterialReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a material is ready Source Edit
func isModelAnimationValid(model: Model; anim: ModelAnimation): bool {. importc: "IsModelAnimationValid", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check model animation skeleton match Source Edit
func isModelReady(model: Model): bool {.importc: "IsModelReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a model is ready Source Edit
proc isMouseButtonDown(button: MouseButton): bool {. importc: "IsMouseButtonDown", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a mouse button is being pressed Source Edit
proc isMouseButtonPressed(button: MouseButton): bool {. importc: "IsMouseButtonPressed", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a mouse button has been pressed once Source Edit
proc isMouseButtonReleased(button: MouseButton): bool {. importc: "IsMouseButtonReleased", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a mouse button has been released once Source Edit
proc isMouseButtonUp(button: MouseButton): bool {.importc: "IsMouseButtonUp", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a mouse button is NOT being pressed Source Edit
func isMusicReady(music: Music): bool {.importc: "IsMusicReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Checks if a music stream is ready Source Edit
proc isMusicStreamPlaying(music: Music): bool {.importc: "IsMusicStreamPlaying", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if music is playing Source Edit
func isRenderTextureReady(target: RenderTexture2D): bool {. importc: "IsRenderTextureReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a render texture is ready Source Edit
func isShaderReady(shader: Shader): bool {.importc: "IsShaderReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a shader is ready Source Edit
proc isSoundPlaying(sound: Sound): bool {.importc: "IsSoundPlaying", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a sound is currently playing Source Edit
func isSoundReady(sound: Sound): bool {.importc: "IsSoundReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Checks if a sound is ready Source Edit
func isTextureReady(texture: Texture2D): bool {.importc: "IsTextureReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if a texture is ready Source Edit
func isWaveReady(wave: Wave): bool {.importc: "IsWaveReady", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Checks if wave data is ready Source Edit
proc isWindowFocused(): bool {.importc: "IsWindowFocused", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if window is currently focused (only PLATFORM_DESKTOP) Source Edit
proc isWindowFullscreen(): bool {.importc: "IsWindowFullscreen", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if window is currently fullscreen Source Edit
proc isWindowHidden(): bool {.importc: "IsWindowHidden", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if window is currently hidden (only PLATFORM_DESKTOP) Source Edit
proc isWindowMaximized(): bool {.importc: "IsWindowMaximized", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if window is currently maximized (only PLATFORM_DESKTOP) Source Edit
proc isWindowMinimized(): bool {.importc: "IsWindowMinimized", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if window is currently minimized (only PLATFORM_DESKTOP) Source Edit
proc isWindowReady(): bool {.importc: "IsWindowReady", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if window has been initialized successfully Source Edit
proc isWindowResized(): bool {.importc: "IsWindowResized", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if window has been resized last frame Source Edit
proc isWindowState(flag: ConfigFlags): bool {.importc: "IsWindowState", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if one specific window flag is enabled Source Edit
proc len(x: AutomationEventList): int {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc loadAudioStream(sampleRate: uint32; sampleSize: uint32; channels: uint32): AudioStream {. ...raises: [RaylibError], tags: [], forbids: [].}
- Load audio stream (to stream raw audio pcm data) Source Edit
proc loadAutomationEventList(fileName: string): AutomationEventList {. ...raises: [], tags: [], forbids: [].}
- Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS Source Edit
proc loadFont(fileName: string): Font {....raises: [RaylibError], tags: [], forbids: [].}
- Load font from file into GPU memory (VRAM) Source Edit
proc loadFontFromMemory(fileType: string; fileData: openArray[uint8]; fontSize: int32; codepoints: openArray[int32]): Font {. ...raises: [RaylibError], tags: [], forbids: [].}
- Load font from memory buffer, fileType refers to extension: i.e. '.ttf' Source Edit
proc loadFontFromMemory(fileType: string; fileData: openArray[uint8]; fontSize: int32; glyphCount: int32): Font {. ...raises: [RaylibError], tags: [], forbids: [].}
- Source Edit
proc loadImageAnim(fileName: string; frames: out int32): Image {. ...raises: [RaylibError], tags: [], forbids: [].}
- Load image sequence from file (frames appended to image.data) Source Edit
proc loadImageAnimFromMemory(fileType: string; fileData: openArray[uint8]; frames: openArray[int32]): Image {. ...raises: [RaylibError], tags: [], forbids: [].}
- Load image sequence from memory buffer Source Edit
proc loadImageFromMemory(fileType: string; fileData: openArray[uint8]): Image {. ...raises: [RaylibError], tags: [], forbids: [].}
- Load image from memory buffer, fileType refers to extension: i.e. '.png' Source Edit
proc loadImageFromScreen(): Image {.importc: "LoadImageFromScreen", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Load image from screen buffer and (screenshot) Source Edit
proc loadImageFromTexture(texture: Texture2D): Image {....raises: [RaylibError], tags: [], forbids: [].}
- Load image from GPU texture data Source Edit
proc loadImageRaw(fileName: string; width, height: int32; format: PixelFormat; headerSize: int32): Image {....raises: [RaylibError], tags: [], forbids: [].}
- Load image sequence from file (frames appended to image.data) Source Edit
proc loadMaterialDefault(): Material {.importc: "LoadMaterialDefault", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) Source Edit
proc loadMaterials(fileName: string): RArray[Material] {....raises: [RaylibError], tags: [], forbids: [].}
- Load materials from model file Source Edit
proc loadModelAnimations(fileName: string): RArray[ModelAnimation] {. ...raises: [RaylibError], tags: [], forbids: [].}
- Load model animations from file Source Edit
proc loadModelFromMesh(mesh: sink Mesh): Model {....raises: [RaylibError], tags: [], forbids: [].}
- Load model from generated mesh (default material) Source Edit
proc loadMusicStream(fileName: string): Music {....raises: [RaylibError], tags: [], forbids: [].}
- Load music stream from file Source Edit
proc loadMusicStreamFromMemory(fileType: string; data: openArray[uint8]): Music {. ...raises: [RaylibError], tags: [], forbids: [].}
- Load music stream from data Source Edit
proc loadRenderTexture(width: int32; height: int32): RenderTexture2D {. ...raises: [RaylibError], tags: [], forbids: [].}
- Load texture for rendering (framebuffer) Source Edit
proc loadShader(vsFileName, fsFileName: string): Shader {....raises: [], tags: [], forbids: [].}
- Load shader from files and bind default locations Source Edit
proc loadShaderFromMemory(vsCode, fsCode: string): Shader {....raises: [], tags: [], forbids: [].}
- Load shader from code strings and bind default locations Source Edit
proc loadSoundAlias(source: Sound): SoundAlias {....raises: [RaylibError], tags: [], forbids: [].}
- Create a new sound that shares the same sample data as the source sound, does not own the sound data Source Edit
proc loadSoundFromWave(wave: Wave): Sound {....raises: [RaylibError], tags: [], forbids: [].}
- Load sound from wave data Source Edit
proc loadTexture(fileName: string): Texture2D {....raises: [RaylibError], tags: [], forbids: [].}
- Load texture from file into GPU memory (VRAM) Source Edit
proc loadTextureCubemap(image: Image; layout: CubemapLayout): TextureCubemap {. ...raises: [RaylibError], tags: [], forbids: [].}
- Load cubemap from image, multiple image cubemap layouts supported Source Edit
proc loadTextureFromData[T: Pixel](pixels: openArray[T]; width: int32; height: int32): Texture
- Load texture using pixels Source Edit
proc loadTextureFromImage(image: Image): Texture2D {....raises: [RaylibError], tags: [], forbids: [].}
- Load texture from image data Source Edit
proc loadVrStereoConfig(device: VrDeviceInfo): VrStereoConfig {. importc: "LoadVrStereoConfig", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Load VR stereo config for VR simulator device parameters Source Edit
proc loadWaveFromMemory(fileType: string; fileData: openArray[uint8]): Wave {. ...raises: [RaylibError], tags: [], forbids: [].}
- Load wave from memory buffer, fileType refers to extension: i.e. '.wav' Source Edit
proc loadWaveSamples(wave: Wave): RArray[float32] {....raises: [], tags: [], forbids: [].}
- Load samples data from wave as a floats array Source Edit
proc locs=(x: var Shader; locs: ShaderLocsPtr) {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc maps=(x: var Material; maps: MaterialMapsPtr) {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc materialCount(x: Model): int32 {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc maximizeWindow() {.importc: "MaximizeWindow", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set window state: maximized, if resizable (only PLATFORM_DESKTOP) Source Edit
proc measureText(font: Font; text: string; fontSize: float32; spacing: float32): Vector2 {. ...raises: [], tags: [], forbids: [].}
- Measure string size for Font Source Edit
proc measureText(text: string; fontSize: int32): int32 {....raises: [], tags: [], forbids: [].}
- Measure string width for default font Source Edit
proc minimizeWindow() {.importc: "MinimizeWindow", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set window state: minimized, if resizable (only PLATFORM_DESKTOP) Source Edit
proc pauseAudioStream(stream: AudioStream) {.importc: "PauseAudioStream", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Pause audio stream Source Edit
proc pauseMusicStream(music: Music) {.importc: "PauseMusicStream", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Pause music playing Source Edit
proc pauseSound(sound: Sound) {.importc: "PauseSound", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Pause a sound Source Edit
proc playAudioStream(stream: AudioStream) {.importc: "PlayAudioStream", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Play audio stream Source Edit
proc playAutomationEvent(event: AutomationEvent) {. importc: "PlayAutomationEvent", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Play a recorded automation event Source Edit
proc playMusicStream(music: Music) {.importc: "PlayMusicStream", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Start music playing Source Edit
proc pollInputEvents() {.importc: "PollInputEvents", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Register all input events Source Edit
proc restoreWindow() {.importc: "RestoreWindow", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set window state: not minimized/maximized (only PLATFORM_DESKTOP) Source Edit
proc resumeAudioStream(stream: AudioStream) {.importc: "ResumeAudioStream", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Resume audio stream Source Edit
proc resumeMusicStream(music: Music) {.importc: "ResumeMusicStream", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Resume playing paused music Source Edit
proc resumeSound(sound: Sound) {.importc: "ResumeSound", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Resume a paused sound Source Edit
proc seekMusicStream(music: Music; position: float32) {. importc: "SeekMusicStream", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Seek music to a position (in seconds) Source Edit
proc setAudioStreamBufferSizeDefault(size: int32) {. importc: "SetAudioStreamBufferSizeDefault", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Default size for new audio streams Source Edit
proc setAudioStreamCallback(stream: AudioStream; callback: AudioCallback) {. importc: "SetAudioStreamCallback", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Audio thread callback to request new data Source Edit
proc setAudioStreamPan(stream: AudioStream; pan: float32) {. importc: "SetAudioStreamPan", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set pan for audio stream (0.5 is centered) Source Edit
proc setAudioStreamPitch(stream: AudioStream; pitch: float32) {. importc: "SetAudioStreamPitch", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set pitch for audio stream (1.0 is base level) Source Edit
proc setAudioStreamVolume(stream: AudioStream; volume: float32) {. importc: "SetAudioStreamVolume", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set volume for audio stream (1.0 is max level) Source Edit
proc setAutomationEventBaseFrame(frame: int32) {. importc: "SetAutomationEventBaseFrame", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set automation event internal base frame to start recording Source Edit
proc setAutomationEventList(list: var AutomationEventList) {. importc: "SetAutomationEventList", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set automation event list to record to Source Edit
proc setClipboardText(text: string) {....raises: [], tags: [], forbids: [].}
- Set clipboard text content Source Edit
proc setConfigFlags(flags: Flags[ConfigFlags]) {.importc: "SetConfigFlags", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Setup init configuration flags (view FLAGS) Source Edit
proc setExitKey(key: KeyboardKey) {.importc: "SetExitKey", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set a custom key to exit program (default is ESC) Source Edit
proc setGamepadMappings(mappings: string): int32 {....raises: [], tags: [], forbids: [].}
- Set internal gamepad mappings (SDL_GameControllerDB) Source Edit
proc setGamepadVibration(gamepad: int32; leftMotor: float32; rightMotor: float32) {. importc: "SetGamepadVibration", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set gamepad vibration for both motors Source Edit
proc setGesturesEnabled(flags: Flags[Gesture]) {.importc: "SetGesturesEnabled", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Enable a set of gestures using flags Source Edit
proc setLoadFileDataCallback(callback: LoadFileDataCallback) {. importc: "SetLoadFileDataCallback", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set custom file binary data loader Source Edit
proc setLoadFileTextCallback(callback: LoadFileTextCallback) {. importc: "SetLoadFileTextCallback", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set custom file text data loader Source Edit
proc setMasterVolume(volume: float32) {.importc: "SetMasterVolume", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set master volume (listener) Source Edit
proc setMouseCursor(cursor: MouseCursor) {.importc: "SetMouseCursor", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set mouse cursor Source Edit
proc setMouseOffset(offsetX: int32; offsetY: int32) {.importc: "SetMouseOffset", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set mouse offset Source Edit
proc setMousePosition(x: int32; y: int32) {.importc: "SetMousePosition", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set mouse position XY Source Edit
proc setMouseScale(scaleX: float32; scaleY: float32) {.importc: "SetMouseScale", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set mouse scaling Source Edit
proc setMusicPan(music: Music; pan: float32) {.importc: "SetMusicPan", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set pan for a music (0.5 is center) Source Edit
proc setMusicPitch(music: Music; pitch: float32) {.importc: "SetMusicPitch", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set pitch for a music (1.0 is base level) Source Edit
proc setMusicVolume(music: Music; volume: float32) {.importc: "SetMusicVolume", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set volume for music (1.0 is max level) Source Edit
proc setPixelColor[T: Pixel](pixel: var T; color: Color)
- Set color formatted into destination pixel pointer Source Edit
proc setSaveFileDataCallback(callback: SaveFileDataCallback) {. importc: "SetSaveFileDataCallback", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set custom file binary data saver Source Edit
proc setSaveFileTextCallback(callback: SaveFileTextCallback) {. importc: "SetSaveFileTextCallback", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set custom file text data saver Source Edit
proc setShaderValue[T: ShaderV](shader: Shader; locIndex: ShaderLocation; value: T)
- Set shader uniform value Source Edit
proc setShaderValueMatrix(shader: Shader; locIndex: ShaderLocation; mat: Matrix) {. importc: "SetShaderValueMatrix", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set shader uniform value (matrix 4x4) Source Edit
proc setShaderValueTexture(shader: Shader; locIndex: ShaderLocation; texture: Texture2D) {. importc: "SetShaderValueTexture", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set shader uniform value for texture (sampler2d) Source Edit
proc setShaderValueV[T: ShaderV](shader: Shader; locIndex: ShaderLocation; value: openArray[T])
- Set shader uniform value vector Source Edit
proc setShapesTexture(texture: Texture2D; source: Rectangle) {. importc: "SetShapesTexture", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set texture and rectangle to be used on shapes drawing Source Edit
proc setSoundPan(sound: Sound; pan: float32) {.importc: "SetSoundPan", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set pan for a sound (0.5 is center) Source Edit
proc setSoundPitch(sound: Sound; pitch: float32) {.importc: "SetSoundPitch", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set pitch for a sound (1.0 is base level) Source Edit
proc setSoundVolume(sound: Sound; volume: float32) {.importc: "SetSoundVolume", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set volume for a sound (1.0 is max level) Source Edit
proc setTargetFPS(fps: int32) {.importc: "SetTargetFPS", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set target FPS (maximum) Source Edit
proc setTextLineSpacing(spacing: int32) {.importc: "SetTextLineSpacing", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set vertical line spacing when drawing with line-breaks Source Edit
proc setTextureFilter(texture: Texture2D; filter: TextureFilter) {. importc: "SetTextureFilter", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set texture scaling filter mode Source Edit
proc setTextureWrap(texture: Texture2D; wrap: TextureWrap) {. importc: "SetTextureWrap", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set texture wrapping mode Source Edit
proc setTraceLogCallback(callback: TraceLogCallback) {....raises: [], tags: [], forbids: [].}
- Set custom trace log Source Edit
proc setTraceLogLevel(logLevel: TraceLogLevel) {.importc: "SetTraceLogLevel", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set the current threshold (minimum) log level Source Edit
proc setWindowFocused() {.importc: "SetWindowFocused", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set window focused (only PLATFORM_DESKTOP) Source Edit
proc setWindowIcon(image: Image) {.importc: "SetWindowIcon", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP) Source Edit
proc setWindowIcons(images: openArray[Image]) {....raises: [], tags: [], forbids: [].}
- Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP) Source Edit
proc setWindowMaxSize(width: int32; height: int32) {. importc: "SetWindowMaxSize", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE) Source Edit
proc setWindowMinSize(width: int32; height: int32) {. importc: "SetWindowMinSize", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) Source Edit
proc setWindowMonitor(monitor: int32) {.importc: "SetWindowMonitor", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set monitor for the current window Source Edit
proc setWindowOpacity(opacity: float32) {.importc: "SetWindowOpacity", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set window opacity 0.0f..1.0f (only PLATFORM_DESKTOP) Source Edit
proc setWindowPosition(x: int32; y: int32) {.importc: "SetWindowPosition", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set window position on screen (only PLATFORM_DESKTOP) Source Edit
proc setWindowSize(width: int32; height: int32) {.importc: "SetWindowSize", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set window dimensions Source Edit
proc setWindowState(flags: Flags[ConfigFlags]) {.importc: "SetWindowState", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Set window configuration state using flags (only PLATFORM_DESKTOP) Source Edit
proc setWindowTitle(title: string) {....raises: [], tags: [], forbids: [].}
- Set title for window (only PLATFORM_DESKTOP and PLATFORM_WEB) Source Edit
proc showCursor() {.importc: "rlShowCursor", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Shows cursor Source Edit
proc startAutomationEventRecording() {.importc: "StartAutomationEventRecording", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Start recording automation events (AutomationEventList must be set) Source Edit
proc stopAudioStream(stream: AudioStream) {.importc: "StopAudioStream", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Stop audio stream Source Edit
proc stopAutomationEventRecording() {.importc: "StopAutomationEventRecording", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Stop recording automation events Source Edit
proc stopMusicStream(music: Music) {.importc: "StopMusicStream", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Stop music playing Source Edit
proc swapScreenBuffer() {.importc: "SwapScreenBuffer", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Swap back buffer with front buffer (screen drawing) Source Edit
proc takeScreenshot(fileName: string) {....raises: [], tags: [], forbids: [].}
- Takes a screenshot of current screen (filename extension defines format) Source Edit
proc texture(x: MaterialMap): lent Texture {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc texture(x: var MaterialMap): var Texture {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc texture=(x: var MaterialMap; val: Texture) {.nodestroy, inline, ...raises: [], tags: [], forbids: [].}
- Set texture for a material map type (Diffuse, Specular...) NOTE: Previous texture should be manually unloaded Source Edit
proc toggleBorderlessWindowed() {.importc: "ToggleBorderlessWindowed", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Toggle window state: borderless windowed resizes window to match monitor resolution (only PLATFORM_DESKTOP) Source Edit
proc toggleFullscreen() {.importc: "ToggleFullscreen", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Toggle window state: fullscreen/windowed resizes monitor to match window resolution (only PLATFORM_DESKTOP) Source Edit
proc toWeakImage(data: openArray[byte]; width, height: int32; format: PixelFormat): WeakImage {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc toWeakWave(data: openArray[byte]; frameCount, sampleRate, sampleSize, channels: uint32): WeakWave {. inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc traceLog(logLevel: TraceLogLevel; text: cstring) {.importc: "TraceLog", varargs, sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) Source Edit
proc triangleCount(x: Mesh): int32 {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc unloadAutomationEventList(list: AutomationEventList) {. importc: "UnloadAutomationEventList", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Unload automation events list from file Source Edit
proc updateAudioStream[T](stream: var AudioStream; data: openArray[T])
- Update audio stream buffers with data Source Edit
proc updateCamera(camera: var Camera; mode: CameraMode) {. importc: "UpdateCamera", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Update camera position for selected mode Source Edit
proc updateMeshBuffer[T](mesh: var Mesh; index: int32; data: openArray[T]; offset: int32)
- Update mesh vertex data in GPU for a specific buffer index Source Edit
proc updateModelAnimation(model: Model; anim: ModelAnimation; frame: int32) {. importc: "UpdateModelAnimation", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Update model animation pose Source Edit
func updateModelAnimationBoneMatrices(model: Model; anim: ModelAnimation; frame: int32) {. importc: "UpdateModelAnimationBoneMatrices", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Update model animation mesh bone matrices (Note GPU skinning does not work on Mac) Source Edit
proc updateMusicStream(music: Music) {.importc: "UpdateMusicStream", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Updates buffers for music streaming Source Edit
proc updateSound[T](sound: var Sound; data: openArray[T])
- Update sound buffer with new data Source Edit
proc updateTexture[T: Pixel](texture: Texture2D; pixels: openArray[T])
- Update GPU texture with new data Source Edit
proc uploadMesh(mesh: var Mesh; dynamic: bool) {.importc: "UploadMesh", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Upload mesh vertex data in GPU and provide VAO/VBO ids Source Edit
proc vertexCount(x: Mesh): int32 {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
func waveFormat(wave: var Wave; sampleRate: int32; sampleSize: int32; channels: int32) {.importc: "WaveFormat", header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Convert wave data to desired format Source Edit
proc windowShouldClose(): bool {.importc: "WindowShouldClose", sideEffect, header: "raylib.h", ...raises: [], tags: [], forbids: [].}
- Check if application should close (KEY_ESCAPE pressed or windows close icon clicked) Source Edit
Templates
template animNormals(x: Mesh): MeshAnimNormals
- Source Edit
template animVertices(x: Mesh): MeshAnimVertices
- Source Edit
template bindPose(x: Model): ModelBindPose
- Source Edit
template boneIds(x: Mesh): MeshBoneIds
- Source Edit
template boneMatrices(x: Mesh): MeshBoneMatrices
- Source Edit
template bones(x: Model): ModelBones
- Source Edit
template bones(x: ModelAnimation): ModelAnimationBones
- Source Edit
template boneWeights(x: Mesh): MeshBoneWeights
- Source Edit
template colors(x: Mesh): MeshColors
- Source Edit
template Diffuse(_: typedesc[MaterialMapIndex]): untyped
- Source Edit
template framePoses(x: ModelAnimation): ModelAnimationFramePoses
- Source Edit
template glyphs(x: Font): FontGlyphs
- Source Edit
template indices(x: Mesh): MeshIndices
- Source Edit
template kind(x: typedesc[array[2, float32]]): ShaderUniformDataType
- Source Edit
template kind(x: typedesc[array[2, int32]]): ShaderUniformDataType
- Source Edit
template kind(x: typedesc[array[3, float32]]): ShaderUniformDataType
- Source Edit
template kind(x: typedesc[array[3, int32]]): ShaderUniformDataType
- Source Edit
template kind(x: typedesc[array[4, float32]]): ShaderUniformDataType
- Source Edit
template kind(x: typedesc[array[4, int32]]): ShaderUniformDataType
- Source Edit
template kind(x: typedesc[Color]): PixelFormat
- Source Edit
template kind(x: typedesc[float32]): ShaderUniformDataType
- Source Edit
template kind(x: typedesc[int32]): ShaderUniformDataType
- Source Edit
template kind(x: typedesc[Vector2]): ShaderUniformDataType
- Source Edit
template kind(x: typedesc[Vector3]): ShaderUniformDataType
- Source Edit
template kind(x: typedesc[Vector4]): ShaderUniformDataType
- Source Edit
template locs(x: Shader): ShaderLocs
- Source Edit
template MapDiffuse(_: typedesc[ShaderLocationIndex]): untyped
- Source Edit
template maps(x: Material): MaterialMaps
- Source Edit
template MapSpecular(_: typedesc[ShaderLocationIndex]): untyped
- Source Edit
template materials(x: Model): ModelMaterials
- Source Edit
template meshes(x: Model): ModelMeshes
- Source Edit
template meshMaterial(x: Model): ModelMeshMaterial
- Source Edit
template normals(x: Mesh): MeshNormals
- Source Edit
template scissorMode(x, y, width, height: int32; body: untyped)
- Scissor mode (define screen area for following drawing) Source Edit
template shaderMode(shader: Shader; body: untyped)
- Custom shader drawing Source Edit
template Specular(_: typedesc[MaterialMapIndex]): untyped
- Source Edit
template tangents(x: Mesh): MeshTangents
- Source Edit
template texcoords(x: Mesh): MeshTexcoords
- Source Edit
template texcoords2(x: Mesh): MeshTexcoords2
- Source Edit
template texture=(x: var MaterialMap; val: Texture{call})
- Source Edit
template textureMode(target: RenderTexture2D; body: untyped)
- Drawing to render texture Source Edit
template toColorArray(a: openArray[byte]): untyped
- Note: that a should be properly formatted, with a byte representation that aligns with the memory layout of the Color type. Source Edit
template toOpenArray(x: RArray): untyped
- Source Edit
template toOpenArray(x: RArray; first, last: int): untyped
- Source Edit
template vertices(x: Mesh): MeshVertices
- Source Edit
template vrStereoMode(config: VrStereoConfig; body: untyped)
- Stereo rendering (requires VR simulator) Source Edit