raylib

MoonBit bindings for raylib

moon add tonyfettes/raylib@0.4.0
Download zip
Version
0.4.0
License
MIT
Last updated
3 months ago
Downloads
4K
README

#tonyfettes/raylib

MoonBit bindings for raylib 5.5 — a simple and easy-to-use library to enjoy videogames programming.

#Features

  • Native target support (macOS, Linux, Windows, Android)
  • Covers core, shapes, textures, text, models, shaders, and audio APIs
  • Automatic resource management via GC finalizers for opaque types (Image, Texture, Font, Sound, Music, Model, etc.)
  • 329 included examples — ports of official raylib examples plus original games and demos
  • Platform-specific linking handled automatically via prebuild script

#Prerequisites

A C compiler is required because raylib's C sources are compiled from source as part of the build.

PlatformC Compiler
macOSXcode Command Line Tools (xcode-select --install)
LinuxGCC or Clang (e.g., apt install build-essential)
WindowsMSVC or MinGW-w64 (GCC) — see below
AndroidAndroid NDK

#Windows

Either of the following C compilers will work:

  • MSVC — Install Visual Studio or the Build Tools for Visual Studio. Make sure to select the "Desktop development with C++" workload. The cl.exe compiler should be available in your PATH (use the "Developer Command Prompt" or "Developer PowerShell" that Visual Studio provides).

  • MinGW-w64 (GCC) — Install via MSYS2:
    1. Install MSYS2 and open the MSYS2 UCRT64 terminal
    2. Run pacman -S mingw-w64-ucrt-x86_64-gcc
    3. Add the MinGW bin directory to your system PATH (default: C:\msys64\ucrt64\bin)
    4. Verify in a new terminal: gcc --version

#Quick Start

#Install

Add the dependency to your project:

moon add tonyfettes/raylib

#Hello Window

fn main {
@raylib.init_window(800, 450, "Hello Raylib")
@raylib.set_target_fps(60)
while not(@raylib.window_should_close()) {
@raylib.begin_drawing()
@raylib.clear_background(@raylib.raywhite)
@raylib.draw_text("Hello, MoonBit!", 190, 200, 20, @raylib.lightgray)
@raylib.end_drawing()
}
@raylib.close_window()
}

Build and run:

moon run --target native main/

#Building Examples

Examples live in the examples/ directory as a separate module:

# Build a specific example moon -C examples build --target native raylib_core_basic_window/ # Run a specific example moon -C examples run --target native raylib_demo/ # Run the bunnymark benchmark moon -C examples run --target native raylib_textures_bunnymark/

#API Overview

Import tonyfettes/raylib and use the @raylib namespace:

// Window management
@raylib.init_window(width, height, title)
@raylib.close_window()
@raylib.set_target_fps(60)

// Drawing
@raylib.begin_drawing()
@raylib.end_drawing()
@raylib.clear_background(@raylib.skyblue)

// Shapes
@raylib.draw_rectangle(x, y, width, height, @raylib.red)
@raylib.draw_circle(x, y, radius, @raylib.blue)

// Textures
let texture = @raylib.load_texture("sprite.png")
@raylib.draw_texture(texture, x, y, @raylib.white)

// Input
@raylib.is_key_pressed(@raylib.KeySpace)
@raylib.is_mouse_button_down(@raylib.MouseButtonLeft)
@raylib.get_mouse_position() // -> Vector2

// Audio
@raylib.init_audio_device()
let sound = @raylib.load_sound("hit.wav")
@raylib.play_sound(sound)

// 3D
@raylib.begin_mode_3d(camera)
@raylib.draw_cube(position, width, height, length, @raylib.red)
@raylib.end_mode_3d()

#License

MIT

#
AudioStream

type AudioStream

#
AudioStream::attach_processor

#as_free_fn(attach_audio_stream_processor)
fn AudioStream::attach_processor(self : AudioStream, processor : FuncRef[(
AudioBuffer
, UInt) -> Unit]) -> Unit

#
AudioStream::detach_processor

#as_free_fn(detach_audio_stream_processor)
fn AudioStream::detach_processor(self : AudioStream, processor : FuncRef[(
AudioBuffer
, UInt) -> Unit]) -> Unit

#
AudioStream::is_playing

#as_free_fn(is_audio_stream_playing)
fn AudioStream::is_playing(self : AudioStream) -> Bool

#
AudioStream::is_processed

#as_free_fn(is_audio_stream_processed)
fn AudioStream::is_processed(self : AudioStream) -> Bool

#
AudioStream::is_valid

#as_free_fn(is_audio_stream_valid)
fn AudioStream::is_valid(self : AudioStream) -> Bool

#
AudioStream::load

#as_free_fn(load_audio_stream)
fn AudioStream::load(sample_rate : Int, sample_size : Int, channels : Int) -> AudioStream

#
AudioStream::pause

#as_free_fn(pause_audio_stream)
fn AudioStream::pause(self : AudioStream) -> Unit

#
AudioStream::play

#as_free_fn(play_audio_stream)
fn AudioStream::play(self : AudioStream) -> Unit

#
AudioStream::resume_

#as_free_fn(resume_audio_stream)
fn AudioStream::resume_(self : AudioStream) -> Unit

#
AudioStream::set_pan

#as_free_fn(set_audio_stream_pan)
fn AudioStream::set_pan(self : AudioStream, pan : Float) -> Unit

#
AudioStream::set_pitch

#as_free_fn(set_audio_stream_pitch)
fn AudioStream::set_pitch(self : AudioStream, pitch : Float) -> Unit

#
AudioStream::set_volume

#as_free_fn(set_audio_stream_volume)
fn AudioStream::set_volume(self : AudioStream, volume : Float) -> Unit

#
AudioStream::stop

#as_free_fn(stop_audio_stream)
fn AudioStream::stop(self : AudioStream) -> Unit

#
AudioStream::unload

#as_free_fn(unload_audio_stream)
fn AudioStream::unload(self : AudioStream) -> Unit

#
AudioStream::update

#as_free_fn(update_audio_stream)
fn AudioStream::update(self : AudioStream, data : Bytes, frame_count : Int) -> Unit

#
AutomationEvent

pub struct AutomationEvent {
frame : Int
type_ : Int
params : FixedArray[Int]
}

#
AutomationEvent::from_bytes

fn AutomationEvent::from_bytes(b : Bytes) -> AutomationEvent

#
AutomationEvent::to_bytes

fn AutomationEvent::to_bytes(e : AutomationEvent) -> Bytes

#
AutomationEventList

type AutomationEventList

#
AutomationEventList::count

#as_free_fn(automation_event_list_count)
fn AutomationEventList::count(self : AutomationEventList) -> Int

#
AutomationEventList::export_

#as_free_fn(export_automation_event_list)
fn AutomationEventList::export_(self : AutomationEventList, file_name : String) -> Bool

#
AutomationEventList::get

#as_free_fn(automation_event_list_get)
fn AutomationEventList::get(self : AutomationEventList, index : Int) -> AutomationEvent

#
AutomationEventList::load

#as_free_fn(load_automation_event_list)
fn AutomationEventList::load(file_name : String) -> AutomationEventList

#
AutomationEventList::set

#as_free_fn(set_automation_event_list)
fn AutomationEventList::set(self : AutomationEventList) -> Unit

#
AutomationEventList::unload

#as_free_fn(unload_automation_event_list)
fn AutomationEventList::unload(self : AutomationEventList) -> Unit

#
BoundingBox

pub struct BoundingBox {
min : Vector3
max : Vector3
}

impl Eq for BoundingBox
impl Show for BoundingBox

#
BoundingBox::from_bytes

fn BoundingBox::from_bytes(b : Bytes) -> BoundingBox

#
BoundingBox::new

fn BoundingBox::new(min : Vector3, max : Vector3) -> BoundingBox

#
BoundingBox::to_bytes

fn BoundingBox::to_bytes(bb : BoundingBox) -> Bytes

#
Camera2D

pub struct Camera2D {
offset : Vector2
target : Vector2
rotation : Float
zoom : Float
}

impl Eq for Camera2D
impl Show for Camera2D

#
Camera2D::from_bytes

fn Camera2D::from_bytes(b : Bytes) -> Camera2D

#
Camera2D::new

fn Camera2D::new(offset : Vector2, target : Vector2, rotation : Float, zoom : Float) -> Camera2D

#
Camera2D::to_bytes

fn Camera2D::to_bytes(c : Camera2D) -> Bytes

#
Camera3D

pub struct Camera3D {
position : Vector3
target : Vector3
up : Vector3
fovy : Float
projection : Int
}

impl Eq for Camera3D
impl Show for Camera3D

#
Camera3D::from_bytes

fn Camera3D::from_bytes(b : Bytes) -> Camera3D

#
Camera3D::new

fn Camera3D::new(position : Vector3, target : Vector3, up : Vector3, fovy : Float, projection : Int) -> Camera3D

#
Camera3D::to_bytes

fn Camera3D::to_bytes(c : Camera3D) -> Bytes

#
Color

pub struct Color {
r : Byte
g : Byte
b : Byte
a : Byte
}

impl Eq for Color
impl Show for Color

#
Color::from_bytes

fn Color::from_bytes(b : Bytes) -> Color

#
Color::new

fn Color::new(r : Int, g : Int, b : Int, a : Int) -> Color

#
Color::to_bytes

fn Color::to_bytes(color : Color) -> Bytes

#
FilePathList

type FilePathList

#
FilePathList::count

#as_free_fn(file_path_list_count)
fn FilePathList::count(self : FilePathList) -> Int

#
FilePathList::load_dropped

#as_free_fn(load_dropped_files)
fn FilePathList::load_dropped() -> FilePathList

#
FloatArray

type FloatArray

#
FloatArray::length

fn FloatArray::length(self : FloatArray) -> Int

#
FloatArray::op_get

fn FloatArray::op_get(self : FloatArray, index : Int) -> Float

#
FloatArray::op_set

fn FloatArray::op_set(self : FloatArray, index : Int, value : Float) -> Unit

#
Font

type Font

impl Default for Font

#
Font::base_size

#as_free_fn(get_font_base_size)
fn Font::base_size(self : Font) -> Int

#
Font::build_from_data

#as_free_fn(build_font_from_data)
fn Font::build_from_data(file_data : Bytes, data_size : Int, font_size : Int, font_type : Int, padding : Int, pack_method : Int) -> Font

#
Font::draw_codepoint

#as_free_fn(draw_text_codepoint)
fn Font::draw_codepoint(self : Font, codepoint : Int, position : Vector2, font_size : Float, tint : Color) -> Unit

#
Font::draw_codepoints

#as_free_fn(draw_text_codepoints)
fn Font::draw_codepoints(self : Font, codepoints : Array[Int], position : Vector2, font_size : Float, spacing : Float, tint : Color) -> Unit

#
Font::draw_text

#as_free_fn(draw_text_ex)
fn Font::draw_text(self : Font, text : String, position : Vector2, font_size : Float, spacing : Float, tint : Color) -> Unit

#
Font::draw_text_pro

#as_free_fn(draw_text_pro)
fn Font::draw_text_pro(self : Font, text : String, position : Vector2, origin : Vector2, rotation : Float, font_size : Float, spacing : Float, tint : Color) -> Unit

#
Font::export_as_code

#as_free_fn(export_font_as_code)
fn Font::export_as_code(self : Font, file_name : String) -> Bool

#
Font::get_default

#deprecated("Use Font::default() instead")
#as_free_fn(get_font_default, deprecated="Use Font::default() instead")
fn Font::get_default() -> Font

#
Font::glyph_atlas_rec

#as_free_fn(get_glyph_atlas_rec)
fn Font::glyph_atlas_rec(self : Font, codepoint : Int) -> Rectangle

#
Font::glyph_count

#as_free_fn(get_font_glyph_count)
fn Font::glyph_count(self : Font) -> Int

#
Font::glyph_index

#as_free_fn(get_glyph_index)
fn Font::glyph_index(self : Font, codepoint : Int) -> Int

#
Font::glyph_info

#as_free_fn(get_glyph_info)
fn Font::glyph_info(self : Font, codepoint : Int) -> GlyphInfo

#
Font::glyph_padding

#as_free_fn(get_font_glyph_padding)
fn Font::glyph_padding(self : Font) -> Int

#
Font::is_valid

#as_free_fn(is_font_valid)
fn Font::is_valid(self : Font) -> Bool

#
Font::load

#as_free_fn(load_font)
fn Font::load(file_name : String) -> Font

#
Font::load_ex

#as_free_fn(load_font_ex)
fn Font::load_ex(file_name : String, font_size : Int) -> Font

#
Font::load_ex_codepoints

#as_free_fn(load_font_ex_codepoints)
fn Font::load_ex_codepoints(file_name : String, font_size : Int, codepoints : Array[Int]) -> Font

#
Font::load_from_atlas

#as_free_fn(load_font_from_atlas)
fn Font::load_from_atlas(pixel_data : Bytes, pixel_data_size : Int, img_width : Int, img_height : Int, img_format : Int, base_size : Int, glyph_count : Int, font_type : Int, recs_data : Bytes, glyphs_data : Bytes) -> Font

#
Font::load_from_image

#as_free_fn(load_font_from_image)
fn Font::load_from_image(image : Image, key : Color, first_char : Int) -> Font

#
Font::load_from_memory

#as_free_fn(load_font_from_memory)
fn Font::load_from_memory(file_type : String, file_data : Bytes, data_size : Int, font_size : Int) -> Font

#
Font::measure_text

#as_free_fn(measure_text_ex)
fn Font::measure_text(self : Font, text : String, font_size : Float, spacing : Float) -> Vector2

#
Font::texture

#as_free_fn(get_font_texture)
fn Font::texture(self : Font) -> Texture

#
Font::unload

#as_free_fn(unload_font)
fn Font::unload(self : Font) -> Unit

#
GlyphInfo

pub struct GlyphInfo {
value : Int
offset_x : Int
offset_y : Int
advance_x : Int
}

impl Eq for GlyphInfo
impl Show for GlyphInfo

#
GlyphInfo::from_bytes

fn GlyphInfo::from_bytes(b : Bytes) -> GlyphInfo

#
GlyphInfoArray

type GlyphInfoArray

#
GlyphInfoArray::count

#as_free_fn(glyph_info_array_count)
fn GlyphInfoArray::count(self : GlyphInfoArray) -> Int

#
GlyphInfoArray::gen_image_atlas

#as_free_fn(gen_image_font_atlas)
fn GlyphInfoArray::gen_image_atlas(self : GlyphInfoArray, font_size : Int, padding : Int, pack_method : Int) -> Image

#
GlyphInfoArray::get

#as_free_fn(glyph_info_array_get)
fn GlyphInfoArray::get(self : GlyphInfoArray, index : Int) -> GlyphInfo

#
GlyphInfoArray::load

#as_free_fn(load_font_data)
fn GlyphInfoArray::load(file_data : Bytes, data_size : Int, font_size : Int, font_type : Int) -> GlyphInfoArray

#
GlyphInfoArray::unload

#as_free_fn(unload_font_data)
fn GlyphInfoArray::unload(self : GlyphInfoArray) -> Unit

#
Image

type Image

#
Image::adjust_brightness

#as_free_fn(image_color_brightness)
fn Image::adjust_brightness(self : Image, brightness : Int) -> Unit

#
Image::adjust_contrast

#as_free_fn(image_color_contrast)
fn Image::adjust_contrast(self : Image, contrast : Float) -> Unit

#
Image::alpha_border

#as_free_fn(get_image_alpha_border)
fn Image::alpha_border(self : Image, threshold : Float) -> Rectangle

#
Image::alpha_clear

#as_free_fn(image_alpha_clear)
fn Image::alpha_clear(self : Image, color : Color, threshold : Float) -> Unit

#
Image::alpha_crop

#as_free_fn(image_alpha_crop)
fn Image::alpha_crop(self : Image, threshold : Float) -> Unit

#
Image::alpha_mask

#as_free_fn(image_alpha_mask)
fn Image::alpha_mask(self : Image, alpha_mask : Image) -> Unit

#
Image::alpha_premultiply

#as_free_fn(image_alpha_premultiply)
fn Image::alpha_premultiply(self : Image) -> Unit

#
Image::blur_gaussian

#as_free_fn(image_blur_gaussian)
fn Image::blur_gaussian(self : Image, blur_size : Int) -> Unit

#
Image::clear_background

#as_free_fn(image_clear_background)
fn Image::clear_background(self : Image, color : Color) -> Unit

#
Image::color_grayscale

#as_free_fn(image_color_grayscale)
fn Image::color_grayscale(self : Image) -> Unit

#
Image::color_invert

#as_free_fn(image_color_invert)
fn Image::color_invert(self : Image) -> Unit

#
Image::color_replace

#as_free_fn(image_color_replace)
fn Image::color_replace(self : Image, color : Color, replace : Color) -> Unit

#
Image::color_tint

#as_free_fn(image_color_tint)
fn Image::color_tint(self : Image, color : Color) -> Unit

#
Image::copy

#as_free_fn(image_copy)
fn Image::copy(self : Image) -> Image

#
Image::crop

#as_free_fn(image_crop)
fn Image::crop(self : Image, crop : Rectangle) -> Unit

#
Image::dither

#as_free_fn(image_dither)
fn Image::dither(self : Image, r_bpp : Int, g_bpp : Int, b_bpp : Int, a_bpp : Int) -> Unit

#
Image::draw

#as_free_fn(image_draw)
fn Image::draw(self : Image, src : Image, src_rec : Rectangle, dst_rec : Rectangle, tint : Color) -> Unit

#
Image::draw_circle

#as_free_fn(image_draw_circle)
fn Image::draw_circle(self : Image, center_x : Int, center_y : Int, radius : Int, color : Color) -> Unit

#
Image::draw_circle_lines

#as_free_fn(image_draw_circle_lines)
fn Image::draw_circle_lines(self : Image, center_x : Int, center_y : Int, radius : Int, color : Color) -> Unit

#
Image::draw_circle_lines_v

#as_free_fn(image_draw_circle_lines_v)
fn Image::draw_circle_lines_v(self : Image, center : Vector2, radius : Int, color : Color) -> Unit

