use crate::ffi_types::*;
extern "C" {
pub fn InitWindow(
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
title: *const ::std::os::raw::c_char,
);
}
extern "C" {
pub fn CloseWindow();
}
extern "C" {
pub fn IsWindowReady() -> bool;
}
extern "C" {
pub fn WindowShouldClose() -> bool;
}
extern "C" {
pub fn IsWindowMinimized() -> bool;
}
extern "C" {
pub fn ToggleFullscreen();
}
extern "C" {
pub fn SetWindowIcon(image: Image);
}
extern "C" {
pub fn SetWindowTitle(title: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn SetWindowPosition(x: ::std::os::raw::c_int, y: ::std::os::raw::c_int);
}
extern "C" {
pub fn SetWindowMonitor(monitor: ::std::os::raw::c_int);
}
extern "C" {
pub fn SetWindowMinSize(width: ::std::os::raw::c_int, height: ::std::os::raw::c_int);
}
extern "C" {
pub fn SetWindowSize(width: ::std::os::raw::c_int, height: ::std::os::raw::c_int);
}
extern "C" {
pub fn GetScreenWidth() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetScreenHeight() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ShowCursor();
}
extern "C" {
pub fn HideCursor();
}
extern "C" {
pub fn IsCursorHidden() -> bool;
}
extern "C" {
pub fn EnableCursor();
}
extern "C" {
pub fn DisableCursor();
}
extern "C" {
pub fn ClearBackground(color: Color);
}
extern "C" {
pub fn BeginDrawing();
}
extern "C" {
pub fn EndDrawing();
}
extern "C" {
pub fn BeginMode2D(camera: Camera2D);
}
extern "C" {
pub fn EndMode2D();
}
extern "C" {
pub fn BeginMode3D(camera: Camera3D);
}
extern "C" {
pub fn EndMode3D();
}
extern "C" {
pub fn BeginTextureMode(target: RenderTexture2D);
}
extern "C" {
pub fn EndTextureMode();
}
extern "C" {
pub fn GetMouseRay(mousePosition: Vector2, camera: Camera3D) -> Ray;
}
extern "C" {
pub fn GetWorldToScreen(position: Vector3, camera: Camera3D) -> Vector2;
}
extern "C" {
pub fn GetCameraMatrix(camera: Camera3D) -> Matrix;
}
extern "C" {
pub fn SetTargetFPS(fps: ::std::os::raw::c_int);
}
extern "C" {
pub fn GetFPS() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetFrameTime() -> f32;
}
extern "C" {
pub fn GetTime() -> f64;
}
extern "C" {
pub fn ColorToInt(color: Color) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ColorNormalize(color: Color) -> Vector4;
}
extern "C" {
pub fn ColorToHSV(color: Color) -> Vector3;
}
extern "C" {
pub fn GetColor(hexValue: ::std::os::raw::c_int) -> Color;
}
extern "C" {
pub fn Fade(color: Color, alpha: f32) -> Color;
}
extern "C" {
pub fn ShowLogo();
}
extern "C" {
pub fn SetConfigFlags(flags: ::std::os::raw::c_uchar);
}
extern "C" {
pub fn SetTraceLog(types: ::std::os::raw::c_uchar);
}
extern "C" {
pub fn TraceLog(logType: ::std::os::raw::c_int, text: *const ::std::os::raw::c_char, ...);
}
extern "C" {
pub fn TakeScreenshot(fileName: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn GetRandomValue(
min: ::std::os::raw::c_int,
max: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IsFileExtension(
fileName: *const ::std::os::raw::c_char,
ext: *const ::std::os::raw::c_char,
) -> bool;
}
extern "C" {
pub fn GetExtension(fileName: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn GetFileName(filePath: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn GetDirectoryPath(
fileName: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn GetWorkingDirectory() -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn ChangeDirectory(dir: *const ::std::os::raw::c_char) -> bool;
}
extern "C" {
pub fn IsFileDropped() -> bool;
}
extern "C" {
pub fn GetDroppedFiles(count: *mut ::std::os::raw::c_int) -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn ClearDroppedFiles();
}
extern "C" {
pub fn StorageSaveValue(position: ::std::os::raw::c_int, value: ::std::os::raw::c_int);
}
extern "C" {
pub fn StorageLoadValue(position: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IsKeyPressed(key: ::std::os::raw::c_int) -> bool;
}
extern "C" {
pub fn IsKeyDown(key: ::std::os::raw::c_int) -> bool;
}
extern "C" {
pub fn IsKeyReleased(key: ::std::os::raw::c_int) -> bool;
}
extern "C" {
pub fn IsKeyUp(key: ::std::os::raw::c_int) -> bool;
}
extern "C" {
pub fn GetKeyPressed() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SetExitKey(key: ::std::os::raw::c_int);
}
extern "C" {
pub fn IsGamepadAvailable(gamepad: ::std::os::raw::c_int) -> bool;
}
extern "C" {
pub fn IsGamepadName(
gamepad: ::std::os::raw::c_int,
name: *const ::std::os::raw::c_char,
) -> bool;
}
extern "C" {
pub fn GetGamepadName(gamepad: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn IsGamepadButtonPressed(
gamepad: ::std::os::raw::c_int,
button: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
pub fn IsGamepadButtonDown(
gamepad: ::std::os::raw::c_int,
button: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
pub fn IsGamepadButtonReleased(
gamepad: ::std::os::raw::c_int,
button: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
pub fn IsGamepadButtonUp(gamepad: ::std::os::raw::c_int, button: ::std::os::raw::c_int)
-> bool;
}
extern "C" {
pub fn GetGamepadButtonPressed() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetGamepadAxisCount(gamepad: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetGamepadAxisMovement(
gamepad: ::std::os::raw::c_int,
axis: ::std::os::raw::c_int,
) -> f32;
}
extern "C" {
pub fn IsMouseButtonPressed(button: ::std::os::raw::c_int) -> bool;
}
extern "C" {
pub fn IsMouseButtonDown(button: ::std::os::raw::c_int) -> bool;
}
extern "C" {
pub fn IsMouseButtonReleased(button: ::std::os::raw::c_int) -> bool;
}
extern "C" {
pub fn IsMouseButtonUp(button: ::std::os::raw::c_int) -> bool;
}
extern "C" {
pub fn GetMouseX() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetMouseY() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetMousePosition() -> Vector2;
}
extern "C" {
pub fn SetMousePosition(position: Vector2);
}
extern "C" {
pub fn SetMouseScale(scale: f32);
}
extern "C" {
pub fn GetMouseWheelMove() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetTouchX() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetTouchY() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetTouchPosition(index: ::std::os::raw::c_int) -> Vector2;
}
extern "C" {
pub fn SetGesturesEnabled(gestureFlags: ::std::os::raw::c_uint);
}
extern "C" {
pub fn IsGestureDetected(gesture: ::std::os::raw::c_int) -> bool;
}
extern "C" {
pub fn GetGestureDetected() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetTouchPointsCount() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetGestureHoldDuration() -> f32;
}
extern "C" {
pub fn GetGestureDragVector() -> Vector2;
}
extern "C" {
pub fn GetGestureDragAngle() -> f32;
}
extern "C" {
pub fn GetGesturePinchVector() -> Vector2;
}
extern "C" {
pub fn GetGesturePinchAngle() -> f32;
}
extern "C" {
pub fn SetCameraMode(camera: Camera3D, mode: ::std::os::raw::c_int);
}
extern "C" {
pub fn UpdateCamera(camera: *mut Camera3D);
}
extern "C" {
pub fn SetCameraPanControl(panKey: ::std::os::raw::c_int);
}
extern "C" {
pub fn SetCameraAltControl(altKey: ::std::os::raw::c_int);
}
extern "C" {
pub fn SetCameraSmoothZoomControl(szKey: ::std::os::raw::c_int);
}
extern "C" {
pub fn SetCameraMoveControls(
frontKey: ::std::os::raw::c_int,
backKey: ::std::os::raw::c_int,
rightKey: ::std::os::raw::c_int,
leftKey: ::std::os::raw::c_int,
upKey: ::std::os::raw::c_int,
downKey: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn DrawPixel(posX: ::std::os::raw::c_int, posY: ::std::os::raw::c_int, color: Color);
}
extern "C" {
pub fn DrawPixelV(position: Vector2, color: Color);
}
extern "C" {
pub fn DrawLine(
startPosX: ::std::os::raw::c_int,
startPosY: ::std::os::raw::c_int,
endPosX: ::std::os::raw::c_int,
endPosY: ::std::os::raw::c_int,
color: Color,
);
}
extern "C" {
pub fn DrawLineV(startPos: Vector2, endPos: Vector2, color: Color);
}
extern "C" {
pub fn DrawLineEx(startPos: Vector2, endPos: Vector2, thick: f32, color: Color);
}
extern "C" {
pub fn DrawLineBezier(startPos: Vector2, endPos: Vector2, thick: f32, color: Color);
}
extern "C" {
pub fn DrawCircle(
centerX: ::std::os::raw::c_int,
centerY: ::std::os::raw::c_int,
radius: f32,
color: Color,
);
}
extern "C" {
pub fn DrawCircleGradient(
centerX: ::std::os::raw::c_int,
centerY: ::std::os::raw::c_int,
radius: f32,
color1: Color,
color2: Color,
);
}
extern "C" {
pub fn DrawCircleV(center: Vector2, radius: f32, color: Color);
}
extern "C" {
pub fn DrawCircleLines(
centerX: ::std::os::raw::c_int,
centerY: ::std::os::raw::c_int,
radius: f32,
color: Color,
);
}
extern "C" {
pub fn DrawRectangle(
posX: ::std::os::raw::c_int,
posY: ::std::os::raw::c_int,
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
color: Color,
);
}
extern "C" {
pub fn DrawRectangleV(position: Vector2, size: Vector2, color: Color);
}
extern "C" {
pub fn DrawRectangleRec(rec: Rectangle, color: Color);
}
extern "C" {
pub fn DrawRectanglePro(rec: Rectangle, origin: Vector2, rotation: f32, color: Color);
}
extern "C" {
pub fn DrawRectangleGradientV(
posX: ::std::os::raw::c_int,
posY: ::std::os::raw::c_int,
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
color1: Color,
color2: Color,
);
}
extern "C" {
pub fn DrawRectangleGradientH(
posX: ::std::os::raw::c_int,
posY: ::std::os::raw::c_int,
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
color1: Color,
color2: Color,
);
}
extern "C" {
pub fn DrawRectangleGradientEx(
rec: Rectangle,
col1: Color,
col2: Color,
col3: Color,
col4: Color,
);
}
extern "C" {
pub fn DrawRectangleLines(
posX: ::std::os::raw::c_int,
posY: ::std::os::raw::c_int,
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
color: Color,
);
}
extern "C" {
pub fn DrawRectangleLinesEx(rec: Rectangle, lineThick: ::std::os::raw::c_int, color: Color);
}
extern "C" {
pub fn DrawTriangle(v1: Vector2, v2: Vector2, v3: Vector2, color: Color);
}
extern "C" {
pub fn DrawTriangleLines(v1: Vector2, v2: Vector2, v3: Vector2, color: Color);
}
extern "C" {
pub fn DrawPoly(
center: Vector2,
sides: ::std::os::raw::c_int,
radius: f32,
rotation: f32,
color: Color,
);
}
extern "C" {
pub fn DrawPolyEx(points: *mut Vector2, numPoints: ::std::os::raw::c_int, color: Color);
}
extern "C" {
pub fn DrawPolyExLines(points: *mut Vector2, numPoints: ::std::os::raw::c_int, color: Color);
}
extern "C" {
pub fn CheckCollisionRecs(rec1: Rectangle, rec2: Rectangle) -> bool;
}
extern "C" {
pub fn CheckCollisionCircles(
center1: Vector2,
radius1: f32,
center2: Vector2,
radius2: f32,
) -> bool;
}
extern "C" {
pub fn CheckCollisionCircleRec(center: Vector2, radius: f32, rec: Rectangle) -> bool;
}
extern "C" {
pub fn GetCollisionRec(rec1: Rectangle, rec2: Rectangle) -> Rectangle;
}
extern "C" {
pub fn CheckCollisionPointRec(point: Vector2, rec: Rectangle) -> bool;
}
extern "C" {
pub fn CheckCollisionPointCircle(point: Vector2, center: Vector2, radius: f32) -> bool;
}
extern "C" {
pub fn CheckCollisionPointTriangle(
point: Vector2,
p1: Vector2,
p2: Vector2,
p3: Vector2,
) -> bool;
}
extern "C" {
pub fn LoadImage(fileName: *const ::std::os::raw::c_char) -> Image;
}
extern "C" {
pub fn LoadImageEx(
pixels: *mut Color,
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
) -> Image;
}
extern "C" {
pub fn LoadImagePro(
data: *mut ::std::os::raw::c_void,
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
format: ::std::os::raw::c_int,
) -> Image;
}
extern "C" {
pub fn LoadImageRaw(
fileName: *const ::std::os::raw::c_char,
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
format: ::std::os::raw::c_int,
headerSize: ::std::os::raw::c_int,
) -> Image;
}
extern "C" {
pub fn ExportImage(fileName: *const ::std::os::raw::c_char, image: Image);
}
extern "C" {
pub fn LoadTexture(fileName: *const ::std::os::raw::c_char) -> Texture2D;
}
extern "C" {
pub fn LoadTextureFromImage(image: Image) -> Texture2D;
}
extern "C" {
pub fn LoadRenderTexture(
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
) -> RenderTexture2D;
}
extern "C" {
pub fn UnloadImage(image: Image);
}
extern "C" {
pub fn UnloadTexture(texture: Texture2D);
}
extern "C" {
pub fn UnloadRenderTexture(target: RenderTexture2D);
}
extern "C" {
pub fn GetImageData(image: Image) -> *mut Color;
}
extern "C" {
pub fn GetImageDataNormalized(image: Image) -> *mut Vector4;
}
extern "C" {
pub fn GetPixelDataSize(
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
format: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GetTextureData(texture: Texture2D) -> Image;
}
extern "C" {
pub fn UpdateTexture(texture: Texture2D, pixels: *const ::std::os::raw::c_void);
}
extern "C" {
pub fn ImageCopy(image: Image) -> Image;
}
extern "C" {
pub fn ImageToPOT(image: *mut Image, fillColor: Color);
}
extern "C" {
pub fn ImageFormat(image: *mut Image, newFormat: ::std::os::raw::c_int);
}
extern "C" {
pub fn ImageAlphaMask(image: *mut Image, alphaMask: Image);
}
extern "C" {
pub fn ImageAlphaClear(image: *mut Image, color: Color, threshold: f32);
}
extern "C" {
pub fn ImageAlphaCrop(image: *mut Image, threshold: f32);
}
extern "C" {
pub fn ImageAlphaPremultiply(image: *mut Image);
}
extern "C" {
pub fn ImageCrop(image: *mut Image, crop: Rectangle);
}
extern "C" {
pub fn ImageResize(
image: *mut Image,
newWidth: ::std::os::raw::c_int,
newHeight: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn ImageResizeNN(
image: *mut Image,
newWidth: ::std::os::raw::c_int,
newHeight: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn ImageResizeCanvas(
image: *mut Image,
newWidth: ::std::os::raw::c_int,
newHeight: ::std::os::raw::c_int,
offsetX: ::std::os::raw::c_int,
offsetY: ::std::os::raw::c_int,
color: Color,
);
}
extern "C" {
pub fn ImageMipmaps(image: *mut Image);
}
extern "C" {
pub fn ImageDither(
image: *mut Image,
rBpp: ::std::os::raw::c_int,
gBpp: ::std::os::raw::c_int,
bBpp: ::std::os::raw::c_int,
aBpp: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn ImageText(
text: *const ::std::os::raw::c_char,
fontSize: ::std::os::raw::c_int,
color: Color,
) -> Image;
}
extern "C" {
pub fn ImageTextEx(
font: Font,
text: *const ::std::os::raw::c_char,
fontSize: f32,
spacing: f32,
tint: Color,
) -> Image;
}
extern "C" {
pub fn ImageDraw(dst: *mut Image, src: Image, srcRec: Rectangle, dstRec: Rectangle);
}
extern "C" {
pub fn ImageDrawRectangle(dst: *mut Image, position: Vector2, rec: Rectangle, color: Color);
}
extern "C" {
pub fn ImageDrawText(
dst: *mut Image,
position: Vector2,
text: *const ::std::os::raw::c_char,
fontSize: ::std::os::raw::c_int,
color: Color,
);
}
extern "C" {
pub fn ImageDrawTextEx(
dst: *mut Image,
position: Vector2,
font: Font,
text: *const ::std::os::raw::c_char,
fontSize: f32,
spacing: f32,
color: Color,
);
}
extern "C" {
pub fn ImageFlipVertical(image: *mut Image);
}
extern "C" {
pub fn ImageFlipHorizontal(image: *mut Image);
}
extern "C" {
pub fn ImageRotateCW(image: *mut Image);
}
extern "C" {
pub fn ImageRotateCCW(image: *mut Image);
}
extern "C" {
pub fn ImageColorTint(image: *mut Image, color: Color);
}
extern "C" {
pub fn ImageColorInvert(image: *mut Image);
}
extern "C" {
pub fn ImageColorGrayscale(image: *mut Image);
}
extern "C" {
pub fn ImageColorContrast(image: *mut Image, contrast: f32);
}
extern "C" {
pub fn ImageColorBrightness(image: *mut Image, brightness: ::std::os::raw::c_int);
}
extern "C" {
pub fn ImageColorReplace(image: *mut Image, color: Color, replace: Color);
}
extern "C" {
pub fn GenImageColor(
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
color: Color,
) -> Image;
}
extern "C" {
pub fn GenImageGradientV(
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
top: Color,
bottom: Color,
) -> Image;
}
extern "C" {
pub fn GenImageGradientH(
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
left: Color,
right: Color,
) -> Image;
}
extern "C" {
pub fn GenImageGradientRadial(
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
density: f32,
inner: Color,
outer: Color,
) -> Image;
}
extern "C" {
pub fn GenImageChecked(
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
checksX: ::std::os::raw::c_int,
checksY: ::std::os::raw::c_int,
col1: Color,
col2: Color,
) -> Image;
}
extern "C" {
pub fn GenImageWhiteNoise(
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
factor: f32,
) -> Image;
}
extern "C" {
pub fn GenImagePerlinNoise(
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
offsetX: ::std::os::raw::c_int,
offsetY: ::std::os::raw::c_int,
scale: f32,
) -> Image;
}
extern "C" {
pub fn GenImageCellular(
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
tileSize: ::std::os::raw::c_int,
) -> Image;
}
extern "C" {
pub fn GenTextureMipmaps(texture: *mut Texture2D);
}
extern "C" {
pub fn SetTextureFilter(texture: Texture2D, filterMode: ::std::os::raw::c_int);
}
extern "C" {
pub fn SetTextureWrap(texture: Texture2D, wrapMode: ::std::os::raw::c_int);
}
extern "C" {
pub fn DrawTexture(
texture: Texture2D,
posX: ::std::os::raw::c_int,
posY: ::std::os::raw::c_int,
tint: Color,
);
}
extern "C" {
pub fn DrawTextureV(texture: Texture2D, position: Vector2, tint: Color);
}
extern "C" {
pub fn DrawTextureEx(
texture: Texture2D,
position: Vector2,
rotation: f32,
scale: f32,
tint: Color,
);
}
extern "C" {
pub fn DrawTextureRec(texture: Texture2D, sourceRec: Rectangle, position: Vector2, tint: Color);
}
extern "C" {
pub fn DrawTexturePro(
texture: Texture2D,
sourceRec: Rectangle,
destRec: Rectangle,
origin: Vector2,
rotation: f32,
tint: Color,
);
}
extern "C" {
pub fn GetFontDefault() -> Font;
}
extern "C" {
pub fn LoadFont(fileName: *const ::std::os::raw::c_char) -> Font;
}
extern "C" {
pub fn LoadFontEx(
fileName: *const ::std::os::raw::c_char,
fontSize: ::std::os::raw::c_int,
charsCount: ::std::os::raw::c_int,
fontChars: *mut ::std::os::raw::c_int,
) -> Font;
}
extern "C" {
pub fn LoadFontData(
fileName: *const ::std::os::raw::c_char,
fontSize: ::std::os::raw::c_int,
fontChars: *mut ::std::os::raw::c_int,
charsCount: ::std::os::raw::c_int,
sdf: bool,
) -> *mut CharInfo;
}
extern "C" {
pub fn GenImageFontAtlas(
chars: *mut CharInfo,
fontSize: ::std::os::raw::c_int,
charsCount: ::std::os::raw::c_int,
padding: ::std::os::raw::c_int,
packMethod: ::std::os::raw::c_int,
) -> Image;
}
extern "C" {
pub fn UnloadFont(font: Font);
}
extern "C" {
pub fn DrawFPS(posX: ::std::os::raw::c_int, posY: ::std::os::raw::c_int);
}
extern "C" {
pub fn DrawText(
text: *const ::std::os::raw::c_char,
posX: ::std::os::raw::c_int,
posY: ::std::os::raw::c_int,
fontSize: ::std::os::raw::c_int,
color: Color,
);
}
extern "C" {
pub fn DrawTextEx(
font: Font,
text: *const ::std::os::raw::c_char,
position: Vector2,
fontSize: f32,
spacing: f32,
tint: Color,
);
}
extern "C" {
pub fn MeasureText(
text: *const ::std::os::raw::c_char,
fontSize: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn MeasureTextEx(
font: Font,
text: *const ::std::os::raw::c_char,
fontSize: f32,
spacing: f32,
) -> Vector2;
}
extern "C" {
pub fn FormatText(text: *const ::std::os::raw::c_char, ...) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn SubText(
text: *const ::std::os::raw::c_char,
position: ::std::os::raw::c_int,
length: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn GetGlyphIndex(font: Font, character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn DrawLine3D(startPos: Vector3, endPos: Vector3, color: Color);
}
extern "C" {
pub fn DrawCircle3D(
center: Vector3,
radius: f32,
rotationAxis: Vector3,
rotationAngle: f32,
color: Color,
);
}
extern "C" {
pub fn DrawCube(position: Vector3, width: f32, height: f32, length: f32, color: Color);
}
extern "C" {
pub fn DrawCubeV(position: Vector3, size: Vector3, color: Color);
}
extern "C" {
pub fn DrawCubeWires(position: Vector3, width: f32, height: f32, length: f32, color: Color);
}
extern "C" {
pub fn DrawCubeTexture(
texture: Texture2D,
position: Vector3,
width: f32,
height: f32,
length: f32,
color: Color,
);
}
extern "C" {
pub fn DrawSphere(centerPos: Vector3, radius: f32, color: Color);
}
extern "C" {
pub fn DrawSphereEx(
centerPos: Vector3,
radius: f32,
rings: ::std::os::raw::c_int,
slices: ::std::os::raw::c_int,
color: Color,
);
}
extern "C" {
pub fn DrawSphereWires(
centerPos: Vector3,
radius: f32,
rings: ::std::os::raw::c_int,
slices: ::std::os::raw::c_int,
color: Color,
);
}
extern "C" {
pub fn DrawCylinder(
position: Vector3,
radiusTop: f32,
radiusBottom: f32,
height: f32,
slices: ::std::os::raw::c_int,
color: Color,
);
}
extern "C" {
pub fn DrawCylinderWires(
position: Vector3,
radiusTop: f32,
radiusBottom: f32,
height: f32,
slices: ::std::os::raw::c_int,
color: Color,
);
}
extern "C" {
pub fn DrawPlane(centerPos: Vector3, size: Vector2, color: Color);
}
extern "C" {
pub fn DrawRay(ray: Ray, color: Color);
}
extern "C" {
pub fn DrawGrid(slices: ::std::os::raw::c_int, spacing: f32);
}
extern "C" {
pub fn DrawGizmo(position: Vector3);
}
extern "C" {
pub fn LoadModel(fileName: *const ::std::os::raw::c_char) -> Model;
}
extern "C" {
pub fn LoadModelFromMesh(mesh: Mesh) -> Model;
}
extern "C" {
pub fn UnloadModel(model: Model);
}
extern "C" {
pub fn LoadMesh(fileName: *const ::std::os::raw::c_char) -> Mesh;
}
extern "C" {
pub fn UnloadMesh(mesh: *mut Mesh);
}
extern "C" {
pub fn ExportMesh(fileName: *const ::std::os::raw::c_char, mesh: Mesh);
}
extern "C" {
pub fn MeshBoundingBox(mesh: Mesh) -> BoundingBox;
}
extern "C" {
pub fn MeshTangents(mesh: *mut Mesh);
}
extern "C" {
pub fn MeshBinormals(mesh: *mut Mesh);
}
extern "C" {
pub fn GenMeshPlane(
width: f32,
length: f32,
resX: ::std::os::raw::c_int,
resZ: ::std::os::raw::c_int,
) -> Mesh;
}
extern "C" {
pub fn GenMeshCube(width: f32, height: f32, length: f32) -> Mesh;
}
extern "C" {
pub fn GenMeshSphere(
radius: f32,
rings: ::std::os::raw::c_int,
slices: ::std::os::raw::c_int,
) -> Mesh;
}
extern "C" {
pub fn GenMeshHemiSphere(
radius: f32,
rings: ::std::os::raw::c_int,
slices: ::std::os::raw::c_int,
) -> Mesh;
}
extern "C" {
pub fn GenMeshCylinder(radius: f32, height: f32, slices: ::std::os::raw::c_int) -> Mesh;
}
extern "C" {
pub fn GenMeshTorus(
radius: f32,
size: f32,
radSeg: ::std::os::raw::c_int,
sides: ::std::os::raw::c_int,
) -> Mesh;
}
extern "C" {
pub fn GenMeshKnot(
radius: f32,
size: f32,
radSeg: ::std::os::raw::c_int,
sides: ::std::os::raw::c_int,
) -> Mesh;
}
extern "C" {
pub fn GenMeshHeightmap(heightmap: Image, size: Vector3) -> Mesh;
}
extern "C" {
pub fn GenMeshCubicmap(cubicmap: Image, cubeSize: Vector3) -> Mesh;
}
extern "C" {
pub fn LoadMaterial(fileName: *const ::std::os::raw::c_char) -> Material;
}
extern "C" {
pub fn LoadMaterialDefault() -> Material;
}
extern "C" {
pub fn UnloadMaterial(material: Material);
}
extern "C" {
pub fn DrawModel(model: Model, position: Vector3, scale: f32, tint: Color);
}
extern "C" {
pub fn DrawModelEx(
model: Model,
position: Vector3,
rotationAxis: Vector3,
rotationAngle: f32,
scale: Vector3,
tint: Color,
);
}
extern "C" {
pub fn DrawModelWires(model: Model, position: Vector3, scale: f32, tint: Color);
}
extern "C" {
pub fn DrawModelWiresEx(
model: Model,
position: Vector3,
rotationAxis: Vector3,
rotationAngle: f32,
scale: Vector3,
tint: Color,
);
}
extern "C" {
pub fn DrawBoundingBox(box_: BoundingBox, color: Color);
}
extern "C" {
pub fn DrawBillboard(
camera: Camera3D,
texture: Texture2D,
center: Vector3,
size: f32,
tint: Color,
);
}
extern "C" {
pub fn DrawBillboardRec(
camera: Camera3D,
texture: Texture2D,
sourceRec: Rectangle,
center: Vector3,
size: f32,
tint: Color,
);
}
extern "C" {
pub fn CheckCollisionSpheres(
centerA: Vector3,
radiusA: f32,
centerB: Vector3,
radiusB: f32,
) -> bool;
}
extern "C" {
pub fn CheckCollisionBoxes(box1: BoundingBox, box2: BoundingBox) -> bool;
}
extern "C" {
pub fn CheckCollisionBoxSphere(
box_: BoundingBox,
centerSphere: Vector3,
radiusSphere: f32,
) -> bool;
}
extern "C" {
pub fn CheckCollisionRaySphere(ray: Ray, spherePosition: Vector3, sphereRadius: f32) -> bool;
}
extern "C" {
pub fn CheckCollisionRaySphereEx(
ray: Ray,
spherePosition: Vector3,
sphereRadius: f32,
collisionPoint: *mut Vector3,
) -> bool;
}
extern "C" {
pub fn CheckCollisionRayBox(ray: Ray, box_: BoundingBox) -> bool;
}
extern "C" {
pub fn GetCollisionRayModel(ray: Ray, model: *mut Model) -> RayHitInfo;
}
extern "C" {
pub fn GetCollisionRayTriangle(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3) -> RayHitInfo;
}
extern "C" {
pub fn GetCollisionRayGround(ray: Ray, groundHeight: f32) -> RayHitInfo;
}
extern "C" {
pub fn LoadText(fileName: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn LoadShader(
vsFileName: *const ::std::os::raw::c_char,
fsFileName: *const ::std::os::raw::c_char,
) -> Shader;
}
extern "C" {
pub fn LoadShaderCode(
vsCode: *mut ::std::os::raw::c_char,
fsCode: *mut ::std::os::raw::c_char,
) -> Shader;
}
extern "C" {
pub fn UnloadShader(shader: Shader);
}
extern "C" {
pub fn GetShaderDefault() -> Shader;
}
extern "C" {
pub fn GetTextureDefault() -> Texture2D;
}
extern "C" {
pub fn GetShaderLocation(
shader: Shader,
uniformName: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SetShaderValue(
shader: Shader,
uniformLoc: ::std::os::raw::c_int,
value: *const f32,
size: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn SetShaderValuei(
shader: Shader,
uniformLoc: ::std::os::raw::c_int,
value: *const ::std::os::raw::c_int,
size: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn SetShaderValueMatrix(shader: Shader, uniformLoc: ::std::os::raw::c_int, mat: Matrix);
}
extern "C" {
pub fn SetMatrixProjection(proj: Matrix);
}
extern "C" {
pub fn SetMatrixModelview(view: Matrix);
}
extern "C" {
pub fn GetMatrixModelview() -> Matrix;
}
extern "C" {
pub fn GenTextureCubemap(
shader: Shader,
skyHDR: Texture2D,
size: ::std::os::raw::c_int,
) -> Texture2D;
}
extern "C" {
pub fn GenTextureIrradiance(
shader: Shader,
cubemap: Texture2D,
size: ::std::os::raw::c_int,
) -> Texture2D;
}
extern "C" {
pub fn GenTexturePrefilter(
shader: Shader,
cubemap: Texture2D,
size: ::std::os::raw::c_int,
) -> Texture2D;
}
extern "C" {
pub fn GenTextureBRDF(
shader: Shader,
cubemap: Texture2D,
size: ::std::os::raw::c_int,
) -> Texture2D;
}
extern "C" {
pub fn BeginShaderMode(shader: Shader);
}
extern "C" {
pub fn EndShaderMode();
}
extern "C" {
pub fn BeginBlendMode(mode: ::std::os::raw::c_int);
}
extern "C" {
pub fn EndBlendMode();
}
extern "C" {
pub fn GetVrDeviceInfo(vrDeviceType: ::std::os::raw::c_int) -> VrDeviceInfo;
}
extern "C" {
pub fn InitVrSimulator(info: VrDeviceInfo);
}
extern "C" {
pub fn CloseVrSimulator();
}
extern "C" {
pub fn IsVrSimulatorReady() -> bool;
}
extern "C" {
pub fn SetVrDistortionShader(shader: Shader);
}
extern "C" {
pub fn UpdateVrTracking(camera: *mut Camera3D);
}
extern "C" {
pub fn ToggleVrMode();
}
extern "C" {
pub fn BeginVrDrawing();
}
extern "C" {
pub fn EndVrDrawing();
}
extern "C" {
pub fn InitAudioDevice();
}
extern "C" {
pub fn CloseAudioDevice();
}
extern "C" {
pub fn IsAudioDeviceReady() -> bool;
}
extern "C" {
pub fn SetMasterVolume(volume: f32);
}
extern "C" {
pub fn LoadWave(fileName: *const ::std::os::raw::c_char) -> Wave;
}
extern "C" {
pub fn LoadWaveEx(
data: *mut ::std::os::raw::c_void,
sampleCount: ::std::os::raw::c_int,
sampleRate: ::std::os::raw::c_int,
sampleSize: ::std::os::raw::c_int,
channels: ::std::os::raw::c_int,
) -> Wave;
}
extern "C" {
pub fn LoadSound(fileName: *const ::std::os::raw::c_char) -> Sound;
}
extern "C" {
pub fn LoadSoundFromWave(wave: Wave) -> Sound;
}
extern "C" {
pub fn UpdateSound(
sound: Sound,
data: *const ::std::os::raw::c_void,
samplesCount: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn UnloadWave(wave: Wave);
}
extern "C" {
pub fn UnloadSound(sound: Sound);
}
extern "C" {
pub fn PlaySound(sound: Sound);
}
extern "C" {
pub fn PauseSound(sound: Sound);
}
extern "C" {
pub fn ResumeSound(sound: Sound);
}
extern "C" {
pub fn StopSound(sound: Sound);
}
extern "C" {
pub fn IsSoundPlaying(sound: Sound) -> bool;
}
extern "C" {
pub fn SetSoundVolume(sound: Sound, volume: f32);
}
extern "C" {
pub fn SetSoundPitch(sound: Sound, pitch: f32);
}
extern "C" {
pub fn WaveFormat(
wave: *mut Wave,
sampleRate: ::std::os::raw::c_int,
sampleSize: ::std::os::raw::c_int,
channels: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn WaveCopy(wave: Wave) -> Wave;
}
extern "C" {
pub fn WaveCrop(
wave: *mut Wave,
initSample: ::std::os::raw::c_int,
finalSample: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn GetWaveData(wave: Wave) -> *mut f32;
}
extern "C" {
pub fn LoadMusicStream(fileName: *const ::std::os::raw::c_char) -> Music;
}
extern "C" {
pub fn UnloadMusicStream(music: Music);
}
extern "C" {
pub fn PlayMusicStream(music: Music);
}
extern "C" {
pub fn UpdateMusicStream(music: Music);
}
extern "C" {
pub fn StopMusicStream(music: Music);
}
extern "C" {
pub fn PauseMusicStream(music: Music);
}
extern "C" {
pub fn ResumeMusicStream(music: Music);
}
extern "C" {
pub fn IsMusicPlaying(music: Music) -> bool;
}
extern "C" {
pub fn SetMusicVolume(music: Music, volume: f32);
}
extern "C" {
pub fn SetMusicPitch(music: Music, pitch: f32);
}
extern "C" {
pub fn SetMusicLoopCount(music: Music, count: ::std::os::raw::c_int);
}
extern "C" {
pub fn GetMusicTimeLength(music: Music) -> f32;
}
extern "C" {
pub fn GetMusicTimePlayed(music: Music) -> f32;
}
extern "C" {
pub fn InitAudioStream(
sampleRate: ::std::os::raw::c_uint,
sampleSize: ::std::os::raw::c_uint,
channels: ::std::os::raw::c_uint,
) -> AudioStream;
}
extern "C" {
pub fn UpdateAudioStream(
stream: AudioStream,
data: *const ::std::os::raw::c_void,
samplesCount: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn CloseAudioStream(stream: AudioStream);
}
extern "C" {
pub fn IsAudioBufferProcessed(stream: AudioStream) -> bool;
}
extern "C" {
pub fn PlayAudioStream(stream: AudioStream);
}
extern "C" {
pub fn PauseAudioStream(stream: AudioStream);
}
extern "C" {
pub fn ResumeAudioStream(stream: AudioStream);
}
extern "C" {
pub fn IsAudioStreamPlaying(stream: AudioStream) -> bool;
}
extern "C" {
pub fn StopAudioStream(stream: AudioStream);
}
extern "C" {
pub fn SetAudioStreamVolume(stream: AudioStream, volume: f32);
}
extern "C" {
pub fn SetAudioStreamPitch(stream: AudioStream, pitch: f32);
}