MoonBit bindings for raylib
| Platform | C Compiler |
|---|---|
| macOS | Xcode Command Line Tools (xcode-select --install) |
| Linux | GCC or Clang (e.g., apt install build-essential) |
| Windows | MSVC or MinGW-w64 (GCC) — see below |
| Android | Android NDK |
moon add tonyfettes/raylibfn 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()
}moon run --target native main/# Build a specific example
moon -C examples build --target native core/core_basic_window/
# Run a specific example
moon -C examples run --target native core/core_basic_window/
# Run the bunnymark benchmark
moon -C examples run --target native textures/textures_bunnymark/// 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()type AudioStream#as_free_fn(attach_audio_stream_processor)
fn AudioStream::attach_processor(self : AudioStream, processor : FuncRef[(AudioBuffer, UInt) -> Unit]) -> Unit#as_free_fn(detach_audio_stream_processor)
fn AudioStream::detach_processor(self : AudioStream, processor : FuncRef[(AudioBuffer, UInt) -> Unit]) -> Unit#as_free_fn(load_audio_stream)
fn AudioStream::load(sample_rate : Int, sample_size : Int, channels : Int) -> AudioStream#as_free_fn(set_audio_stream_pitch)
fn AudioStream::set_pitch(self : AudioStream, pitch : Float) -> Unit#as_free_fn(set_audio_stream_volume)
fn AudioStream::set_volume(self : AudioStream, volume : Float) -> Unit#as_free_fn(update_audio_stream)
fn AudioStream::update(self : AudioStream, data : Bytes, frame_count : Int) -> Unitimpl Show for AutomationEventtype AutomationEventList#as_free_fn(automation_event_list_count)
fn AutomationEventList::count(self : AutomationEventList) -> Int#as_free_fn(export_automation_event_list)
fn AutomationEventList::export_(self : AutomationEventList, file_name : String) -> Bool#as_free_fn(automation_event_list_get)
fn AutomationEventList::get(self : AutomationEventList, index : Int) -> AutomationEvent#as_free_fn(load_automation_event_list)
fn AutomationEventList::load(file_name : String) -> AutomationEventList#as_free_fn(set_automation_event_list)
fn AutomationEventList::set(self : AutomationEventList) -> Unit#as_free_fn(unload_automation_event_list)
fn AutomationEventList::unload(self : AutomationEventList) -> Unitimpl Show for BoundingBoxtype FilePathListtype FloatArraytype Font#deprecated("Use Font::new(...) instead")
#as_free_fn(load_font_from_atlas, deprecated="Use Font::new(...) instead")
fn Font::load_from_atlas(texture : Texture, base_size : Int, glyph_padding~ : Int, glyphs : GlyphInfoArray, recs : FixedArray[Rectangle]) -> Font#as_free_fn(new_font)
fn Font::new(texture : Texture, base_size : Int, glyph_padding~ : Int, glyphs : GlyphInfoArray, recs : FixedArray[Rectangle]) -> Fonttype GlyphInfoArrayfn GlyphInfoArray::gen_image_atlas(self : GlyphInfoArray, font_size : Int, padding : Int, pack_method : Int) -> (Image, FixedArray[Rectangle])#as_free_fn(glyph_info_array_get)
fn GlyphInfoArray::get(self : GlyphInfoArray, index : Int) -> GlyphInfo#as_free_fn(load_font_data)
fn GlyphInfoArray::load(file_data : Bytes, data_size : Int, font_size : Int, font_type : Int) -> GlyphInfoArraytype Imagetype Materialtype MaterialMaptype MaterialMapArraytype MaterialsArray#as_free_fn(materials_array_get)
fn MaterialsArray::get(self : MaterialsArray, index : Int) -> Materialtype MatrixArraytype Meshtype Model#as_free_fn(is_model_animation_valid)
fn Model::is_animation_valid(self : Model, anims : ModelAnimations, index : Int) -> Bool#as_free_fn(update_model_animation)
fn Model::update_animation(self : Model, anims : ModelAnimations, index : Int, frame : Float) -> Unit#as_free_fn(update_model_animation_ex)
fn Model::update_animation_ex(self : Model, anims_a : ModelAnimations, index_a : Int, frame_a : Float, anims_b : ModelAnimations, index_b : Int, frame_b : Float, blend : Float) -> Unittype ModelAnimations#as_free_fn(get_model_animation_bone_count)
fn ModelAnimations::bone_count(self : ModelAnimations, anim_index : Int) -> Int#deprecated("Use ModelAnimations::keyframe_count instead")
#as_free_fn(get_model_animation_frame_count, deprecated="Use ModelAnimations::keyframe_count instead")
fn ModelAnimations::frame_count(self : ModelAnimations, anim_index : Int) -> Int#deprecated("Use ModelAnimations::keyframe_pose_rotation instead")
#as_free_fn(get_model_animation_frame_pose_rotation, deprecated="Use ModelAnimations::keyframe_pose_rotation instead")
fn ModelAnimations::frame_pose_rotation(self : ModelAnimations, anim_index : Int, frame : Int, bone_index : Int) -> Vector4#deprecated("Use ModelAnimations::keyframe_pose_translation instead")
#as_free_fn(get_model_animation_frame_pose_translation, deprecated="Use ModelAnimations::keyframe_pose_translation instead")
fn ModelAnimations::frame_pose_translation(self : ModelAnimations, anim_index : Int, frame : Int, bone_index : Int) -> Vector3#as_free_fn(get_model_animation_keyframe_count)
fn ModelAnimations::keyframe_count(self : ModelAnimations, anim_index : Int) -> Int#as_free_fn(get_model_animation_keyframe_pose_rotation)
fn ModelAnimations::keyframe_pose_rotation(self : ModelAnimations, anim_index : Int, keyframe : Int, bone_index : Int) -> Vector4#as_free_fn(get_model_animation_keyframe_pose_translation)
fn ModelAnimations::keyframe_pose_translation(self : ModelAnimations, anim_index : Int, keyframe : Int, bone_index : Int) -> Vector3type Musicimpl Show for NPatchInfofn NPatchInfo::new(source : Rectangle, left : Int, top : Int, right : Int, bottom : Int, layout : Int) -> NPatchInfoimpl Show for RayCollisionfn RayCollision::new(hit : Bool, distance : Float, point : Vector3, normal : Vector3) -> RayCollisiontype RenderTexture#as_free_fn(draw_render_texture_ex)
fn RenderTexture::draw_ex(self : RenderTexture, position : Vector2, rotation : Float, scale : Float, tint : Color) -> Unit#as_free_fn(draw_render_texture_pro)
fn RenderTexture::draw_pro(self : RenderTexture, source : Rectangle, dest : Rectangle, origin : Vector2, rotation : Float, tint : Color) -> Unit#as_free_fn(draw_render_texture_rec)
fn RenderTexture::draw_rec(self : RenderTexture, source : Rectangle, position : Vector2, tint : Color) -> Unit#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#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#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#as_free_fn(new_render_texture)
fn RenderTexture::new(id : UInt, texture : Texture, depth : Texture) -> RenderTexture#as_free_fn(set_render_texture_filter)
fn RenderTexture::set_filter(self : RenderTexture, filter : Int) -> Unit#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#deprecated("Use RenderTexture::unload instead")
#as_free_fn(unload_shadowmap_render_texture, deprecated="Use RenderTexture::unload instead")
fn RenderTexture::unload_shadowmap(self : RenderTexture) -> Unittype Shadertype ShortArraytype Soundtype Texturetype UByteArraytype UShortArraypub 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]
} derive(Debug)impl Show for VrDeviceInfofn 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]) -> VrDeviceInfotype VrStereoConfigtype Wavepub struct WaveSamples {
// private fields
}let BlendCustom : Intlet CameraCustom : Intlet CubemapLayoutAutoDetect : Intlet CubemapLayoutCrossFourByThree : Intlet CubemapLayoutCrossThreeByFour : Intlet CubemapLayoutLineHorizontal : Intlet CubemapLayoutLineVertical : Intlet FlagBorderlessWindowedMode : Intlet FlagInterlacedHint : Intlet FlagWindowAlwaysRun : Intlet FlagWindowMaximized : Intlet FlagWindowMinimized : Intlet FlagWindowMousePassthrough : Intlet FlagWindowTransparent : Intlet FlagWindowUndecorated : Intlet GamepadAxisLeftTrigger : Intlet GamepadAxisRightTrigger : Intlet GamepadButtonLeftFaceRight : Intlet GamepadButtonLeftThumb : Intlet GamepadButtonLeftTrigger1 : Intlet GamepadButtonLeftTrigger2 : Intlet GamepadButtonMiddle : Intlet GamepadButtonMiddleLeft : Intlet GamepadButtonMiddleRight : Intlet GamepadButtonRightFaceDown : Intlet GamepadButtonRightFaceLeft : Intlet GamepadButtonRightFaceRight : Intlet GamepadButtonRightFaceUp : Intlet GamepadButtonRightThumb : Intlet GamepadButtonRightTrigger1 : Intlet GamepadButtonRightTrigger2 : Intlet GamepadButtonUnknown : Intlet LogWarning : Intlet MaterialMapCubemap : Intlet MaterialMapIrradiance : Intlet MaterialMapMetalness : Intlet MaterialMapPrefilter : Intlet MouseCursorNotAllowed : Intlet MouseCursorResizeAll : Intlet MouseCursorResizeEw : Intlet MouseCursorResizeNesw : Intlet MouseCursorResizeNs : Intlet MouseCursorResizeNwse : Intlet PixelformatUncompressedGrayAlpha : Intlet PixelformatUncompressedGrayscale : Intlet PixelformatUncompressedR32 : Intlet PixelformatUncompressedR32g32b32 : Intlet PixelformatUncompressedR32g32b32a32 : Intlet PixelformatUncompressedR4g4b4a4 : Intlet PixelformatUncompressedR5g5b5a1 : Intlet PixelformatUncompressedR8g8b8a8 : Int#deprecated("Use @rl.AttachmentColorChannel0 from tonyfettes/raylib/rl instead")
let RlAttachmentColorChannel0 : Int#deprecated("Use @rl.AttachmentColorChannel1 from tonyfettes/raylib/rl instead")
let RlAttachmentColorChannel1 : Int#deprecated("Use @rl.AttachmentColorChannel2 from tonyfettes/raylib/rl instead")
let RlAttachmentColorChannel2 : Int#deprecated("Use @rl.AttachmentColorChannel3 from tonyfettes/raylib/rl instead")
let RlAttachmentColorChannel3 : Int#deprecated("Use @rl.AttachmentCubemapNegativeX from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapNegativeX : Int#deprecated("Use @rl.AttachmentCubemapNegativeY from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapNegativeY : Int#deprecated("Use @rl.AttachmentCubemapNegativeZ from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapNegativeZ : Int#deprecated("Use @rl.AttachmentCubemapPositiveX from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapPositiveX : Int#deprecated("Use @rl.AttachmentCubemapPositiveY from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapPositiveY : Int#deprecated("Use @rl.AttachmentCubemapPositiveZ from tonyfettes/raylib/rl instead")
let RlAttachmentCubemapPositiveZ : Int#deprecated("Use @rl.AttachmentDepth from tonyfettes/raylib/rl instead")
let RlAttachmentDepth : Int#deprecated("Use @rl.AttachmentRenderbuffer from tonyfettes/raylib/rl instead")
let RlAttachmentRenderbuffer : Int#deprecated("Use @rl.AttachmentStencil from tonyfettes/raylib/rl instead")
let RlAttachmentStencil : Int#deprecated("Use @rl.AttachmentTexture2d from tonyfettes/raylib/rl instead")
let RlAttachmentTexture2d : Int#deprecated("Use @rl.DrawFramebuffer from tonyfettes/raylib/rl instead")
let RlDrawFramebuffer : UInt#deprecated("Use @rl.Lines from tonyfettes/raylib/rl instead")
let RlLines : Int#deprecated("Use @rl.Quads from tonyfettes/raylib/rl instead")
let RlQuads : Int#deprecated("Use @rl.ReadFramebuffer from tonyfettes/raylib/rl instead")
let RlReadFramebuffer : UInt#deprecated("Use @rl.Triangles from tonyfettes/raylib/rl instead")
let RlTriangles : Intlet ShaderLocBoneMatrices : Intlet ShaderLocColorAmbient : Intlet ShaderLocColorDiffuse : Intlet ShaderLocColorSpecular : Intlet ShaderLocMapAlbedo : Intlet ShaderLocMapCubemap : Intlet ShaderLocMapEmission : Intlet ShaderLocMapIrradiance : Intlet ShaderLocMapMetalness : Intlet ShaderLocMapOcclusion : Intlet ShaderLocMapPrefilter : Intlet ShaderLocMapRoughness : Intlet ShaderLocMatrixModel : Intlet ShaderLocMatrixMvp : Intlet ShaderLocMatrixProjection : Intlet ShaderLocMatrixView : Intlet ShaderLocVertexBoneids : Intlet ShaderLocVertexBoneweights : Intlet ShaderLocVertexNormal : Intlet ShaderLocVertexPosition : Intlet ShaderLocVertexTangent : Intlet ShaderLocVertexTexcoord01 : Intlet ShaderLocVertexTexcoord02 : Intlet TextureFilterAnisotropic16x : Intlet TextureFilterAnisotropic4x : Intlet TextureFilterAnisotropic8x : Intlet TextureFilterPoint : Intlet TextureFilterTrilinear : Intlet TextureWrapClamp : Intlet TextureWrapMirrorClamp : Intlet TextureWrapMirrorRepeat : Intfn attach_music_stream_processor(music : Music, processor : FuncRef[(AudioBuffer, UInt) -> Unit]) -> Unitfn begin_blend_mode(mode : Int) -> Unitfn begin_scissor_mode(x : Int, y : Int, width : Int, height : Int) -> Unitfn change_directory(dir : String) -> Boolfn clear_window_state(flags : Int) -> Unitfn codepoint_to_utf8(codepoint : Int) -> Bytesfn decompress_data(comp_data : Bytes) -> Bytesfn detach_music_stream_processor(music : Music, processor : FuncRef[(AudioBuffer, UInt) -> Unit]) -> Unitfn directory_exists(dir_path : String) -> Boolfn draw_ellipse(center_x : Int, center_y : Int, radius_h : Float, radius_v : Float, color : Color) -> Unitfn draw_ellipse_lines(center_x : Int, center_y : Int, radius_h : Float, radius_v : Float, color : Color) -> Unitfn draw_grid(slices : Int, spacing : Float) -> Unitfn end_blend_mode() -> Unitfn end_vr_stereo_mode() -> Unitfn export_data_as_code(data : Bytes, data_size : Int, file_name : String) -> Bool#deprecated("Use font.texture().gen_mipmaps() instead")
fn gen_font_texture_mipmaps(font : Font) -> Unitfn get_application_directory() -> Stringfn get_char_pressed() -> Intfn get_codepoint(text : String) -> (Int, Int)fn get_codepoint_count(text : String) -> Intfn get_codepoint_next(text : String) -> (Int, Int)fn get_codepoint_previous(text : String) -> (Int, Int)fn get_current_monitor() -> Intfn get_directory_path(file_path : String) -> Stringfn get_file_extension(file_name : String) -> Stringfn get_file_mod_time(file_name : String) -> Intfn get_file_name_without_ext(file_path : String) -> Stringfn get_frame_time() -> Floatfn get_gamepad_axis_count(gamepad : Int) -> Intfn get_gamepad_axis_movement(gamepad : Int, axis : Int) -> Floatfn get_gamepad_button_pressed() -> Intfn get_gesture_hold_duration() -> Floatfn get_key_pressed() -> Intfn get_monitor_height(monitor : Int) -> Intfn get_monitor_name(monitor : Int) -> Stringfn get_monitor_physical_height(monitor : Int) -> Intfn get_monitor_physical_width(monitor : Int) -> Intfn get_monitor_refresh_rate(monitor : Int) -> Intfn get_monitor_width(monitor : Int) -> Intfn get_mouse_wheel_move() -> Floatfn get_pixel_data_size(width : Int, height : Int, format : Int) -> Intfn get_prev_directory_path(dir_path : String) -> Stringfn get_random_value(min : Int, max : Int) -> Intfn get_render_height() -> Intfn get_touch_point_id(index : Int) -> Intfn get_touch_x() -> Intfn get_touch_y() -> Intfn init_window(width : Int, height : Int, title : String) -> Unitfn is_audio_device_ready() -> Boolfn is_cursor_hidden() -> Boolfn is_file_extension(file_name : String, ext : String) -> Boolfn is_file_name_valid(file_name : String) -> Boolfn is_gamepad_available(gamepad : Int) -> Boolfn is_gamepad_button_down(gamepad : Int, button : Int) -> Boolfn is_gamepad_button_pressed(gamepad : Int, button : Int) -> Boolfn is_gamepad_button_released(gamepad : Int, button : Int) -> Boolfn is_gamepad_button_up(gamepad : Int, button : Int) -> Boolfn is_gesture_detected(gesture : Int) -> Boolfn is_key_pressed_repeat(key : Int) -> Boolfn is_mouse_button_down(button : Int) -> Boolfn is_mouse_button_pressed(button : Int) -> Boolfn is_mouse_button_released(button : Int) -> Boolfn is_mouse_button_up(button : Int) -> Boolfn is_path_file(path : String) -> Boolfn is_window_fullscreen() -> Boolfn is_window_hidden() -> Boolfn is_window_ready() -> Boolfn is_window_state(flag : Int) -> Boolfn load_directory_files_ex(base_path : String, filter : String, scan_subdirs : Bool) -> FilePathListfn load_file_data(file_name : String) -> Bytesfn load_file_text(file_name : String) -> String#deprecated("Use Image::load_anim instead (returns (Image, Int) with frame count)")
fn load_image_anim(file_name : String) -> Image#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) -> Imagefn make_directory(dir_path : String) -> Intfn measure_text(text : String, font_size : Int) -> Intfn open_url(url : String) -> Unit#deprecated("Use @rl.active_draw_buffers from tonyfettes/raylib/rl instead")
fn rl_active_draw_buffers(count : Int) -> Unit#deprecated("Use @rl.active_texture_slot from tonyfettes/raylib/rl instead")
fn rl_active_texture_slot(slot : Int) -> Unit#deprecated("Use @rl.begin from tonyfettes/raylib/rl instead")
fn rl_begin(mode : Int) -> Unit#deprecated("Use @rl.bind_framebuffer from tonyfettes/raylib/rl instead")
fn rl_bind_framebuffer(target : UInt, fbo : UInt) -> Unit#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#deprecated("Use @rl.check_render_batch_limit from tonyfettes/raylib/rl instead")
fn rl_check_render_batch_limit(v_count : Int) -> Bool#deprecated("Use @rl.clear_screen_buffers from tonyfettes/raylib/rl instead")
fn rl_clear_screen_buffers() -> Unit#deprecated("Use @rl.color4ub from tonyfettes/raylib/rl instead")
fn rl_color4ub(r : Byte, g : Byte, b : Byte, a : Byte) -> Unit#deprecated("Use @rl.disable_backface_culling from tonyfettes/raylib/rl instead")
fn rl_disable_backface_culling() -> Unit#deprecated("Use @rl.disable_color_blend from tonyfettes/raylib/rl instead")
fn rl_disable_color_blend() -> Unit#deprecated("Use @rl.disable_depth_mask from tonyfettes/raylib/rl instead")
fn rl_disable_depth_mask() -> Unit#deprecated("Use @rl.disable_depth_test from tonyfettes/raylib/rl instead")
fn rl_disable_depth_test() -> Unit#deprecated("Use @rl.disable_framebuffer from tonyfettes/raylib/rl instead")
fn rl_disable_framebuffer() -> Unit#deprecated("Use @rl.disable_shader from tonyfettes/raylib/rl instead")
fn rl_disable_shader() -> Unit#deprecated("Use @rl.disable_texture from tonyfettes/raylib/rl instead")
fn rl_disable_texture() -> Unit#deprecated("Use @rl.draw_render_batch_active from tonyfettes/raylib/rl instead")
fn rl_draw_render_batch_active() -> Unit#deprecated("Use @rl.enable_backface_culling from tonyfettes/raylib/rl instead")
fn rl_enable_backface_culling() -> Unit#deprecated("Use @rl.enable_color_blend from tonyfettes/raylib/rl instead")
fn rl_enable_color_blend() -> Unit#deprecated("Use @rl.enable_depth_mask from tonyfettes/raylib/rl instead")
fn rl_enable_depth_mask() -> Unit#deprecated("Use @rl.enable_depth_test from tonyfettes/raylib/rl instead")
fn rl_enable_depth_test() -> Unit#deprecated("Use @rl.enable_framebuffer from tonyfettes/raylib/rl instead")
fn rl_enable_framebuffer(id : UInt) -> Unit#deprecated("Use @rl.enable_shader from tonyfettes/raylib/rl instead")
fn rl_enable_shader(id : UInt) -> Unit#deprecated("Use @rl.enable_texture from tonyfettes/raylib/rl instead")
fn rl_enable_texture(id : UInt) -> Unit#deprecated("Use @rl.end_ from tonyfettes/raylib/rl instead")
fn rl_end() -> Unit#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#deprecated("Use @rl.framebuffer_complete from tonyfettes/raylib/rl instead")
fn rl_framebuffer_complete(id : UInt) -> Bool#deprecated("Use @rl.get_framebuffer_height from tonyfettes/raylib/rl instead")
fn rl_get_framebuffer_height() -> Int#deprecated("Use @rl.get_framebuffer_width from tonyfettes/raylib/rl instead")
fn rl_get_framebuffer_width() -> Int#deprecated("Use @rl.get_location_uniform from tonyfettes/raylib/rl instead")
fn rl_get_location_uniform(shader_id : UInt, uniform_name : String) -> Int#deprecated("Use @rl.get_matrix_modelview from tonyfettes/raylib/rl instead")
fn rl_get_matrix_modelview() -> Matrix#deprecated("Use @rl.get_matrix_projection from tonyfettes/raylib/rl instead")
fn rl_get_matrix_projection() -> Matrix#deprecated("Use @rl.get_shader_id_default from tonyfettes/raylib/rl instead")
fn rl_get_shader_id_default() -> UInt#deprecated("Use @rl.load_draw_cube from tonyfettes/raylib/rl instead")
fn rl_load_draw_cube() -> Unit#deprecated("Use @rl.load_draw_quad from tonyfettes/raylib/rl instead")
fn rl_load_draw_quad() -> Unit#deprecated("Use @rl.load_framebuffer from tonyfettes/raylib/rl instead")
fn rl_load_framebuffer() -> UInt#deprecated("Use @rl.load_texture from tonyfettes/raylib/rl instead")
fn rl_load_texture(width : Int, height : Int, format : Int, mipmap_count : Int) -> UInt#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#deprecated("Use @rl.mult_matrixf from tonyfettes/raylib/rl instead")
fn rl_mult_matrixf(matf : Bytes) -> Unit#deprecated("Use @rl.normal3f from tonyfettes/raylib/rl instead")
fn rl_normal3f(x : Float, y : Float, z : Float) -> Unit#deprecated("Use @rl.pop_matrix from tonyfettes/raylib/rl instead")
fn rl_pop_matrix() -> Unit#deprecated("Use @rl.push_matrix from tonyfettes/raylib/rl instead")
fn rl_push_matrix() -> Unit#deprecated("Use @rl.rotatef from tonyfettes/raylib/rl instead")
fn rl_rotatef(angle : Float, x : Float, y : Float, z : Float) -> Unit#deprecated("Use @rl.scalef from tonyfettes/raylib/rl instead")
fn rl_scalef(x : Float, y : Float, z : Float) -> Unit#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#deprecated("Use @rl.set_blend_mode from tonyfettes/raylib/rl instead")
fn rl_set_blend_mode(mode : Int) -> Unit#deprecated("Use @rl.set_texture from tonyfettes/raylib/rl instead")
fn rl_set_texture(id : UInt) -> Unit#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#deprecated("Use @rl.set_uniform_sampler from tonyfettes/raylib/rl instead")
fn rl_set_uniform_sampler(loc_index : Int, texture_id : UInt) -> Unit#deprecated("Use @rl.tex_coord2f from tonyfettes/raylib/rl instead")
fn rl_tex_coord2f(x : Float, y : Float) -> Unit#deprecated("Use @rl.translatef from tonyfettes/raylib/rl instead")
fn rl_translatef(x : Float, y : Float, z : Float) -> Unit#deprecated("Use @rl.unload_framebuffer from tonyfettes/raylib/rl instead")
fn rl_unload_framebuffer(id : UInt) -> Unit#deprecated("Use @rl.unload_texture from tonyfettes/raylib/rl instead")
fn rl_unload_texture(id : UInt) -> Unit#deprecated("Use @rl.vertex2f from tonyfettes/raylib/rl instead")
fn rl_vertex2f(x : Float, y : Float) -> Unit#deprecated("Use @rl.vertex3f from tonyfettes/raylib/rl instead")
fn rl_vertex3f(x : Float, y : Float, z : Float) -> Unit#deprecated("Use @rl.viewport from tonyfettes/raylib/rl instead")
fn rl_viewport(x : Int, y : Int, width : Int, height : Int) -> Unitfn save_file_data(file_name : String, data : Bytes, data_size : Int) -> Boolfn save_file_text(file_name : String, text : String) -> Boolfn set_audio_stream_buffer_size_default(size : Int) -> Unitfn set_automation_event_base_frame(frame : Int) -> Unitfn set_config_flags(flags : Int) -> Unitfn set_exit_key(key : Int) -> Unit#deprecated("Use font.texture().set_filter(filter) instead")
fn set_font_texture_filter(font : Font, filter : Int) -> Unitfn set_gamepad_mappings(mappings : String) -> Intfn set_gamepad_vibration(gamepad : Int, left_motor : Float, right_motor : Float, duration : Float) -> Unitfn set_gestures_enabled(flags : Int) -> Unitfn set_mouse_scale(scale_x : Float, scale_y : Float) -> Unitfn set_random_seed(seed : Int) -> Unit#deprecated("Use Shader::set_value instead")
fn set_shader_value(shader : Shader, loc_index : Int, value : Bytes, uniform_type : Int) -> Unit#deprecated("Use Shader::set_value_v instead")
fn set_shader_value_v(shader : Shader, loc_index : Int, value : Bytes, uniform_type : Int, count : Int) -> Unitfn set_text_line_spacing(spacing : Int) -> Unitfn set_window_max_size(width : Int, height : Int) -> Unitfn set_window_min_size(width : Int, height : Int) -> Unitfn set_window_opacity(opacity : Float) -> Unitfn set_window_position(x : Int, y : Int) -> Unitfn set_window_state(flags : Int) -> Unitfn start_automation_event_recording() -> Unitfn stop_automation_event_recording() -> Unitfn take_screenshot(file_name : String) -> Unitfn toggle_borderless_windowed() -> Unitfn toggle_fullscreen() -> Unitfn trace_log(log_level : Int, text : String) -> Unit#deprecated("Use VrStereoConfig::left_lens_center instead")
fn vr_stereo_config_left_lens_center(config : VrStereoConfig) -> Bytes#deprecated("Use VrStereoConfig::left_screen_center instead")
fn vr_stereo_config_left_screen_center(config : VrStereoConfig) -> Bytes#deprecated("Use VrStereoConfig::right_lens_center instead")
fn vr_stereo_config_right_lens_center(config : VrStereoConfig) -> Bytes#deprecated("Use VrStereoConfig::right_screen_center instead")
fn vr_stereo_config_right_screen_center(config : VrStereoConfig) -> Bytes#deprecated("Use VrStereoConfig::scale instead")
fn vr_stereo_config_scale(config : VrStereoConfig) -> Bytes#deprecated("Use VrStereoConfig::scale_in instead")
fn vr_stereo_config_scale_in(config : VrStereoConfig) -> Bytesfn window_should_close() -> BoolMoonBit bindings for raylib