#
Image::draw_circle_v

#as_free_fn(image_draw_circle_v)
fn Image::draw_circle_v(self : Image, center : Vector2, radius : Int, color : Color) -> Unit

#
Image::draw_line

#as_free_fn(image_draw_line)
fn Image::draw_line(self : Image, start_pos_x : Int, start_pos_y : Int, end_pos_x : Int, end_pos_y : Int, color : Color) -> Unit

#
Image::draw_line_ex

#as_free_fn(image_draw_line_ex)
fn Image::draw_line_ex(self : Image, start : Vector2, end_ : Vector2, thick : Int, color : Color) -> Unit

#
Image::draw_line_v

#as_free_fn(image_draw_line_v)
fn Image::draw_line_v(self : Image, start : Vector2, end_ : Vector2, color : Color) -> Unit

#
Image::draw_pixel

#as_free_fn(image_draw_pixel)
fn Image::draw_pixel(self : Image, pos_x : Int, pos_y : Int, color : Color) -> Unit

#
Image::draw_pixel_v

#as_free_fn(image_draw_pixel_v)
fn Image::draw_pixel_v(self : Image, position : Vector2, color : Color) -> Unit

#
Image::draw_rectangle

#as_free_fn(image_draw_rectangle)
fn Image::draw_rectangle(self : Image, pos_x : Int, pos_y : Int, width : Int, height : Int, color : Color) -> Unit

#
Image::draw_rectangle_lines

#as_free_fn(image_draw_rectangle_lines)
fn Image::draw_rectangle_lines(self : Image, rec : Rectangle, thick : Int, color : Color) -> Unit

#
Image::draw_rectangle_rec

#as_free_fn(image_draw_rectangle_rec)
fn Image::draw_rectangle_rec(self : Image, rec : Rectangle, color : Color) -> Unit

#
Image::draw_rectangle_v

#as_free_fn(image_draw_rectangle_v)
fn Image::draw_rectangle_v(self : Image, position : Vector2, size : Vector2, color : Color) -> Unit

#
Image::draw_text

#as_free_fn(image_draw_text)
fn Image::draw_text(self : Image, text : String, pos_x : Int, pos_y : Int, font_size : Int, color : Color) -> Unit

#
Image::draw_text_ex

#as_free_fn(image_draw_text_ex)
fn Image::draw_text_ex(self : Image, font : Font, text : String, position : Vector2, font_size : Float, spacing : Float, tint : Color) -> Unit

#
Image::draw_triangle

#as_free_fn(image_draw_triangle)
fn Image::draw_triangle(self : Image, v1 : Vector2, v2 : Vector2, v3 : Vector2, color : Color) -> Unit

#
Image::draw_triangle_ex

#as_free_fn(image_draw_triangle_ex)
fn Image::draw_triangle_ex(self : Image, v1 : Vector2, v2 : Vector2, v3 : Vector2, c1 : Color, c2 : Color, c3 : Color) -> Unit

#
Image::draw_triangle_fan

#as_free_fn(image_draw_triangle_fan)
fn Image::draw_triangle_fan(self : Image, points : Array[Vector2], color : Color) -> Unit

#
Image::draw_triangle_lines

#as_free_fn(image_draw_triangle_lines)
fn Image::draw_triangle_lines(self : Image, v1 : Vector2, v2 : Vector2, v3 : Vector2, color : Color) -> Unit

#
Image::draw_triangle_strip

#as_free_fn(image_draw_triangle_strip)
fn Image::draw_triangle_strip(self : Image, points : Array[Vector2], color : Color) -> Unit

#
Image::export_

#as_free_fn(export_image)
fn Image::export_(self : Image, file_name : String) -> Bool

#
Image::export_as_code

#as_free_fn(export_image_as_code)
fn Image::export_as_code(self : Image, file_name : String) -> Bool

#
Image::export_to_memory

#as_free_fn(export_image_to_memory)
fn Image::export_to_memory(self : Image, file_type : String) -> Bytes

#
Image::flip_horizontal

#as_free_fn(image_flip_horizontal)
fn Image::flip_horizontal(self : Image) -> Unit

#
Image::flip_vertical

#as_free_fn(image_flip_vertical)
fn Image::flip_vertical(self : Image) -> Unit

#
Image::format

#as_free_fn(get_image_format)
fn Image::format(self : Image) -> Int

#
Image::from_channel

#as_free_fn(image_from_channel)
fn Image::from_channel(self : Image, selected_channel : Int) -> Image

#
Image::from_image

#as_free_fn(image_from_image)
fn Image::from_image(self : Image, rec : Rectangle) -> Image

#
Image::gen_cellular

#as_free_fn(gen_image_cellular)
fn Image::gen_cellular(width : Int, height : Int, tile_size : Int) -> Image

#
Image::gen_checked

#as_free_fn(gen_image_checked)
fn Image::gen_checked(width : Int, height : Int, checks_x : Int, checks_y : Int, col1 : Color, col2 : Color) -> Image

#
Image::gen_color

#as_free_fn(gen_image_color)
fn Image::gen_color(width : Int, height : Int, color : Color) -> Image

#
Image::gen_gradient_linear

#as_free_fn(gen_image_gradient_linear)
fn Image::gen_gradient_linear(width : Int, height : Int, direction : Int, start : Color, end_ : Color) -> Image

#
Image::gen_gradient_radial

#as_free_fn(gen_image_gradient_radial)
fn Image::gen_gradient_radial(width : Int, height : Int, density : Float, inner : Color, outer : Color) -> Image

#
Image::gen_gradient_square

#as_free_fn(gen_image_gradient_square)
fn Image::gen_gradient_square(width : Int, height : Int, density : Float, inner : Color, outer : Color) -> Image

#
Image::gen_mipmaps

#as_free_fn(image_mipmaps)
fn Image::gen_mipmaps(self : Image) -> Unit

#
Image::gen_perlin_noise

#as_free_fn(gen_image_perlin_noise)
fn Image::gen_perlin_noise(width : Int, height : Int, offset_x : Int, offset_y : Int, scale : Float) -> Image

#
Image::gen_text

#as_free_fn(gen_image_text)
fn Image::gen_text(width : Int, height : Int, text : String) -> Image

#
Image::gen_white_noise

#as_free_fn(gen_image_white_noise)
fn Image::gen_white_noise(width : Int, height : Int, factor : Float) -> Image

#
Image::get_color

#as_free_fn(get_image_color)
fn Image::get_color(self : Image, x : Int, y : Int) -> Color

#
Image::height

#as_free_fn(image_height, deprecated="Use @raylib.Image::height() instead")
#as_free_fn(get_image_height)
fn Image::height(self : Image) -> Int

#
Image::is_valid

#as_free_fn(is_image_valid)
fn Image::is_valid(self : Image) -> Bool

#
Image::kernel_convolution

#as_free_fn(image_kernel_convolution)
fn Image::kernel_convolution(self : Image, kernel : Bytes, kernel_size : Int) -> Unit

#
Image::load

#as_free_fn(load_image)
fn Image::load(file_name : String) -> Image

#
Image::load_anim

fn Image::load_anim(file_name : String) -> (Image, Int)

#
Image::load_anim_from_memory

fn Image::load_anim_from_memory(file_type : String, file_data : Bytes, data_size : Int) -> (Image, Int)

#
Image::load_colors

#as_free_fn(load_image_colors)
fn Image::load_colors(self : Image) -> Bytes

#
Image::load_from_memory

#as_free_fn(load_image_from_memory)
fn Image::load_from_memory(file_type : String, file_data : Bytes, data_size : Int) -> Image

#
Image::load_from_screen

#as_free_fn(load_image_from_screen)
fn Image::load_from_screen() -> Image

#
Image::load_from_texture

#as_free_fn(load_image_from_texture)
fn Image::load_from_texture(texture : Texture) -> Image

#
Image::load_palette

#as_free_fn(load_image_palette)
fn Image::load_palette(self : Image, max_palette_size : Int) -> Bytes

#
Image::load_raw

#as_free_fn(load_image_raw)
fn Image::load_raw(file_name : String, width : Int, height : Int, format : Int, header_size : Int) -> Image

#
Image::mipmaps

#as_free_fn(get_image_mipmaps)
fn Image::mipmaps(self : Image) -> Int

#
Image::resize

#as_free_fn(image_resize)
fn Image::resize(self : Image, new_width : Int, new_height : Int) -> Unit

#
Image::resize_canvas

#as_free_fn(image_resize_canvas)
fn Image::resize_canvas(self : Image, new_width : Int, new_height : Int, offset_x : Int, offset_y : Int, fill : Color) -> Unit

#
Image::resize_nn

#as_free_fn(image_resize_nn)
fn Image::resize_nn(self : Image, new_width : Int, new_height : Int) -> Unit

#
Image::rotate

#as_free_fn(image_rotate)
fn Image::rotate(self : Image, degrees : Int) -> Unit

#
Image::rotate_ccw

#as_free_fn(image_rotate_ccw)
fn Image::rotate_ccw(self : Image) -> Unit

#
Image::rotate_cw

#as_free_fn(image_rotate_cw)
fn Image::rotate_cw(self : Image) -> Unit

#
Image::set_format

#as_free_fn(image_format)
fn Image::set_format(self : Image, new_format : Int) -> Unit

#
Image::text

#as_free_fn(image_text)
fn Image::text(text : String, font_size : Int, color : Color) -> Image

#
Image::text_ex

#as_free_fn(image_text_ex)
fn Image::text_ex(font : Font, text : String, font_size : Float, spacing : Float, tint : Color) -> Image

#
Image::to_pot

#as_free_fn(image_to_pot)
fn Image::to_pot(self : Image, fill : Color) -> Unit

#
Image::to_texture

#as_free_fn(load_texture_from_image)
fn Image::to_texture(self : Image) -> Texture

#
Image::to_texture_cubemap

#as_free_fn(load_texture_cubemap)
fn Image::to_texture_cubemap(self : Image, layout : Int) -> Texture

#
Image::unload

#as_free_fn(unload_image)
fn Image::unload(self : Image) -> Unit

#
Image::width

#as_free_fn(image_width, deprecated="Use @raylib.Image::width() instead")
#as_free_fn(get_image_width)
fn Image::width(self : Image) -> Int

#
Material

type Material

impl Default for Material

#
Material::is_valid

#as_free_fn(is_material_valid)
fn Material::is_valid(self : Material) -> Bool

#
Material::load_default

#deprecated("Use Material::default() instead")
#as_free_fn(load_material_default, deprecated="Use Material::default() instead")
fn Material::load_default() -> Material

#
Material::maps

#as_free_fn(get_material_maps)
fn Material::maps(self : Material) -> MaterialMapArray

#
Material::set_map_color

#as_free_fn(set_material_map_color)
fn Material::set_map_color(self : Material, map_type : Int, color : Color) -> Unit

#
Material::set_map_value

#as_free_fn(set_material_map_value)
fn Material::set_map_value(self : Material, map_type : Int, value : Float) -> Unit

#
Material::set_shader

#as_free_fn(set_material_shader)
fn Material::set_shader(self : Material, shader : Shader) -> Unit

#
Material::set_texture

#as_free_fn(set_material_texture)
fn Material::set_texture(self : Material, map_type : Int, texture : Texture) -> Unit

#
Material::shader

#as_free_fn(get_material_shader)
fn Material::shader(self : Material) -> Shader

#
Material::unload

#as_free_fn(unload_material)
fn Material::unload(self : Material) -> Unit

#
MaterialMap

type MaterialMap

#
MaterialMap::color

fn MaterialMap::color(self : MaterialMap) -> Color

#
MaterialMap::set_color

fn MaterialMap::set_color(self : MaterialMap, color : Color) -> Unit

#
MaterialMap::set_texture

fn MaterialMap::set_texture(self : MaterialMap, texture : Texture) -> Unit

#
MaterialMap::set_value

fn MaterialMap::set_value(self : MaterialMap, value : Float) -> Unit

#
MaterialMap::texture

fn MaterialMap::texture(self : MaterialMap) -> Texture

#
MaterialMap::value

fn MaterialMap::value(self : MaterialMap) -> Float

#
MaterialMapArray

type MaterialMapArray

#
MaterialMapArray::count

fn MaterialMapArray::count(self : MaterialMapArray) -> Int

#
MaterialMapArray::op_get

fn MaterialMapArray::op_get(self : MaterialMapArray, index : Int) -> MaterialMap

#
MaterialMapArray::op_set

fn MaterialMapArray::op_set(self : MaterialMapArray, index : Int, value : MaterialMap) -> Unit

#
MaterialsArray

type MaterialsArray

#
MaterialsArray::count

#as_free_fn(materials_array_count)
fn MaterialsArray::count(self : MaterialsArray) -> Int

#
MaterialsArray::get

#as_free_fn(materials_array_get)
fn MaterialsArray::get(self : MaterialsArray, index : Int) -> Material

#
MaterialsArray::load

#as_free_fn(load_materials)
fn MaterialsArray::load(file_name : String) -> MaterialsArray

#
MaterialsArray::unload

#as_free_fn(unload_materials_array)
fn MaterialsArray::unload(self : MaterialsArray) -> Unit

#
Matrix

pub struct Matrix {
m0 : Float
m1 : Float
m2 : Float
m3 : Float
m4 : Float
m5 : Float
m6 : Float
m7 : Float
m8 : Float
m9 : Float
m10 : Float
m11 : Float
m12 : Float
m13 : Float
m14 : Float
m15 : Float
}

impl Eq for Matrix
impl Show for Matrix

#
Matrix::add

fn Matrix::add(left : Matrix, right : Matrix) -> Matrix

#
Matrix::decompose

fn Matrix::decompose(mat : Matrix) -> (Vector3, Vector4, Vector3)

#
Matrix::determinant

fn Matrix::determinant(mat : Matrix) -> Float

#
Matrix::from_bytes

fn Matrix::from_bytes(b : Bytes) -> Matrix

#
Matrix::frustum

fn Matrix::frustum(left : Double, right : Double, bottom : Double, top : Double, near_plane : Double, far_plane : Double) -> Matrix

#
Matrix::identity

fn Matrix::identity() -> Matrix

#
Matrix::invert

fn Matrix::invert(mat : Matrix) -> Matrix

#
Matrix::look_at

fn Matrix::look_at(eye : Vector3, target : Vector3, up : Vector3) -> Matrix

#
Matrix::multiply

fn Matrix::multiply(left : Matrix, right : Matrix) -> Matrix

#
Matrix::ortho

fn Matrix::ortho(left : Double, right : Double, bottom : Double, top : Double, near_plane : Double, far_plane : Double) -> Matrix

#
Matrix::perspective

fn Matrix::perspective(fov_y : Double, aspect : Double, near_plane : Double, far_plane : Double) -> Matrix

#
Matrix::rotate

fn Matrix::rotate(axis : Vector3, angle : Float) -> Matrix

#
Matrix::rotate_x

fn Matrix::rotate_x(angle : Float) -> Matrix

#
Matrix::rotate_xyz

fn Matrix::rotate_xyz(angle : Vector3) -> Matrix

#
Matrix::rotate_y

fn Matrix::rotate_y(angle : Float) -> Matrix

#
Matrix::rotate_z

fn Matrix::rotate_z(angle : Float) -> Matrix

#
Matrix::rotate_zyx

fn Matrix::rotate_zyx(angle : Vector3) -> Matrix

#
Matrix::scale

fn Matrix::scale(x : Float, y : Float, z : Float) -> Matrix

#
Matrix::subtract

fn Matrix::subtract(left : Matrix, right : Matrix) -> Matrix

#
Matrix::to_bytes

fn Matrix::to_bytes(m : Matrix) -> Bytes

#
Matrix::trace

fn Matrix::trace(mat : Matrix) -> Float

#
Matrix::translate

fn Matrix::translate(x : Float, y : Float, z : Float) -> Matrix

#
Matrix::transpose

fn Matrix::transpose(mat : Matrix) -> Matrix

#
MatrixArray

type MatrixArray

#
MatrixArray::length

fn MatrixArray::length(self : MatrixArray) -> Int

#
MatrixArray::op_get

fn MatrixArray::op_get(self : MatrixArray, index : Int) -> Matrix

#
MatrixArray::op_set

fn MatrixArray::op_set(self : MatrixArray, index : Int, value : Matrix) -> Unit

#
Mesh

type Mesh

#
Mesh::bone_matrices

#as_free_fn(get_mesh_bone_matrices)
fn Mesh::bone_matrices(self : Mesh) -> MatrixArray?

#
Mesh::bounding_box

#as_free_fn(get_mesh_bounding_box)
fn Mesh::bounding_box(self : Mesh) -> BoundingBox

#
Mesh::colors

#as_free_fn(get_mesh_colors)
fn Mesh::colors(self : Mesh) -> UByteArray?

#
Mesh::draw

#as_free_fn(draw_mesh)
fn Mesh::draw(self : Mesh, material : Material, transform : Matrix) -> Unit

#
Mesh::draw_instanced

#as_free_fn(draw_mesh_instanced)
fn Mesh::draw_instanced(self : Mesh, material : Material, transforms : Array[Matrix], instances : Int) -> Unit

#
Mesh::export_

#as_free_fn(export_mesh)
fn Mesh::export_(self : Mesh, file_name : String) -> Bool

#
Mesh::export_as_code

#as_free_fn(export_mesh_as_code)
fn Mesh::export_as_code(self : Mesh, file_name : String) -> Bool

#
Mesh::gen_cone

#as_free_fn(gen_mesh_cone)
fn Mesh::gen_cone(radius : Float, height : Float, slices : Int) -> Mesh

#
Mesh::gen_cube

#as_free_fn(gen_mesh_cube)
fn Mesh::gen_cube(width : Float, height : Float, length : Float) -> Mesh

#
Mesh::gen_cubicmap

#as_free_fn(gen_mesh_cubicmap)
fn Mesh::gen_cubicmap(cubicmap : Image, cube_size : Vector3) -> Mesh

#
Mesh::gen_cylinder

