mirror of
https://github.com/Not-Nik/raylib-zig.git
synced 2025-09-09 12:07:27 +00:00
1064 lines
45 KiB
Zig
Executable File
1064 lines
45 KiB
Zig
Executable File
//
|
|
// rayzig
|
|
// Zig version:
|
|
// Author: Nikolas Wipper
|
|
// Date: 2020-02-15
|
|
//
|
|
|
|
pub const Vector2 = extern struct {
|
|
x: f32,
|
|
y: f32,
|
|
};
|
|
|
|
pub const Vector3 = extern struct {
|
|
x: f32,
|
|
y: f32,
|
|
z: f32,
|
|
};
|
|
|
|
pub const Vector4 = extern struct {
|
|
x: f32,
|
|
y: f32,
|
|
z: f32,
|
|
w: f32,
|
|
};
|
|
pub const Quaternion = Vector4;
|
|
|
|
pub const Matrix = extern struct {
|
|
m0: f32,
|
|
m4: f32,
|
|
m8: f32,
|
|
m12: f32,
|
|
m1: f32,
|
|
m5: f32,
|
|
m9: f32,
|
|
m13: f32,
|
|
m2: f32,
|
|
m6: f32,
|
|
m10: f32,
|
|
m14: f32,
|
|
m3: f32,
|
|
m7: f32,
|
|
m11: f32,
|
|
m15: f32,
|
|
};
|
|
|
|
pub const Color = extern struct {
|
|
r: u8,
|
|
g: u8,
|
|
b: u8,
|
|
a: u8,
|
|
};
|
|
|
|
pub const LIGHTGRAY = Color { .r = 200, .g = 200, .b = 200, .a = 255 };
|
|
pub const GRAY = Color { .r = 130, .g = 130, .b = 130, .a = 255 };
|
|
pub const DARKGRAY = Color { .r = 80, .g = 80, .b = 80, .a = 255 };
|
|
pub const YELLOW = Color { .r = 253, .g = 249, .b = 0, .a = 255 };
|
|
pub const GOLD = Color { .r = 255, .g = 203, .b = 0, .a = 255 };
|
|
pub const ORANGE = Color { .r = 255, .g = 161, .b = 0, .a = 255 };
|
|
pub const PINK = Color { .r = 255, .g = 109, .b = 194, .a = 255 };
|
|
pub const RED = Color { .r = 230, .g = 41, .b = 55, .a = 255 };
|
|
pub const MAROON = Color { .r = 190, .g = 33, .b = 55, .a = 255 };
|
|
pub const GREEN = Color { .r = 0, .g = 228, .b = 48, .a = 255 };
|
|
pub const LIME = Color { .r = 0, .g = 158, .b = 47, .a = 255 };
|
|
pub const DARKGREEN = Color { .r = 0, .g = 117, .b = 44, .a = 255 };
|
|
pub const SKYBLUE = Color { .r = 102, .g = 191, .b = 255, .a = 255 };
|
|
pub const BLUE = Color { .r = 0, .g = 121, .b = 241, .a = 255 };
|
|
pub const DARKBLUE = Color { .r = 0, .g = 82, .b = 172, .a = 255 };
|
|
pub const PURPLE = Color { .r = 200, .g = 122, .b = 255, .a = 255 };
|
|
pub const VIOLET = Color { .r = 135, .g = 60, .b = 190, .a = 255 };
|
|
pub const DARKPURPLE = Color { .r = 112, .g = 31, .b = 126, .a = 255 };
|
|
pub const BEIGE = Color { .r = 211, .g = 176, .b = 131, .a = 255 };
|
|
pub const BROWN = Color { .r = 127, .g = 106, .b = 79, .a = 255 };
|
|
pub const DARKBROWN = Color { .r = 76, .g = 63, .b = 47, .a = 255 };
|
|
|
|
pub const WHITE = Color {.r = 255, .g = 255, .b = 255, .a = 255 };
|
|
pub const BLACK = Color { .r = 0, .g = 0, .b = 0, .a = 255 };
|
|
pub const BLANK = Color { .r = 0, .g = 0, .b = 0, .a = 0 };
|
|
pub const MAGENTA = Color { .r = 255, .g = 0, .b = 255, .a = 255 };
|
|
pub const RAYWHITE = Color { .r = 245, .g = 245, .b = 245, .a = 255 };
|
|
|
|
pub const Rectangle = extern struct {
|
|
x: f32,
|
|
y: f32,
|
|
width: f32,
|
|
height: f32,
|
|
};
|
|
|
|
pub const Image = extern struct {
|
|
data: ?*c_void,
|
|
width: c_int,
|
|
height: c_int,
|
|
mipmaps: c_int,
|
|
format: c_int,
|
|
};
|
|
|
|
pub const Texture2D = extern struct {
|
|
id: c_uint,
|
|
width: c_int,
|
|
height: c_int,
|
|
mipmaps: c_int,
|
|
format: c_int,
|
|
};
|
|
|
|
pub const Texture = Texture2D;
|
|
pub const TextureCubemap = Texture2D;
|
|
|
|
pub const RenderTexture2D = extern struct {
|
|
id: c_uint,
|
|
texture: Texture2D,
|
|
depth: Texture2D,
|
|
depthTexture: bool,
|
|
};
|
|
pub const RenderTexture = RenderTexture2D;
|
|
|
|
pub const NPatchInfo = extern struct {
|
|
sourceRec: Rectangle,
|
|
left: c_int,
|
|
top: c_int,
|
|
right: c_int,
|
|
bottom: c_int,
|
|
type: c_int,
|
|
};
|
|
|
|
pub const CharInfo = extern struct {
|
|
value: c_int,
|
|
offsetX: c_int,
|
|
offsetY: c_int,
|
|
advanceX: c_int,
|
|
image: Image,
|
|
};
|
|
|
|
pub const Font = extern struct {
|
|
baseSize: c_int,
|
|
charsCount: c_int,
|
|
texture: Texture2D,
|
|
recs: [*c]Rectangle,
|
|
chars: [*c]CharInfo,
|
|
};
|
|
|
|
pub const Camera3D = extern struct {
|
|
position: Vector3,
|
|
target: Vector3,
|
|
up: Vector3,
|
|
fovy: f32,
|
|
type: CameraType,
|
|
};
|
|
pub const Camera = Camera3D;
|
|
|
|
pub const Camera2D = extern struct {
|
|
offset: Vector2,
|
|
target: Vector2,
|
|
rotation: f32,
|
|
zoom: f32,
|
|
};
|
|
|
|
pub const Mesh = extern struct {
|
|
vertexCount: c_int,
|
|
triangleCount: c_int,
|
|
vertices: [*c]f32,
|
|
texcoords: [*c]f32,
|
|
texcoords2: [*c]f32,
|
|
normals: [*c]f32,
|
|
tangents: [*c]f32,
|
|
colors: [*c]u8,
|
|
indices: [*c]c_ushort,
|
|
animVertices: [*c]f32,
|
|
animNormals: [*c]f32,
|
|
boneIds: [*c]c_int,
|
|
boneWeights: [*c]f32,
|
|
vaoId: c_uint,
|
|
vboId: [*c]c_uint,
|
|
};
|
|
|
|
pub const Shader = extern struct {
|
|
id: c_uint,
|
|
locs: [*c]c_int,
|
|
};
|
|
|
|
pub const MaterialMap = extern struct {
|
|
texture: Texture2D,
|
|
color: Color,
|
|
value: f32,
|
|
};
|
|
|
|
pub const Material = extern struct {
|
|
shader: Shader,
|
|
maps: [*c]MaterialMap,
|
|
params: [*c]f32,
|
|
};
|
|
|
|
pub const Transform = extern struct {
|
|
translation: Vector3,
|
|
rotation: Quaternion,
|
|
scale: Vector3,
|
|
};
|
|
|
|
pub const BoneInfo = extern struct {
|
|
name: [32]u8,
|
|
parent: c_int,
|
|
};
|
|
|
|
pub const Model = extern struct {
|
|
transform: Matrix,
|
|
meshCount: c_int,
|
|
meshes: [*c]Mesh,
|
|
materialCount: c_int,
|
|
materials: [*c]Material,
|
|
meshMaterial: [*c]c_int,
|
|
boneCount: c_int,
|
|
bones: [*c]BoneInfo,
|
|
bindPose: [*c]Transform,
|
|
};
|
|
|
|
pub const ModelAnimation = extern struct {
|
|
boneCount: c_int,
|
|
bones: [*c]BoneInfo,
|
|
frameCount: c_int,
|
|
framePoses: [*c][*c]Transform,
|
|
};
|
|
|
|
pub const Ray = extern struct {
|
|
position: Vector3,
|
|
direction: Vector3,
|
|
};
|
|
|
|
pub const RayHitInfo = extern struct {
|
|
hit: bool,
|
|
distance: f32,
|
|
position: Vector3,
|
|
normal: Vector3,
|
|
};
|
|
|
|
pub const BoundingBox = extern struct {
|
|
min: Vector3,
|
|
max: Vector3,
|
|
};
|
|
|
|
pub const Wave = extern struct {
|
|
sampleCount: c_uint,
|
|
sampleRate: c_uint,
|
|
sampleSize: c_uint,
|
|
channels: c_uint,
|
|
data: ?*c_void,
|
|
};
|
|
|
|
pub const rAudioBuffer = @OpaqueType();
|
|
pub const AudioStream = extern struct {
|
|
sampleRate: c_uint,
|
|
sampleSize: c_uint,
|
|
channels: c_uint,
|
|
buffer: ?*rAudioBuffer,
|
|
};
|
|
|
|
pub const Sound = extern struct {
|
|
sampleCount: c_uint,
|
|
stream: AudioStream,
|
|
};
|
|
|
|
pub const Music = extern struct {
|
|
ctxType: c_int,
|
|
ctxData: ?*c_void,
|
|
sampleCount: c_uint,
|
|
loopCount: c_uint,
|
|
stream: AudioStream,
|
|
};
|
|
|
|
pub const struct_VrDeviceInfo = extern struct {
|
|
hResolution: c_int,
|
|
vResolution: c_int,
|
|
hScreenSize: f32,
|
|
vScreenSize: f32,
|
|
vScreenCenter: f32,
|
|
eyeToScreenDistance: f32,
|
|
lensSeparationDistance: f32,
|
|
interpupillaryDistance: f32,
|
|
lensDistortionValues: [4]f32,
|
|
chromaAbCorrection: [4]f32,
|
|
};
|
|
const ConfigFlag = extern enum(c_int) {
|
|
FLAG_RESERVED = 1,
|
|
FLAG_FULLSCREEN_MODE = 2,
|
|
FLAG_WINDOW_RESIZABLE = 4,
|
|
FLAG_WINDOW_UNDECORATED = 8,
|
|
FLAG_WINDOW_TRANSPARENT = 16,
|
|
FLAG_WINDOW_HIDDEN = 128,
|
|
FLAG_WINDOW_ALWAYS_RUN = 256,
|
|
FLAG_MSAA_4X_HINT = 32,
|
|
FLAG_VSYNC_HINT = 64,
|
|
};
|
|
|
|
pub const TraceLogType = extern enum(c_int) {
|
|
LOG_ALL = 0,
|
|
LOG_TRACE = 1,
|
|
LOG_DEBUG = 2,
|
|
LOG_INFO = 3,
|
|
LOG_WARNING = 4,
|
|
LOG_ERROR = 5,
|
|
LOG_FATAL = 6,
|
|
LOG_NONE = 7,
|
|
};
|
|
pub const KeyboardKey = extern enum(c_int) {
|
|
KEY_APOSTROPHE = 39,
|
|
KEY_COMMA = 44,
|
|
KEY_MINUS = 45,
|
|
KEY_PERIOD = 46,
|
|
KEY_SLASH = 47,
|
|
KEY_ZERO = 48,
|
|
KEY_ONE = 49,
|
|
KEY_TWO = 50,
|
|
KEY_THREE = 51,
|
|
KEY_FOUR = 52,
|
|
KEY_FIVE = 53,
|
|
KEY_SIX = 54,
|
|
KEY_SEVEN = 55,
|
|
KEY_EIGHT = 56,
|
|
KEY_NINE = 57,
|
|
KEY_SEMICOLON = 59,
|
|
KEY_EQUAL = 61,
|
|
KEY_A = 65,
|
|
KEY_B = 66,
|
|
KEY_C = 67,
|
|
KEY_D = 68,
|
|
KEY_E = 69,
|
|
KEY_F = 70,
|
|
KEY_G = 71,
|
|
KEY_H = 72,
|
|
KEY_I = 73,
|
|
KEY_J = 74,
|
|
KEY_K = 75,
|
|
KEY_L = 76,
|
|
KEY_M = 77,
|
|
KEY_N = 78,
|
|
KEY_O = 79,
|
|
KEY_P = 80,
|
|
KEY_Q = 81,
|
|
KEY_R = 82,
|
|
KEY_S = 83,
|
|
KEY_T = 84,
|
|
KEY_U = 85,
|
|
KEY_V = 86,
|
|
KEY_W = 87,
|
|
KEY_X = 88,
|
|
KEY_Y = 89,
|
|
KEY_Z = 90,
|
|
KEY_SPACE = 32,
|
|
KEY_ESCAPE = 256,
|
|
KEY_ENTER = 257,
|
|
KEY_TAB = 258,
|
|
KEY_BACKSPACE = 259,
|
|
KEY_INSERT = 260,
|
|
KEY_DELETE = 261,
|
|
KEY_RIGHT = 262,
|
|
KEY_LEFT = 263,
|
|
KEY_DOWN = 264,
|
|
KEY_UP = 265,
|
|
KEY_PAGE_UP = 266,
|
|
KEY_PAGE_DOWN = 267,
|
|
KEY_HOME = 268,
|
|
KEY_END = 269,
|
|
KEY_CAPS_LOCK = 280,
|
|
KEY_SCROLL_LOCK = 281,
|
|
KEY_NUM_LOCK = 282,
|
|
KEY_PRINT_SCREEN = 283,
|
|
KEY_PAUSE = 284,
|
|
KEY_F1 = 290,
|
|
KEY_F2 = 291,
|
|
KEY_F3 = 292,
|
|
KEY_F4 = 293,
|
|
KEY_F5 = 294,
|
|
KEY_F6 = 295,
|
|
KEY_F7 = 296,
|
|
KEY_F8 = 297,
|
|
KEY_F9 = 298,
|
|
KEY_F10 = 299,
|
|
KEY_F11 = 300,
|
|
KEY_F12 = 301,
|
|
KEY_LEFT_SHIFT = 340,
|
|
KEY_LEFT_CONTROL = 341,
|
|
KEY_LEFT_ALT = 342,
|
|
KEY_LEFT_SUPER = 343,
|
|
KEY_RIGHT_SHIFT = 344,
|
|
KEY_RIGHT_CONTROL = 345,
|
|
KEY_RIGHT_ALT = 346,
|
|
KEY_RIGHT_SUPER = 347,
|
|
KEY_KB_MENU = 348,
|
|
KEY_LEFT_BRACKET = 91,
|
|
KEY_BACKSLASH = 92,
|
|
KEY_RIGHT_BRACKET = 93,
|
|
KEY_GRAVE = 96,
|
|
KEY_KP_0 = 320,
|
|
KEY_KP_1 = 321,
|
|
KEY_KP_2 = 322,
|
|
KEY_KP_3 = 323,
|
|
KEY_KP_4 = 324,
|
|
KEY_KP_5 = 325,
|
|
KEY_KP_6 = 326,
|
|
KEY_KP_7 = 327,
|
|
KEY_KP_8 = 328,
|
|
KEY_KP_9 = 329,
|
|
KEY_KP_DECIMAL = 330,
|
|
KEY_KP_DIVIDE = 331,
|
|
KEY_KP_MULTIPLY = 332,
|
|
KEY_KP_SUBTRACT = 333,
|
|
KEY_KP_ADD = 334,
|
|
KEY_KP_ENTER = 335,
|
|
KEY_KP_EQUAL = 336,
|
|
};
|
|
|
|
pub const AndroidButton = extern enum(c_int) {
|
|
KEY_BACK = 4,
|
|
KEY_MENU = 82,
|
|
KEY_VOLUME_UP = 24,
|
|
KEY_VOLUME_DOWN = 25,
|
|
};
|
|
|
|
pub const MouseButton = extern enum(c_int) {
|
|
MOUSE_LEFT_BUTTON = 0,
|
|
MOUSE_RIGHT_BUTTON = 1,
|
|
MOUSE_MIDDLE_BUTTON = 2,
|
|
};
|
|
|
|
pub const GamepadNumber = extern enum(c_int) {
|
|
GAMEPAD_PLAYER1 = 0,
|
|
GAMEPAD_PLAYER2 = 1,
|
|
GAMEPAD_PLAYER3 = 2,
|
|
GAMEPAD_PLAYER4 = 3,
|
|
};
|
|
|
|
pub const GamepadButton = extern enum(c_int) {
|
|
GAMEPAD_BUTTON_UNKNOWN = 0,
|
|
GAMEPAD_BUTTON_LEFT_FACE_UP = 1,
|
|
GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2,
|
|
GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3,
|
|
GAMEPAD_BUTTON_LEFT_FACE_LEFT = 4,
|
|
GAMEPAD_BUTTON_RIGHT_FACE_UP = 5,
|
|
GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = 6,
|
|
GAMEPAD_BUTTON_RIGHT_FACE_DOWN = 7,
|
|
GAMEPAD_BUTTON_RIGHT_FACE_LEFT = 8,
|
|
GAMEPAD_BUTTON_LEFT_TRIGGER_1 = 9,
|
|
GAMEPAD_BUTTON_LEFT_TRIGGER_2 = 10,
|
|
GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = 11,
|
|
GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = 12,
|
|
GAMEPAD_BUTTON_MIDDLE_LEFT = 13,
|
|
GAMEPAD_BUTTON_MIDDLE = 14,
|
|
GAMEPAD_BUTTON_MIDDLE_RIGHT = 15,
|
|
GAMEPAD_BUTTON_LEFT_THUMB = 16,
|
|
GAMEPAD_BUTTON_RIGHT_THUMB = 17,
|
|
};
|
|
|
|
pub const GamepadAxis = extern enum(c_int) {
|
|
GAMEPAD_AXIS_UNKNOWN = 0,
|
|
GAMEPAD_AXIS_LEFT_X = 1,
|
|
GAMEPAD_AXIS_LEFT_Y = 2,
|
|
GAMEPAD_AXIS_RIGHT_X = 3,
|
|
GAMEPAD_AXIS_RIGHT_Y = 4,
|
|
GAMEPAD_AXIS_LEFT_TRIGGER = 5,
|
|
GAMEPAD_AXIS_RIGHT_TRIGGER = 6,
|
|
};
|
|
|
|
pub const ShaderLocationIndex = extern enum(c_int) {
|
|
LOC_VERTEX_POSITION = 0,
|
|
LOC_VERTEX_TEXCOORD01 = 1,
|
|
LOC_VERTEX_TEXCOORD02 = 2,
|
|
LOC_VERTEX_NORMAL = 3,
|
|
LOC_VERTEX_TANGENT = 4,
|
|
LOC_VERTEX_COLOR = 5,
|
|
LOC_MATRIX_MVP = 6,
|
|
LOC_MATRIX_MODEL = 7,
|
|
LOC_MATRIX_VIEW = 8,
|
|
LOC_MATRIX_PROJECTION = 9,
|
|
LOC_VECTOR_VIEW = 10,
|
|
LOC_COLOR_DIFFUSE = 11,
|
|
LOC_COLOR_SPECULAR = 12,
|
|
LOC_COLOR_AMBIENT = 13,
|
|
LOC_MAP_ALBEDO = 14,
|
|
LOC_MAP_METALNESS = 15,
|
|
LOC_MAP_NORMAL = 16,
|
|
LOC_MAP_ROUGHNESS = 17,
|
|
LOC_MAP_OCCLUSION = 18,
|
|
LOC_MAP_EMISSION = 19,
|
|
LOC_MAP_HEIGHT = 20,
|
|
LOC_MAP_CUBEMAP = 21,
|
|
LOC_MAP_IRRADIANCE = 22,
|
|
LOC_MAP_PREFILTER = 23,
|
|
LOC_MAP_BRDF = 24,
|
|
};
|
|
|
|
pub const ShaderUniformDataType = extern enum(c_int) {
|
|
UNIFORM_FLOAT = 0,
|
|
UNIFORM_VEC2 = 1,
|
|
UNIFORM_VEC3 = 2,
|
|
UNIFORM_VEC4 = 3,
|
|
UNIFORM_INT = 4,
|
|
UNIFORM_IVEC2 = 5,
|
|
UNIFORM_IVEC3 = 6,
|
|
UNIFORM_IVEC4 = 7,
|
|
UNIFORM_SAMPLER2D = 8,
|
|
};
|
|
|
|
pub const MaterialMapType = extern enum(c_int) {
|
|
MAP_ALBEDO = 0,
|
|
MAP_METALNESS = 1,
|
|
MAP_NORMAL = 2,
|
|
MAP_ROUGHNESS = 3,
|
|
MAP_OCCLUSION = 4,
|
|
MAP_EMISSION = 5,
|
|
MAP_HEIGHT = 6,
|
|
MAP_CUBEMAP = 7,
|
|
MAP_IRRADIANCE = 8,
|
|
MAP_PREFILTER = 9,
|
|
MAP_BRDF = 10,
|
|
};
|
|
|
|
pub const PixelFormat = extern enum(c_int) {
|
|
UNCOMPRESSED_GRAYSCALE = 1,
|
|
UNCOMPRESSED_GRAY_ALPHA = 2,
|
|
UNCOMPRESSED_R5G6B5 = 3,
|
|
UNCOMPRESSED_R8G8B8 = 4,
|
|
UNCOMPRESSED_R5G5B5A1 = 5,
|
|
UNCOMPRESSED_R4G4B4A4 = 6,
|
|
UNCOMPRESSED_R8G8B8A8 = 7,
|
|
UNCOMPRESSED_R32 = 8,
|
|
UNCOMPRESSED_R32G32B32 = 9,
|
|
UNCOMPRESSED_R32G32B32A32 = 10,
|
|
COMPRESSED_DXT1_RGB = 11,
|
|
COMPRESSED_DXT1_RGBA = 12,
|
|
COMPRESSED_DXT3_RGBA = 13,
|
|
COMPRESSED_DXT5_RGBA = 14,
|
|
COMPRESSED_ETC1_RGB = 15,
|
|
COMPRESSED_ETC2_RGB = 16,
|
|
COMPRESSED_ETC2_EAC_RGBA = 17,
|
|
COMPRESSED_PVRT_RGB = 18,
|
|
COMPRESSED_PVRT_RGBA = 19,
|
|
COMPRESSED_ASTC_4x4_RGBA = 20,
|
|
COMPRESSED_ASTC_8x8_RGBA = 21,
|
|
};
|
|
|
|
pub const TextureFilterMode = extern enum(c_int) {
|
|
FILTER_POINT = 0,
|
|
FILTER_BILINEAR = 1,
|
|
FILTER_TRILINEAR = 2,
|
|
FILTER_ANISOTROPIC_4X = 3,
|
|
FILTER_ANISOTROPIC_8X = 4,
|
|
FILTER_ANISOTROPIC_16X = 5,
|
|
};
|
|
|
|
pub const CubemapLayoutType = extern enum(c_int) {
|
|
CUBEMAP_AUTO_DETECT = 0,
|
|
CUBEMAP_LINE_VERTICAL = 1,
|
|
CUBEMAP_LINE_HORIZONTAL = 2,
|
|
CUBEMAP_CROSS_THREE_BY_FOUR = 3,
|
|
CUBEMAP_CROSS_FOUR_BY_THREE = 4,
|
|
CUBEMAP_PANORAMA = 5,
|
|
};
|
|
|
|
pub const TextureWrapMode = extern enum(c_int) {
|
|
WRAP_REPEAT = 0,
|
|
WRAP_CLAMP = 1,
|
|
WRAP_MIRROR_REPEAT = 2,
|
|
WRAP_MIRROR_CLAMP = 3,
|
|
};
|
|
|
|
pub const FontType = extern enum(c_int) {
|
|
FONT_DEFAULT = 0,
|
|
FONT_BITMAP = 1,
|
|
FONT_SDF = 2,
|
|
};
|
|
|
|
pub const BlendMode = extern enum(c_int) {
|
|
BLEND_ALPHA = 0,
|
|
BLEND_ADDITIVE = 1,
|
|
BLEND_MULTIPLIED = 2,
|
|
};
|
|
|
|
pub const GestureType = extern enum(c_int) {
|
|
GESTURE_NONE = 0,
|
|
GESTURE_TAP = 1,
|
|
GESTURE_DOUBLETAP = 2,
|
|
GESTURE_HOLD = 4,
|
|
GESTURE_DRAG = 8,
|
|
GESTURE_SWIPE_RIGHT = 16,
|
|
GESTURE_SWIPE_LEFT = 32,
|
|
GESTURE_SWIPE_UP = 64,
|
|
GESTURE_SWIPE_DOWN = 128,
|
|
GESTURE_PINCH_IN = 256,
|
|
GESTURE_PINCH_OUT = 512,
|
|
};
|
|
|
|
pub const CameraMode = extern enum(c_int) {
|
|
CAMERA_CUSTOM = 0,
|
|
CAMERA_FREE = 1,
|
|
CAMERA_ORBITAL = 2,
|
|
CAMERA_FIRST_PERSON = 3,
|
|
CAMERA_THIRD_PERSON = 4,
|
|
};
|
|
|
|
pub const CameraType = extern enum(c_int) {
|
|
CAMERA_PERSPECTIVE = 0,
|
|
CAMERA_ORTHOGRAPHIC = 1,
|
|
};
|
|
|
|
pub const NPatchType = extern enum(c_int) {
|
|
NPT_9PATCH = 0,
|
|
NPT_3PATCH_VERTICAL = 1,
|
|
NPT_3PATCH_HORIZONTAL = 2,
|
|
};
|
|
|
|
pub extern fn InitWindow(width: c_int, height: c_int, title: [*c]const u8) void;
|
|
pub extern fn WindowShouldClose() bool;
|
|
pub extern fn CloseWindow() void;
|
|
pub extern fn IsWindowReady() bool;
|
|
pub extern fn IsWindowMinimized() bool;
|
|
pub extern fn IsWindowResized() bool;
|
|
pub extern fn IsWindowHidden() bool;
|
|
pub extern fn IsWindowFullscreen() bool;
|
|
pub extern fn ToggleFullscreen() void;
|
|
pub extern fn UnhideWindow() void;
|
|
pub extern fn HideWindow() void;
|
|
pub extern fn SetWindowIcon(image: Image) void;
|
|
pub extern fn SetWindowTitle(title: [*c]const u8) void;
|
|
pub extern fn SetWindowPosition(x: c_int, y: c_int) void;
|
|
pub extern fn SetWindowMonitor(monitor: c_int) void;
|
|
pub extern fn SetWindowMinSize(width: c_int, height: c_int) void;
|
|
pub extern fn SetWindowSize(width: c_int, height: c_int) void;
|
|
pub extern fn GetWindowHandle() ?*c_void;
|
|
pub extern fn GetScreenWidth() c_int;
|
|
pub extern fn GetScreenHeight() c_int;
|
|
pub extern fn GetMonitorCount() c_int;
|
|
pub extern fn GetMonitorWidth(monitor: c_int) c_int;
|
|
pub extern fn GetMonitorHeight(monitor: c_int) c_int;
|
|
pub extern fn GetMonitorPhysicalWidth(monitor: c_int) c_int;
|
|
pub extern fn GetMonitorPhysicalHeight(monitor: c_int) c_int;
|
|
pub extern fn GetWindowPosition() Vector2;
|
|
pub extern fn GetMonitorName(monitor: c_int) [*c]const u8;
|
|
pub extern fn GetClipboardText() [*c]const u8;
|
|
pub extern fn SetClipboardText(text: [*c]const u8) void;
|
|
pub extern fn ShowCursor() void;
|
|
pub extern fn HideCursor() void;
|
|
pub extern fn IsCursorHidden() bool;
|
|
pub extern fn EnableCursor() void;
|
|
pub extern fn DisableCursor() void;
|
|
pub extern fn ClearBackground(color: Color) void;
|
|
pub extern fn BeginDrawing() void;
|
|
pub extern fn EndDrawing() void;
|
|
pub extern fn BeginMode2D(camera: Camera2D) void;
|
|
pub extern fn EndMode2D() void;
|
|
pub extern fn BeginMode3D(camera: Camera3D) void;
|
|
pub extern fn EndMode3D() void;
|
|
pub extern fn BeginTextureMode(target: RenderTexture2D) void;
|
|
pub extern fn EndTextureMode() void;
|
|
pub extern fn BeginScissorMode(x: c_int, y: c_int, width: c_int, height: c_int) void;
|
|
pub extern fn EndScissorMode() void;
|
|
pub extern fn GetMouseRay(mousePosition: Vector2, camera: Camera) Ray;
|
|
pub extern fn GetCameraMatrix(camera: Camera) Matrix;
|
|
pub extern fn GetCameraMatrix2D(camera: Camera2D) Matrix;
|
|
pub extern fn GetWorldToScreen(position: Vector3, camera: Camera) Vector2;
|
|
pub extern fn GetWorldToScreenEx(position: Vector3, camera: Camera, width: c_int, height: c_int) Vector2;
|
|
pub extern fn GetWorldToScreen2D(position: Vector2, camera: Camera2D) Vector2;
|
|
pub extern fn GetScreenToWorld2D(position: Vector2, camera: Camera2D) Vector2;
|
|
pub extern fn SetTargetFPS(fps: c_int) void;
|
|
pub extern fn GetFPS() c_int;
|
|
pub extern fn GetFrameTime() f32;
|
|
pub extern fn GetTime() f64;
|
|
pub extern fn ColorToInt(color: Color) c_int;
|
|
pub extern fn ColorNormalize(color: Color) Vector4;
|
|
pub extern fn ColorFromNormalized(normalized: Vector4) Color;
|
|
pub extern fn ColorToHSV(color: Color) Vector3;
|
|
pub extern fn ColorFromHSV(hsv: Vector3) Color;
|
|
pub extern fn GetColor(hexValue: c_int) Color;
|
|
pub extern fn Fade(color: Color, alpha: f32) Color;
|
|
pub extern fn SetConfigFlags(flags: c_uint) void;
|
|
pub extern fn SetTraceLogLevel(logType: c_int) void;
|
|
pub extern fn SetTraceLogExit(logType: c_int) void;
|
|
pub extern fn SetTraceLogCallback(callback: TraceLogCallback) void;
|
|
pub extern fn TraceLog(logType: c_int, text: [*c]const u8, ...) void;
|
|
pub extern fn TakeScreenshot(fileName: [*c]const u8) void;
|
|
pub extern fn GetRandomValue(min: c_int, max: c_int) c_int;
|
|
pub extern fn LoadFileData(fileName: [*c]const u8, bytesRead: [*c]c_uint) [*c]u8;
|
|
pub extern fn SaveFileData(fileName: [*c]const u8, data: ?*c_void, bytesToWrite: c_uint) void;
|
|
pub extern fn LoadFileText(fileName: [*c]const u8) [*c]u8;
|
|
pub extern fn SaveFileText(fileName: [*c]const u8, text: [*c]u8) void;
|
|
pub extern fn FileExists(fileName: [*c]const u8) bool;
|
|
pub extern fn IsFileExtension(fileName: [*c]const u8, ext: [*c]const u8) bool;
|
|
pub extern fn DirectoryExists(dirPath: [*c]const u8) bool;
|
|
pub extern fn GetExtension(fileName: [*c]const u8) [*c]const u8;
|
|
pub extern fn GetFileName(filePath: [*c]const u8) [*c]const u8;
|
|
pub extern fn GetFileNameWithoutExt(filePath: [*c]const u8) [*c]const u8;
|
|
pub extern fn GetDirectoryPath(filePath: [*c]const u8) [*c]const u8;
|
|
pub extern fn GetPrevDirectoryPath(dirPath: [*c]const u8) [*c]const u8;
|
|
pub extern fn GetWorkingDirectory() [*c]const u8;
|
|
pub extern fn GetDirectoryFiles(dirPath: [*c]const u8, count: [*c]c_int) [*c][*c]u8;
|
|
pub extern fn ClearDirectoryFiles() void;
|
|
pub extern fn ChangeDirectory(dir: [*c]const u8) bool;
|
|
pub extern fn IsFileDropped() bool;
|
|
pub extern fn GetDroppedFiles(count: [*c]c_int) [*c][*c]u8;
|
|
pub extern fn ClearDroppedFiles() void;
|
|
pub extern fn GetFileModTime(fileName: [*c]const u8) c_long;
|
|
pub extern fn CompressData(data: [*c]u8, dataLength: c_int, compDataLength: [*c]c_int) [*c]u8;
|
|
pub extern fn DecompressData(compData: [*c]u8, compDataLength: c_int, dataLength: [*c]c_int) [*c]u8;
|
|
pub extern fn SaveStorageValue(position: c_uint, value: c_int) void;
|
|
pub extern fn LoadStorageValue(position: c_uint) c_int;
|
|
pub extern fn OpenURL(url: [*c]const u8) void;
|
|
pub extern fn IsKeyPressed(key: KeyboardKey) bool;
|
|
pub extern fn IsKeyDown(key: KeyboardKey) bool;
|
|
pub extern fn IsKeyReleased(key: KeyboardKey) bool;
|
|
pub extern fn IsKeyUp(key: KeyboardKey) bool;
|
|
pub extern fn GetKeyPressed() KeyboardKey;
|
|
pub extern fn SetExitKey(key: KeyboardKey) void;
|
|
pub extern fn IsGamepadAvailable(gamepad: c_int) bool;
|
|
pub extern fn IsGamepadName(gamepad: c_int, name: [*c]const u8) bool;
|
|
pub extern fn GetGamepadName(gamepad: c_int) [*c]const u8;
|
|
pub extern fn IsGamepadButtonPressed(gamepad: c_int, button: c_int) bool;
|
|
pub extern fn IsGamepadButtonDown(gamepad: c_int, button: c_int) bool;
|
|
pub extern fn IsGamepadButtonReleased(gamepad: c_int, button: c_int) bool;
|
|
pub extern fn IsGamepadButtonUp(gamepad: c_int, button: c_int) bool;
|
|
pub extern fn GetGamepadButtonPressed() c_int;
|
|
pub extern fn GetGamepadAxisCount(gamepad: c_int) c_int;
|
|
pub extern fn GetGamepadAxisMovement(gamepad: c_int, axis: c_int) f32;
|
|
pub extern fn IsMouseButtonPressed(button: MouseButton) bool;
|
|
pub extern fn IsMouseButtonDown(button: MouseButton) bool;
|
|
pub extern fn IsMouseButtonReleased(button: MouseButton) bool;
|
|
pub extern fn IsMouseButtonUp(button: MouseButton) bool;
|
|
pub extern fn GetMouseX() c_int;
|
|
pub extern fn GetMouseY() c_int;
|
|
pub extern fn GetMousePosition() Vector2;
|
|
pub extern fn SetMousePosition(x: c_int, y: c_int) void;
|
|
pub extern fn SetMouseOffset(offsetX: c_int, offsetY: c_int) void;
|
|
pub extern fn SetMouseScale(scaleX: f32, scaleY: f32) void;
|
|
pub extern fn GetMouseWheelMove() c_int;
|
|
pub extern fn GetTouchX() c_int;
|
|
pub extern fn GetTouchY() c_int;
|
|
pub extern fn GetTouchPosition(index: c_int) Vector2;
|
|
pub extern fn SetGesturesEnabled(gestureFlags: c_uint) void;
|
|
pub extern fn IsGestureDetected(gesture: c_int) bool;
|
|
pub extern fn GetGestureDetected() c_int;
|
|
pub extern fn GetTouchPointsCount() c_int;
|
|
pub extern fn GetGestureHoldDuration() f32;
|
|
pub extern fn GetGestureDragVector() Vector2;
|
|
pub extern fn GetGestureDragAngle() f32;
|
|
pub extern fn GetGesturePinchVector() Vector2;
|
|
pub extern fn GetGesturePinchAngle() f32;
|
|
pub extern fn SetCameraMode(camera: Camera, mode: CameraMode) void;
|
|
pub extern fn UpdateCamera(camera: [*c]Camera) void;
|
|
pub extern fn SetCameraPanControl(panKey: c_int) void;
|
|
pub extern fn SetCameraAltControl(altKey: c_int) void;
|
|
pub extern fn SetCameraSmoothZoomControl(szKey: c_int) void;
|
|
pub extern fn SetCameraMoveControls(frontKey: c_int, backKey: c_int, rightKey: c_int, leftKey: c_int, upKey: c_int, downKey: c_int) void;
|
|
pub extern fn DrawPixel(posX: c_int, posY: c_int, color: Color) void;
|
|
pub extern fn DrawPixelV(position: Vector2, color: Color) void;
|
|
pub extern fn DrawLine(startPosX: c_int, startPosY: c_int, endPosX: c_int, endPosY: c_int, color: Color) void;
|
|
pub extern fn DrawLineV(startPos: Vector2, endPos: Vector2, color: Color) void;
|
|
pub extern fn DrawLineEx(startPos: Vector2, endPos: Vector2, thick: f32, color: Color) void;
|
|
pub extern fn DrawLineBezier(startPos: Vector2, endPos: Vector2, thick: f32, color: Color) void;
|
|
pub extern fn DrawLineStrip(points: [*c]Vector2, numPoints: c_int, color: Color) void;
|
|
pub extern fn DrawCircle(centerX: c_int, centerY: c_int, radius: f32, color: Color) void;
|
|
pub extern fn DrawCircleSector(center: Vector2, radius: f32, startAngle: c_int, endAngle: c_int, segments: c_int, color: Color) void;
|
|
pub extern fn DrawCircleSectorLines(center: Vector2, radius: f32, startAngle: c_int, endAngle: c_int, segments: c_int, color: Color) void;
|
|
pub extern fn DrawCircleGradient(centerX: c_int, centerY: c_int, radius: f32, color1: Color, color2: Color) void;
|
|
pub extern fn DrawCircleV(center: Vector2, radius: f32, color: Color) void;
|
|
pub extern fn DrawCircleLines(centerX: c_int, centerY: c_int, radius: f32, color: Color) void;
|
|
pub extern fn DrawEllipse(centerX: c_int, centerY: c_int, radiusH: f32, radiusV: f32, color: Color) void;
|
|
pub extern fn DrawEllipseLines(centerX: c_int, centerY: c_int, radiusH: f32, radiusV: f32, color: Color) void;
|
|
pub extern fn DrawRing(center: Vector2, innerRadius: f32, outerRadius: f32, startAngle: c_int, endAngle: c_int, segments: c_int, color: Color) void;
|
|
pub extern fn DrawRingLines(center: Vector2, innerRadius: f32, outerRadius: f32, startAngle: c_int, endAngle: c_int, segments: c_int, color: Color) void;
|
|
pub extern fn DrawRectangle(posX: c_int, posY: c_int, width: c_int, height: c_int, color: Color) void;
|
|
pub extern fn DrawRectangleV(position: Vector2, size: Vector2, color: Color) void;
|
|
pub extern fn DrawRectangleRec(rec: Rectangle, color: Color) void;
|
|
pub extern fn DrawRectanglePro(rec: Rectangle, origin: Vector2, rotation: f32, color: Color) void;
|
|
pub extern fn DrawRectangleGradientV(posX: c_int, posY: c_int, width: c_int, height: c_int, color1: Color, color2: Color) void;
|
|
pub extern fn DrawRectangleGradientH(posX: c_int, posY: c_int, width: c_int, height: c_int, color1: Color, color2: Color) void;
|
|
pub extern fn DrawRectangleGradientEx(rec: Rectangle, col1: Color, col2: Color, col3: Color, col4: Color) void;
|
|
pub extern fn DrawRectangleLines(posX: c_int, posY: c_int, width: c_int, height: c_int, color: Color) void;
|
|
pub extern fn DrawRectangleLinesEx(rec: Rectangle, lineThick: c_int, color: Color) void;
|
|
pub extern fn DrawRectangleRounded(rec: Rectangle, roundness: f32, segments: c_int, color: Color) void;
|
|
pub extern fn DrawRectangleRoundedLines(rec: Rectangle, roundness: f32, segments: c_int, lineThick: c_int, color: Color) void;
|
|
pub extern fn DrawTriangle(v1: Vector2, v2: Vector2, v3: Vector2, color: Color) void;
|
|
pub extern fn DrawTriangleLines(v1: Vector2, v2: Vector2, v3: Vector2, color: Color) void;
|
|
pub extern fn DrawTriangleFan(points: [*c]Vector2, numPoints: c_int, color: Color) void;
|
|
pub extern fn DrawTriangleStrip(points: [*c]Vector2, pointsCount: c_int, color: Color) void;
|
|
pub extern fn DrawPoly(center: Vector2, sides: c_int, radius: f32, rotation: f32, color: Color) void;
|
|
pub extern fn DrawPolyLines(center: Vector2, sides: c_int, radius: f32, rotation: f32, color: Color) void;
|
|
pub extern fn CheckCollisionRecs(rec1: Rectangle, rec2: Rectangle) bool;
|
|
pub extern fn CheckCollisionCircles(center1: Vector2, radius1: f32, center2: Vector2, radius2: f32) bool;
|
|
pub extern fn CheckCollisionCircleRec(center: Vector2, radius: f32, rec: Rectangle) bool;
|
|
pub extern fn GetCollisionRec(rec1: Rectangle, rec2: Rectangle) Rectangle;
|
|
pub extern fn CheckCollisionPointRec(point: Vector2, rec: Rectangle) bool;
|
|
pub extern fn CheckCollisionPointCircle(point: Vector2, center: Vector2, radius: f32) bool;
|
|
pub extern fn CheckCollisionPointTriangle(point: Vector2, p1: Vector2, p2: Vector2, p3: Vector2) bool;
|
|
pub extern fn LoadImage(fileName: [*c]const u8) Image;
|
|
pub extern fn LoadImageEx(pixels: [*c]Color, width: c_int, height: c_int) Image;
|
|
pub extern fn LoadImagePro(data: ?*c_void, width: c_int, height: c_int, format: c_int) Image;
|
|
pub extern fn LoadImageRaw(fileName: [*c]const u8, width: c_int, height: c_int, format: c_int, headerSize: c_int) Image;
|
|
pub extern fn UnloadImage(image: Image) void;
|
|
pub extern fn ExportImage(image: Image, fileName: [*c]const u8) void;
|
|
pub extern fn ExportImageAsCode(image: Image, fileName: [*c]const u8) void;
|
|
pub extern fn GetImageData(image: Image) [*c]Color;
|
|
pub extern fn GetImageDataNormalized(image: Image) [*c]Vector4;
|
|
pub extern fn GenImageColor(width: c_int, height: c_int, color: Color) Image;
|
|
pub extern fn GenImageGradientV(width: c_int, height: c_int, top: Color, bottom: Color) Image;
|
|
pub extern fn GenImageGradientH(width: c_int, height: c_int, left: Color, right: Color) Image;
|
|
pub extern fn GenImageGradientRadial(width: c_int, height: c_int, density: f32, inner: Color, outer: Color) Image;
|
|
pub extern fn GenImageChecked(width: c_int, height: c_int, checksX: c_int, checksY: c_int, col1: Color, col2: Color) Image;
|
|
pub extern fn GenImageWhiteNoise(width: c_int, height: c_int, factor: f32) Image;
|
|
pub extern fn GenImagePerlinNoise(width: c_int, height: c_int, offsetX: c_int, offsetY: c_int, scale: f32) Image;
|
|
pub extern fn GenImageCellular(width: c_int, height: c_int, tileSize: c_int) Image;
|
|
pub extern fn ImageCopy(image: Image) Image;
|
|
pub extern fn ImageFromImage(image: Image, rec: Rectangle) Image;
|
|
pub extern fn ImageText(text: [*c]const u8, fontSize: c_int, color: Color) Image;
|
|
pub extern fn ImageTextEx(font: Font, text: [*c]const u8, fontSize: f32, spacing: f32, tint: Color) Image;
|
|
pub extern fn ImageToPOT(image: [*c]Image, fillColor: Color) void;
|
|
pub extern fn ImageFormat(image: [*c]Image, newFormat: c_int) void;
|
|
pub extern fn ImageAlphaMask(image: [*c]Image, alphaMask: Image) void;
|
|
pub extern fn ImageAlphaClear(image: [*c]Image, color: Color, threshold: f32) void;
|
|
pub extern fn ImageAlphaCrop(image: [*c]Image, threshold: f32) void;
|
|
pub extern fn ImageAlphaPremultiply(image: [*c]Image) void;
|
|
pub extern fn ImageCrop(image: [*c]Image, crop: Rectangle) void;
|
|
pub extern fn ImageResize(image: [*c]Image, newWidth: c_int, newHeight: c_int) void;
|
|
pub extern fn ImageResizeNN(image: [*c]Image, newWidth: c_int, newHeight: c_int) void;
|
|
pub extern fn ImageResizeCanvas(image: [*c]Image, newWidth: c_int, newHeight: c_int, offsetX: c_int, offsetY: c_int, color: Color) void;
|
|
pub extern fn ImageMipmaps(image: [*c]Image) void;
|
|
pub extern fn ImageDither(image: [*c]Image, rBpp: c_int, gBpp: c_int, bBpp: c_int, aBpp: c_int) void;
|
|
pub extern fn ImageFlipVertical(image: [*c]Image) void;
|
|
pub extern fn ImageFlipHorizontal(image: [*c]Image) void;
|
|
pub extern fn ImageRotateCW(image: [*c]Image) void;
|
|
pub extern fn ImageRotateCCW(image: [*c]Image) void;
|
|
pub extern fn ImageColorTint(image: [*c]Image, color: Color) void;
|
|
pub extern fn ImageColorInvert(image: [*c]Image) void;
|
|
pub extern fn ImageColorGrayscale(image: [*c]Image) void;
|
|
pub extern fn ImageColorContrast(image: [*c]Image, contrast: f32) void;
|
|
pub extern fn ImageColorBrightness(image: [*c]Image, brightness: c_int) void;
|
|
pub extern fn ImageColorReplace(image: [*c]Image, color: Color, replace: Color) void;
|
|
pub extern fn ImageExtractPalette(image: Image, maxPaletteSize: c_int, extractCount: [*c]c_int) [*c]Color;
|
|
pub extern fn GetImageAlphaBorder(image: Image, threshold: f32) Rectangle;
|
|
pub extern fn ImageClearBackground(dst: [*c]Image, color: Color) void;
|
|
pub extern fn ImageDrawPixel(dst: [*c]Image, posX: c_int, posY: c_int, color: Color) void;
|
|
pub extern fn ImageDrawPixelV(dst: [*c]Image, position: Vector2, color: Color) void;
|
|
pub extern fn ImageDrawLine(dst: [*c]Image, startPosX: c_int, startPosY: c_int, endPosX: c_int, endPosY: c_int, color: Color) void;
|
|
pub extern fn ImageDrawLineV(dst: [*c]Image, start: Vector2, end: Vector2, color: Color) void;
|
|
pub extern fn ImageDrawCircle(dst: [*c]Image, centerX: c_int, centerY: c_int, radius: c_int, color: Color) void;
|
|
pub extern fn ImageDrawCircleV(dst: [*c]Image, center: Vector2, radius: c_int, color: Color) void;
|
|
pub extern fn ImageDrawRectangle(dst: [*c]Image, posX: c_int, posY: c_int, width: c_int, height: c_int, color: Color) void;
|
|
pub extern fn ImageDrawRectangleV(dst: [*c]Image, position: Vector2, size: Vector2, color: Color) void;
|
|
pub extern fn ImageDrawRectangleRec(dst: [*c]Image, rec: Rectangle, color: Color) void;
|
|
pub extern fn ImageDrawRectangleLines(dst: [*c]Image, rec: Rectangle, thick: c_int, color: Color) void;
|
|
pub extern fn ImageDraw(dst: [*c]Image, src: Image, srcRec: Rectangle, dstRec: Rectangle, tint: Color) void;
|
|
pub extern fn ImageDrawText(dst: [*c]Image, position: Vector2, text: [*c]const u8, fontSize: c_int, color: Color) void;
|
|
pub extern fn ImageDrawTextEx(dst: [*c]Image, position: Vector2, font: Font, text: [*c]const u8, fontSize: f32, spacing: f32, color: Color) void;
|
|
pub extern fn LoadTexture(fileName: [*c]const u8) Texture2D;
|
|
pub extern fn LoadTextureFromImage(image: Image) Texture2D;
|
|
pub extern fn LoadTextureCubemap(image: Image, layoutType: c_int) TextureCubemap;
|
|
pub extern fn LoadRenderTexture(width: c_int, height: c_int) RenderTexture2D;
|
|
pub extern fn UnloadTexture(texture: Texture2D) void;
|
|
pub extern fn UnloadRenderTexture(target: RenderTexture2D) void;
|
|
pub extern fn UpdateTexture(texture: Texture2D, pixels: ?*const c_void) void;
|
|
pub extern fn GetTextureData(texture: Texture2D) Image;
|
|
pub extern fn GetScreenData() Image;
|
|
pub extern fn GenTextureMipmaps(texture: [*c]Texture2D) void;
|
|
pub extern fn SetTextureFilter(texture: Texture2D, filterMode: c_int) void;
|
|
pub extern fn SetTextureWrap(texture: Texture2D, wrapMode: c_int) void;
|
|
pub extern fn DrawTexture(texture: Texture2D, posX: c_int, posY: c_int, tint: Color) void;
|
|
pub extern fn DrawTextureV(texture: Texture2D, position: Vector2, tint: Color) void;
|
|
pub extern fn DrawTextureEx(texture: Texture2D, position: Vector2, rotation: f32, scale: f32, tint: Color) void;
|
|
pub extern fn DrawTextureRec(texture: Texture2D, sourceRec: Rectangle, position: Vector2, tint: Color) void;
|
|
pub extern fn DrawTextureQuad(texture: Texture2D, tiling: Vector2, offset: Vector2, quad: Rectangle, tint: Color) void;
|
|
pub extern fn DrawTexturePro(texture: Texture2D, sourceRec: Rectangle, destRec: Rectangle, origin: Vector2, rotation: f32, tint: Color) void;
|
|
pub extern fn DrawTextureNPatch(texture: Texture2D, nPatchInfo: NPatchInfo, destRec: Rectangle, origin: Vector2, rotation: f32, tint: Color) void;
|
|
pub extern fn GetPixelDataSize(width: c_int, height: c_int, format: c_int) c_int;
|
|
pub extern fn GetFontDefault() Font;
|
|
pub extern fn LoadFont(fileName: [*c]const u8) Font;
|
|
pub extern fn LoadFontEx(fileName: [*c]const u8, fontSize: c_int, fontChars: [*c]c_int, charsCount: c_int) Font;
|
|
pub extern fn LoadFontFromImage(image: Image, key: Color, firstChar: c_int) Font;
|
|
pub extern fn LoadFontData(fileName: [*c]const u8, fontSize: c_int, fontChars: [*c]c_int, charsCount: c_int, type: c_int) [*c]CharInfo;
|
|
pub extern fn GenImageFontAtlas(chars: [*c]const CharInfo, recs: [*c][*c]Rectangle, charsCount: c_int, fontSize: c_int, padding: c_int, packMethod: c_int) Image;
|
|
pub extern fn UnloadFont(font: Font) void;
|
|
pub extern fn DrawFPS(posX: c_int, posY: c_int) void;
|
|
pub extern fn DrawText(text: [*c]const u8, posX: c_int, posY: c_int, fontSize: c_int, color: Color) void;
|
|
pub extern fn DrawTextEx(font: Font, text: [*c]const u8, position: Vector2, fontSize: f32, spacing: f32, tint: Color) void;
|
|
pub extern fn DrawTextRec(font: Font, text: [*c]const u8, rec: Rectangle, fontSize: f32, spacing: f32, wordWrap: bool, tint: Color) void;
|
|
pub extern fn DrawTextRecEx(font: Font, text: [*c]const u8, rec: Rectangle, fontSize: f32, spacing: f32, wordWrap: bool, tint: Color, selectStart: c_int, selectLength: c_int, selectTint: Color, selectBackTint: Color) void;
|
|
pub extern fn DrawTextCodepoint(font: Font, codepoint: c_int, position: Vector2, scale: f32, tint: Color) void;
|
|
pub extern fn MeasureText(text: [*c]const u8, fontSize: c_int) c_int;
|
|
pub extern fn MeasureTextEx(font: Font, text: [*c]const u8, fontSize: f32, spacing: f32) Vector2;
|
|
pub extern fn GetGlyphIndex(font: Font, codepoint: c_int) c_int;
|
|
pub extern fn TextCopy(dst: [*c]u8, src: [*c]const u8) c_int;
|
|
pub extern fn TextIsEqual(text1: [*c]const u8, text2: [*c]const u8) bool;
|
|
pub extern fn TextLength(text: [*c]const u8) c_uint;
|
|
pub extern fn TextFormat(text: [*c]const u8, ...) [*c]const u8;
|
|
pub extern fn TextSubtext(text: [*c]const u8, position: c_int, length: c_int) [*c]const u8;
|
|
pub extern fn TextReplace(text: [*c]u8, replace: [*c]const u8, by: [*c]const u8) [*c]u8;
|
|
pub extern fn TextInsert(text: [*c]const u8, insert: [*c]const u8, position: c_int) [*c]u8;
|
|
pub extern fn TextJoin(textList: [*c][*c]const u8, count: c_int, delimiter: [*c]const u8) [*c]const u8;
|
|
pub extern fn TextSplit(text: [*c]const u8, delimiter: u8, count: [*c]c_int) [*c][*c]const u8;
|
|
pub extern fn TextAppend(text: [*c]u8, append: [*c]const u8, position: [*c]c_int) void;
|
|
pub extern fn TextFindIndex(text: [*c]const u8, find: [*c]const u8) c_int;
|
|
pub extern fn TextToUpper(text: [*c]const u8) [*c]const u8;
|
|
pub extern fn TextToLower(text: [*c]const u8) [*c]const u8;
|
|
pub extern fn TextToPascal(text: [*c]const u8) [*c]const u8;
|
|
pub extern fn TextToInteger(text: [*c]const u8) c_int;
|
|
pub extern fn TextToUtf8(codepoints: [*c]c_int, length: c_int) [*c]u8;
|
|
pub extern fn GetCodepoints(text: [*c]const u8, count: [*c]c_int) [*c]c_int;
|
|
pub extern fn GetCodepointsCount(text: [*c]const u8) c_int;
|
|
pub extern fn GetNextCodepoint(text: [*c]const u8, bytesProcessed: [*c]c_int) c_int;
|
|
pub extern fn CodepointToUtf8(codepoint: c_int, byteLength: [*c]c_int) [*c]const u8;
|
|
pub extern fn DrawLine3D(startPos: Vector3, endPos: Vector3, color: Color) void;
|
|
pub extern fn DrawPoint3D(position: Vector3, color: Color) void;
|
|
pub extern fn DrawCircle3D(center: Vector3, radius: f32, rotationAxis: Vector3, rotationAngle: f32, color: Color) void;
|
|
pub extern fn DrawCube(position: Vector3, width: f32, height: f32, length: f32, color: Color) void;
|
|
pub extern fn DrawCubeV(position: Vector3, size: Vector3, color: Color) void;
|
|
pub extern fn DrawCubeWires(position: Vector3, width: f32, height: f32, length: f32, color: Color) void;
|
|
pub extern fn DrawCubeWiresV(position: Vector3, size: Vector3, color: Color) void;
|
|
pub extern fn DrawCubeTexture(texture: Texture2D, position: Vector3, width: f32, height: f32, length: f32, color: Color) void;
|
|
pub extern fn DrawSphere(centerPos: Vector3, radius: f32, color: Color) void;
|
|
pub extern fn DrawSphereEx(centerPos: Vector3, radius: f32, rings: c_int, slices: c_int, color: Color) void;
|
|
pub extern fn DrawSphereWires(centerPos: Vector3, radius: f32, rings: c_int, slices: c_int, color: Color) void;
|
|
pub extern fn DrawCylinder(position: Vector3, radiusTop: f32, radiusBottom: f32, height: f32, slices: c_int, color: Color) void;
|
|
pub extern fn DrawCylinderWires(position: Vector3, radiusTop: f32, radiusBottom: f32, height: f32, slices: c_int, color: Color) void;
|
|
pub extern fn DrawPlane(centerPos: Vector3, size: Vector2, color: Color) void;
|
|
pub extern fn DrawRay(ray: Ray, color: Color) void;
|
|
pub extern fn DrawGrid(slices: c_int, spacing: f32) void;
|
|
pub extern fn DrawGizmo(position: Vector3) void;
|
|
pub extern fn LoadModel(fileName: [*c]const u8) Model;
|
|
pub extern fn LoadModelFromMesh(mesh: Mesh) Model;
|
|
pub extern fn UnloadModel(model: Model) void;
|
|
pub extern fn LoadMeshes(fileName: [*c]const u8, meshCount: [*c]c_int) [*c]Mesh;
|
|
pub extern fn ExportMesh(mesh: Mesh, fileName: [*c]const u8) void;
|
|
pub extern fn UnloadMesh(mesh: Mesh) void;
|
|
pub extern fn LoadMaterials(fileName: [*c]const u8, materialCount: [*c]c_int) [*c]Material;
|
|
pub extern fn LoadMaterialDefault() Material;
|
|
pub extern fn UnloadMaterial(material: Material) void;
|
|
pub extern fn SetMaterialTexture(material: [*c]Material, mapType: c_int, texture: Texture2D) void;
|
|
pub extern fn SetModelMeshMaterial(model: [*c]Model, meshId: c_int, materialId: c_int) void;
|
|
pub extern fn LoadModelAnimations(fileName: [*c]const u8, animsCount: [*c]c_int) [*c]ModelAnimation;
|
|
pub extern fn UpdateModelAnimation(model: Model, anim: ModelAnimation, frame: c_int) void;
|
|
pub extern fn UnloadModelAnimation(anim: ModelAnimation) void;
|
|
pub extern fn IsModelAnimationValid(model: Model, anim: ModelAnimation) bool;
|
|
pub extern fn GenMeshPoly(sides: c_int, radius: f32) Mesh;
|
|
pub extern fn GenMeshPlane(width: f32, length: f32, resX: c_int, resZ: c_int) Mesh;
|
|
pub extern fn GenMeshCube(width: f32, height: f32, length: f32) Mesh;
|
|
pub extern fn GenMeshSphere(radius: f32, rings: c_int, slices: c_int) Mesh;
|
|
pub extern fn GenMeshHemiSphere(radius: f32, rings: c_int, slices: c_int) Mesh;
|
|
pub extern fn GenMeshCylinder(radius: f32, height: f32, slices: c_int) Mesh;
|
|
pub extern fn GenMeshTorus(radius: f32, size: f32, radSeg: c_int, sides: c_int) Mesh;
|
|
pub extern fn GenMeshKnot(radius: f32, size: f32, radSeg: c_int, sides: c_int) Mesh;
|
|
pub extern fn GenMeshHeightmap(heightmap: Image, size: Vector3) Mesh;
|
|
pub extern fn GenMeshCubicmap(cubicmap: Image, cubeSize: Vector3) Mesh;
|
|
pub extern fn MeshBoundingBox(mesh: Mesh) BoundingBox;
|
|
pub extern fn MeshTangents(mesh: [*c]Mesh) void;
|
|
pub extern fn MeshBinormals(mesh: [*c]Mesh) void;
|
|
pub extern fn DrawModel(model: Model, position: Vector3, scale: f32, tint: Color) void;
|
|
pub extern fn DrawModelEx(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: f32, scale: Vector3, tint: Color) void;
|
|
pub extern fn DrawModelWires(model: Model, position: Vector3, scale: f32, tint: Color) void;
|
|
pub extern fn DrawModelWiresEx(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: f32, scale: Vector3, tint: Color) void;
|
|
pub extern fn DrawBoundingBox(box: BoundingBox, color: Color) void;
|
|
pub extern fn DrawBillboard(camera: Camera, texture: Texture2D, center: Vector3, size: f32, tint: Color) void;
|
|
pub extern fn DrawBillboardRec(camera: Camera, texture: Texture2D, sourceRec: Rectangle, center: Vector3, size: f32, tint: Color) void;
|
|
pub extern fn CheckCollisionSpheres(centerA: Vector3, radiusA: f32, centerB: Vector3, radiusB: f32) bool;
|
|
pub extern fn CheckCollisionBoxes(box1: BoundingBox, box2: BoundingBox) bool;
|
|
pub extern fn CheckCollisionBoxSphere(box: BoundingBox, center: Vector3, radius: f32) bool;
|
|
pub extern fn CheckCollisionRaySphere(ray: Ray, center: Vector3, radius: f32) bool;
|
|
pub extern fn CheckCollisionRaySphereEx(ray: Ray, center: Vector3, radius: f32, collisionPoint: [*c]Vector3) bool;
|
|
pub extern fn CheckCollisionRayBox(ray: Ray, box: BoundingBox) bool;
|
|
pub extern fn GetCollisionRayModel(ray: Ray, model: Model) RayHitInfo;
|
|
pub extern fn GetCollisionRayTriangle(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3) RayHitInfo;
|
|
pub extern fn GetCollisionRayGround(ray: Ray, groundHeight: f32) RayHitInfo;
|
|
pub extern fn LoadShader(vsFileName: [*c]const u8, fsFileName: [*c]const u8) Shader;
|
|
pub extern fn LoadShaderCode(vsCode: [*c]const u8, fsCode: [*c]const u8) Shader;
|
|
pub extern fn UnloadShader(shader: Shader) void;
|
|
pub extern fn GetShaderDefault() Shader;
|
|
pub extern fn GetTextureDefault() Texture2D;
|
|
pub extern fn GetShapesTexture() Texture2D;
|
|
pub extern fn GetShapesTextureRec() Rectangle;
|
|
pub extern fn SetShapesTexture(texture: Texture2D, source: Rectangle) void;
|
|
pub extern fn GetShaderLocation(shader: Shader, uniformName: [*c]const u8) c_int;
|
|
pub extern fn SetShaderValue(shader: Shader, uniformLoc: c_int, value: ?*const c_void, uniformType: c_int) void;
|
|
pub extern fn SetShaderValueV(shader: Shader, uniformLoc: c_int, value: ?*const c_void, uniformType: c_int, count: c_int) void;
|
|
pub extern fn SetShaderValueMatrix(shader: Shader, uniformLoc: c_int, mat: Matrix) void;
|
|
pub extern fn SetShaderValueTexture(shader: Shader, uniformLoc: c_int, texture: Texture2D) void;
|
|
pub extern fn SetMatrixProjection(proj: Matrix) void;
|
|
pub extern fn SetMatrixModelview(view: Matrix) void;
|
|
pub extern fn GetMatrixModelview() Matrix;
|
|
pub extern fn GetMatrixProjection() Matrix;
|
|
pub extern fn GenTextureCubemap(shader: Shader, map: Texture2D, size: c_int) Texture2D;
|
|
pub extern fn GenTextureIrradiance(shader: Shader, cubemap: Texture2D, size: c_int) Texture2D;
|
|
pub extern fn GenTexturePrefilter(shader: Shader, cubemap: Texture2D, size: c_int) Texture2D;
|
|
pub extern fn GenTextureBRDF(shader: Shader, size: c_int) Texture2D;
|
|
pub extern fn BeginShaderMode(shader: Shader) void;
|
|
pub extern fn EndShaderMode() void;
|
|
pub extern fn BeginBlendMode(mode: c_int) void;
|
|
pub extern fn EndBlendMode() void;
|
|
pub extern fn InitVrSimulator() void;
|
|
pub extern fn CloseVrSimulator() void;
|
|
pub extern fn UpdateVrTracking(camera: [*c]Camera) void;
|
|
pub extern fn SetVrConfiguration(info: VrDeviceInfo, distortion: Shader) void;
|
|
pub extern fn IsVrSimulatorReady() bool;
|
|
pub extern fn ToggleVrMode() void;
|
|
pub extern fn BeginVrDrawing() void;
|
|
pub extern fn EndVrDrawing() void;
|
|
pub extern fn InitAudioDevice() void;
|
|
pub extern fn CloseAudioDevice() void;
|
|
pub extern fn IsAudioDeviceReady() bool;
|
|
pub extern fn SetMasterVolume(volume: f32) void;
|
|
pub extern fn LoadWave(fileName: [*c]const u8) Wave;
|
|
pub extern fn LoadSound(fileName: [*c]const u8) Sound;
|
|
pub extern fn LoadSoundFromWave(wave: Wave) Sound;
|
|
pub extern fn UpdateSound(sound: Sound, data: ?*const c_void, samplesCount: c_int) void;
|
|
pub extern fn UnloadWave(wave: Wave) void;
|
|
pub extern fn UnloadSound(sound: Sound) void;
|
|
pub extern fn ExportWave(wave: Wave, fileName: [*c]const u8) void;
|
|
pub extern fn ExportWaveAsCode(wave: Wave, fileName: [*c]const u8) void;
|
|
pub extern fn PlaySound(sound: Sound) void;
|
|
pub extern fn StopSound(sound: Sound) void;
|
|
pub extern fn PauseSound(sound: Sound) void;
|
|
pub extern fn ResumeSound(sound: Sound) void;
|
|
pub extern fn PlaySoundMulti(sound: Sound) void;
|
|
pub extern fn StopSoundMulti() void;
|
|
pub extern fn GetSoundsPlaying() c_int;
|
|
pub extern fn IsSoundPlaying(sound: Sound) bool;
|
|
pub extern fn SetSoundVolume(sound: Sound, volume: f32) void;
|
|
pub extern fn SetSoundPitch(sound: Sound, pitch: f32) void;
|
|
pub extern fn WaveFormat(wave: [*c]Wave, sampleRate: c_int, sampleSize: c_int, channels: c_int) void;
|
|
pub extern fn WaveCopy(wave: Wave) Wave;
|
|
pub extern fn WaveCrop(wave: [*c]Wave, initSample: c_int, finalSample: c_int) void;
|
|
pub extern fn GetWaveData(wave: Wave) [*c]f32;
|
|
pub extern fn LoadMusicStream(fileName: [*c]const u8) Music;
|
|
pub extern fn UnloadMusicStream(music: Music) void;
|
|
pub extern fn PlayMusicStream(music: Music) void;
|
|
pub extern fn UpdateMusicStream(music: Music) void;
|
|
pub extern fn StopMusicStream(music: Music) void;
|
|
pub extern fn PauseMusicStream(music: Music) void;
|
|
pub extern fn ResumeMusicStream(music: Music) void;
|
|
pub extern fn IsMusicPlaying(music: Music) bool;
|
|
pub extern fn SetMusicVolume(music: Music, volume: f32) void;
|
|
pub extern fn SetMusicPitch(music: Music, pitch: f32) void;
|
|
pub extern fn SetMusicLoopCount(music: Music, count: c_int) void;
|
|
pub extern fn GetMusicTimeLength(music: Music) f32;
|
|
pub extern fn GetMusicTimePlayed(music: Music) f32;
|
|
pub extern fn InitAudioStream(sampleRate: c_uint, sampleSize: c_uint, channels: c_uint) AudioStream;
|
|
pub extern fn UpdateAudioStream(stream: AudioStream, data: ?*const c_void, samplesCount: c_int) void;
|
|
pub extern fn CloseAudioStream(stream: AudioStream) void;
|
|
pub extern fn IsAudioStreamProcessed(stream: AudioStream) bool;
|
|
pub extern fn PlayAudioStream(stream: AudioStream) void;
|
|
pub extern fn PauseAudioStream(stream: AudioStream) void;
|
|
pub extern fn ResumeAudioStream(stream: AudioStream) void;
|
|
pub extern fn IsAudioStreamPlaying(stream: AudioStream) bool;
|
|
pub extern fn StopAudioStream(stream: AudioStream) void;
|
|
pub extern fn SetAudioStreamVolume(stream: AudioStream, volume: f32) void;
|
|
pub extern fn SetAudioStreamPitch(stream: AudioStream, pitch: f32) void;
|
|
|
|
pub const MAP_DIFFUSE = MaterialMapType.MAP_ALBEDO;
|
|
pub const MAP_SPECULAR = MaterialMapType.MAP_METALNESS;
|
|
pub const LOC_MAP_SPECULAR = LOC_MAP_METALNESS;
|
|
pub const LOC_MAP_DIFFUSE = LOC_MAP_ALBEDO;
|
|
|
|
pub const MAX_TOUCH_POINTS = 10;
|
|
pub const MAX_MATERIAL_MAPS = 12;
|
|
pub const MAX_SHADER_LOCATIONS = 32;
|
|
|
|
pub const PI = 3.141593;
|
|
|
|
pub const SpriteFont = Font;
|
|
pub const SubText = TextSubtext;
|
|
pub const ShowWindow = UnhideWindow;
|
|
pub const FormatText = TextFormat;
|