#as_free_fn(gen_mesh_cylinder)
fn Mesh::gen_cylinder(radius : Float, height : Float, slices : Int) -> Mesh

#
Mesh::gen_from_points

#as_free_fn(gen_mesh_from_points)
fn Mesh::gen_from_points(vertices : Bytes, colors : Bytes, num_points : Int) -> Mesh

#
Mesh::gen_heightmap

#as_free_fn(gen_mesh_heightmap)
fn Mesh::gen_heightmap(heightmap : Image, size : Vector3) -> Mesh

#
Mesh::gen_hemisphere

#as_free_fn(gen_mesh_hemisphere)
fn Mesh::gen_hemisphere(radius : Float, rings : Int, slices : Int) -> Mesh

#
Mesh::gen_knot

#as_free_fn(gen_mesh_knot)
fn Mesh::gen_knot(radius : Float, size : Float, rad_seg : Int, sides : Int) -> Mesh

#
Mesh::gen_plane

#as_free_fn(gen_mesh_plane)
fn Mesh::gen_plane(width : Float, length : Float, res_x : Int, res_z : Int) -> Mesh

#
Mesh::gen_poly

#as_free_fn(gen_mesh_poly)
fn Mesh::gen_poly(sides : Int, radius : Float) -> Mesh

#
Mesh::gen_sphere

#as_free_fn(gen_mesh_sphere)
fn Mesh::gen_sphere(radius : Float, rings : Int, slices : Int) -> Mesh

#
Mesh::gen_tangents

#as_free_fn(gen_mesh_tangents)
fn Mesh::gen_tangents(self : Mesh) -> Unit

#
Mesh::gen_torus

#as_free_fn(gen_mesh_torus)
fn Mesh::gen_torus(radius : Float, size : Float, rad_seg : Int, sides : Int) -> Mesh

#
Mesh::indices

#as_free_fn(get_mesh_indices)
fn Mesh::indices(self : Mesh) -> UShortArray?

#
Mesh::new

fn Mesh::new(vertices : FixedArray[Float], texcoords? : FixedArray[Float], texcoords2? : FixedArray[Float], normals? : FixedArray[Float], tangents? : FixedArray[Float], colors? : FixedArray[Byte], indices? : FixedArray[UInt16]) -> Mesh

#
Mesh::normals

#as_free_fn(get_mesh_normals)
fn Mesh::normals(self : Mesh) -> FloatArray?

#
Mesh::tangents

#as_free_fn(get_mesh_tangents)
fn Mesh::tangents(self : Mesh) -> FloatArray?

#
Mesh::texcoords

#as_free_fn(get_mesh_texcoords)
fn Mesh::texcoords(self : Mesh) -> FloatArray?

#
Mesh::texcoords2

#as_free_fn(get_mesh_texcoords2)
fn Mesh::texcoords2(self : Mesh) -> FloatArray?

#
Mesh::triangle_count

#as_free_fn(get_mesh_triangle_count)
fn Mesh::triangle_count(self : Mesh) -> Int

#
Mesh::unload

#as_free_fn(unload_mesh)
fn Mesh::unload(self : Mesh) -> Unit

#
Mesh::update_buffer

#as_free_fn(update_mesh_buffer)
fn Mesh::update_buffer(self : Mesh, index : Int, data : Bytes, data_size : Int, offset : Int) -> Unit

#
Mesh::upload

fn Mesh::upload(self : Mesh, dynamic : Bool) -> Unit

#
Mesh::vertex_count

#as_free_fn(get_mesh_vertex_count)
fn Mesh::vertex_count(self : Mesh) -> Int

#
Mesh::vertices

#as_free_fn(get_mesh_vertices)
fn Mesh::vertices(self : Mesh) -> FloatArray?

#
Model

type Model

#
Model::bind_pose_rotation

#as_free_fn(get_model_bind_pose_rotation)
fn Model::bind_pose_rotation(self : Model, bone_index : Int) -> Vector4

#
Model::bind_pose_translation

#as_free_fn(get_model_bind_pose_translation)
fn Model::bind_pose_translation(self : Model, bone_index : Int) -> Vector3

#
Model::bone_count

#as_free_fn(get_model_bone_count)
fn Model::bone_count(self : Model) -> Int

#
Model::bone_name

#as_free_fn(get_model_bone_name)
fn Model::bone_name(self : Model, bone_index : Int) -> String

#
Model::bone_parent

#as_free_fn(get_model_bone_parent)
fn Model::bone_parent(self : Model, bone_index : Int) -> Int

#
Model::bounding_box

#as_free_fn(get_model_bounding_box)
fn Model::bounding_box(self : Model) -> BoundingBox

#
Model::draw

#as_free_fn(draw_model)
fn Model::draw(self : Model, position : Vector3, scale : Float, tint : Color) -> Unit

#
Model::draw_ex

#as_free_fn(draw_model_ex)
fn Model::draw_ex(self : Model, position : Vector3, rotation_axis : Vector3, rotation_angle : Float, scale : Vector3, tint : Color) -> Unit

#
Model::draw_points

#as_free_fn(draw_model_points)
fn Model::draw_points(self : Model, position : Vector3, scale : Float, tint : Color) -> Unit

#
Model::draw_points_ex

#as_free_fn(draw_model_points_ex)
fn Model::draw_points_ex(self : Model, position : Vector3, rotation_axis : Vector3, rotation_angle : Float, scale : Vector3, tint : Color) -> Unit

#
Model::draw_wires

#as_free_fn(draw_model_wires)
fn Model::draw_wires(self : Model, position : Vector3, scale : Float, tint : Color) -> Unit

#
Model::draw_wires_ex

#as_free_fn(draw_model_wires_ex)
fn Model::draw_wires_ex(self : Model, position : Vector3, rotation_axis : Vector3, rotation_angle : Float, scale : Vector3, tint : Color) -> Unit

#
Model::is_animation_valid

#as_free_fn(is_model_animation_valid)
fn Model::is_animation_valid(self : Model, anims : ModelAnimations, index : Int) -> Bool

#
Model::is_valid

#as_free_fn(is_model_valid)
fn Model::is_valid(self : Model) -> Bool

#
Model::load

#as_free_fn(load_model)
fn Model::load(file_name : String) -> Model

#
Model::load_from_mesh

#as_free_fn(load_model_from_mesh)
fn Model::load_from_mesh(mesh : Mesh) -> Model

#
Model::material

#as_free_fn(get_model_material)
fn Model::material(self : Model, index : Int) -> Material

#
Model::material_count

#as_free_fn(get_model_material_count)
fn Model::material_count(self : Model) -> Int

#
Model::mesh

#as_free_fn(get_model_mesh)
fn Model::mesh(self : Model, index : Int) -> Mesh

#
Model::mesh_count

#as_free_fn(get_model_mesh_count)
fn Model::mesh_count(self : Model) -> Int

#
Model::set_material_shader

#as_free_fn(set_model_material_shader)
fn Model::set_material_shader(self : Model, material_index : Int, shader : Shader) -> Unit

#
Model::set_material_texture

#as_free_fn(set_model_material_texture)
fn Model::set_material_texture(self : Model, material_index : Int, map_type : Int, texture : Texture) -> Unit

#
Model::set_mesh_material

#as_free_fn(set_model_mesh_material)
fn Model::set_mesh_material(self : Model, mesh_id : Int, material_id : Int) -> Unit

#
Model::set_transform

#as_free_fn(set_model_transform)
fn Model::set_transform(self : Model, transform : Matrix) -> Unit

#
Model::transform

#as_free_fn(get_model_transform)
fn Model::transform(self : Model) -> Matrix

#
Model::unload

#as_free_fn(unload_model)
fn Model::unload(self : Model) -> Unit

#
Model::update_animation

#as_free_fn(update_model_animation)
fn Model::update_animation(self : Model, anims : ModelAnimations, index : Int, frame : Int) -> Unit

#
Model::update_animation_bones

#as_free_fn(update_model_animation_bones)
fn Model::update_animation_bones(self : Model, anims : ModelAnimations, index : Int, frame : Int) -> Unit

#
ModelAnimations

type ModelAnimations

#
ModelAnimations::bone_count

#as_free_fn(get_model_animation_bone_count)
fn ModelAnimations::bone_count(self : ModelAnimations, anim_index : Int) -> Int

#
ModelAnimations::bone_parent

#as_free_fn(get_model_animation_bone_parent)
fn ModelAnimations::bone_parent(self : ModelAnimations, anim_index : Int, bone_index : Int) -> Int

#
ModelAnimations::count

#as_free_fn(model_animations_count)
fn ModelAnimations::count(self : ModelAnimations) -> Int

#
ModelAnimations::frame_count

#as_free_fn(get_model_animation_frame_count)
fn ModelAnimations::frame_count(self : ModelAnimations, anim_index : Int) -> Int

#
ModelAnimations::frame_pose_rotation

#as_free_fn(get_model_animation_frame_pose_rotation)
fn ModelAnimations::frame_pose_rotation(self : ModelAnimations, anim_index : Int, frame : Int, bone_index : Int) -> Vector4

#
ModelAnimations::frame_pose_translation

#as_free_fn(get_model_animation_frame_pose_translation)
fn ModelAnimations::frame_pose_translation(self : ModelAnimations, anim_index : Int, frame : Int, bone_index : Int) -> Vector3

#
ModelAnimations::load

#as_free_fn(load_model_animations)
fn ModelAnimations::load(file_name : String) -> ModelAnimations

#
ModelAnimations::unload

#as_free_fn(unload_model_animations)
fn ModelAnimations::unload(self : ModelAnimations) -> Unit

#
Music

type Music

#
Music::is_playing

#as_free_fn(is_music_stream_playing)
fn Music::is_playing(self : Music) -> Bool

#
Music::is_valid

#as_free_fn(is_music_valid)
fn Music::is_valid(self : Music) -> Bool

#
Music::load

#as_free_fn(load_music_stream)
fn Music::load(file_name : String) -> Music

#
Music::load_from_memory

#as_free_fn(load_music_stream_from_memory)
fn Music::load_from_memory(file_type : String, data : Bytes, data_size : Int) -> Music

#
Music::pause

#as_free_fn(pause_music_stream)
fn Music::pause(self : Music) -> Unit

#
Music::play

#as_free_fn(play_music_stream)
fn Music::play(self : Music) -> Unit

#
Music::resume_

#as_free_fn(resume_music_stream)
fn Music::resume_(self : Music) -> Unit

#
Music::seek

#as_free_fn(seek_music_stream)
fn Music::seek(self : Music, position : Float) -> Unit

#
Music::set_pan

#as_free_fn(set_music_pan)
fn Music::set_pan(self : Music, pan : Float) -> Unit

#
Music::set_pitch

#as_free_fn(set_music_pitch)
fn Music::set_pitch(self : Music, pitch : Float) -> Unit

#
Music::set_volume

#as_free_fn(set_music_volume)
fn Music::set_volume(self : Music, volume : Float) -> Unit

#
Music::stop

#as_free_fn(stop_music_stream)
fn Music::stop(self : Music) -> Unit

#
Music::time_length

#as_free_fn(get_music_time_length)
fn Music::time_length(self : Music) -> Float

#
Music::time_played

#as_free_fn(get_music_time_played)
fn Music::time_played(self : Music) -> Float

#
Music::unload

#as_free_fn(unload_music_stream)
fn Music::unload(self : Music) -> Unit

#
Music::update

#as_free_fn(update_music_stream)
fn Music::update(self : Music) -> Unit

#
NPatchInfo

pub struct NPatchInfo {
source : Rectangle
left : Int
top : Int
right : Int
bottom : Int
layout : Int
}

impl Eq for NPatchInfo
impl Show for NPatchInfo

#
NPatchInfo::from_bytes

fn NPatchInfo::from_bytes(b : Bytes) -> NPatchInfo

#
NPatchInfo::new

fn NPatchInfo::new(source : Rectangle, left : Int, top : Int, right : Int, bottom : Int, layout : Int) -> NPatchInfo

#
NPatchInfo::to_bytes

fn NPatchInfo::to_bytes(n : NPatchInfo) -> Bytes

#
Ray

pub struct Ray {
position : Vector3
direction : Vector3
}

impl Eq for Ray
impl Show for Ray

#
Ray::from_bytes

fn Ray::from_bytes(b : Bytes) -> Ray

#
Ray::new

fn Ray::new(position : Vector3, direction : Vector3) -> Ray

#
Ray::to_bytes

fn Ray::to_bytes(r : Ray) -> Bytes

#
RayCollision

pub struct RayCollision {
hit : Bool
distance : Float
point : Vector3
normal : Vector3
}

impl Eq for RayCollision

#
RayCollision::from_bytes

fn RayCollision::from_bytes(b : Bytes) -> RayCollision

#
RayCollision::new

fn RayCollision::new(hit : Bool, distance : Float, point : Vector3, normal : Vector3) -> RayCollision

#
Rectangle

pub struct Rectangle {
x : Float
y : Float
width : Float
height : Float
}

impl Eq for Rectangle
impl Show for Rectangle

#
Rectangle::from_bytes

fn Rectangle::from_bytes(b : Bytes) -> Rectangle

#
Rectangle::new

fn Rectangle::new(x : Float, y : Float, width : Float, height : Float) -> Rectangle

#
Rectangle::to_bytes

fn Rectangle::to_bytes(r : Rectangle) -> Bytes

#
RenderTexture

type RenderTexture

#
RenderTexture::begin_mode

#as_free_fn(begin_texture_mode)
fn RenderTexture::begin_mode(self : RenderTexture) -> Unit

#
RenderTexture::depth

#as_free_fn(get_render_texture_depth)
fn RenderTexture::depth(self : RenderTexture) -> Texture

#
RenderTexture::depth_id

#as_free_fn(get_render_texture_depth_id)
fn RenderTexture::depth_id(self : RenderTexture) -> UInt

#
RenderTexture::draw_ex

#as_free_fn(draw_render_texture_ex)
fn RenderTexture::draw_ex(self : RenderTexture, position : Vector2, rotation : Float, scale : Float, tint : Color) -> Unit

#
RenderTexture::draw_pro

#as_free_fn(draw_render_texture_pro)
fn RenderTexture::draw_pro(self : RenderTexture, source : Rectangle, dest : Rectangle, origin : Vector2, rotation : Float, tint : Color) -> Unit

#
RenderTexture::draw_rec

#as_free_fn(draw_render_texture_rec)
fn RenderTexture::draw_rec(self : RenderTexture, source : Rectangle, position : Vector2, tint : Color) -> Unit

#
RenderTexture::fbo_id

#deprecated("Use RenderTexture::id instead")
#as_free_fn(get_render_texture_fbo_id, deprecated="Use RenderTexture::id instead")
fn RenderTexture::fbo_id(self : RenderTexture) -> UInt

#
RenderTexture::height

#as_free_fn(get_render_texture_height)
fn RenderTexture::height(self : RenderTexture) -> Int

#
RenderTexture::id

#as_free_fn(get_render_texture_id)
fn RenderTexture::id(self : RenderTexture) -> UInt

#
RenderTexture::is_valid

#as_free_fn(is_render_texture_valid)
fn RenderTexture::is_valid(self : RenderTexture) -> Bool

#
RenderTexture::load

#as_free_fn(load_render_texture)
fn RenderTexture::load(width : Int, height : Int) -> RenderTexture

#
RenderTexture::load_depth_tex

#deprecated("Use RenderTexture::new with @rl helpers instead")
#as_free_fn(load_render_texture_depth_tex, deprecated="Use RenderTexture::new with @rl helpers instead")
fn RenderTexture::load_depth_tex(width : Int, height : Int) -> RenderTexture

Load a render texture with a depth texture attachment. @deprecated Use RenderTexture::new with @rl.load_framebuffer, @rl.load_texture, @rl.load_texture_depth, and @rl.framebuffer_attach instead.

#
RenderTexture::load_shadowmap

#deprecated("Use RenderTexture::new with @rl helpers instead")
#as_free_fn(load_shadowmap_render_texture, deprecated="Use RenderTexture::new with @rl helpers instead")
fn RenderTexture::load_shadowmap(width : Int, height : Int) -> RenderTexture

Load a depth-only shadowmap render texture. @deprecated Use RenderTexture::new with @rl.load_framebuffer, @rl.load_texture_depth, and @rl.framebuffer_attach instead.

#
RenderTexture::new

#as_free_fn(new_render_texture)
fn RenderTexture::new(id : UInt, texture : Texture, depth : Texture) -> RenderTexture

#
RenderTexture::set_filter

#as_free_fn(set_render_texture_filter)
fn RenderTexture::set_filter(self : RenderTexture, filter : Int) -> Unit

#
RenderTexture::texture

#as_free_fn(get_render_texture_texture)
fn RenderTexture::texture(self : RenderTexture) -> Texture

#
RenderTexture::unload

#as_free_fn(unload_render_texture)
fn RenderTexture::unload(self : RenderTexture) -> Unit

#
RenderTexture::unload_depth_tex

#deprecated("Use RenderTexture::unload instead")
#as_free_fn(unload_render_texture_depth_tex, deprecated="Use RenderTexture::unload instead")
fn RenderTexture::unload_depth_tex(self : RenderTexture) -> Unit

Unload a depth-texture render texture. @deprecated Use RenderTexture::unload instead.

#
RenderTexture::unload_shadowmap

#deprecated("Use RenderTexture::unload instead")
#as_free_fn(unload_shadowmap_render_texture, deprecated="Use RenderTexture::unload instead")
fn RenderTexture::unload_shadowmap(self : RenderTexture) -> Unit

Unload a shadowmap render texture. @deprecated Use RenderTexture::unload instead.

#
RenderTexture::width

#as_free_fn(get_render_texture_width)
fn RenderTexture::width(self : RenderTexture) -> Int

#
Shader

type Shader

#
Shader::begin_mode

#as_free_fn(begin_shader_mode)
fn Shader::begin_mode(self : Shader) -> Unit

#
Shader::get_location

#as_free_fn(get_shader_location)
fn Shader::get_location(self : Shader, uniform_name : String) -> Int

#
Shader::get_location_attrib

#as_free_fn(get_shader_location_attrib)
fn Shader::get_location_attrib(self : Shader, attrib_name : String) -> Int

#
Shader::id

#as_free_fn(get_shader_id)
fn Shader::id(self : Shader) -> UInt

#
Shader::is_valid

#as_free_fn(is_shader_valid)
fn Shader::is_valid(self : Shader) -> Bool

#
Shader::load

#as_free_fn(load_shader)
fn Shader::load(vs_file_name : String, fs_file_name : String) -> Shader

#
Shader::load_from_memory

#as_free_fn(load_shader_from_memory)
fn Shader::load_from_memory(vs_code : String, fs_code : String) -> Shader

#
Shader::set_locs

#as_free_fn(set_shader_locs)
#as_free_fn(set_shader_location, deprecated="Use Shader::set_locs or set_shader_locs instead")
fn Shader::set_locs(self : Shader, loc_index : Int, loc_value : Int) -> Unit

#
Shader::set_value

fn Shader::set_value(self : Shader, loc_index : Int, value : ShaderUniformData) -> Unit

#
Shader::set_value_matrix

#as_free_fn(set_shader_value_matrix)
fn Shader::set_value_matrix(self : Shader, loc_index : Int, mat : Matrix) -> Unit

#
Shader::set_value_texture

#as_free_fn(set_shader_value_texture)
fn Shader::set_value_texture(self : Shader, loc_index : Int, texture : Texture) -> Unit

#
Shader::set_value_v

fn Shader::set_value_v(self : Shader, loc_index : Int, values : ShaderUniformDataV) -> Unit

#
Shader::unload

#as_free_fn(unload_shader)
fn Shader::unload(self : Shader) -> Unit

#
ShaderUniformData

pub(all) enum ShaderUniformData {
Float(Float)
Vec2(Vector2)
Vec3(Vector3)
Vec4(Vector4)
Int(Int)
IVec2((Int, Int))
IVec3((Int, Int, Int))
IVec4((Int, Int, Int, Int))
Sampler2D(Int)
}

#
ShaderUniformDataV

pub(all) enum ShaderUniformDataV {
Float(Array[Float])
Vec2(Array[Vector2])
Vec3(Array[Vector3])
Vec4(Array[Vector4])
Int(Array[Int])
IVec2(Array[(Int, Int)])
IVec3(Array[(Int, Int, Int)])
IVec4(Array[(Int, Int, Int, Int)])
Sampler2D(Array[Int])
}

#
Sound

type Sound

#
Sound::is_playing

#as_free_fn(is_sound_playing)
fn Sound::is_playing(self : Sound) -> Bool

#
Sound::is_valid

#as_free_fn(is_sound_valid)
fn Sound::is_valid(self : Sound) -> Bool

#
Sound::load

#as_free_fn(load_sound)
fn Sound::load(file_name : String) -> Sound

#
Sound::load_alias

#as_free_fn(load_sound_alias)
fn Sound::load_alias(self : Sound) -> Sound

#
Sound::pause

#as_free_fn(pause_sound)
fn Sound::pause(self : Sound) -> Unit

#
Sound::play

#as_free_fn(play_sound)
fn Sound::play(self : Sound) -> Unit

#
Sound::resume_

#as_free_fn(resume_sound)
fn Sound::resume_(self : Sound) -> Unit

#
Sound::set_pan

#as_free_fn(set_sound_pan)
fn Sound::set_pan(self : Sound, pan : Float) -> Unit

#
Sound::set_pitch

#as_free_fn(set_sound_pitch)
fn Sound::set_pitch(self : Sound, pitch : Float) -> Unit

#
Sound::set_volume

#as_free_fn(set_sound_volume)
fn Sound::set_volume(self : Sound, volume : Float) -> Unit

#
Sound::stop

#as_free_fn(stop_sound)
fn Sound::stop(self : Sound) -> Unit

#
Sound::unload

#as_free_fn(unload_sound)
fn Sound::unload(self : Sound) -> Unit

#
Sound::unload_alias

#as_free_fn(unload_sound_alias)
fn Sound::unload_alias(self : Sound) -> Unit

#
Sound::update

#as_free_fn(update_sound)
fn Sound::update(self : Sound, data : Bytes, sample_count : Int) -> Unit

#
Texture

type Texture

#
Texture::draw

#as_free_fn(draw_texture)
fn Texture::draw(self : Texture, pos_x : Int, pos_y : Int, tint : Color) -> Unit

#
Texture::draw_ex

#as_free_fn(draw_texture_ex)
fn Texture::draw_ex(self : Texture, position : Vector2, rotation : Float, scale : Float, tint : Color) -> Unit

#
Texture::draw_npatch

#as_free_fn(draw_texture_npatch)
fn Texture::draw_npatch(self : Texture, npatch_info : NPatchInfo, dest : Rectangle, origin : Vector2, rotation : Float, tint : Color) -> Unit

#
Texture::draw_pro

#as_free_fn(draw_texture_pro)
fn Texture::draw_pro(self : Texture, source : Rectangle, dest : Rectangle, origin : Vector2, rotation : Float, tint : Color) -> Unit

#
Texture::draw_rec

#as_free_fn(draw_texture_rec)
fn Texture::draw_rec(self : Texture, source : Rectangle, position : Vector2, tint : Color) -> Unit

#
Texture::draw_v

#as_free_fn(draw_texture_v)
fn Texture::draw_v(self : Texture, position : Vector2, tint : Color) -> Unit

#
Texture::format

#as_free_fn(get_texture_format)
fn Texture::format(self : Texture) -> Int

#
Texture::from_id

#deprecated("Use Texture::new instead")
#as_free_fn(texture_from_id, deprecated="Use Texture::new instead")
fn Texture::from_id(id : UInt, width : Int, height : Int) -> Texture

#
Texture::gen_mipmaps

#as_free_fn(gen_texture_mipmaps)
fn Texture::gen_mipmaps(self : Texture) -> Unit

#
Texture::get_shapes

#as_free_fn(get_shapes_texture)
fn Texture::get_shapes() -> Texture

#
Texture::height

#as_free_fn(get_texture_height)
fn Texture::height(self : Texture) -> Int

#
Texture::id

#as_free_fn(get_texture_id)
fn Texture::id(self : Texture) -> UInt

#
Texture::is_valid

#as_free_fn(is_texture_valid)
fn Texture::is_valid(self : Texture) -> Bool

#
Texture::load

#as_free_fn(load_texture)
fn Texture::load(file_name : String) -> Texture

#
Texture::mipmaps

#as_free_fn(get_texture_mipmaps)
fn Texture::mipmaps(self : Texture) -> Int

#
Texture::new

#as_free_fn(new_texture)
fn Texture::new(id : UInt, width : Int, height : Int, mipmaps : Int, format : Int) -> Texture

#
Texture::set_filter

#as_free_fn(set_texture_filter)
fn Texture::set_filter(self : Texture, filter : Int) -> Unit

#
Texture::set_shapes

#as_free_fn(set_shapes_texture)
fn Texture::set_shapes(self : Texture, source : Rectangle) -> Unit

#
Texture::set_wrap

#as_free_fn(set_texture_wrap)
fn Texture::set_wrap(self : Texture, wrap : Int) -> Unit

#
Texture::unload

#as_free_fn(unload_texture)
fn Texture::unload(self : Texture) -> Unit

#
Texture::update

#as_free_fn(update_texture)
fn Texture::update(self : Texture, pixels : Bytes) -> Unit

#
Texture::update_from_image_frame

#as_free_fn(update_texture_from_image_frame)
fn Texture::update_from_image_frame(self : Texture, image : Image, frame : Int) -> Unit

#
Texture::update_rec

#as_free_fn(update_texture_rec)
fn Texture::update_rec(self : Texture, rec : Rectangle, pixels : Bytes) -> Unit

#
Texture::width

#as_free_fn(get_texture_width)
fn Texture::width(self : Texture) -> Int

#
UByteArray

type UByteArray

#
UByteArray::length

fn UByteArray::length(self : UByteArray) -> Int

#
UByteArray::op_get

fn UByteArray::op_get(self : UByteArray, index : Int) -> Int

#
UByteArray::op_set

fn UByteArray::op_set(self : UByteArray, index : Int, value : Byte) -> Unit

#
UShortArray

type UShortArray

#
UShortArray::length

fn UShortArray::length(self : UShortArray) -> Int

#
UShortArray::op_get

fn UShortArray::op_get(self : UShortArray, index : Int) -> Int

#
UShortArray::op_set

fn UShortArray::op_set(self : UShortArray, index : Int, value : UInt16) -> Unit

#
Vector2

pub struct Vector2 {
x : Float
y : Float
}

impl Eq for Vector2
impl Show for Vector2

#
Vector2::add

fn Vector2::add(v1 : Vector2, v2 : Vector2) -> Vector2

#
Vector2::add_value

fn Vector2::add_value(v : Vector2, add : Float) -> Vector2

#
Vector2::angle

fn Vector2::angle(v1 : Vector2, v2 : Vector2) -> Float

#
Vector2::clamp

fn Vector2::clamp(v : Vector2, min : Vector2, max : Vector2) -> Vector2

#
Vector2::clamp_value

fn Vector2::clamp_value(v : Vector2, min : Float, max : Float) -> Vector2

#
Vector2::distance

fn Vector2::distance(v1 : Vector2, v2 : Vector2) -> Float

#
Vector2::distance_sqr

fn Vector2::distance_sqr(v1 : Vector2, v2 : Vector2) -> Float

#
Vector2::divide

fn Vector2::divide(v1 : Vector2, v2 : Vector2) -> Vector2

#
Vector2::dot_product

fn Vector2::dot_product(v1 : Vector2, v2 : Vector2) -> Float

#
Vector2::equals

fn Vector2::equals(p : Vector2, q : Vector2) -> Bool

#
Vector2::from_bytes

fn Vector2::from_bytes(b : Bytes) -> Vector2

#
Vector2::invert

fn Vector2::invert(v : Vector2) -> Vector2

#
Vector2::length

fn Vector2::length(v : Vector2) -> Float

#
Vector2::length_sqr

fn Vector2::length_sqr(v : Vector2) -> Float

#
Vector2::lerp

fn Vector2::lerp(v1 : Vector2, v2 : Vector2, amount : Float) -> Vector2

#
Vector2::line_angle

fn Vector2::line_angle(start : Vector2, end_ : Vector2) -> Float

#
Vector2::max

fn Vector2::max(v1 : Vector2, v2 : Vector2) -> Vector2

#
Vector2::min

fn Vector2::min(v1 : Vector2, v2 : Vector2) -> Vector2

#
Vector2::move_towards

fn Vector2::move_towards(v : Vector2, target : Vector2, max_distance : Float) -> Vector2

#
Vector2::multiply

fn Vector2::multiply(v1 : Vector2, v2 : Vector2) -> Vector2

#
Vector2::negate

fn Vector2::negate(v : Vector2) -> Vector2

#
Vector2::new

fn Vector2::new(x : Float, y : Float) -> Vector2

#
Vector2::normalize

fn Vector2::normalize(v : Vector2) -> Vector2

#
Vector2::one

fn Vector2::one() -> Vector2

#
Vector2::reflect

fn Vector2::reflect(v : Vector2, normal : Vector2) -> Vector2

#
Vector2::refract

fn Vector2::refract(v : Vector2, n : Vector2, r : Float) -> Vector2

#
Vector2::rotate

fn Vector2::rotate(v : Vector2, angle : Float) -> Vector2

#
Vector2::scale

fn Vector2::scale(v : Vector2, scale : Float) -> Vector2

#
Vector2::subtract

fn Vector2::subtract(v1 : Vector2, v2 : Vector2) -> Vector2

#
Vector2::subtract_value

fn Vector2::subtract_value(v : Vector2, sub : Float) -> Vector2

#
Vector2::to_bytes

fn Vector2::to_bytes(v : Vector2) -> Bytes

#
Vector2::transform

fn Vector2::transform(v : Vector2, mat : Matrix) -> Vector2

#
Vector2::zero

fn Vector2::zero() -> Vector2

#
Vector3

pub struct Vector3 {
x : Float
y : Float
z : Float
}

impl Eq for Vector3
impl Show for Vector3

#
Vector3::add

fn Vector3::add(v1 : Vector3, v2 : Vector3) -> Vector3

#
Vector3::add_value

fn Vector3::add_value(v : Vector3, add : Float) -> Vector3

#
Vector3::angle

fn Vector3::angle(v1 : Vector3, v2 : Vector3) -> Float

#
Vector3::barycenter

fn Vector3::barycenter(p : Vector3, a : Vector3, b : Vector3, c : Vector3) -> Vector3

#
Vector3::clamp

fn Vector3::clamp(v : Vector3, min : Vector3, max : Vector3) -> Vector3

#
Vector3::cross_product

fn Vector3::cross_product(v1 : Vector3, v2 : Vector3) -> Vector3

#
Vector3::distance

fn Vector3::distance(v1 : Vector3, v2 : Vector3) -> Float

#
Vector3::distance_sqr

fn Vector3::distance_sqr(v1 : Vector3, v2 : Vector3) -> Float

#
Vector3::dot_product

fn Vector3::dot_product(v1 : Vector3, v2 : Vector3) -> Float

#
Vector3::equals

fn Vector3::equals(p : Vector3, q : Vector3) -> Bool

#
Vector3::from_bytes

fn Vector3::from_bytes(b : Bytes) -> Vector3

#
Vector3::invert

fn Vector3::invert(v : Vector3) -> Vector3

#
Vector3::length

fn Vector3::length(v : Vector3) -> Float

#
Vector3::length_sqr

fn Vector3::length_sqr(v : Vector3) -> Float

#
Vector3::lerp

fn Vector3::lerp(v1 : Vector3, v2 : Vector3, amount : Float) -> Vector3

#
Vector3::max

fn Vector3::max(v1 : Vector3, v2 : Vector3) -> Vector3

#
Vector3::min

fn Vector3::min(v1 : Vector3, v2 : Vector3) -> Vector3

#
Vector3::move_towards

fn Vector3::move_towards(v : Vector3, target : Vector3, max_distance : Float) -> Vector3

#
Vector3::multiply

fn Vector3::multiply(v1 : Vector3, v2 : Vector3) -> Vector3

#
Vector3::new

fn Vector3::new(x : Float, y : Float, z : Float) -> Vector3

#
Vector3::normalize

fn Vector3::normalize(v : Vector3) -> Vector3

#
Vector3::one

fn Vector3::one() -> Vector3

#
Vector3::ortho_normalize

fn Vector3::ortho_normalize(v1 : Vector3, v2 : Vector3) -> (Vector3, Vector3)

#
Vector3::perpendicular

fn Vector3::perpendicular(v : Vector3) -> Vector3

#
Vector3::project

fn Vector3::project(v1 : Vector3, v2 : Vector3) -> Vector3

#
Vector3::reflect

fn Vector3::reflect(v : Vector3, normal : Vector3) -> Vector3

#
Vector3::refract

fn Vector3::refract(v : Vector3, n : Vector3, r : Float) -> Vector3

#
Vector3::reject

fn Vector3::reject(v1 : Vector3, v2 : Vector3) -> Vector3

#
Vector3::rotate_by_axis_angle

fn Vector3::rotate_by_axis_angle(v : Vector3, axis : Vector3, angle : Float) -> Vector3

#
Vector3::rotate_by_quaternion

fn Vector3::rotate_by_quaternion(v : Vector3, q : Vector4) -> Vector3

#
Vector3::scale

fn Vector3::scale(v : Vector3, scalar : Float) -> Vector3

#
Vector3::subtract

fn Vector3::subtract(v1 : Vector3, v2 : Vector3) -> Vector3

#
Vector3::subtract_value

fn Vector3::subtract_value(v : Vector3, sub : Float) -> Vector3

#
Vector3::to_bytes

fn Vector3::to_bytes(v : Vector3) -> Bytes

#
Vector3::transform

fn Vector3::transform(v : Vector3, mat : Matrix) -> Vector3

#
Vector3::unproject

fn Vector3::unproject(source : Vector3, projection : Matrix, view : Matrix) -> Vector3

#
Vector3::zero

fn Vector3::zero() -> Vector3

#
Vector4

pub struct Vector4 {
x : Float
y : Float
z : Float
w : Float
}

impl Eq for Vector4
impl Show for Vector4

#
Vector4::add

fn Vector4::add(v1 : Vector4, v2 : Vector4) -> Vector4

#
Vector4::add_value

fn Vector4::add_value(v : Vector4, add : Float) -> Vector4

#
Vector4::divide

fn Vector4::divide(v1 : Vector4, v2 : Vector4) -> Vector4

#
Vector4::equals

fn Vector4::equals(p : Vector4, q : Vector4) -> Bool

#
Vector4::from_bytes

fn Vector4::from_bytes(b : Bytes) -> Vector4

#
Vector4::length

fn Vector4::length(v : Vector4) -> Float

#
Vector4::max

fn Vector4::max(v1 : Vector4, v2 : Vector4) -> Vector4

#
Vector4::min

fn Vector4::min(v1 : Vector4, v2 : Vector4) -> Vector4

#
Vector4::multiply

fn Vector4::multiply(v1 : Vector4, v2 : Vector4) -> Vector4

#
Vector4::negate

fn Vector4::negate(v : Vector4) -> Vector4

#
Vector4::new

fn Vector4::new(x : Float, y : Float, z : Float, w : Float) -> Vector4

#
Vector4::normalize

fn Vector4::normalize(v : Vector4) -> Vector4

#
Vector4::one

fn Vector4::one() -> Vector4

#
Vector4::quat_add

fn Vector4::quat_add(q1 : Vector4, q2 : Vector4) -> Vector4

#
Vector4::quat_add_value

fn Vector4::quat_add_value(q : Vector4, add : Float) -> Vector4

#
Vector4::quat_cubic_hermite_spline

fn Vector4::quat_cubic_hermite_spline(q1 : Vector4, out_tangent1 : Vector4, q2 : Vector4, in_tangent2 : Vector4, t : Float) -> Vector4

#
Vector4::quat_divide

fn Vector4::quat_divide(q1 : Vector4, q2 : Vector4) -> Vector4

#
Vector4::quat_equals

fn Vector4::quat_equals(p : Vector4, q : Vector4) -> Bool

#
Vector4::quat_from_axis_angle

fn Vector4::quat_from_axis_angle(axis : Vector3, angle : Float) -> Vector4

#
Vector4::quat_from_euler

fn Vector4::quat_from_euler(pitch : Float, yaw : Float, roll : Float) -> Vector4

#
Vector4::quat_from_matrix

fn Vector4::quat_from_matrix(mat : Matrix) -> Vector4

#
Vector4::quat_from_vector3_to_vector3

fn Vector4::quat_from_vector3_to_vector3(from_ : Vector3, to : Vector3) -> Vector4

#
Vector4::quat_identity

fn Vector4::quat_identity() -> Vector4

#
Vector4::quat_invert

fn Vector4::quat_invert(q : Vector4) -> Vector4

#
Vector4::quat_length

fn Vector4::quat_length(q : Vector4) -> Float

#
Vector4::quat_lerp

fn Vector4::quat_lerp(q1 : Vector4, q2 : Vector4, amount : Float) -> Vector4

#
Vector4::quat_multiply

fn Vector4::quat_multiply(q1 : Vector4, q2 : Vector4) -> Vector4

#
Vector4::quat_nlerp

fn Vector4::quat_nlerp(q1 : Vector4, q2 : Vector4, amount : Float) -> Vector4

#
Vector4::quat_normalize

fn Vector4::quat_normalize(q : Vector4) -> Vector4

#
Vector4::quat_scale

fn Vector4::quat_scale(q : Vector4, mul : Float) -> Vector4

#
Vector4::quat_slerp

fn Vector4::quat_slerp(q1 : Vector4, q2 : Vector4, amount : Float) -> Vector4

#
Vector4::quat_subtract

fn Vector4::quat_subtract(q1 : Vector4, q2 : Vector4) -> Vector4

#
Vector4::quat_subtract_value

fn Vector4::quat_subtract_value(q : Vector4, sub : Float) -> Vector4

#
Vector4::quat_to_axis_angle

fn Vector4::quat_to_axis_angle(q : Vector4) -> (Vector3, Float)

#
Vector4::quat_to_euler

fn Vector4::quat_to_euler(q : Vector4) -> Vector3

#
Vector4::quat_to_matrix

fn Vector4::quat_to_matrix(q : Vector4) -> Matrix

#
Vector4::quat_transform

fn Vector4::quat_transform(q : Vector4, mat : Matrix) -> Vector4

#
Vector4::scale

fn Vector4::scale(v : Vector4, scalar : Float) -> Vector4

#
Vector4::subtract

fn Vector4::subtract(v1 : Vector4, v2 : Vector4) -> Vector4

#
Vector4::subtract_value

fn Vector4::subtract_value(v : Vector4, sub : Float) -> Vector4

#
Vector4::to_bytes

fn Vector4::to_bytes(v : Vector4) -> Bytes

#
Vector4::zero

fn Vector4::zero() -> Vector4

#
VrDeviceInfo

pub struct VrDeviceInfo {
h_resolution : Int
v_resolution : Int
h_screen_size : Float
v_screen_size : Float
eye_to_screen_distance : Float
lens_separation_distance : Float
interpupillary_distance : Float
lens_distortion_values : FixedArray[Float]
chroma_ab_correction : FixedArray[Float]
}

#
VrDeviceInfo::new

fn VrDeviceInfo::new(h_resolution : Int, v_resolution : Int, h_screen_size : Float, v_screen_size : Float, eye_to_screen_distance : Float, lens_separation_distance : Float, interpupillary_distance : Float, lens_distortion_values : FixedArray[Float], chroma_ab_correction : FixedArray[Float]) -> VrDeviceInfo

#
VrDeviceInfo::to_bytes

fn VrDeviceInfo::to_bytes(info : VrDeviceInfo) -> Bytes

#
VrStereoConfig

type VrStereoConfig

#
VrStereoConfig::begin_mode

#as_free_fn(begin_vr_stereo_mode)
fn VrStereoConfig::begin_mode(self : VrStereoConfig) -> Unit

#
VrStereoConfig::left_lens_center

fn VrStereoConfig::left_lens_center(self : VrStereoConfig) -> Vector2

#
VrStereoConfig::left_screen_center

fn VrStereoConfig::left_screen_center(self : VrStereoConfig) -> Vector2

#
VrStereoConfig::load

#as_free_fn(load_vr_stereo_config)
fn VrStereoConfig::load(device : VrDeviceInfo) -> VrStereoConfig

#
VrStereoConfig::right_lens_center

fn VrStereoConfig::right_lens_center(self : VrStereoConfig) -> Vector2

#
VrStereoConfig::right_screen_center

fn VrStereoConfig::right_screen_center(self : VrStereoConfig) -> Vector2

#
VrStereoConfig::scale

#
VrStereoConfig::scale_in

fn VrStereoConfig::scale_in(self : VrStereoConfig) -> Vector2

#
VrStereoConfig::unload

#as_free_fn(unload_vr_stereo_config)
fn VrStereoConfig::unload(self : VrStereoConfig) -> Unit

#
Wave

type Wave

#
Wave::channels

#as_free_fn(get_wave_channels)
fn Wave::channels(self : Wave) -> Int

#
Wave::copy

#as_free_fn(wave_copy)
fn Wave::copy(self : Wave) -> Wave

#
Wave::crop

#as_free_fn(wave_crop)
fn Wave::crop(self : Wave, init_frame : Int, final_frame : Int) -> Unit

#
Wave::export_

#as_free_fn(export_wave)
fn Wave::export_(self : Wave, file_name : String) -> Bool

#
Wave::export_as_code

#as_free_fn(export_wave_as_code)
fn Wave::export_as_code(self : Wave, file_name : String) -> Bool

#
Wave::format

#as_free_fn(wave_format)
fn Wave::format(self : Wave, sample_rate : Int, sample_size : Int, channels : Int) -> Unit

#
Wave::frame_count

#as_free_fn(get_wave_frame_count)
fn Wave::frame_count(self : Wave) -> Int

#
Wave::is_valid

#as_free_fn(is_wave_valid)
fn Wave::is_valid(self : Wave) -> Bool

#
Wave::load

#as_free_fn(load_wave)
fn Wave::load(file_name : String) -> Wave

#
Wave::load_from_memory

#as_free_fn(load_wave_from_memory)
fn Wave::load_from_memory(file_type : String, file_data : Bytes, data_size : Int) -> Wave

#
Wave::load_samples

#as_free_fn(load_wave_samples)
fn Wave::load_samples(self : Wave) -> Bytes

#
Wave::load_sound

#as_free_fn(load_sound_from_wave)
fn Wave::load_sound(self : Wave) -> Sound

#
Wave::sample_rate

#as_free_fn(get_wave_sample_rate)
fn Wave::sample_rate(self : Wave) -> Int

#
Wave::sample_size

#as_free_fn(get_wave_sample_size)
fn Wave::sample_size(self : Wave) -> Int

#
Wave::unload

#as_free_fn(unload_wave)
fn Wave::unload(self : Wave) -> Unit

#
BlendAdditive

let BlendAdditive : Int

#
BlendAlpha

let BlendAlpha : Int

#
BlendCustom

let BlendCustom : Int

#
BlendMultiplied

let BlendMultiplied : Int

#
CameraCustom

let CameraCustom : Int

#
CameraFirstPerson

let CameraFirstPerson : Int

#
CameraFree

let CameraFree : Int

#
CameraOrbital

let CameraOrbital : Int

#
CameraOrthographic

let CameraOrthographic : Int

#
CameraPerspective

let CameraPerspective : Int

#
CameraThirdPerson

let CameraThirdPerson : Int

#
CubemapLayoutAutoDetect

let CubemapLayoutAutoDetect : Int

#
CubemapLayoutCrossFourByThree

let CubemapLayoutCrossFourByThree : Int

#
CubemapLayoutCrossThreeByFour

let CubemapLayoutCrossThreeByFour : Int

#
CubemapLayoutLineHorizontal

let CubemapLayoutLineHorizontal : Int

#
CubemapLayoutLineVertical

let CubemapLayoutLineVertical : Int

#
FlagBorderlessWindowedMode

let FlagBorderlessWindowedMode : Int

#
FlagFullscreenMode

let FlagFullscreenMode : Int

#
FlagInterlacedHint

let FlagInterlacedHint : Int

#
FlagMsaa4xHint

let FlagMsaa4xHint : Int

#
FlagVsyncHint

let FlagVsyncHint : Int

#
FlagWindowAlwaysRun

let FlagWindowAlwaysRun : Int

#
FlagWindowHidden

let FlagWindowHidden : Int

#
FlagWindowHighdpi

let FlagWindowHighdpi : Int

#
FlagWindowMaximized

let FlagWindowMaximized : Int

#
FlagWindowMinimized

let FlagWindowMinimized : Int

#
FlagWindowMousePassthrough

let FlagWindowMousePassthrough : Int

#
FlagWindowResizable

let FlagWindowResizable : Int

#
FlagWindowTopmost

let FlagWindowTopmost : Int

#
FlagWindowTransparent

let FlagWindowTransparent : Int

#
FlagWindowUndecorated

let FlagWindowUndecorated : Int

#
FlagWindowUnfocused

let FlagWindowUnfocused : Int

#
FontBitmap

let FontBitmap : Int

#
FontDefault

let FontDefault : Int

#
FontSdf

let FontSdf : Int

#
GamepadAxisLeftTrigger

let GamepadAxisLeftTrigger : Int

#
GamepadAxisLeftX

let GamepadAxisLeftX : Int

#
GamepadAxisLeftY

let GamepadAxisLeftY : Int

#
GamepadAxisRightTrigger

let GamepadAxisRightTrigger : Int

#
GamepadAxisRightX

let GamepadAxisRightX : Int

#
GamepadAxisRightY

let GamepadAxisRightY : Int

#
GamepadButtonLeftFaceDown

let GamepadButtonLeftFaceDown : Int

#
GamepadButtonLeftFaceLeft

let GamepadButtonLeftFaceLeft : Int

#
GamepadButtonLeftFaceRight

let GamepadButtonLeftFaceRight : Int

#
GamepadButtonLeftFaceUp

let GamepadButtonLeftFaceUp : Int

#
GamepadButtonLeftThumb

let GamepadButtonLeftThumb : Int

#
GamepadButtonLeftTrigger1

let GamepadButtonLeftTrigger1 : Int

#
GamepadButtonLeftTrigger2

let GamepadButtonLeftTrigger2 : Int

#
GamepadButtonMiddle

let GamepadButtonMiddle : Int

#
GamepadButtonMiddleLeft

let GamepadButtonMiddleLeft : Int

#
GamepadButtonMiddleRight

let GamepadButtonMiddleRight : Int

#
GamepadButtonRightFaceDown

let GamepadButtonRightFaceDown : Int

#
GamepadButtonRightFaceLeft

let GamepadButtonRightFaceLeft : Int

#
GamepadButtonRightFaceRight

let GamepadButtonRightFaceRight : Int

#
GamepadButtonRightFaceUp

let GamepadButtonRightFaceUp : Int

#
GamepadButtonRightThumb

let GamepadButtonRightThumb : Int

#
GamepadButtonRightTrigger1

let GamepadButtonRightTrigger1 : Int

#
GamepadButtonRightTrigger2

let GamepadButtonRightTrigger2 : Int

#
GamepadButtonUnknown

let GamepadButtonUnknown : Int

#
GestureDoubletap

let GestureDoubletap : Int

#
GestureDrag

let GestureDrag : Int

#
GestureHold

let GestureHold : Int

#
GestureNone

let GestureNone : Int

#
GesturePinchIn

let GesturePinchIn : Int

#
GesturePinchOut

let GesturePinchOut : Int

#
GestureSwipeDown

let GestureSwipeDown : Int

#
GestureSwipeLeft

let GestureSwipeLeft : Int

#
GestureSwipeRight

let GestureSwipeRight : Int

#
GestureSwipeUp

let GestureSwipeUp : Int

#
GestureTap

let GestureTap : Int

#
KeyA

let KeyA : Int

#
KeyApostrophe

let KeyApostrophe : Int

#
KeyB

let KeyB : Int

#
KeyBackslash

let KeyBackslash : Int

#
KeyBackspace

let KeyBackspace : Int

#
KeyC

let KeyC : Int

#
KeyCapsLock

let KeyCapsLock : Int

#
KeyComma

let KeyComma : Int

#
KeyD

let KeyD : Int

#
KeyDelete

let KeyDelete : Int

#
KeyDown

let KeyDown : Int

#
KeyE

let KeyE : Int

#
KeyEight

let KeyEight : Int

#
KeyEnd

let KeyEnd : Int

#
KeyEnter

let KeyEnter : Int

#
KeyEqual

let KeyEqual : Int

#
KeyEscape

let KeyEscape : Int

#
KeyF

let KeyF : Int

#
KeyF1

let KeyF1 : Int

#
KeyF10

let KeyF10 : Int

#
KeyF11

let KeyF11 : Int

#
KeyF12

let KeyF12 : Int

#
KeyF2

let KeyF2 : Int

#
KeyF3

let KeyF3 : Int

#
KeyF4

let KeyF4 : Int

#
KeyF5

let KeyF5 : Int

#
KeyF6

let KeyF6 : Int

#
KeyF7

let KeyF7 : Int

#
KeyF8

let KeyF8 : Int

#
KeyF9

let KeyF9 : Int

#
KeyFive

let KeyFive : Int

#
KeyFour

let KeyFour : Int

#
KeyG

let KeyG : Int

#
KeyGrave

let KeyGrave : Int

#
KeyH

let KeyH : Int

#
KeyHome

let KeyHome : Int

#
KeyI

let KeyI : Int

#
KeyInsert

let KeyInsert : Int

#
KeyJ

let KeyJ : Int

#
KeyK

let KeyK : Int

#
KeyKbMenu

let KeyKbMenu : Int

#
KeyKp0

let KeyKp0 : Int

#
KeyKp1

let KeyKp1 : Int

#
KeyKp2

let KeyKp2 : Int

#
KeyKp3

let KeyKp3 : Int

#
KeyKp4

let KeyKp4 : Int

#
KeyKp5

let KeyKp5 : Int

#
KeyKp6

let KeyKp6 : Int

#
KeyKp7

let KeyKp7 : Int

#
KeyKp8

let KeyKp8 : Int

#
KeyKp9

let KeyKp9 : Int

#
KeyL

let KeyL : Int

#
KeyLeft

let KeyLeft : Int

#
KeyLeftAlt

let KeyLeftAlt : Int

#
KeyLeftBracket

let KeyLeftBracket : Int

#
KeyLeftControl

let KeyLeftControl : Int

#
KeyLeftShift

let KeyLeftShift : Int

#
KeyLeftSuper

let KeyLeftSuper : Int

#
KeyM

let KeyM : Int

#
KeyMinus

let KeyMinus : Int

#
KeyN

let KeyN : Int

#
KeyNine

let KeyNine : Int

#
KeyNull

let KeyNull : Int

#
KeyNumLock

let KeyNumLock : Int

#
KeyO

let KeyO : Int

#
KeyOne

let KeyOne : Int

#
KeyP

let KeyP : Int

#
KeyPageDown

let KeyPageDown : Int

#
KeyPageUp

let KeyPageUp : Int

#
KeyPause

let KeyPause : Int

#
KeyPeriod

let KeyPeriod : Int

#
KeyPrintScreen

let KeyPrintScreen : Int

#
KeyQ

let KeyQ : Int

#
KeyR

let KeyR : Int

#
KeyRight

let KeyRight : Int

#
KeyRightAlt

let KeyRightAlt : Int

#
KeyRightBracket

let KeyRightBracket : Int

#
KeyRightControl

let KeyRightControl : Int

#
KeyRightShift

let KeyRightShift : Int

#
KeyRightSuper

let KeyRightSuper : Int

#
KeyS

let KeyS : Int

#
KeyScrollLock

let KeyScrollLock : Int

#
KeySemicolon

let KeySemicolon : Int

#
KeySeven

let KeySeven : Int

#
KeySix

let KeySix : Int

#
KeySlash

let KeySlash : Int

#
KeySpace

let KeySpace : Int

#
KeyT

let KeyT : Int

#
KeyTab

let KeyTab : Int

#
KeyThree

let KeyThree : Int

#
KeyTwo

let KeyTwo : Int

#
KeyU

let KeyU : Int

#
KeyUp

let KeyUp : Int

#
KeyV

let KeyV : Int

#
KeyW

let KeyW : Int

#
KeyX

let KeyX : Int

#
KeyY

let KeyY : Int

#
KeyZ

let KeyZ : Int

#
KeyZero

let KeyZero : Int

#
LogAll

let LogAll : Int

#
LogDebug

let LogDebug : Int

#
LogError

let LogError : Int

#
LogFatal

let LogFatal : Int

#
LogInfo

let LogInfo : Int

#
LogNone

let LogNone : Int

#
LogTrace

let LogTrace : Int

#
LogWarning

let LogWarning : Int

#
MaterialMapAlbedo

let MaterialMapAlbedo : Int

#
MaterialMapBrdf

let MaterialMapBrdf : Int

#
MaterialMapCubemap

let MaterialMapCubemap : Int

#
MaterialMapEmission

let MaterialMapEmission : Int

#
MaterialMapHeight

let MaterialMapHeight : Int

#
MaterialMapIrradiance

let MaterialMapIrradiance : Int

#
MaterialMapMetalness

let MaterialMapMetalness : Int

#
MaterialMapNormal

let MaterialMapNormal : Int

#
MaterialMapOcclusion

let MaterialMapOcclusion : Int

#
MaterialMapPrefilter

let MaterialMapPrefilter : Int

#
MaterialMapRoughness

let MaterialMapRoughness : Int

#
MouseButtonBack

let MouseButtonBack : Int

#
MouseButtonExtra

let MouseButtonExtra : Int

#
MouseButtonForward

let MouseButtonForward : Int

#
MouseButtonLeft

let MouseButtonLeft : Int

#
MouseButtonMiddle

let MouseButtonMiddle : Int

#
MouseButtonRight

let MouseButtonRight : Int

#
MouseButtonSide

let MouseButtonSide : Int

#
MouseCursorArrow

let MouseCursorArrow : Int

#
MouseCursorCrosshair

let MouseCursorCrosshair : Int

#
MouseCursorDefault

let MouseCursorDefault : Int

#
MouseCursorIbeam

let MouseCursorIbeam : Int

#
MouseCursorNotAllowed

let MouseCursorNotAllowed : Int

#
MouseCursorPointingHand

let MouseCursorPointingHand : Int

#
MouseCursorResizeAll

let MouseCursorResizeAll : Int

#
MouseCursorResizeEw

let MouseCursorResizeEw : Int

#
MouseCursorResizeNesw

let MouseCursorResizeNesw : Int

#
MouseCursorResizeNs

let MouseCursorResizeNs : Int

#
MouseCursorResizeNwse

let MouseCursorResizeNwse : Int

#
NpatchNinePatch

let NpatchNinePatch : Int

#
NpatchThreePatchHorizontal

let NpatchThreePatchHorizontal : Int

#
NpatchThreePatchVertical

let NpatchThreePatchVertical : Int

#
PixelformatUncompressedGrayAlpha

let PixelformatUncompressedGrayAlpha : Int

#
PixelformatUncompressedGrayscale

let PixelformatUncompressedGrayscale : Int

#
PixelformatUncompressedR32

let PixelformatUncompressedR32 : Int

#
PixelformatUncompressedR32g32b32

let PixelformatUncompressedR32g32b32 : Int

#
PixelformatUncompressedR32g32b32a32

let PixelformatUncompressedR32g32b32a32 : Int

#
PixelformatUncompressedR4g4b4a4

let PixelformatUncompressedR4g4b4a4 : Int

#
PixelformatUncompressedR5g5b5a1

let PixelformatUncompressedR5g5b5a1 : Int

#
PixelformatUncompressedR5g6b5

let PixelformatUncompressedR5g6b5 : Int

#
PixelformatUncompressedR8g8b8

let PixelformatUncompressedR8g8b8 : Int

#
PixelformatUncompressedR8g8b8a8

let PixelformatUncompressedR8g8b8a8 : Int

#
RlAttachmentColorChannel0

#deprecated("Use @rl.AttachmentColorChannel0 from tonyfettes/raylib/rl instead")
let RlAttachmentColorChannel0 : Int

#
RlAttachmentColorChannel1

#deprecated("Use @rl.AttachmentColorChannel1 from tonyfettes/raylib/rl instead")
let RlAttachmentColorChannel1 : Int

#
RlAttachmentColorChannel2

#deprecated("Use @rl.AttachmentColorChannel2 from tonyfettes/raylib/rl instead")
let RlAttachmentColorChannel2 : Int

#
RlAttachmentColorChannel3

#deprecated("Use @rl.AttachmentColorChannel3 from tonyfettes/raylib/rl instead")
let RlAttachmentColorChannel3 : Int

#
RlAttachmentCubemapNegativeX

#deprecated("Use @rl.AttachmentCubemapNegativeX from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapNegativeX : Int

#
RlAttachmentCubemapNegativeY

#deprecated("Use @rl.AttachmentCubemapNegativeY from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapNegativeY : Int

#
RlAttachmentCubemapNegativeZ

#deprecated("Use @rl.AttachmentCubemapNegativeZ from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapNegativeZ : Int

#
RlAttachmentCubemapPositiveX

#deprecated("Use @rl.AttachmentCubemapPositiveX from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapPositiveX : Int

#
RlAttachmentCubemapPositiveY

#deprecated("Use @rl.AttachmentCubemapPositiveY from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapPositiveY : Int

#
RlAttachmentCubemapPositiveZ

#deprecated("Use @rl.AttachmentCubemapPositiveZ from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapPositiveZ : Int

#
RlAttachmentDepth

#deprecated("Use @rl.AttachmentDepth from tonyfettes/raylib/rl instead")
let RlAttachmentDepth : Int

#
RlAttachmentRenderbuffer

#deprecated("Use @rl.AttachmentRenderbuffer from tonyfettes/raylib/rl instead")
let RlAttachmentRenderbuffer : Int

#
RlAttachmentStencil

#deprecated("Use @rl.AttachmentStencil from tonyfettes/raylib/rl instead")
let RlAttachmentStencil : Int

#
RlAttachmentTexture2d

#deprecated("Use @rl.AttachmentTexture2d from tonyfettes/raylib/rl instead")
let RlAttachmentTexture2d : Int

#
RlDrawFramebuffer

#deprecated("Use @rl.DrawFramebuffer from tonyfettes/raylib/rl instead")
let RlDrawFramebuffer : UInt

#
RlLines

#deprecated("Use @rl.Lines from tonyfettes/raylib/rl instead")
let RlLines : Int

#
RlQuads

#deprecated("Use @rl.Quads from tonyfettes/raylib/rl instead")
let RlQuads : Int

#
RlReadFramebuffer

#deprecated("Use @rl.ReadFramebuffer from tonyfettes/raylib/rl instead")
let RlReadFramebuffer : UInt

#
RlTriangles

#deprecated("Use @rl.Triangles from tonyfettes/raylib/rl instead")
let RlTriangles : Int

#
ShaderLocBoneMatrices

let ShaderLocBoneMatrices : Int

#
ShaderLocColorAmbient

let ShaderLocColorAmbient : Int

#
ShaderLocColorDiffuse

let ShaderLocColorDiffuse : Int

#
ShaderLocColorSpecular

let ShaderLocColorSpecular : Int

#
ShaderLocMapAlbedo

let ShaderLocMapAlbedo : Int

#
ShaderLocMapBrdf

let ShaderLocMapBrdf : Int

#
ShaderLocMapCubemap

let ShaderLocMapCubemap : Int

#
ShaderLocMapEmission

let ShaderLocMapEmission : Int

#
ShaderLocMapHeight

let ShaderLocMapHeight : Int

#
ShaderLocMapIrradiance

let ShaderLocMapIrradiance : Int

#
ShaderLocMapMetalness

let ShaderLocMapMetalness : Int

#
ShaderLocMapNormal

let ShaderLocMapNormal : Int

#
ShaderLocMapOcclusion

let ShaderLocMapOcclusion : Int

#
ShaderLocMapPrefilter

let ShaderLocMapPrefilter : Int

#
ShaderLocMapRoughness

let ShaderLocMapRoughness : Int

#
ShaderLocMatrixModel

let ShaderLocMatrixModel : Int

#
ShaderLocMatrixMvp

let ShaderLocMatrixMvp : Int

#
ShaderLocMatrixNormal

let ShaderLocMatrixNormal : Int

#
ShaderLocMatrixProjection

let ShaderLocMatrixProjection : Int

#
ShaderLocMatrixView

let ShaderLocMatrixView : Int

#
ShaderLocVectorView

let ShaderLocVectorView : Int

#
ShaderLocVertexBoneids

let ShaderLocVertexBoneids : Int

#
ShaderLocVertexBoneweights

let ShaderLocVertexBoneweights : Int

#
ShaderLocVertexColor

let ShaderLocVertexColor : Int

#
ShaderLocVertexNormal

let ShaderLocVertexNormal : Int

#
ShaderLocVertexPosition

let ShaderLocVertexPosition : Int

#
ShaderLocVertexTangent

let ShaderLocVertexTangent : Int

#
ShaderLocVertexTexcoord01

let ShaderLocVertexTexcoord01 : Int

#
ShaderLocVertexTexcoord02

let ShaderLocVertexTexcoord02 : Int

#
ShaderUniformFloat

let ShaderUniformFloat : Int

#
ShaderUniformInt

let ShaderUniformInt : Int

#
ShaderUniformIvec2

let ShaderUniformIvec2 : Int

#
ShaderUniformIvec3

let ShaderUniformIvec3 : Int

#
ShaderUniformIvec4

let ShaderUniformIvec4 : Int

#
ShaderUniformSampler2d

let ShaderUniformSampler2d : Int

#
ShaderUniformVec2

let ShaderUniformVec2 : Int

#
ShaderUniformVec3

let ShaderUniformVec3 : Int

#
ShaderUniformVec4

let ShaderUniformVec4 : Int

#
TextureFilterAnisotropic16x

let TextureFilterAnisotropic16x : Int

#
TextureFilterAnisotropic4x

let TextureFilterAnisotropic4x : Int

#
TextureFilterAnisotropic8x

let TextureFilterAnisotropic8x : Int

#
TextureFilterBilinear

let TextureFilterBilinear : Int

#
TextureFilterPoint

let TextureFilterPoint : Int

#
TextureFilterTrilinear

let TextureFilterTrilinear : Int

#
TextureWrapClamp

let TextureWrapClamp : Int

#
TextureWrapMirrorClamp

let TextureWrapMirrorClamp : Int

#
TextureWrapMirrorRepeat

let TextureWrapMirrorRepeat : Int

#
TextureWrapRepeat

let TextureWrapRepeat : Int

#
attach_audio_mixed_processor

fn attach_audio_mixed_processor(processor : FuncRef[(
AudioBuffer
, UInt) -> Unit]) -> Unit

#
attach_music_stream_processor

fn attach_music_stream_processor(music : Music, processor : FuncRef[(
AudioBuffer
, UInt) -> Unit]) -> Unit

#
audio_buffer_get_sample

fn audio_buffer_get_sample(buffer :
AudioBuffer
, index : UInt) -> Float

#
audio_buffer_set_sample

fn audio_buffer_set_sample(buffer :
AudioBuffer
, index : UInt, value : Float) -> Unit

#
begin_blend_mode

fn begin_blend_mode(mode : Int) -> Unit

#
begin_drawing

fn begin_drawing() -> Unit

#
begin_mode_2d

fn begin_mode_2d(camera : Camera2D) -> Unit

#
begin_mode_3d

fn begin_mode_3d(camera : Camera3D) -> Unit

#
begin_scissor_mode

fn begin_scissor_mode(x : Int, y : Int, width : Int, height : Int) -> Unit

#
beige

let beige : Color

#
black

let black : Color

#
blank

let blank : Color

#
blue

let blue : Color

#
brown

let brown : Color

#
change_directory

fn change_directory(dir : String) -> Bool

#
check_collision_box_sphere

fn check_collision_box_sphere(box_ : BoundingBox, center : Vector3, radius : Float) -> Bool

#
check_collision_boxes

fn check_collision_boxes(box1 : BoundingBox, box2 : BoundingBox) -> Bool

#
check_collision_circle_line

fn check_collision_circle_line(center : Vector2, radius : Float, p1 : Vector2, p2 : Vector2) -> Bool

#
check_collision_circle_rec

fn check_collision_circle_rec(center : Vector2, radius : Float, rec : Rectangle) -> Bool

#
check_collision_circles

fn check_collision_circles(center1 : Vector2, radius1 : Float, center2 : Vector2, radius2 : Float) -> Bool

#
check_collision_lines

fn check_collision_lines(start_pos1 : Vector2, end_pos1 : Vector2, start_pos2 : Vector2, end_pos2 : Vector2) -> Vector2?

#
check_collision_point_circle

fn check_collision_point_circle(point : Vector2, center : Vector2, radius : Float) -> Bool

#
check_collision_point_line

fn check_collision_point_line(point : Vector2, p1 : Vector2, p2 : Vector2, threshold : Int) -> Bool

#
check_collision_point_poly

fn check_collision_point_poly(point : Vector2, points : Array[Vector2]) -> Bool

#
check_collision_point_rec

fn check_collision_point_rec(point : Vector2, rec : Rectangle) -> Bool

#
check_collision_point_triangle

fn check_collision_point_triangle(point : Vector2, p1 : Vector2, p2 : Vector2, p3 : Vector2) -> Bool

#
check_collision_recs

fn check_collision_recs(rec1 : Rectangle, rec2 : Rectangle) -> Bool

#
check_collision_spheres

fn check_collision_spheres(center1 : Vector3, radius1 : Float, center2 : Vector3, radius2 : Float) -> Bool

#
clear_background

fn clear_background(color : Color) -> Unit

#
clear_window_state

fn clear_window_state(flags : Int) -> Unit

#
close_audio_device

fn close_audio_device() -> Unit

#
close_window

fn close_window() -> Unit

#
codepoint_to_utf8

fn codepoint_to_utf8(codepoint : Int) -> Bytes

#
color_alpha

fn color_alpha(color : Color, alpha : Float) -> Color

#
color_alpha_blend

fn color_alpha_blend(dst : Color, src : Color, tint : Color) -> Color

#
color_brightness

fn color_brightness(color : Color, factor : Float) -> Color

#
color_contrast

fn color_contrast(color : Color, contrast : Float) -> Color

#
color_from_hsv

fn color_from_hsv(hue : Float, saturation : Float, value : Float) -> Color

#
color_from_normalized

fn color_from_normalized(normalized : Vector4) -> Color

#
color_is_equal

fn color_is_equal(col1 : Color, col2 : Color) -> Bool

#
color_lerp

fn color_lerp(color1 : Color, color2 : Color, factor : Float) -> Color

#
color_normalize

fn color_normalize(color : Color) -> Vector4

#
color_tint

fn color_tint(color : Color, tint : Color) -> Color

#
color_to_hsv

fn color_to_hsv(color : Color) -> Vector3

#
color_to_int

fn color_to_int(color : Color) -> Int

#
compress_data

fn compress_data(data : Bytes) -> Bytes

#
compute_crc32

fn compute_crc32(data : Bytes) -> Int

#
compute_md5

fn compute_md5(data : Bytes) -> Bytes

#
compute_sha1

fn compute_sha1(data : Bytes) -> Bytes

#
darkblue

let darkblue : Color

#
darkbrown

let darkbrown : Color

#
darkgray

let darkgray : Color

#
darkgreen

let darkgreen : Color

#
darkpurple

let darkpurple : Color

#
decode_data_base64

fn decode_data_base64(data : String) -> Bytes

#
decompress_data

fn decompress_data(comp_data : Bytes) -> Bytes

#
detach_audio_mixed_processor

fn detach_audio_mixed_processor(processor : FuncRef[(
AudioBuffer
, UInt) -> Unit]) -> Unit

#
detach_music_stream_processor

fn detach_music_stream_processor(music : Music, processor : FuncRef[(
AudioBuffer
, UInt) -> Unit]) -> Unit

#
directory_exists

fn directory_exists(dir_path : String) -> Bool

#
disable_cursor

fn disable_cursor() -> Unit

#
disable_event_waiting

fn disable_event_waiting() -> Unit

#
draw_billboard

fn draw_billboard(camera : Camera3D, texture : Texture, position : Vector3, scale : Float, tint : Color) -> Unit

#
draw_billboard_pro

fn draw_billboard_pro(camera : Camera3D, texture : Texture, source : Rectangle, position : Vector3, up : Vector3, size : Vector2, origin : Vector2, rotation : Float, tint : Color) -> Unit

#
draw_billboard_rec

fn draw_billboard_rec(camera : Camera3D, texture : Texture, source : Rectangle, position : Vector3, size : Vector2, tint : Color) -> Unit

#
draw_bounding_box

fn draw_bounding_box(box_ : BoundingBox, color : Color) -> Unit

#
draw_capsule

fn draw_capsule(start_pos : Vector3, end_pos : Vector3, radius : Float, slices : Int, rings : Int, color : Color) -> Unit

#
draw_capsule_wires

fn draw_capsule_wires(start_pos : Vector3, end_pos : Vector3, radius : Float, slices : Int, rings : Int, color : Color) -> Unit

#
draw_circle

fn draw_circle(center_x : Int, center_y : Int, radius : Float, color : Color) -> Unit

#
draw_circle_3d

fn draw_circle_3d(center : Vector3, radius : Float, rot_axis : Vector3, rot_angle : Float, color : Color) -> Unit

#
draw_circle_gradient

fn draw_circle_gradient(center_x : Int, center_y : Int, radius : Float, inner : Color, outer : Color) -> Unit

#
draw_circle_lines

fn draw_circle_lines(center_x : Int, center_y : Int, radius : Float, color : Color) -> Unit

#
draw_circle_lines_v

fn draw_circle_lines_v(center : Vector2, radius : Float, color : Color) -> Unit

#
draw_circle_sector

fn draw_circle_sector(center : Vector2, radius : Float, start_angle : Float, end_angle : Float, segments : Int, color : Color) -> Unit

#
draw_circle_sector_lines

fn draw_circle_sector_lines(center : Vector2, radius : Float, start_angle : Float, end_angle : Float, segments : Int, color : Color) -> Unit

#
draw_circle_v

fn draw_circle_v(center : Vector2, radius : Float, color : Color) -> Unit

#
draw_cube

fn draw_cube(position : Vector3, width : Float, height : Float, length : Float, color : Color) -> Unit

#
draw_cube_v

fn draw_cube_v(position : Vector3, size : Vector3, color : Color) -> Unit

#
draw_cube_wires

fn draw_cube_wires(position : Vector3, width : Float, height : Float, length : Float, color : Color) -> Unit

#
draw_cube_wires_v

fn draw_cube_wires_v(position : Vector3, size : Vector3, color : Color) -> Unit

#
draw_cylinder

fn draw_cylinder(position : Vector3, radius_top : Float, radius_bottom : Float, height : Float, slices : Int, color : Color) -> Unit

#
draw_cylinder_ex

fn draw_cylinder_ex(start_pos : Vector3, end_pos : Vector3, start_radius : Float, end_radius : Float, sides : Int, color : Color) -> Unit

#
draw_cylinder_wires

fn draw_cylinder_wires(position : Vector3, radius_top : Float, radius_bottom : Float, height : Float, slices : Int, color : Color) -> Unit

#
draw_cylinder_wires_ex

fn draw_cylinder_wires_ex(start_pos : Vector3, end_pos : Vector3, start_radius : Float, end_radius : Float, sides : Int, color : Color) -> Unit

#
draw_ellipse

fn draw_ellipse(center_x : Int, center_y : Int, radius_h : Float, radius_v : Float, color : Color) -> Unit

#
draw_ellipse_lines

fn draw_ellipse_lines(center_x : Int, center_y : Int, radius_h : Float, radius_v : Float, color : Color) -> Unit

#
draw_fps

fn draw_fps(pos_x : Int, pos_y : Int) -> Unit

#
draw_grid

fn draw_grid(slices : Int, spacing : Float) -> Unit

#
draw_line

fn draw_line(start_x : Int, start_y : Int, end_x : Int, end_y : Int, color : Color) -> Unit

#
draw_line_3d

fn draw_line_3d(start_pos : Vector3, end_pos : Vector3, color : Color) -> Unit

#
draw_line_bezier

fn draw_line_bezier(start_pos : Vector2, end_pos : Vector2, thick : Float, color : Color) -> Unit

#
draw_line_ex

fn draw_line_ex(start_pos : Vector2, end_pos : Vector2, thick : Float, color : Color) -> Unit

#
draw_line_strip

fn draw_line_strip(points : Array[Vector2], color : Color) -> Unit

#
draw_line_v

fn draw_line_v(start_pos : Vector2, end_pos : Vector2, color : Color) -> Unit

#
draw_pixel

fn draw_pixel(pos_x : Int, pos_y : Int, color : Color) -> Unit

#
draw_pixel_v

fn draw_pixel_v(position : Vector2, color : Color) -> Unit

#
draw_plane

fn draw_plane(center : Vector3, size : Vector2, color : Color) -> Unit

#
draw_point_3d

fn draw_point_3d(position : Vector3, color : Color) -> Unit

#
draw_poly

fn draw_poly(center : Vector2, sides : Int, radius : Float, rotation : Float, color : Color) -> Unit

#
draw_poly_lines

fn draw_poly_lines(center : Vector2, sides : Int, radius : Float, rotation : Float, color : Color) -> Unit

#
draw_poly_lines_ex

fn draw_poly_lines_ex(center : Vector2, sides : Int, radius : Float, rotation : Float, line_thick : Float, color : Color) -> Unit

#
draw_ray

fn draw_ray(ray : Ray, color : Color) -> Unit

#
draw_rectangle

fn draw_rectangle(pos_x : Int, pos_y : Int, width : Int, height : Int, color : Color) -> Unit

#
draw_rectangle_gradient_ex

fn draw_rectangle_gradient_ex(rec : Rectangle, top_left : Color, bottom_left : Color, top_right : Color, bottom_right : Color) -> Unit

#
draw_rectangle_gradient_h

fn draw_rectangle_gradient_h(pos_x : Int, pos_y : Int, width : Int, height : Int, left : Color, right : Color) -> Unit

#
draw_rectangle_gradient_v

fn draw_rectangle_gradient_v(pos_x : Int, pos_y : Int, width : Int, height : Int, top : Color, bottom : Color) -> Unit

#
draw_rectangle_lines

fn draw_rectangle_lines(pos_x : Int, pos_y : Int, width : Int, height : Int, color : Color) -> Unit

#
draw_rectangle_lines_ex

fn draw_rectangle_lines_ex(rec : Rectangle, line_thick : Float, color : Color) -> Unit

#
draw_rectangle_pro

fn draw_rectangle_pro(rec : Rectangle, origin : Vector2, rotation : Float, color : Color) -> Unit

#
draw_rectangle_rec

fn draw_rectangle_rec(rec : Rectangle, color : Color) -> Unit

#
draw_rectangle_rounded

fn draw_rectangle_rounded(rec : Rectangle, roundness : Float, segments : Int, color : Color) -> Unit

#
draw_rectangle_rounded_lines

fn draw_rectangle_rounded_lines(rec : Rectangle, roundness : Float, segments : Int, color : Color) -> Unit

#
draw_rectangle_rounded_lines_ex

fn draw_rectangle_rounded_lines_ex(rec : Rectangle, roundness : Float, segments : Int, line_thick : Float, color : Color) -> Unit

#
draw_rectangle_v

fn draw_rectangle_v(position : Vector2, size : Vector2, color : Color) -> Unit

#
draw_ring

fn draw_ring(center : Vector2, inner_radius : Float, outer_radius : Float, start_angle : Float, end_angle : Float, segments : Int, color : Color) -> Unit

#
draw_ring_lines

fn draw_ring_lines(center : Vector2, inner_radius : Float, outer_radius : Float, start_angle : Float, end_angle : Float, segments : Int, color : Color) -> Unit

#
draw_sphere

fn draw_sphere(center : Vector3, radius : Float, color : Color) -> Unit

#
draw_sphere_ex

fn draw_sphere_ex(center : Vector3, radius : Float, rings : Int, slices : Int, color : Color) -> Unit

#
draw_sphere_wires

fn draw_sphere_wires(center : Vector3, radius : Float, rings : Int, slices : Int, color : Color) -> Unit

#
draw_spline_basis

fn draw_spline_basis(points : Array[Vector2], thick : Float, color : Color) -> Unit

#
draw_spline_bezier_cubic

fn draw_spline_bezier_cubic(points : Array[Vector2], thick : Float, color : Color) -> Unit

#
draw_spline_bezier_quadratic

fn draw_spline_bezier_quadratic(points : Array[Vector2], thick : Float, color : Color) -> Unit

#
draw_spline_catmull_rom

fn draw_spline_catmull_rom(points : Array[Vector2], thick : Float, color : Color) -> Unit

#
draw_spline_linear

fn draw_spline_linear(points : Array[Vector2], thick : Float, color : Color) -> Unit

#
draw_spline_segment_basis

fn draw_spline_segment_basis(p1 : Vector2, p2 : Vector2, p3 : Vector2, p4 : Vector2, thick : Float, color : Color) -> Unit

#
draw_spline_segment_bezier_cubic

fn draw_spline_segment_bezier_cubic(p1 : Vector2, p2 : Vector2, p3 : Vector2, p4 : Vector2, thick : Float, color : Color) -> Unit

#
draw_spline_segment_bezier_quadratic

fn draw_spline_segment_bezier_quadratic(p1 : Vector2, p2 : Vector2, p3 : Vector2, thick : Float, color : Color) -> Unit

#
draw_spline_segment_catmull_rom

fn draw_spline_segment_catmull_rom(p1 : Vector2, p2 : Vector2, p3 : Vector2, p4 : Vector2, thick : Float, color : Color) -> Unit

#
draw_spline_segment_linear

fn draw_spline_segment_linear(p1 : Vector2, p2 : Vector2, thick : Float, color : Color) -> Unit

#
draw_text

fn draw_text(text : String, pos_x : Int, pos_y : Int, font_size : Int, color : Color) -> Unit

#
draw_triangle

fn draw_triangle(v1 : Vector2, v2 : Vector2, v3 : Vector2, color : Color) -> Unit

#
draw_triangle_3d

fn draw_triangle_3d(v1 : Vector3, v2 : Vector3, v3 : Vector3, color : Color) -> Unit

#
draw_triangle_fan

fn draw_triangle_fan(points : Array[Vector2], color : Color) -> Unit

#
draw_triangle_lines

fn draw_triangle_lines(v1 : Vector2, v2 : Vector2, v3 : Vector2, color : Color) -> Unit

#
draw_triangle_strip

fn draw_triangle_strip(points : Array[Vector2], color : Color) -> Unit

#
draw_triangle_strip_3d

fn draw_triangle_strip_3d(points : Array[Vector3], color : Color) -> Unit

#
enable_cursor

fn enable_cursor() -> Unit

#
enable_event_waiting

fn enable_event_waiting() -> Unit

#
encode_data_base64

fn encode_data_base64(data : Bytes) -> String

#
end_blend_mode

fn end_blend_mode() -> Unit

#
end_drawing

fn end_drawing() -> Unit

#
end_mode_2d

fn end_mode_2d() -> Unit

#
end_mode_3d

fn end_mode_3d() -> Unit

#
end_scissor_mode

fn end_scissor_mode() -> Unit

#
end_shader_mode

fn end_shader_mode() -> Unit

#
end_texture_mode

fn end_texture_mode() -> Unit

#
end_vr_stereo_mode

fn end_vr_stereo_mode() -> Unit

#
export_data_as_code

fn export_data_as_code(data : Bytes, data_size : Int, file_name : String) -> Bool

#
fade

fn fade(color : Color, alpha : Float) -> Color

#
file_exists

fn file_exists(file_name : String) -> Bool

#
file_path_list_get

fn file_path_list_get(files : FilePathList, index : Int) -> String

#
gen_font_texture_mipmaps

#deprecated("Use font.texture().gen_mipmaps() instead")
fn gen_font_texture_mipmaps(font : Font) -> Unit

#
get_application_directory

fn get_application_directory() -> String

#
get_camera_matrix

fn get_camera_matrix(camera : Camera3D) -> Matrix

#
get_camera_matrix_2d

fn get_camera_matrix_2d(camera : Camera2D) -> Matrix

#
get_char_pressed

fn get_char_pressed() -> Int

#
get_clipboard_image

fn get_clipboard_image() -> Image

#
get_clipboard_text

fn get_clipboard_text() -> String

#
get_codepoint

fn get_codepoint(text : String) -> (Int, Int)

#
get_codepoint_count

fn get_codepoint_count(text : String) -> Int

#
get_codepoint_next

fn get_codepoint_next(text : String) -> (Int, Int)

#
get_codepoint_previous

fn get_codepoint_previous(text : String) -> (Int, Int)

#
get_collision_rec

fn get_collision_rec(rec1 : Rectangle, rec2 : Rectangle) -> Rectangle

#
get_color

fn get_color(hex_value : Int) -> Color

#
get_current_monitor

fn get_current_monitor() -> Int

#
get_directory_path

fn get_directory_path(file_path : String) -> String

#
get_file_extension

fn get_file_extension(file_name : String) -> String

#
get_file_length

fn get_file_length(file_name : String) -> Int

#
get_file_mod_time

fn get_file_mod_time(file_name : String) -> Int

#
get_file_name

fn get_file_name(file_path : String) -> String

#
get_file_name_without_ext

fn get_file_name_without_ext(file_path : String) -> String

#
get_fps

fn get_fps() -> Int

#
get_frame_time

fn get_frame_time() -> Float

#
get_gamepad_axis_count

fn get_gamepad_axis_count(gamepad : Int) -> Int

#
get_gamepad_axis_movement

fn get_gamepad_axis_movement(gamepad : Int, axis : Int) -> Float

#
get_gamepad_button_pressed

fn get_gamepad_button_pressed() -> Int

#
get_gamepad_name

fn get_gamepad_name(gamepad : Int) -> String

#
get_gesture_detected

fn get_gesture_detected() -> Int

#
get_gesture_drag_angle

fn get_gesture_drag_angle() -> Float

#
get_gesture_drag_vector

fn get_gesture_drag_vector() -> Vector2

#
get_gesture_hold_duration

fn get_gesture_hold_duration() -> Float

#
get_gesture_pinch_angle

fn get_gesture_pinch_angle() -> Float

#
get_gesture_pinch_vector

fn get_gesture_pinch_vector() -> Vector2

#
get_key_pressed

fn get_key_pressed() -> Int

#
get_master_volume

fn get_master_volume() -> Float

#
get_monitor_count

fn get_monitor_count() -> Int

#
get_monitor_height

fn get_monitor_height(monitor : Int) -> Int

#
get_monitor_name

fn get_monitor_name(monitor : Int) -> String

#
get_monitor_physical_height

fn get_monitor_physical_height(monitor : Int) -> Int

#
get_monitor_physical_width

fn get_monitor_physical_width(monitor : Int) -> Int

#
get_monitor_position

fn get_monitor_position(monitor : Int) -> Vector2

#
get_monitor_refresh_rate

fn get_monitor_refresh_rate(monitor : Int) -> Int

#
get_monitor_width

fn get_monitor_width(monitor : Int) -> Int

#
get_mouse_delta

fn get_mouse_delta() -> Vector2

#
get_mouse_position

fn get_mouse_position() -> Vector2

#
get_mouse_wheel_move

fn get_mouse_wheel_move() -> Float

#
get_mouse_wheel_move_v

fn get_mouse_wheel_move_v() -> Vector2

#
get_mouse_x

fn get_mouse_x() -> Int

#
get_mouse_y

fn get_mouse_y() -> Int

#
get_pixel_data_size

fn get_pixel_data_size(width : Int, height : Int, format : Int) -> Int

#
get_prev_directory_path

fn get_prev_directory_path(dir_path : String) -> String

#
get_random_value

fn get_random_value(min : Int, max : Int) -> Int

#
get_ray_collision_box

fn get_ray_collision_box(ray : Ray, box_ : BoundingBox) -> RayCollision

#
get_ray_collision_mesh

fn get_ray_collision_mesh(ray : Ray, mesh : Mesh, transform : Matrix) -> RayCollision

#
get_ray_collision_quad

fn get_ray_collision_quad(ray : Ray, p1 : Vector3, p2 : Vector3, p3 : Vector3, p4 : Vector3) -> RayCollision

#
get_ray_collision_sphere

fn get_ray_collision_sphere(ray : Ray, center : Vector3, radius : Float) -> RayCollision

#
get_ray_collision_triangle

fn get_ray_collision_triangle(ray : Ray, p1 : Vector3, p2 : Vector3, p3 : Vector3) -> RayCollision

#
get_render_height

fn get_render_height() -> Int

#
get_render_width

fn get_render_width() -> Int

#
get_screen_height

fn get_screen_height() -> Int

#
get_screen_to_world_2d

fn get_screen_to_world_2d(position : Vector2, camera : Camera2D) -> Vector2

#
get_screen_to_world_ray

fn get_screen_to_world_ray(position : Vector2, camera : Camera3D) -> Ray

#
get_screen_to_world_ray_ex

fn get_screen_to_world_ray_ex(position : Vector2, camera : Camera3D, width : Int, height : Int) -> Ray

#
get_screen_width

fn get_screen_width() -> Int

#
get_shapes_texture_rectangle

fn get_shapes_texture_rectangle() -> Rectangle

#
get_spline_point_basis

fn get_spline_point_basis(p1 : Vector2, p2 : Vector2, p3 : Vector2, p4 : Vector2, t : Float) -> Vector2

#
get_spline_point_bezier_cubic

fn get_spline_point_bezier_cubic(p1 : Vector2, p2 : Vector2, p3 : Vector2, p4 : Vector2, t : Float) -> Vector2

#
get_spline_point_bezier_quad

fn get_spline_point_bezier_quad(p1 : Vector2, p2 : Vector2, p3 : Vector2, t : Float) -> Vector2

#
get_spline_point_catmull_rom

fn get_spline_point_catmull_rom(p1 : Vector2, p2 : Vector2, p3 : Vector2, p4 : Vector2, t : Float) -> Vector2

#
get_spline_point_linear

fn get_spline_point_linear(start_pos : Vector2, end_pos : Vector2, t : Float) -> Vector2

#
get_time

fn get_time() -> Double

#
get_touch_point_count

fn get_touch_point_count() -> Int

#
get_touch_point_id

fn get_touch_point_id(index : Int) -> Int

#
get_touch_position

fn get_touch_position(index : Int) -> Vector2

#
get_touch_x

fn get_touch_x() -> Int

#
get_touch_y

fn get_touch_y() -> Int

#
get_window_position

fn get_window_position() -> Vector2

#
get_window_scale_dpi

fn get_window_scale_dpi() -> Vector2

#
get_working_directory

fn get_working_directory() -> String

#
get_world_to_screen

fn get_world_to_screen(position : Vector3, camera : Camera3D) -> Vector2

#
get_world_to_screen_2d

fn get_world_to_screen_2d(position : Vector2, camera : Camera2D) -> Vector2

#
get_world_to_screen_ex

fn get_world_to_screen_ex(position : Vector3, camera : Camera3D, width : Int, height : Int) -> Vector2

#
gold

let gold : Color

#
gray

let gray : Color

#
green

let green : Color

#
hide_cursor

fn hide_cursor() -> Unit

#
init_audio_device

fn init_audio_device() -> Unit

#
init_window

fn init_window(width : Int, height : Int, title : String) -> Unit

#
is_audio_device_ready

fn is_audio_device_ready() -> Bool

#
is_cursor_hidden

fn is_cursor_hidden() -> Bool

#
is_cursor_on_screen

fn is_cursor_on_screen() -> Bool

#
is_file_dropped

fn is_file_dropped() -> Bool

#
is_file_extension

fn is_file_extension(file_name : String, ext : String) -> Bool

#
is_file_name_valid

fn is_file_name_valid(file_name : String) -> Bool

#
is_gamepad_available

fn is_gamepad_available(gamepad : Int) -> Bool

#
is_gamepad_button_down

fn is_gamepad_button_down(gamepad : Int, button : Int) -> Bool

#
is_gamepad_button_pressed

fn is_gamepad_button_pressed(gamepad : Int, button : Int) -> Bool

#
is_gamepad_button_released

fn is_gamepad_button_released(gamepad : Int, button : Int) -> Bool

#
is_gamepad_button_up

fn is_gamepad_button_up(gamepad : Int, button : Int) -> Bool

#
is_gesture_detected

fn is_gesture_detected(gesture : Int) -> Bool

#
is_key_down

fn is_key_down(key : Int) -> Bool

#
is_key_pressed

fn is_key_pressed(key : Int) -> Bool

#
is_key_pressed_repeat

fn is_key_pressed_repeat(key : Int) -> Bool

#
is_key_released

fn is_key_released(key : Int) -> Bool

#
is_key_up

fn is_key_up(key : Int) -> Bool

#
is_mouse_button_down

fn is_mouse_button_down(button : Int) -> Bool

#
is_mouse_button_pressed

fn is_mouse_button_pressed(button : Int) -> Bool

#
is_mouse_button_released

fn is_mouse_button_released(button : Int) -> Bool

#
is_mouse_button_up

fn is_mouse_button_up(button : Int) -> Bool

#
is_path_file

fn is_path_file(path : String) -> Bool

#
is_window_focused

fn is_window_focused() -> Bool

#
is_window_fullscreen

fn is_window_fullscreen() -> Bool

#
is_window_hidden

fn is_window_hidden() -> Bool

#
is_window_maximized

fn is_window_maximized() -> Bool

#
is_window_minimized

fn is_window_minimized() -> Bool

#
is_window_ready

fn is_window_ready() -> Bool

#
is_window_resized

fn is_window_resized() -> Bool

#
is_window_state

fn is_window_state(flag : Int) -> Bool

#
lightgray

let lightgray : Color

#
lime

let lime : Color

#
load_codepoints

fn load_codepoints(text : String) -> Array[Int]

#
load_directory_files

fn load_directory_files(dir_path : String) -> FilePathList

#
load_directory_files_ex

fn load_directory_files_ex(base_path : String, filter : String, scan_subdirs : Bool) -> FilePathList

#
load_file_data

fn load_file_data(file_name : String) -> Bytes

#
load_file_text

fn load_file_text(file_name : String) -> String

#
load_image_anim

#deprecated("Use Image::load_anim instead (returns (Image, Int) with frame count)")
fn load_image_anim(file_name : String) -> Image

#
load_image_anim_from_memory

#deprecated("Use Image::load_anim_from_memory instead (returns (Image, Int) with frame count)")
fn load_image_anim_from_memory(file_type : String, file_data : Bytes, data_size : Int) -> Image

#
load_random_sequence

fn load_random_sequence(count : Int, min : Int, max : Int) -> Array[Int]

#
load_utf8

fn load_utf8(codepoints : Array[Int]) -> Bytes

#
magenta

let magenta : Color

#
make_directory

fn make_directory(dir_path : String) -> Int

#
maroon

let maroon : Color

#
maximize_window

fn maximize_window() -> Unit

#
measure_text

fn measure_text(text : String, font_size : Int) -> Int

#
minimize_window

fn minimize_window() -> Unit

#
open_url

fn open_url(url : String) -> Unit

#
orange

let orange : Color

#
pink

let pink : Color

#
play_automation_event

fn play_automation_event(event : AutomationEvent) -> Unit

#
poll_input_events

fn poll_input_events() -> Unit

#
purple

let purple : Color

#
raywhite

let raywhite : Color

#
red

let red : Color

#
restore_window

fn restore_window() -> Unit

#
rl_active_draw_buffers

#deprecated("Use @rl.active_draw_buffers from tonyfettes/raylib/rl instead")
fn rl_active_draw_buffers(count : Int) -> Unit

#
rl_active_texture_slot

#deprecated("Use @rl.active_texture_slot from tonyfettes/raylib/rl instead")
fn rl_active_texture_slot(slot : Int) -> Unit

#
rl_begin

#deprecated("Use @rl.begin from tonyfettes/raylib/rl instead")
fn rl_begin(mode : Int) -> Unit

#
rl_bind_framebuffer

#deprecated("Use @rl.bind_framebuffer from tonyfettes/raylib/rl instead")
fn rl_bind_framebuffer(target : UInt, fbo : UInt) -> Unit

#
rl_blit_framebuffer

#deprecated("Use @rl.blit_framebuffer from tonyfettes/raylib/rl instead")
fn rl_blit_framebuffer(src_x : Int, src_y : Int, src_w : Int, src_h : Int, dst_x : Int, dst_y : Int, dst_w : Int, dst_h : Int, buffer_mask : Int) -> Unit

#
rl_check_render_batch_limit

#deprecated("Use @rl.check_render_batch_limit from tonyfettes/raylib/rl instead")
fn rl_check_render_batch_limit(v_count : Int) -> Bool

#
rl_clear_screen_buffers

#deprecated("Use @rl.clear_screen_buffers from tonyfettes/raylib/rl instead")
fn rl_clear_screen_buffers() -> Unit

#
rl_color4ub

#deprecated("Use @rl.color4ub from tonyfettes/raylib/rl instead")
fn rl_color4ub(r : Byte, g : Byte, b : Byte, a : Byte) -> Unit

#
rl_disable_backface_culling

#deprecated("Use @rl.disable_backface_culling from tonyfettes/raylib/rl instead")
fn rl_disable_backface_culling() -> Unit

#
rl_disable_color_blend

#deprecated("Use @rl.disable_color_blend from tonyfettes/raylib/rl instead")
fn rl_disable_color_blend() -> Unit

#
rl_disable_depth_mask

#deprecated("Use @rl.disable_depth_mask from tonyfettes/raylib/rl instead")
fn rl_disable_depth_mask() -> Unit

#
rl_disable_depth_test

#deprecated("Use @rl.disable_depth_test from tonyfettes/raylib/rl instead")
fn rl_disable_depth_test() -> Unit

#
rl_disable_framebuffer

#deprecated("Use @rl.disable_framebuffer from tonyfettes/raylib/rl instead")
fn rl_disable_framebuffer() -> Unit

#
rl_disable_shader

#deprecated("Use @rl.disable_shader from tonyfettes/raylib/rl instead")
fn rl_disable_shader() -> Unit

#
rl_disable_texture

#deprecated("Use @rl.disable_texture from tonyfettes/raylib/rl instead")
fn rl_disable_texture() -> Unit

#
rl_draw_render_batch_active

#deprecated("Use @rl.draw_render_batch_active from tonyfettes/raylib/rl instead")
fn rl_draw_render_batch_active() -> Unit

#
rl_enable_backface_culling

#deprecated("Use @rl.enable_backface_culling from tonyfettes/raylib/rl instead")
fn rl_enable_backface_culling() -> Unit

#
rl_enable_color_blend

#deprecated("Use @rl.enable_color_blend from tonyfettes/raylib/rl instead")
fn rl_enable_color_blend() -> Unit

#
rl_enable_depth_mask

#deprecated("Use @rl.enable_depth_mask from tonyfettes/raylib/rl instead")
fn rl_enable_depth_mask() -> Unit

#
rl_enable_depth_test

#deprecated("Use @rl.enable_depth_test from tonyfettes/raylib/rl instead")
fn rl_enable_depth_test() -> Unit

#
rl_enable_framebuffer

#deprecated("Use @rl.enable_framebuffer from tonyfettes/raylib/rl instead")
fn rl_enable_framebuffer(id : UInt) -> Unit

#
rl_enable_shader

#deprecated("Use @rl.enable_shader from tonyfettes/raylib/rl instead")
fn rl_enable_shader(id : UInt) -> Unit

#
rl_enable_texture

#deprecated("Use @rl.enable_texture from tonyfettes/raylib/rl instead")
fn rl_enable_texture(id : UInt) -> Unit

#
rl_end

#deprecated("Use @rl.end_ from tonyfettes/raylib/rl instead")
fn rl_end() -> Unit

#
rl_framebuffer_attach

#deprecated("Use @rl.framebuffer_attach from tonyfettes/raylib/rl instead")
fn rl_framebuffer_attach(fbo_id : UInt, tex_id : UInt, attach_type : Int, tex_type : Int, mip_level : Int) -> Unit

#
rl_framebuffer_complete

#deprecated("Use @rl.framebuffer_complete from tonyfettes/raylib/rl instead")
fn rl_framebuffer_complete(id : UInt) -> Bool

#
rl_get_framebuffer_height

#deprecated("Use @rl.get_framebuffer_height from tonyfettes/raylib/rl instead")
fn rl_get_framebuffer_height() -> Int

#
rl_get_framebuffer_width

#deprecated("Use @rl.get_framebuffer_width from tonyfettes/raylib/rl instead")
fn rl_get_framebuffer_width() -> Int

#
rl_get_location_uniform

#deprecated("Use @rl.get_location_uniform from tonyfettes/raylib/rl instead")
fn rl_get_location_uniform(shader_id : UInt, uniform_name : String) -> Int

#
rl_get_matrix_modelview

#deprecated("Use @rl.get_matrix_modelview from tonyfettes/raylib/rl instead")
fn rl_get_matrix_modelview() -> Matrix

#
rl_get_matrix_projection

#deprecated("Use @rl.get_matrix_projection from tonyfettes/raylib/rl instead")
fn rl_get_matrix_projection() -> Matrix

#
rl_get_shader_id_default

#deprecated("Use @rl.get_shader_id_default from tonyfettes/raylib/rl instead")
fn rl_get_shader_id_default() -> UInt

#
rl_load_draw_cube

#deprecated("Use @rl.load_draw_cube from tonyfettes/raylib/rl instead")
fn rl_load_draw_cube() -> Unit

#
rl_load_draw_quad

#deprecated("Use @rl.load_draw_quad from tonyfettes/raylib/rl instead")
fn rl_load_draw_quad() -> Unit

#
rl_load_framebuffer

#deprecated("Use @rl.load_framebuffer from tonyfettes/raylib/rl instead")
fn rl_load_framebuffer() -> UInt

#
rl_load_texture

#deprecated("Use @rl.load_texture from tonyfettes/raylib/rl instead")
fn rl_load_texture(width : Int, height : Int, format : Int, mipmap_count : Int) -> UInt

#
rl_load_texture_depth

#deprecated("Use @rl.load_texture_depth from tonyfettes/raylib/rl instead")
fn rl_load_texture_depth(width : Int, height : Int, use_render_buffer : Bool) -> UInt

#
rl_mult_matrixf

#deprecated("Use @rl.mult_matrixf from tonyfettes/raylib/rl instead")
fn rl_mult_matrixf(matf : Bytes) -> Unit

#
rl_normal3f

#deprecated("Use @rl.normal3f from tonyfettes/raylib/rl instead")
fn rl_normal3f(x : Float, y : Float, z : Float) -> Unit

#
rl_pop_matrix

#deprecated("Use @rl.pop_matrix from tonyfettes/raylib/rl instead")
fn rl_pop_matrix() -> Unit

#
rl_push_matrix

#deprecated("Use @rl.push_matrix from tonyfettes/raylib/rl instead")
fn rl_push_matrix() -> Unit

#
rl_rotatef

#deprecated("Use @rl.rotatef from tonyfettes/raylib/rl instead")
fn rl_rotatef(angle : Float, x : Float, y : Float, z : Float) -> Unit

#
rl_scalef

#deprecated("Use @rl.scalef from tonyfettes/raylib/rl instead")
fn rl_scalef(x : Float, y : Float, z : Float) -> Unit

#
rl_set_blend_factors

#deprecated("Use @rl.set_blend_factors from tonyfettes/raylib/rl instead")
fn rl_set_blend_factors(gl_src_factor : Int, gl_dst_factor : Int, gl_equation : Int) -> Unit

#
rl_set_blend_mode

#deprecated("Use @rl.set_blend_mode from tonyfettes/raylib/rl instead")
fn rl_set_blend_mode(mode : Int) -> Unit

#
rl_set_texture

#deprecated("Use @rl.set_texture from tonyfettes/raylib/rl instead")
fn rl_set_texture(id : UInt) -> Unit

#
rl_set_uniform

#deprecated("Use @rl.set_uniform from tonyfettes/raylib/rl instead")
fn rl_set_uniform(loc_index : Int, value : Bytes, uniform_type : Int, count : Int) -> Unit

#
rl_set_uniform_sampler

#deprecated("Use @rl.set_uniform_sampler from tonyfettes/raylib/rl instead")
fn rl_set_uniform_sampler(loc_index : Int, texture_id : UInt) -> Unit

#
rl_tex_coord2f

#deprecated("Use @rl.tex_coord2f from tonyfettes/raylib/rl instead")
fn rl_tex_coord2f(x : Float, y : Float) -> Unit

#
rl_translatef

#deprecated("Use @rl.translatef from tonyfettes/raylib/rl instead")
fn rl_translatef(x : Float, y : Float, z : Float) -> Unit

#
rl_unload_framebuffer

#deprecated("Use @rl.unload_framebuffer from tonyfettes/raylib/rl instead")
fn rl_unload_framebuffer(id : UInt) -> Unit

#
rl_unload_texture

#deprecated("Use @rl.unload_texture from tonyfettes/raylib/rl instead")
fn rl_unload_texture(id : UInt) -> Unit

#
rl_vertex2f

#deprecated("Use @rl.vertex2f from tonyfettes/raylib/rl instead")
fn rl_vertex2f(x : Float, y : Float) -> Unit

#
rl_vertex3f

#deprecated("Use @rl.vertex3f from tonyfettes/raylib/rl instead")
fn rl_vertex3f(x : Float, y : Float, z : Float) -> Unit

#
rl_viewport

#deprecated("Use @rl.viewport from tonyfettes/raylib/rl instead")
fn rl_viewport(x : Int, y : Int, width : Int, height : Int) -> Unit

#
save_file_data

fn save_file_data(file_name : String, data : Bytes, data_size : Int) -> Bool

#
save_file_text

fn save_file_text(file_name : String, text : String) -> Bool

#
set_audio_stream_buffer_size_default

fn set_audio_stream_buffer_size_default(size : Int) -> Unit

#
set_automation_event_base_frame

fn set_automation_event_base_frame(frame : Int) -> Unit

#
set_clipboard_text

fn set_clipboard_text(text : String) -> Unit

#
set_config_flags

fn set_config_flags(flags : Int) -> Unit

#
set_exit_key

fn set_exit_key(key : Int) -> Unit

#
set_font_texture_filter

#deprecated("Use font.texture().set_filter(filter) instead")
fn set_font_texture_filter(font : Font, filter : Int) -> Unit

#
set_gamepad_mappings

fn set_gamepad_mappings(mappings : String) -> Int

#
set_gamepad_vibration

fn set_gamepad_vibration(gamepad : Int, left_motor : Float, right_motor : Float, duration : Float) -> Unit

#
set_gestures_enabled

fn set_gestures_enabled(flags : Int) -> Unit

#
set_master_volume

fn set_master_volume(volume : Float) -> Unit

#
set_mouse_cursor

fn set_mouse_cursor(cursor : Int) -> Unit

#
set_mouse_offset

fn set_mouse_offset(offset_x : Int, offset_y : Int) -> Unit

#
set_mouse_position

fn set_mouse_position(x : Int, y : Int) -> Unit

#
set_mouse_scale

fn set_mouse_scale(scale_x : Float, scale_y : Float) -> Unit

#
set_random_seed

fn set_random_seed(seed : Int) -> Unit

#
set_shader_value

#deprecated("Use Shader::set_value instead")
fn set_shader_value(shader : Shader, loc_index : Int, value : Bytes, uniform_type : Int) -> Unit

#
set_shader_value_v

#deprecated("Use Shader::set_value_v instead")
fn set_shader_value_v(shader : Shader, loc_index : Int, value : Bytes, uniform_type : Int, count : Int) -> Unit

#
set_target_fps

fn set_target_fps(fps : Int) -> Unit

#
set_text_line_spacing

fn set_text_line_spacing(spacing : Int) -> Unit

#
set_trace_log_level

fn set_trace_log_level(log_level : Int) -> Unit

#
set_window_focused

fn set_window_focused() -> Unit

#
set_window_icon

fn set_window_icon(image : Image) -> Unit

#
set_window_max_size

fn set_window_max_size(width : Int, height : Int) -> Unit

#
set_window_min_size

fn set_window_min_size(width : Int, height : Int) -> Unit

#
set_window_monitor

fn set_window_monitor(monitor : Int) -> Unit

#
set_window_opacity

fn set_window_opacity(opacity : Float) -> Unit

#
set_window_position

fn set_window_position(x : Int, y : Int) -> Unit

#
set_window_size

fn set_window_size(width : Int, height : Int) -> Unit

#
set_window_state

fn set_window_state(flags : Int) -> Unit

#
set_window_title

fn set_window_title(title : String) -> Unit

#
show_cursor

fn show_cursor() -> Unit

#
skyblue

let skyblue : Color

#
start_automation_event_recording

fn start_automation_event_recording() -> Unit

#
stop_automation_event_recording

fn stop_automation_event_recording() -> Unit

#
swap_screen_buffer

fn swap_screen_buffer() -> Unit

#
take_screenshot

fn take_screenshot(file_name : String) -> Unit

#
toggle_borderless_windowed

fn toggle_borderless_windowed() -> Unit

#
toggle_fullscreen

fn toggle_fullscreen() -> Unit

#
trace_log

fn trace_log(log_level : Int, text : String) -> Unit

#
unload_directory_files

fn unload_directory_files(files : FilePathList) -> Unit

#
unload_dropped_files

fn unload_dropped_files(files : FilePathList) -> Unit

#
update_camera

fn update_camera(camera : Camera3D, mode : Int) -> Camera3D

#
update_camera_pro

fn update_camera_pro(camera : Camera3D, movement : Vector3, rotation : Vector3, zoom : Float) -> Camera3D

#
upload_mesh

#deprecated("Use Mesh::upload instead")
fn upload_mesh(mesh : Mesh, dynamic : Int) -> Unit

#
violet

let violet : Color

#
vr_stereo_config_left_lens_center

#deprecated("Use VrStereoConfig::left_lens_center instead")
fn vr_stereo_config_left_lens_center(config : VrStereoConfig) -> Bytes

#
vr_stereo_config_left_screen_center

#deprecated("Use VrStereoConfig::left_screen_center instead")
fn vr_stereo_config_left_screen_center(config : VrStereoConfig) -> Bytes

#
vr_stereo_config_right_lens_center

#deprecated("Use VrStereoConfig::right_lens_center instead")
fn vr_stereo_config_right_lens_center(config : VrStereoConfig) -> Bytes

#
vr_stereo_config_right_screen_center

#deprecated("Use VrStereoConfig::right_screen_center instead")
fn vr_stereo_config_right_screen_center(config : VrStereoConfig) -> Bytes

#
vr_stereo_config_scale

#deprecated("Use VrStereoConfig::scale instead")
fn vr_stereo_config_scale(config : VrStereoConfig) -> Bytes

#
vr_stereo_config_scale_in

#deprecated("Use VrStereoConfig::scale_in instead")
fn vr_stereo_config_scale_in(config : VrStereoConfig) -> Bytes

#
wait_time

fn wait_time(seconds : Double) -> Unit

#
white

let white : Color

#
window_should_close

fn window_should_close() -> Bool

#
yellow

let yellow : Color