diff --git a/create_stub_pyray.py b/create_stub_pyray.py index 69b61c3..b1f4227 100644 --- a/create_stub_pyray.py +++ b/create_stub_pyray.py @@ -17,7 +17,7 @@ from raylib import rl, ffi from inspect import ismethod, getmembers, isbuiltin import inflection, sys, json -f = open("raylib_api.json", "r") +f = open("raylib.json", "r") js = json.load(f) def ctype_to_python_type(t): diff --git a/create_stub_static.py b/create_stub_static.py index 97c2546..ab2bcd9 100644 --- a/create_stub_static.py +++ b/create_stub_static.py @@ -17,7 +17,7 @@ from raylib import rl, ffi from inspect import ismethod, getmembers, isbuiltin import inflection, sys, json -f = open("raylib_api.json", "r") +f = open("raylib.json", "r") js = json.load(f) diff --git a/make_docs.sh b/make_docs.sh index 4fbf703..27e341f 100755 --- a/make_docs.sh +++ b/make_docs.sh @@ -1,5 +1,10 @@ #!/usr/bin/env bash +gcc raylib-c/parser/raylib_parser.c +./a.out -i raylib-c/src/extras/raygui.h -o raygui.json -f JSON +./a.out -i raylib-c/src/extras/physac.h -o physac.json -f JSON +./a.out -i raylib-c/src/raylib.h -o raylib.json -f JSON + python3 raylib/build.py pip3 install sphinx-autoapi myst_parser sphinx_rtd_theme python3 create_stub_pyray.py > pyray/__init__.pyi diff --git a/pyray/__init__.pyi b/pyray/__init__.pyi index 56fe7cc..40bb8a3 100644 --- a/pyray/__init__.pyi +++ b/pyray/__init__.pyi @@ -4,12 +4,26 @@ from typing import Any def pointer(struct): ... +ARROWS_SIZE: int +ARROWS_VISIBLE: int +ARROW_PADDING: int +BACKGROUND_COLOR: int +BASE_COLOR_DISABLED: int +BASE_COLOR_FOCUSED: int +BASE_COLOR_NORMAL: int +BASE_COLOR_PRESSED: int BLEND_ADDITIVE: int BLEND_ADD_COLORS: int BLEND_ALPHA: int BLEND_CUSTOM: int BLEND_MULTIPLIED: int BLEND_SUBTRACT_COLORS: int +BORDER_COLOR_DISABLED: int +BORDER_COLOR_FOCUSED: int +BORDER_COLOR_NORMAL: int +BORDER_COLOR_PRESSED: int +BORDER_WIDTH: int +BUTTON: int def begin_blend_mode(mode: int,) -> None: """Begin blending mode (alpha, additive, multiplied, subtract, custom)""" ... @@ -41,6 +55,15 @@ CAMERA_ORBITAL: int CAMERA_ORTHOGRAPHIC: int CAMERA_PERSPECTIVE: int CAMERA_THIRD_PERSON: int +CHECKBOX: int +CHECK_PADDING: int +COLORPICKER: int +COLOR_SELECTED_BG: int +COLOR_SELECTED_FG: int +COLOR_SELECTOR_SIZE: int +COMBOBOX: int +COMBO_BUTTON_PADDING: int +COMBO_BUTTON_WIDTH: int CUBEMAP_LAYOUT_AUTO_DETECT: int CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE: int CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR: int @@ -68,27 +91,15 @@ def check_collision_lines(startPos1: Vector2,endPos1: Vector2,startPos2: Vector2 def check_collision_point_circle(point: Vector2,center: Vector2,radius: float,) -> bool: """Check if point is inside circle""" ... +def check_collision_point_line(point: Vector2,p1: Vector2,p2: Vector2,threshold: int,) -> bool: + """Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]""" + ... def check_collision_point_rec(point: Vector2,rec: Rectangle,) -> bool: """Check if point is inside rectangle""" ... def check_collision_point_triangle(point: Vector2,p1: Vector2,p2: Vector2,p3: Vector2,) -> bool: """Check if point is inside a triangle""" ... -def check_collision_ray_box(Ray_0: Ray,BoundingBox_1: BoundingBox,) -> bool: - """_Bool CheckCollisionRayBox(struct Ray, struct BoundingBox); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def check_collision_ray_sphere(Ray_0: Ray,Vector3_1: Vector3,float_2: float,) -> bool: - """_Bool CheckCollisionRaySphere(struct Ray, struct Vector3, float); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def check_collision_ray_sphere_ex(Ray_0: Ray,Vector3_1: Vector3,float_2: float,Vector3_pointer_3: Any,) -> bool: - """_Bool CheckCollisionRaySphereEx(struct Ray, struct Vector3, float, struct Vector3 *); - -CFFI C function from raylib._raylib_cffi.lib""" - ... def check_collision_recs(rec1: Rectangle,rec2: Rectangle,) -> bool: """Check collision between two rectangles""" ... @@ -110,16 +121,16 @@ def clear_window_state(flags: int,) -> None: def close_audio_device() -> None: """Close the audio device and context""" ... -def close_audio_stream(AudioStream_0: AudioStream,) -> None: - """void CloseAudioStream(struct AudioStream); +def close_physics() -> None: + """void ClosePhysics(); CFFI C function from raylib._raylib_cffi.lib""" ... def close_window() -> None: """Close window and unload OpenGL context""" ... -def codepoint_to_utf8(codepoint: int,byteLength: Any,) -> str: - """Encode codepoint into utf8 text (char array length returned as parameter)""" +def codepoint_to_utf8(codepoint: int,byteSize: Any,) -> str: + """Encode one codepoint into UTF-8 byte array (array length returned as parameter)""" ... def color_alpha(color: Color,alpha: float,) -> Color: """Get color with alpha applied, alpha goes from 0.0f to 1.0f""" @@ -145,9 +156,35 @@ def color_to_int(color: Color,) -> int: def compress_data(data: str,dataLength: int,compDataLength: Any,) -> str: """Compress data (DEFLATE algorithm)""" ... +def create_physics_body_circle(Vector2_0: Vector2,float_1: float,float_2: float,) -> Any: + """struct PhysicsBodyData *CreatePhysicsBodyCircle(struct Vector2, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def create_physics_body_polygon(Vector2_0: Vector2,float_1: float,int_2: int,float_3: float,) -> Any: + """struct PhysicsBodyData *CreatePhysicsBodyPolygon(struct Vector2, float, int, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def create_physics_body_rectangle(Vector2_0: Vector2,float_1: float,float_2: float,float_3: float,) -> Any: + """struct PhysicsBodyData *CreatePhysicsBodyRectangle(struct Vector2, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +DEFAULT: int +DROPDOWNBOX: int +DROPDOWN_ITEMS_PADDING: int +def decode_data_base64(data: str,outputLength: Any,) -> str: + """Decode Base64 string data""" + ... def decompress_data(compData: str,compDataLength: int,dataLength: Any,) -> str: """Decompress data (DEFLATE algorithm)""" ... +def destroy_physics_body(PhysicsBodyData_pointer_0: Any,) -> None: + """void DestroyPhysicsBody(struct PhysicsBodyData *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... def directory_exists(dirPath: str,) -> bool: """Check if a directory path exists""" ... @@ -157,7 +194,10 @@ def disable_cursor() -> None: def draw_billboard(camera: Camera3D,texture: Texture,position: Vector3,size: float,tint: Color,) -> None: """Draw a billboard texture""" ... -def draw_billboard_rec(camera: Camera3D,texture: Texture,source: Rectangle,position: Vector3,size: float,tint: Color,) -> None: +def draw_billboard_pro(camera: Camera3D,texture: Texture,source: Rectangle,position: Vector3,up: Vector3,size: Vector2,origin: Vector2,rotation: float,tint: Color,) -> None: + """Draw a billboard texture defined by source and rotation""" + ... +def draw_billboard_rec(camera: Camera3D,texture: Texture,source: Rectangle,position: Vector3,size: Vector2,tint: Color,) -> None: """Draw a billboard texture defined by source""" ... def draw_bounding_box(box: BoundingBox,color: Color,) -> None: @@ -190,6 +230,9 @@ def draw_cube(position: Vector3,width: float,height: float,length: float,color: def draw_cube_texture(texture: Texture,position: Vector3,width: float,height: float,length: float,color: Color,) -> None: """Draw cube textured""" ... +def draw_cube_texture_rec(texture: Texture,source: Rectangle,position: Vector3,width: float,height: float,length: float,color: Color,) -> None: + """Draw cube with a region of a texture""" + ... def draw_cube_v(position: Vector3,size: Vector3,color: Color,) -> None: """Draw cube (Vector version)""" ... @@ -202,9 +245,15 @@ def draw_cube_wires_v(position: Vector3,size: Vector3,color: Color,) -> None: def draw_cylinder(position: Vector3,radiusTop: float,radiusBottom: float,height: float,slices: int,color: Color,) -> None: """Draw a cylinder/cone""" ... +def draw_cylinder_ex(startPos: Vector3,endPos: Vector3,startRadius: float,endRadius: float,sides: int,color: Color,) -> None: + """Draw a cylinder with base at startPos and top at endPos""" + ... def draw_cylinder_wires(position: Vector3,radiusTop: float,radiusBottom: float,height: float,slices: int,color: Color,) -> None: """Draw a cylinder/cone wires""" ... +def draw_cylinder_wires_ex(startPos: Vector3,endPos: Vector3,startRadius: float,endRadius: float,sides: int,color: Color,) -> None: + """Draw a cylinder wires with base at startPos and top at endPos""" + ... def draw_ellipse(centerX: int,centerY: int,radiusH: float,radiusV: float,color: Color,) -> None: """Draw ellipse""" ... @@ -226,13 +275,16 @@ def draw_line_3d(startPos: Vector3,endPos: Vector3,color: Color,) -> None: def draw_line_bezier(startPos: Vector2,endPos: Vector2,thick: float,color: Color,) -> None: """Draw a line using cubic-bezier curves in-out""" ... +def draw_line_bezier_cubic(startPos: Vector2,endPos: Vector2,startControlPos: Vector2,endControlPos: Vector2,thick: float,color: Color,) -> None: + """Draw line using cubic bezier curves with 2 control points""" + ... def draw_line_bezier_quad(startPos: Vector2,endPos: Vector2,controlPos: Vector2,thick: float,color: Color,) -> None: - """raw line using quadratic bezier curves with a control point""" + """Draw line using quadratic bezier curves with a control point""" ... def draw_line_ex(startPos: Vector2,endPos: Vector2,thick: float,color: Color,) -> None: """Draw a line defining thickness""" ... -def draw_line_strip(points: Any,pointsCount: int,color: Color,) -> None: +def draw_line_strip(points: Any,pointCount: int,color: Color,) -> None: """Draw lines sequence""" ... def draw_line_v(startPos: Vector2,endPos: Vector2,color: Color,) -> None: @@ -274,6 +326,9 @@ def draw_poly(center: Vector2,sides: int,radius: float,rotation: float,color: Co def draw_poly_lines(center: Vector2,sides: int,radius: float,rotation: float,color: Color,) -> None: """Draw a polygon outline of n sides""" ... +def draw_poly_lines_ex(center: Vector2,sides: int,radius: float,rotation: float,lineThick: float,color: Color,) -> None: + """Draw a polygon outline of n sides with extended parameters""" + ... def draw_ray(ray: Ray,color: Color,) -> None: """Draw a ray line""" ... @@ -292,7 +347,7 @@ def draw_rectangle_gradient_v(posX: int,posY: int,width: int,height: int,color1: def draw_rectangle_lines(posX: int,posY: int,width: int,height: int,color: Color,) -> None: """Draw rectangle outline""" ... -def draw_rectangle_lines_ex(rec: Rectangle,lineThick: int,color: Color,) -> None: +def draw_rectangle_lines_ex(rec: Rectangle,lineThick: float,color: Color,) -> None: """Draw rectangle outline with extended parameters""" ... def draw_rectangle_pro(rec: Rectangle,origin: Vector2,rotation: float,color: Color,) -> None: @@ -304,7 +359,7 @@ def draw_rectangle_rec(rec: Rectangle,color: Color,) -> None: def draw_rectangle_rounded(rec: Rectangle,roundness: float,segments: int,color: Color,) -> None: """Draw rectangle with rounded edges""" ... -def draw_rectangle_rounded_lines(rec: Rectangle,roundness: float,segments: int,lineThick: int,color: Color,) -> None: +def draw_rectangle_rounded_lines(rec: Rectangle,roundness: float,segments: int,lineThick: float,color: Color,) -> None: """Draw rectangle with rounded edges outline""" ... def draw_rectangle_v(position: Vector2,size: Vector2,color: Color,) -> None: @@ -334,11 +389,8 @@ def draw_text_codepoint(font: Font,codepoint: int,position: Vector2,fontSize: fl def draw_text_ex(font: Font,text: str,position: Vector2,fontSize: float,spacing: float,tint: Color,) -> None: """Draw text using font and additional parameters""" ... -def draw_text_rec(font: Font,text: str,rec: Rectangle,fontSize: float,spacing: float,wordWrap: bool,tint: Color,) -> None: - """Draw text using font inside rectangle limits""" - ... -def draw_text_rec_ex(font: Font,text: str,rec: Rectangle,fontSize: float,spacing: float,wordWrap: bool,tint: Color,selectStart: int,selectLength: int,selectTint: Color,selectBackTint: Color,) -> None: - """Draw text using font inside rectangle limits with support for text selection""" +def draw_text_pro(font: Font,text: str,position: Vector2,origin: Vector2,rotation: float,fontSize: float,spacing: float,tint: Color,) -> None: + """Draw text using Font and pro parameters (rotation)""" ... def draw_texture(texture: Texture,posX: int,posY: int,tint: Color,) -> None: """Draw a Texture2D""" @@ -349,7 +401,7 @@ def draw_texture_ex(texture: Texture,position: Vector2,rotation: float,scale: fl def draw_texture_n_patch(texture: Texture,nPatchInfo: NPatchInfo,dest: Rectangle,origin: Vector2,rotation: float,tint: Color,) -> None: """Draws a texture (or part of it) that stretches or shrinks nicely""" ... -def draw_texture_poly(texture: Texture,center: Vector2,points: Any,texcoords: Any,pointsCount: int,tint: Color,) -> None: +def draw_texture_poly(texture: Texture,center: Vector2,points: Any,texcoords: Any,pointCount: int,tint: Color,) -> None: """Draw a textured polygon""" ... def draw_texture_pro(texture: Texture,source: Rectangle,dest: Rectangle,origin: Vector2,rotation: float,tint: Color,) -> None: @@ -373,21 +425,24 @@ def draw_triangle(v1: Vector2,v2: Vector2,v3: Vector2,color: Color,) -> None: def draw_triangle_3d(v1: Vector3,v2: Vector3,v3: Vector3,color: Color,) -> None: """Draw a color-filled triangle (vertex in counter-clockwise order!)""" ... -def draw_triangle_fan(points: Any,pointsCount: int,color: Color,) -> None: +def draw_triangle_fan(points: Any,pointCount: int,color: Color,) -> None: """Draw a triangle fan defined by points (first vertex is the center)""" ... def draw_triangle_lines(v1: Vector2,v2: Vector2,v3: Vector2,color: Color,) -> None: """Draw triangle outline (vertex in counter-clockwise order!)""" ... -def draw_triangle_strip(points: Any,pointsCount: int,color: Color,) -> None: +def draw_triangle_strip(points: Any,pointCount: int,color: Color,) -> None: """Draw a triangle strip defined by points""" ... -def draw_triangle_strip_3d(points: Any,pointsCount: int,color: Color,) -> None: +def draw_triangle_strip_3d(points: Any,pointCount: int,color: Color,) -> None: """Draw a triangle strip defined by points""" ... def enable_cursor() -> None: """Enables cursor (unlock cursor)""" ... +def encode_data_base64(data: str,dataLength: int,outputLength: Any,) -> str: + """Encode data to Base64 string""" + ... def end_blend_mode() -> None: """End blending mode (reset to default: alpha blending)""" ... @@ -485,8 +540,16 @@ GESTURE_SWIPE_LEFT: int GESTURE_SWIPE_RIGHT: int GESTURE_SWIPE_UP: int GESTURE_TAP: int +GROUP_PADDING: int +GUI_STATE_DISABLED: int +GUI_STATE_FOCUSED: int +GUI_STATE_NORMAL: int +GUI_STATE_PRESSED: int +GUI_TEXT_ALIGN_CENTER: int +GUI_TEXT_ALIGN_LEFT: int +GUI_TEXT_ALIGN_RIGHT: int def gen_image_cellular(width: int,height: int,tileSize: int,) -> Image: - """Generate image: cellular algorithm. Bigger tileSize means bigger cells""" + """Generate image: cellular algorithm, bigger tileSize means bigger cells""" ... def gen_image_checked(width: int,height: int,checksX: int,checksY: int,col1: Color,col2: Color,) -> Image: """Generate image: checked""" @@ -494,7 +557,7 @@ def gen_image_checked(width: int,height: int,checksX: int,checksY: int,col1: Col def gen_image_color(width: int,height: int,color: Color,) -> Image: """Generate image: plain color""" ... -def gen_image_font_atlas(chars: Any,recs: Any,charsCount: int,fontSize: int,padding: int,packMethod: int,) -> Image: +def gen_image_font_atlas(chars: Any,recs: Any,glyphCount: int,fontSize: int,padding: int,packMethod: int,) -> Image: """Generate image font atlas using chars info""" ... def gen_image_gradient_h(width: int,height: int,left: Color,right: Color,) -> Image: @@ -506,12 +569,15 @@ def gen_image_gradient_radial(width: int,height: int,density: float,inner: Color def gen_image_gradient_v(width: int,height: int,top: Color,bottom: Color,) -> Image: """Generate image: vertical gradient""" ... -def gen_image_perlin_noise(width: int,height: int,offsetX: int,offsetY: int,scale: float,) -> Image: - """Generate image: perlin noise""" - ... def gen_image_white_noise(width: int,height: int,factor: float,) -> Image: """Generate image: white noise""" ... +def gen_mesh_binormals(mesh: Any,) -> None: + """Compute mesh binormals""" + ... +def gen_mesh_cone(radius: float,height: float,slices: int,) -> Mesh: + """Generate cone/pyramid mesh""" + ... def gen_mesh_cube(width: float,height: float,length: float,) -> Mesh: """Generate cuboid mesh""" ... @@ -539,6 +605,9 @@ def gen_mesh_poly(sides: int,radius: float,) -> Mesh: def gen_mesh_sphere(radius: float,rings: int,slices: int,) -> Mesh: """Generate sphere mesh (standard sphere)""" ... +def gen_mesh_tangents(mesh: Any,) -> None: + """Compute mesh tangents""" + ... def gen_mesh_torus(radius: float,size: float,radSeg: int,sides: int,) -> Mesh: """Generate torus mesh""" ... @@ -552,36 +621,16 @@ def get_camera_matrix_2d(camera: Camera2D,) -> Matrix: """Get camera 2d transform matrix""" ... def get_char_pressed() -> int: - """Get char pressed (unicode), call it multiple times for chars queued""" + """Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty""" ... def get_clipboard_text() -> str: """Get clipboard text content""" ... -def get_codepoints(text: str,count: Any,) -> Any: - """Get all codepoints in a string, codepoints count returned by parameters""" +def get_codepoint(text: str,bytesProcessed: Any,) -> int: + """Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure""" ... -def get_codepoints_count(text: str,) -> int: - """Get total number of characters (codepoints) in a UTF8 encoded string""" - ... -def get_collision_ray_ground(Ray_0: Ray,float_1: float,) -> RayHitInfo: - """struct RayHitInfo GetCollisionRayGround(struct Ray, float); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def get_collision_ray_mesh(Ray_0: Ray,Mesh_1: Mesh,Matrix_2: Matrix,) -> RayHitInfo: - """struct RayHitInfo GetCollisionRayMesh(struct Ray, struct Mesh, struct Matrix); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def get_collision_ray_model(Ray_0: Ray,Model_1: Model,) -> RayHitInfo: - """struct RayHitInfo GetCollisionRayModel(struct Ray, struct Model); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def get_collision_ray_triangle(Ray_0: Ray,Vector3_1: Vector3,Vector3_2: Vector3,Vector3_3: Vector3,) -> RayHitInfo: - """struct RayHitInfo GetCollisionRayTriangle(struct Ray, struct Vector3, struct Vector3, struct Vector3); - -CFFI C function from raylib._raylib_cffi.lib""" +def get_codepoint_count(text: str,) -> int: + """Get total number of codepoints in a UTF-8 encoded string""" ... def get_collision_rec(rec1: Rectangle,rec2: Rectangle,) -> Rectangle: """Get collision rectangle for two rectangles collision""" @@ -652,14 +701,29 @@ def get_gesture_pinch_angle() -> float: def get_gesture_pinch_vector() -> Vector2: """Get gesture pinch delta""" ... +def get_glyph_atlas_rec(font: Font,codepoint: int,) -> Rectangle: + """Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found""" + ... def get_glyph_index(font: Font,codepoint: int,) -> int: - """Get index position for a unicode character on font""" + """Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found""" + ... +def get_glyph_info(font: Font,codepoint: int,) -> GlyphInfo: + """Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found""" ... def get_image_alpha_border(image: Image,threshold: float,) -> Rectangle: """Get image alpha border rectangle""" ... +def get_image_color(image: Image,x: int,y: int,) -> Color: + """Get image pixel color at (x, y) position""" + ... def get_key_pressed() -> int: - """Get key pressed (keycode), call it multiple times for keys queued""" + """Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty""" + ... +def get_mesh_bounding_box(mesh: Mesh,) -> BoundingBox: + """Compute mesh bounding box limits""" + ... +def get_model_bounding_box(model: Model,) -> BoundingBox: + """Compute model bounding box limits (considers all meshes)""" ... def get_monitor_count() -> int: """Get number of connected monitors""" @@ -685,6 +749,9 @@ def get_monitor_refresh_rate(monitor: int,) -> int: def get_monitor_width(monitor: int,) -> int: """Get specified monitor width (max available by monitor)""" ... +def get_mouse_delta() -> Vector2: + """Get mouse delta between frames""" + ... def get_mouse_position() -> Vector2: """Get mouse position XY""" ... @@ -706,8 +773,30 @@ def get_music_time_length(music: Music,) -> float: def get_music_time_played(music: Music,) -> float: """Get current music time played (in seconds)""" ... -def get_next_codepoint(text: str,bytesProcessed: Any,) -> int: - """Get next codepoint in a UTF8 encoded string; 0x3f('?') is returned on failure""" +def get_physics_bodies_count() -> int: + """int GetPhysicsBodiesCount(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def get_physics_body(int_0: int,) -> Any: + """struct PhysicsBodyData *GetPhysicsBody(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def get_physics_shape_type(int_0: int,) -> int: + """int GetPhysicsShapeType(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def get_physics_shape_vertex(PhysicsBodyData_pointer_0: Any,int_1: int,) -> Vector2: + """struct Vector2 GetPhysicsShapeVertex(struct PhysicsBodyData *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def get_physics_shape_vertices_count(int_0: int,) -> int: + """int GetPhysicsShapeVerticesCount(int); + +CFFI C function from raylib._raylib_cffi.lib""" ... def get_pixel_color(srcPtr: Any,format: int,) -> Color: """Get Color from a source pixel pointer of certain format""" @@ -721,8 +810,23 @@ def get_prev_directory_path(dirPath: str,) -> str: def get_random_value(min: int,max: int,) -> int: """Get a random value between min and max (both included)""" ... -def get_screen_data() -> Image: - """Get pixel data from screen buffer and return an Image (screenshot)""" +def get_ray_collision_box(ray: Ray,box: BoundingBox,) -> RayCollision: + """Get collision info between ray and box""" + ... +def get_ray_collision_mesh(ray: Ray,mesh: Mesh,transform: Matrix,) -> RayCollision: + """Get collision info between ray and mesh""" + ... +def get_ray_collision_model(ray: Ray,model: Model,) -> RayCollision: + """Get collision info between ray and model""" + ... +def get_ray_collision_quad(ray: Ray,p1: Vector3,p2: Vector3,p3: Vector3,p4: Vector3,) -> RayCollision: + """Get collision info between ray and quad""" + ... +def get_ray_collision_sphere(ray: Ray,center: Vector3,radius: float,) -> RayCollision: + """Get collision info between ray and sphere""" + ... +def get_ray_collision_triangle(ray: Ray,p1: Vector3,p2: Vector3,p3: Vector3,) -> RayCollision: + """Get collision info between ray and triangle""" ... def get_screen_height() -> int: """Get current screen height""" @@ -742,14 +846,14 @@ def get_shader_location_attrib(shader: Shader,attribName: str,) -> int: def get_sounds_playing() -> int: """Get number of sounds playing in the multichannel""" ... -def get_texture_data(texture: Texture,) -> Image: - """Get pixel data from GPU texture and return an Image""" - ... def get_time() -> float: """Get elapsed time in seconds since InitWindow()""" ... -def get_touch_points_count() -> int: - """Get touch points count""" +def get_touch_point_count() -> int: + """Get number of touch points""" + ... +def get_touch_point_id(index: int,) -> int: + """Get touch point identifier for given index""" ... def get_touch_position(index: int,) -> Vector2: """Get touch position XY for a touch point index (relative to screen size)""" @@ -781,6 +885,250 @@ def get_world_to_screen_2d(position: Vector2,camera: Camera2D,) -> Vector2: def get_world_to_screen_ex(position: Vector3,camera: Camera3D,width: int,height: int,) -> Vector2: """Get size position for a 3d world space position""" ... +def gui_button(Rectangle_0: Rectangle,str_1: str,) -> bool: + """_Bool GuiButton(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_check_box(Rectangle_0: Rectangle,str_1: str,_Bool_2: bool,) -> bool: + """_Bool GuiCheckBox(struct Rectangle, char *, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_color_bar_alpha(Rectangle_0: Rectangle,float_1: float,) -> float: + """float GuiColorBarAlpha(struct Rectangle, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_color_bar_hue(Rectangle_0: Rectangle,float_1: float,) -> float: + """float GuiColorBarHue(struct Rectangle, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_color_panel(Rectangle_0: Rectangle,Color_1: Color,) -> Color: + """struct Color GuiColorPanel(struct Rectangle, struct Color); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_color_picker(Rectangle_0: Rectangle,Color_1: Color,) -> Color: + """struct Color GuiColorPicker(struct Rectangle, struct Color); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_combo_box(Rectangle_0: Rectangle,str_1: str,int_2: int,) -> int: + """int GuiComboBox(struct Rectangle, char *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_disable() -> None: + """void GuiDisable(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_dropdown_box(Rectangle_0: Rectangle,str_1: str,int_pointer_2: Any,_Bool_3: bool,) -> bool: + """_Bool GuiDropdownBox(struct Rectangle, char *, int *, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_dummy_rec(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiDummyRec(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_enable() -> None: + """void GuiEnable(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_fade(float_0: float,) -> None: + """void GuiFade(float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_get_font() -> Font: + """struct Font GuiGetFont(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_get_state() -> int: + """int GuiGetState(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_get_style(int_0: int,int_1: int,) -> int: + """int GuiGetStyle(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_grid(Rectangle_0: Rectangle,float_1: float,int_2: int,) -> Vector2: + """struct Vector2 GuiGrid(struct Rectangle, float, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_group_box(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiGroupBox(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_icon_text(int_0: int,str_1: str,) -> str: + """char *GuiIconText(int, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_image_button(Rectangle_0: Rectangle,str_1: str,Texture_2: Texture,) -> bool: + """_Bool GuiImageButton(struct Rectangle, char *, struct Texture); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_image_button_ex(Rectangle_0: Rectangle,str_1: str,Texture_2: Texture,Rectangle_3: Rectangle,) -> bool: + """_Bool GuiImageButtonEx(struct Rectangle, char *, struct Texture, struct Rectangle); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_label(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiLabel(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_label_button(Rectangle_0: Rectangle,str_1: str,) -> bool: + """_Bool GuiLabelButton(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_line(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiLine(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_list_view(Rectangle_0: Rectangle,str_1: str,int_pointer_2: Any,int_3: int,) -> int: + """int GuiListView(struct Rectangle, char *, int *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_list_view_ex(Rectangle_0: Rectangle,str_pointer_1: str,int_2: int,int_pointer_3: Any,int_pointer_4: Any,int_5: int,) -> int: + """int GuiListViewEx(struct Rectangle, char * *, int, int *, int *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_load_style(str_0: str,) -> None: + """void GuiLoadStyle(char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_load_style_default() -> None: + """void GuiLoadStyleDefault(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_lock() -> None: + """void GuiLock(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_message_box(Rectangle_0: Rectangle,str_1: str,str_2: str,str_3: str,) -> int: + """int GuiMessageBox(struct Rectangle, char *, char *, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_panel(Rectangle_0: Rectangle,) -> None: + """void GuiPanel(struct Rectangle); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_progress_bar(Rectangle_0: Rectangle,str_1: str,str_2: str,float_3: float,float_4: float,float_5: float,) -> float: + """float GuiProgressBar(struct Rectangle, char *, char *, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_scroll_bar(Rectangle_0: Rectangle,int_1: int,int_2: int,int_3: int,) -> int: + """int GuiScrollBar(struct Rectangle, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_scroll_panel(Rectangle_0: Rectangle,Rectangle_1: Rectangle,Vector2_pointer_2: Any,) -> Rectangle: + """struct Rectangle GuiScrollPanel(struct Rectangle, struct Rectangle, struct Vector2 *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_set_font(Font_0: Font,) -> None: + """void GuiSetFont(struct Font); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_set_state(int_0: int,) -> None: + """void GuiSetState(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_set_style(int_0: int,int_1: int,int_2: int,) -> None: + """void GuiSetStyle(int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_slider(Rectangle_0: Rectangle,str_1: str,str_2: str,float_3: float,float_4: float,float_5: float,) -> float: + """float GuiSlider(struct Rectangle, char *, char *, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_slider_bar(Rectangle_0: Rectangle,str_1: str,str_2: str,float_3: float,float_4: float,float_5: float,) -> float: + """float GuiSliderBar(struct Rectangle, char *, char *, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_spinner(Rectangle_0: Rectangle,str_1: str,int_pointer_2: Any,int_3: int,int_4: int,_Bool_5: bool,) -> bool: + """_Bool GuiSpinner(struct Rectangle, char *, int *, int, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_status_bar(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiStatusBar(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_text_box(Rectangle_0: Rectangle,str_1: str,int_2: int,_Bool_3: bool,) -> bool: + """_Bool GuiTextBox(struct Rectangle, char *, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_text_box_multi(Rectangle_0: Rectangle,str_1: str,int_2: int,_Bool_3: bool,) -> bool: + """_Bool GuiTextBoxMulti(struct Rectangle, char *, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_text_input_box(Rectangle_0: Rectangle,str_1: str,str_2: str,str_3: str,str_4: str,) -> int: + """int GuiTextInputBox(struct Rectangle, char *, char *, char *, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_toggle(Rectangle_0: Rectangle,str_1: str,_Bool_2: bool,) -> bool: + """_Bool GuiToggle(struct Rectangle, char *, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_toggle_group(Rectangle_0: Rectangle,str_1: str,int_2: int,) -> int: + """int GuiToggleGroup(struct Rectangle, char *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_unlock() -> None: + """void GuiUnlock(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_value_box(Rectangle_0: Rectangle,str_1: str,int_pointer_2: Any,int_3: int,int_4: int,_Bool_5: bool,) -> bool: + """_Bool GuiValueBox(struct Rectangle, char *, int *, int, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_window_box(Rectangle_0: Rectangle,str_1: str,) -> bool: + """_Bool GuiWindowBox(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +HUEBAR_PADDING: int +HUEBAR_SELECTOR_HEIGHT: int +HUEBAR_SELECTOR_OVERFLOW: int +HUEBAR_WIDTH: int def hide_cursor() -> None: """Hides cursor""" ... @@ -907,8 +1255,8 @@ def image_to_pot(image: Any,fill: Color,) -> None: def init_audio_device() -> None: """Initialize audio device and context""" ... -def init_audio_stream(unsignedint_0: int,unsignedint_1: int,unsignedint_2: int,) -> AudioStream: - """struct AudioStream InitAudioStream(unsigned int, unsigned int, unsigned int); +def init_physics() -> None: + """void InitPhysics(); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -951,9 +1299,6 @@ def is_gamepad_button_released(gamepad: int,button: int,) -> bool: def is_gamepad_button_up(gamepad: int,button: int,) -> bool: """Check if a gamepad button is NOT being pressed""" ... -def is_gamepad_name(gamepad: int,name: str,) -> bool: - """Check gamepad name (if available)""" - ... def is_gesture_detected(gesture: int,) -> bool: """Check if a gesture have been detected""" ... @@ -984,10 +1329,8 @@ def is_mouse_button_released(button: int,) -> bool: def is_mouse_button_up(button: int,) -> bool: """Check if a mouse button is NOT being pressed""" ... -def is_music_playing(Music_0: Music,) -> bool: - """_Bool IsMusicPlaying(struct Music); - -CFFI C function from raylib._raylib_cffi.lib""" +def is_music_stream_playing(music: Music,) -> bool: + """Check if music is playing""" ... def is_sound_playing(sound: Sound,) -> bool: """Check if a sound is currently playing""" @@ -1126,6 +1469,11 @@ KEY_X: int KEY_Y: int KEY_Z: int KEY_ZERO: int +LABEL: int +LINE_COLOR: int +LISTVIEW: int +LIST_ITEMS_HEIGHT: int +LIST_ITEMS_PADDING: int LOG_ALL: int LOG_DEBUG: int LOG_ERROR: int @@ -1134,6 +1482,12 @@ LOG_INFO: int LOG_NONE: int LOG_TRACE: int LOG_WARNING: int +def load_audio_stream(sampleRate: int,sampleSize: int,channels: int,) -> AudioStream: + """Load audio stream (to stream raw audio pcm data)""" + ... +def load_codepoints(text: str,count: Any,) -> Any: + """Load all codepoints from a UTF-8 text string, codepoints count returned by parameter""" + ... def load_file_data(fileName: str,bytesRead: Any,) -> str: """Load file data as byte array (read)""" ... @@ -1143,16 +1497,16 @@ def load_file_text(fileName: str,) -> str: def load_font(fileName: str,) -> Font: """Load font from file into GPU memory (VRAM)""" ... -def load_font_data(fileData: str,dataSize: int,fontSize: int,fontChars: Any,charsCount: int,type: int,) -> Any: +def load_font_data(fileData: str,dataSize: int,fontSize: int,fontChars: Any,glyphCount: int,type: int,) -> Any: """Load font data for further use""" ... -def load_font_ex(fileName: str,fontSize: int,fontChars: Any,charsCount: int,) -> Font: +def load_font_ex(fileName: str,fontSize: int,fontChars: Any,glyphCount: int,) -> Font: """Load font from file with extended parameters""" ... def load_font_from_image(image: Image,key: Color,firstChar: int,) -> Font: """Load font from Image (XNA style)""" ... -def load_font_from_memory(fileType: str,fileData: str,dataSize: int,fontSize: int,fontChars: Any,charsCount: int,) -> Font: +def load_font_from_memory(fileType: str,fileData: str,dataSize: int,fontSize: int,fontChars: Any,glyphCount: int,) -> Font: """Load font from memory buffer, fileType refers to extension: i.e. '.ttf'""" ... def load_image(fileName: str,) -> Image: @@ -1167,7 +1521,13 @@ def load_image_colors(image: Image,) -> Any: def load_image_from_memory(fileType: str,fileData: str,dataSize: int,) -> Image: """Load image from memory buffer, fileType refers to extension: i.e. '.png'""" ... -def load_image_palette(image: Image,maxPaletteSize: int,colorsCount: Any,) -> Any: +def load_image_from_screen() -> Image: + """Load image from screen buffer and (screenshot)""" + ... +def load_image_from_texture(texture: Texture,) -> Image: + """Load image from GPU texture data""" + ... +def load_image_palette(image: Image,maxPaletteSize: int,colorCount: Any,) -> Any: """Load colors palette from image as a Color array (RGBA - 32bit)""" ... def load_image_raw(fileName: str,width: int,height: int,format: int,headerSize: int,) -> Image: @@ -1182,7 +1542,7 @@ def load_materials(fileName: str,materialCount: Any,) -> Any: def load_model(fileName: str,) -> Model: """Load model from files (meshes and materials)""" ... -def load_model_animations(fileName: str,animsCount: Any,) -> Any: +def load_model_animations(fileName: str,animCount: Any,) -> Any: """Load model animations from file""" ... def load_model_from_mesh(mesh: Mesh,) -> Model: @@ -1234,9 +1594,8 @@ def load_wave_samples(wave: Wave,) -> Any: """Load samples data from wave as a floats array""" ... MATERIAL_MAP_ALBEDO: int -MATERIAL_MAP_BRDG: int +MATERIAL_MAP_BRDF: int MATERIAL_MAP_CUBEMAP: int -MATERIAL_MAP_DIFFUSE: int MATERIAL_MAP_EMISSION: int MATERIAL_MAP_HEIGHT: int MATERIAL_MAP_IRRADIANCE: int @@ -1245,7 +1604,13 @@ MATERIAL_MAP_NORMAL: int MATERIAL_MAP_OCCLUSION: int MATERIAL_MAP_PREFILTER: int MATERIAL_MAP_ROUGHNESS: int -MATERIAL_MAP_SPECULAR: int +MOUSE_BUTTON_BACK: int +MOUSE_BUTTON_EXTRA: int +MOUSE_BUTTON_FORWARD: int +MOUSE_BUTTON_LEFT: int +MOUSE_BUTTON_MIDDLE: int +MOUSE_BUTTON_RIGHT: int +MOUSE_BUTTON_SIDE: int MOUSE_CURSOR_ARROW: int MOUSE_CURSOR_CROSSHAIR: int MOUSE_CURSOR_DEFAULT: int @@ -1257,9 +1622,6 @@ MOUSE_CURSOR_RESIZE_EW: int MOUSE_CURSOR_RESIZE_NESW: int MOUSE_CURSOR_RESIZE_NS: int MOUSE_CURSOR_RESIZE_NWSE: int -MOUSE_LEFT_BUTTON: int -MOUSE_MIDDLE_BUTTON: int -MOUSE_RIGHT_BUTTON: int def maximize_window() -> None: """Set window state: maximized, if resizable (only PLATFORM_DESKTOP)""" ... @@ -1278,26 +1640,22 @@ def mem_free(ptr: Any,) -> None: def mem_realloc(ptr: Any,size: int,) -> Any: """Internal memory reallocator""" ... -def mesh_binormals(mesh: Any,) -> None: - """Compute mesh binormals""" - ... -def mesh_bounding_box(Mesh_0: Mesh,) -> BoundingBox: - """struct BoundingBox MeshBoundingBox(struct Mesh); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def mesh_tangents(mesh: Any,) -> None: - """Compute mesh tangents""" - ... def minimize_window() -> None: """Set window state: minimized, if resizable (only PLATFORM_DESKTOP)""" ... NPATCH_NINE_PATCH: int NPATCH_THREE_PATCH_HORIZONTAL: int NPATCH_THREE_PATCH_VERTICAL: int +OPENGL_11: int +OPENGL_21: int +OPENGL_33: int +OPENGL_43: int +OPENGL_ES_20: int def open_url(url: str,) -> None: """Open URL with default system browser (if available)""" ... +PHYSICS_CIRCLE: int +PHYSICS_POLYGON: int PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA: int PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA: int PIXELFORMAT_COMPRESSED_DXT1_RGB: int @@ -1319,6 +1677,8 @@ PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: int PIXELFORMAT_UNCOMPRESSED_R5G6B5: int PIXELFORMAT_UNCOMPRESSED_R8G8B8: int PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: int +PROGRESSBAR: int +PROGRESS_PADDING: int def pause_audio_stream(stream: AudioStream,) -> None: """Pause audio stream""" ... @@ -1328,6 +1688,21 @@ def pause_music_stream(music: Music,) -> None: def pause_sound(sound: Sound,) -> None: """Pause a sound""" ... +def physics_add_force(PhysicsBodyData_pointer_0: Any,Vector2_1: Vector2,) -> None: + """void PhysicsAddForce(struct PhysicsBodyData *, struct Vector2); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def physics_add_torque(PhysicsBodyData_pointer_0: Any,float_1: float,) -> None: + """void PhysicsAddTorque(struct PhysicsBodyData *, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def physics_shatter(PhysicsBodyData_pointer_0: Any,Vector2_1: Vector2,float_2: float,) -> None: + """void PhysicsShatter(struct PhysicsBodyData *, struct Vector2, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... def play_audio_stream(stream: AudioStream,) -> None: """Play audio stream""" ... @@ -1340,6 +1715,113 @@ def play_sound(sound: Sound,) -> None: def play_sound_multi(sound: Sound,) -> None: """Play a sound (using multichannel buffer pool)""" ... +def poll_input_events() -> None: + """Register all input events""" + ... +RESERVED: int +RL_ATTACHMENT_COLOR_CHANNEL0: int +RL_ATTACHMENT_COLOR_CHANNEL1: int +RL_ATTACHMENT_COLOR_CHANNEL2: int +RL_ATTACHMENT_COLOR_CHANNEL3: int +RL_ATTACHMENT_COLOR_CHANNEL4: int +RL_ATTACHMENT_COLOR_CHANNEL5: int +RL_ATTACHMENT_COLOR_CHANNEL6: int +RL_ATTACHMENT_COLOR_CHANNEL7: int +RL_ATTACHMENT_CUBEMAP_NEGATIVE_X: int +RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y: int +RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z: int +RL_ATTACHMENT_CUBEMAP_POSITIVE_X: int +RL_ATTACHMENT_CUBEMAP_POSITIVE_Y: int +RL_ATTACHMENT_CUBEMAP_POSITIVE_Z: int +RL_ATTACHMENT_DEPTH: int +RL_ATTACHMENT_RENDERBUFFER: int +RL_ATTACHMENT_STENCIL: int +RL_ATTACHMENT_TEXTURE2D: int +RL_BLEND_ADDITIVE: int +RL_BLEND_ADD_COLORS: int +RL_BLEND_ALPHA: int +RL_BLEND_CUSTOM: int +RL_BLEND_MULTIPLIED: int +RL_BLEND_SUBTRACT_COLORS: int +RL_LOG_ALL: int +RL_LOG_DEBUG: int +RL_LOG_ERROR: int +RL_LOG_FATAL: int +RL_LOG_INFO: int +RL_LOG_NONE: int +RL_LOG_TRACE: int +RL_LOG_WARNING: int +RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA: int +RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA: int +RL_PIXELFORMAT_COMPRESSED_DXT1_RGB: int +RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA: int +RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA: int +RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA: int +RL_PIXELFORMAT_COMPRESSED_ETC1_RGB: int +RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA: int +RL_PIXELFORMAT_COMPRESSED_ETC2_RGB: int +RL_PIXELFORMAT_COMPRESSED_PVRT_RGB: int +RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA: int +RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: int +RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: int +RL_PIXELFORMAT_UNCOMPRESSED_R32: int +RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32: int +RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: int +RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: int +RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: int +RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5: int +RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8: int +RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: int +RL_SHADER_ATTRIB_FLOAT: int +RL_SHADER_ATTRIB_VEC2: int +RL_SHADER_ATTRIB_VEC3: int +RL_SHADER_ATTRIB_VEC4: int +RL_SHADER_LOC_COLOR_AMBIENT: int +RL_SHADER_LOC_COLOR_DIFFUSE: int +RL_SHADER_LOC_COLOR_SPECULAR: int +RL_SHADER_LOC_MAP_ALBEDO: int +RL_SHADER_LOC_MAP_BRDF: int +RL_SHADER_LOC_MAP_CUBEMAP: int +RL_SHADER_LOC_MAP_EMISSION: int +RL_SHADER_LOC_MAP_HEIGHT: int +RL_SHADER_LOC_MAP_IRRADIANCE: int +RL_SHADER_LOC_MAP_METALNESS: int +RL_SHADER_LOC_MAP_NORMAL: int +RL_SHADER_LOC_MAP_OCCLUSION: int +RL_SHADER_LOC_MAP_PREFILTER: int +RL_SHADER_LOC_MAP_ROUGHNESS: int +RL_SHADER_LOC_MATRIX_MODEL: int +RL_SHADER_LOC_MATRIX_MVP: int +RL_SHADER_LOC_MATRIX_NORMAL: int +RL_SHADER_LOC_MATRIX_PROJECTION: int +RL_SHADER_LOC_MATRIX_VIEW: int +RL_SHADER_LOC_VECTOR_VIEW: int +RL_SHADER_LOC_VERTEX_COLOR: int +RL_SHADER_LOC_VERTEX_NORMAL: int +RL_SHADER_LOC_VERTEX_POSITION: int +RL_SHADER_LOC_VERTEX_TANGENT: int +RL_SHADER_LOC_VERTEX_TEXCOORD01: int +RL_SHADER_LOC_VERTEX_TEXCOORD02: int +RL_SHADER_UNIFORM_FLOAT: int +RL_SHADER_UNIFORM_INT: int +RL_SHADER_UNIFORM_IVEC2: int +RL_SHADER_UNIFORM_IVEC3: int +RL_SHADER_UNIFORM_IVEC4: int +RL_SHADER_UNIFORM_SAMPLER2D: int +RL_SHADER_UNIFORM_VEC2: int +RL_SHADER_UNIFORM_VEC3: int +RL_SHADER_UNIFORM_VEC4: int +RL_TEXTURE_FILTER_ANISOTROPIC_16X: int +RL_TEXTURE_FILTER_ANISOTROPIC_4X: int +RL_TEXTURE_FILTER_ANISOTROPIC_8X: int +RL_TEXTURE_FILTER_BILINEAR: int +RL_TEXTURE_FILTER_POINT: int +RL_TEXTURE_FILTER_TRILINEAR: int +def reset_physics() -> None: + """void ResetPhysics(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... def restore_window() -> None: """Set window state: not minimized/maximized (only PLATFORM_DESKTOP)""" ... @@ -1352,13 +1834,25 @@ def resume_music_stream(music: Music,) -> None: def resume_sound(sound: Sound,) -> None: """Resume a paused sound""" ... +SCROLLBAR: int +SCROLLBAR_LEFT_SIDE: int +SCROLLBAR_RIGHT_SIDE: int +SCROLLBAR_SIDE: int +SCROLLBAR_WIDTH: int +SCROLL_PADDING: int +SCROLL_SLIDER_PADDING: int +SCROLL_SLIDER_SIZE: int +SCROLL_SPEED: int +SHADER_ATTRIB_FLOAT: int +SHADER_ATTRIB_VEC2: int +SHADER_ATTRIB_VEC3: int +SHADER_ATTRIB_VEC4: int SHADER_LOC_COLOR_AMBIENT: int SHADER_LOC_COLOR_DIFFUSE: int SHADER_LOC_COLOR_SPECULAR: int SHADER_LOC_MAP_ALBEDO: int SHADER_LOC_MAP_BRDF: int SHADER_LOC_MAP_CUBEMAP: int -SHADER_LOC_MAP_DIFFUSE: int SHADER_LOC_MAP_EMISSION: int SHADER_LOC_MAP_HEIGHT: int SHADER_LOC_MAP_IRRADIANCE: int @@ -1367,7 +1861,6 @@ SHADER_LOC_MAP_NORMAL: int SHADER_LOC_MAP_OCCLUSION: int SHADER_LOC_MAP_PREFILTER: int SHADER_LOC_MAP_ROUGHNESS: int -SHADER_LOC_MAP_SPECULAR: int SHADER_LOC_MATRIX_MODEL: int SHADER_LOC_MATRIX_MVP: int SHADER_LOC_MATRIX_NORMAL: int @@ -1389,6 +1882,13 @@ SHADER_UNIFORM_SAMPLER2D: int SHADER_UNIFORM_VEC2: int SHADER_UNIFORM_VEC3: int SHADER_UNIFORM_VEC4: int +SLIDER: int +SLIDER_PADDING: int +SLIDER_WIDTH: int +SPINNER: int +SPIN_BUTTON_PADDING: int +SPIN_BUTTON_WIDTH: int +STATUSBAR: int def save_file_data(fileName: str,data: Any,bytesToWrite: int,) -> bool: """Save data to file from byte array (write), returns true on success""" ... @@ -1398,6 +1898,9 @@ def save_file_text(fileName: str,text: str,) -> bool: def save_storage_value(position: int,value: int,) -> bool: """Save integer value to storage file (to defined position), returns true on success""" ... +def seek_music_stream(music: Music,position: float,) -> None: + """Seek music to a position (in seconds)""" + ... def set_audio_stream_buffer_size_default(size: int,) -> None: """Default size for new audio streams""" ... @@ -1437,6 +1940,12 @@ def set_gamepad_mappings(mappings: str,) -> int: def set_gestures_enabled(flags: int,) -> None: """Enable a set of gestures using flags""" ... +def set_load_file_data_callback(callback: str,) -> None: + """Set custom file binary data loader""" + ... +def set_load_file_text_callback(callback: str,) -> None: + """Set custom file text data loader""" + ... def set_master_volume(volume: float,) -> None: """Set master volume (listener)""" ... @@ -1464,9 +1973,33 @@ def set_music_pitch(music: Music,pitch: float,) -> None: def set_music_volume(music: Music,volume: float,) -> None: """Set volume for music (1.0 is max level)""" ... +def set_physics_body_rotation(PhysicsBodyData_pointer_0: Any,float_1: float,) -> None: + """void SetPhysicsBodyRotation(struct PhysicsBodyData *, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def set_physics_gravity(float_0: float,float_1: float,) -> None: + """void SetPhysicsGravity(float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def set_physics_time_step(double_0: float,) -> None: + """void SetPhysicsTimeStep(double); + +CFFI C function from raylib._raylib_cffi.lib""" + ... def set_pixel_color(dstPtr: Any,color: Color,format: int,) -> None: """Set color formatted into destination pixel pointer""" ... +def set_random_seed(seed: int,) -> None: + """Set the seed for the random number generator""" + ... +def set_save_file_data_callback(callback: str,) -> None: + """Set custom file binary data saver""" + ... +def set_save_file_text_callback(callback: str,) -> None: + """Set custom file text data saver""" + ... def set_shader_value(shader: Shader,locIndex: int,value: Any,uniformType: int,) -> None: """Set shader uniform value""" ... @@ -1497,6 +2030,9 @@ def set_texture_filter(texture: Texture,filter: int,) -> None: def set_texture_wrap(texture: Texture,wrap: int,) -> None: """Set texture wrapping mode""" ... +def set_trace_log_callback(callback: str,) -> None: + """Set custom trace log""" + ... def set_trace_log_level(logLevel: int,) -> None: """Set the current threshold (minimum) log level""" ... @@ -1536,6 +2072,10 @@ def stop_sound(sound: Sound,) -> None: def stop_sound_multi() -> None: """Stop any sound playing (using multichannel buffer pool)""" ... +def swap_screen_buffer() -> None: + """Swap back buffer with front buffer (screen drawing)""" + ... +TEXTBOX: int TEXTURE_FILTER_ANISOTROPIC_16X: int TEXTURE_FILTER_ANISOTROPIC_4X: int TEXTURE_FILTER_ANISOTROPIC_8X: int @@ -1546,12 +2086,26 @@ TEXTURE_WRAP_CLAMP: int TEXTURE_WRAP_MIRROR_CLAMP: int TEXTURE_WRAP_MIRROR_REPEAT: int TEXTURE_WRAP_REPEAT: int +TEXT_ALIGNMENT: int +TEXT_COLOR_DISABLED: int +TEXT_COLOR_FOCUSED: int +TEXT_COLOR_NORMAL: int +TEXT_COLOR_PRESSED: int +TEXT_INNER_PADDING: int +TEXT_LINES_PADDING: int +TEXT_PADDING: int +TEXT_SIZE: int +TEXT_SPACING: int +TOGGLE: int def take_screenshot(fileName: str,) -> None: """Takes a screenshot of current screen (filename extension defines format)""" ... def text_append(text: str,append: str,position: Any,) -> None: """Append text at specific position and move cursor!""" ... +def text_codepoints_to_utf8(codepoints: Any,length: int,) -> str: + """Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)""" + ... def text_copy(dst: str,src: str,) -> int: """Copy one string to another, returns bytes copied""" ... @@ -1562,7 +2116,7 @@ def text_format(*args) -> str: """VARARG FUNCTION - MAY NOT BE SUPPORTED BY CFFI""" ... def text_insert(text: str,insert: str,position: int,) -> str: - """Insert text in a position (memory must be freed!)""" + """Insert text in a position (WARNING: memory must be freed!)""" ... def text_is_equal(text1: str,text2: str,) -> bool: """Check if two text string are equal""" @@ -1574,7 +2128,7 @@ def text_length(text: str,) -> int: """Get text length, checks for ' 0' ending""" ... def text_replace(text: str,replace: str,by: str,) -> str: - """Replace text string (memory must be freed!)""" + """Replace text string (WARNING: memory must be freed!)""" ... def text_split(text: str,delimiter: str,count: Any,) -> str: """Split text into multiple strings""" @@ -1594,15 +2148,18 @@ def text_to_pascal(text: str,) -> str: def text_to_upper(text: str,) -> str: """Get upper case version of provided string""" ... -def text_to_utf8(codepoints: Any,length: int,) -> str: - """Encode text codepoint into utf8 text (memory must be freed!)""" - ... def toggle_fullscreen() -> None: """Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)""" ... def trace_log(*args) -> None: """VARARG FUNCTION - MAY NOT BE SUPPORTED BY CFFI""" ... +def unload_audio_stream(stream: AudioStream,) -> None: + """Unload audio stream and free memory""" + ... +def unload_codepoints(codepoints: Any,) -> None: + """Unload codepoints data from memory""" + ... def unload_file_data(data: str,) -> None: """Unload file data allocated by LoadFileData()""" ... @@ -1612,7 +2169,7 @@ def unload_file_text(text: str,) -> None: def unload_font(font: Font,) -> None: """Unload Font from GPU memory (VRAM)""" ... -def unload_font_data(chars: Any,charsCount: int,) -> None: +def unload_font_data(chars: Any,glyphCount: int,) -> None: """Unload font chars info data (RAM)""" ... def unload_image(image: Image,) -> None: @@ -1666,7 +2223,7 @@ def unload_wave(wave: Wave,) -> None: def unload_wave_samples(samples: Any,) -> None: """Unload samples data loaded with LoadWaveSamples()""" ... -def update_audio_stream(stream: AudioStream,data: Any,samplesCount: int,) -> None: +def update_audio_stream(stream: AudioStream,data: Any,frameCount: int,) -> None: """Update audio stream buffers with data""" ... def update_camera(camera: Any,) -> None: @@ -1681,7 +2238,12 @@ def update_model_animation(model: Model,anim: ModelAnimation,frame: int,) -> Non def update_music_stream(music: Music,) -> None: """Updates buffers for music streaming""" ... -def update_sound(sound: Sound,data: Any,samplesCount: int,) -> None: +def update_physics() -> None: + """void UpdatePhysics(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def update_sound(sound: Sound,data: Any,sampleCount: int,) -> None: """Update sound buffer with new data""" ... def update_texture(texture: Texture,pixels: Any,) -> None: @@ -1693,6 +2255,10 @@ def update_texture_rec(texture: Texture,rec: Rectangle,pixels: Any,) -> None: def upload_mesh(mesh: Any,dynamic: bool,) -> None: """Upload mesh vertex data in GPU and provide VAO/VBO ids""" ... +VALUEBOX: int +def wait_time(ms: float,) -> None: + """Wait for some milliseconds (halt program execution)""" + ... def wave_copy(wave: Wave,) -> Wave: """Copy a wave to a new wave""" ... @@ -1705,6 +2271,651 @@ def wave_format(wave: Any,sampleRate: int,sampleSize: int,channels: int,) -> Non def window_should_close() -> bool: """Check if KEY_ESCAPE pressed or Close icon pressed""" ... +def rl_active_draw_buffers(int_0: int,) -> None: + """void rlActiveDrawBuffers(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_active_texture_slot(int_0: int,) -> None: + """void rlActiveTextureSlot(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_begin(int_0: int,) -> None: + """void rlBegin(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_check_errors() -> None: + """void rlCheckErrors(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_check_render_batch_limit(int_0: int,) -> bool: + """_Bool rlCheckRenderBatchLimit(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_clear_color(unsignedchar_0: str,unsignedchar_1: str,unsignedchar_2: str,unsignedchar_3: str,) -> None: + """void rlClearColor(unsigned char, unsigned char, unsigned char, unsigned char); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_clear_screen_buffers() -> None: + """void rlClearScreenBuffers(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_color3f(float_0: float,float_1: float,float_2: float,) -> None: + """void rlColor3f(float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_color4f(float_0: float,float_1: float,float_2: float,float_3: float,) -> None: + """void rlColor4f(float, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_color4ub(unsignedchar_0: str,unsignedchar_1: str,unsignedchar_2: str,unsignedchar_3: str,) -> None: + """void rlColor4ub(unsigned char, unsigned char, unsigned char, unsigned char); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_compile_shader(str_0: str,int_1: int,) -> int: + """unsigned int rlCompileShader(char *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_backface_culling() -> None: + """void rlDisableBackfaceCulling(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_color_blend() -> None: + """void rlDisableColorBlend(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_depth_mask() -> None: + """void rlDisableDepthMask(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_depth_test() -> None: + """void rlDisableDepthTest(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_framebuffer() -> None: + """void rlDisableFramebuffer(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_scissor_test() -> None: + """void rlDisableScissorTest(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_shader() -> None: + """void rlDisableShader(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_smooth_lines() -> None: + """void rlDisableSmoothLines(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_stereo_render() -> None: + """void rlDisableStereoRender(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_texture() -> None: + """void rlDisableTexture(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_texture_cubemap() -> None: + """void rlDisableTextureCubemap(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_vertex_array() -> None: + """void rlDisableVertexArray(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_vertex_attribute(unsignedint_0: int,) -> None: + """void rlDisableVertexAttribute(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_vertex_buffer() -> None: + """void rlDisableVertexBuffer(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_vertex_buffer_element() -> None: + """void rlDisableVertexBufferElement(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_disable_wire_mode() -> None: + """void rlDisableWireMode(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_draw_render_batch(rlRenderBatch_pointer_0: Any,) -> None: + """void rlDrawRenderBatch(struct rlRenderBatch *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_draw_render_batch_active() -> None: + """void rlDrawRenderBatchActive(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_draw_vertex_array(int_0: int,int_1: int,) -> None: + """void rlDrawVertexArray(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_draw_vertex_array_elements(int_0: int,int_1: int,void_pointer_2: Any,) -> None: + """void rlDrawVertexArrayElements(int, int, void *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_draw_vertex_array_elements_instanced(int_0: int,int_1: int,void_pointer_2: Any,int_3: int,) -> None: + """void rlDrawVertexArrayElementsInstanced(int, int, void *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_draw_vertex_array_instanced(int_0: int,int_1: int,int_2: int,) -> None: + """void rlDrawVertexArrayInstanced(int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_backface_culling() -> None: + """void rlEnableBackfaceCulling(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_color_blend() -> None: + """void rlEnableColorBlend(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_depth_mask() -> None: + """void rlEnableDepthMask(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_depth_test() -> None: + """void rlEnableDepthTest(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_framebuffer(unsignedint_0: int,) -> None: + """void rlEnableFramebuffer(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_scissor_test() -> None: + """void rlEnableScissorTest(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_shader(unsignedint_0: int,) -> None: + """void rlEnableShader(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_smooth_lines() -> None: + """void rlEnableSmoothLines(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_stereo_render() -> None: + """void rlEnableStereoRender(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_texture(unsignedint_0: int,) -> None: + """void rlEnableTexture(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_texture_cubemap(unsignedint_0: int,) -> None: + """void rlEnableTextureCubemap(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_vertex_array(unsignedint_0: int,) -> bool: + """_Bool rlEnableVertexArray(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_vertex_attribute(unsignedint_0: int,) -> None: + """void rlEnableVertexAttribute(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_vertex_buffer(unsignedint_0: int,) -> None: + """void rlEnableVertexBuffer(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_vertex_buffer_element(unsignedint_0: int,) -> None: + """void rlEnableVertexBufferElement(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_enable_wire_mode() -> None: + """void rlEnableWireMode(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_end() -> None: + """void rlEnd(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_framebuffer_attach(unsignedint_0: int,unsignedint_1: int,int_2: int,int_3: int,int_4: int,) -> None: + """void rlFramebufferAttach(unsigned int, unsigned int, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_framebuffer_complete(unsignedint_0: int,) -> bool: + """_Bool rlFramebufferComplete(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_frustum(double_0: float,double_1: float,double_2: float,double_3: float,double_4: float,double_5: float,) -> None: + """void rlFrustum(double, double, double, double, double, double); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_gen_texture_mipmaps(unsignedint_0: int,int_1: int,int_2: int,int_3: int,int_pointer_4: Any,) -> None: + """void rlGenTextureMipmaps(unsigned int, int, int, int, int *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_framebuffer_height() -> int: + """int rlGetFramebufferHeight(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_framebuffer_width() -> int: + """int rlGetFramebufferWidth(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_gl_texture_formats(int_0: int,int_pointer_1: Any,int_pointer_2: Any,int_pointer_3: Any,) -> None: + """void rlGetGlTextureFormats(int, int *, int *, int *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_line_width() -> float: + """float rlGetLineWidth(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_location_attrib(unsignedint_0: int,str_1: str,) -> int: + """int rlGetLocationAttrib(unsigned int, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_location_uniform(unsignedint_0: int,str_1: str,) -> int: + """int rlGetLocationUniform(unsigned int, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_matrix_modelview() -> Matrix: + """struct Matrix rlGetMatrixModelview(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_matrix_projection() -> Matrix: + """struct Matrix rlGetMatrixProjection(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_matrix_projection_stereo(int_0: int,) -> Matrix: + """struct Matrix rlGetMatrixProjectionStereo(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_matrix_transform() -> Matrix: + """struct Matrix rlGetMatrixTransform(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_matrix_view_offset_stereo(int_0: int,) -> Matrix: + """struct Matrix rlGetMatrixViewOffsetStereo(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_pixel_format_name(unsignedint_0: int,) -> str: + """char *rlGetPixelFormatName(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_shader_id_default() -> int: + """unsigned int rlGetShaderIdDefault(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_shader_locs_default() -> Any: + """int *rlGetShaderLocsDefault(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_texture_id_default() -> int: + """unsigned int rlGetTextureIdDefault(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_get_version() -> int: + """int rlGetVersion(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_is_stereo_render_enabled() -> bool: + """_Bool rlIsStereoRenderEnabled(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_draw_cube() -> None: + """void rlLoadDrawCube(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_draw_quad() -> None: + """void rlLoadDrawQuad(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_extensions(void_pointer_0: Any,) -> None: + """void rlLoadExtensions(void *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_framebuffer(int_0: int,int_1: int,) -> int: + """unsigned int rlLoadFramebuffer(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_identity() -> None: + """void rlLoadIdentity(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_render_batch(int_0: int,int_1: int,) -> rlRenderBatch: + """struct rlRenderBatch rlLoadRenderBatch(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_shader_code(str_0: str,str_1: str,) -> int: + """unsigned int rlLoadShaderCode(char *, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_shader_program(unsignedint_0: int,unsignedint_1: int,) -> int: + """unsigned int rlLoadShaderProgram(unsigned int, unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_texture(void_pointer_0: Any,int_1: int,int_2: int,int_3: int,int_4: int,) -> int: + """unsigned int rlLoadTexture(void *, int, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_texture_cubemap(void_pointer_0: Any,int_1: int,int_2: int,) -> int: + """unsigned int rlLoadTextureCubemap(void *, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_texture_depth(int_0: int,int_1: int,_Bool_2: bool,) -> int: + """unsigned int rlLoadTextureDepth(int, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_vertex_array() -> int: + """unsigned int rlLoadVertexArray(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_vertex_buffer(void_pointer_0: Any,int_1: int,_Bool_2: bool,) -> int: + """unsigned int rlLoadVertexBuffer(void *, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_load_vertex_buffer_element(void_pointer_0: Any,int_1: int,_Bool_2: bool,) -> int: + """unsigned int rlLoadVertexBufferElement(void *, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_matrix_mode(int_0: int,) -> None: + """void rlMatrixMode(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_mult_matrixf(float_pointer_0: Any,) -> None: + """void rlMultMatrixf(float *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_normal3f(float_0: float,float_1: float,float_2: float,) -> None: + """void rlNormal3f(float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_ortho(double_0: float,double_1: float,double_2: float,double_3: float,double_4: float,double_5: float,) -> None: + """void rlOrtho(double, double, double, double, double, double); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_pop_matrix() -> None: + """void rlPopMatrix(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_push_matrix() -> None: + """void rlPushMatrix(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_read_screen_pixels(int_0: int,int_1: int,) -> str: + """unsigned char *rlReadScreenPixels(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_read_texture_pixels(unsignedint_0: int,int_1: int,int_2: int,int_3: int,) -> Any: + """void *rlReadTexturePixels(unsigned int, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_rotatef(float_0: float,float_1: float,float_2: float,float_3: float,) -> None: + """void rlRotatef(float, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_scalef(float_0: float,float_1: float,float_2: float,) -> None: + """void rlScalef(float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_scissor(int_0: int,int_1: int,int_2: int,int_3: int,) -> None: + """void rlScissor(int, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_blend_factors(int_0: int,int_1: int,int_2: int,) -> None: + """void rlSetBlendFactors(int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_blend_mode(int_0: int,) -> None: + """void rlSetBlendMode(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_line_width(float_0: float,) -> None: + """void rlSetLineWidth(float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_matrix_modelview(Matrix_0: Matrix,) -> None: + """void rlSetMatrixModelview(struct Matrix); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_matrix_projection(Matrix_0: Matrix,) -> None: + """void rlSetMatrixProjection(struct Matrix); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_matrix_projection_stereo(Matrix_0: Matrix,Matrix_1: Matrix,) -> None: + """void rlSetMatrixProjectionStereo(struct Matrix, struct Matrix); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_matrix_view_offset_stereo(Matrix_0: Matrix,Matrix_1: Matrix,) -> None: + """void rlSetMatrixViewOffsetStereo(struct Matrix, struct Matrix); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_render_batch_active(rlRenderBatch_pointer_0: Any,) -> None: + """void rlSetRenderBatchActive(struct rlRenderBatch *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_shader(unsignedint_0: int,int_pointer_1: Any,) -> None: + """void rlSetShader(unsigned int, int *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_texture(unsignedint_0: int,) -> None: + """void rlSetTexture(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_uniform(int_0: int,void_pointer_1: Any,int_2: int,int_3: int,) -> None: + """void rlSetUniform(int, void *, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_uniform_matrix(int_0: int,Matrix_1: Matrix,) -> None: + """void rlSetUniformMatrix(int, struct Matrix); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_uniform_sampler(int_0: int,unsignedint_1: int,) -> None: + """void rlSetUniformSampler(int, unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_vertex_attribute(unsignedint_0: int,int_1: int,int_2: int,_Bool_3: bool,int_4: int,void_pointer_5: Any,) -> None: + """void rlSetVertexAttribute(unsigned int, int, int, _Bool, int, void *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_vertex_attribute_default(int_0: int,void_pointer_1: Any,int_2: int,int_3: int,) -> None: + """void rlSetVertexAttributeDefault(int, void *, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_vertex_attribute_divisor(unsignedint_0: int,int_1: int,) -> None: + """void rlSetVertexAttributeDivisor(unsigned int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_tex_coord2f(float_0: float,float_1: float,) -> None: + """void rlTexCoord2f(float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_texture_parameters(unsignedint_0: int,int_1: int,int_2: int,) -> None: + """void rlTextureParameters(unsigned int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_translatef(float_0: float,float_1: float,float_2: float,) -> None: + """void rlTranslatef(float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_unload_framebuffer(unsignedint_0: int,) -> None: + """void rlUnloadFramebuffer(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_unload_render_batch(rlRenderBatch_0: rlRenderBatch,) -> None: + """void rlUnloadRenderBatch(struct rlRenderBatch); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_unload_shader_program(unsignedint_0: int,) -> None: + """void rlUnloadShaderProgram(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_unload_texture(unsignedint_0: int,) -> None: + """void rlUnloadTexture(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_unload_vertex_array(unsignedint_0: int,) -> None: + """void rlUnloadVertexArray(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_unload_vertex_buffer(unsignedint_0: int,) -> None: + """void rlUnloadVertexBuffer(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_update_texture(unsignedint_0: int,int_1: int,int_2: int,int_3: int,int_4: int,int_5: int,void_pointer_6: Any,) -> None: + """void rlUpdateTexture(unsigned int, int, int, int, int, int, void *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_update_vertex_buffer(unsignedint_0: int,void_pointer_1: Any,int_2: int,int_3: int,) -> None: + """void rlUpdateVertexBuffer(unsigned int, void *, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_vertex2f(float_0: float,float_1: float,) -> None: + """void rlVertex2f(float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_vertex2i(int_0: int,int_1: int,) -> None: + """void rlVertex2i(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_vertex3f(float_0: float,float_1: float,float_2: float,) -> None: + """void rlVertex3f(float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_viewport(int_0: int,int_1: int,int_2: int,int_3: int,) -> None: + """void rlViewport(int, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlgl_close() -> None: + """void rlglClose(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlgl_init(int_0: int,int_1: int,) -> None: + """void rlglInit(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... class AudioStream: """ struct """ def __init__(self, buffer, sampleRate, sampleSize, channels): @@ -1748,14 +2959,6 @@ class Camera3D: self.projection=projection CameraMode: int CameraProjection: int -class CharInfo: - """ struct """ - def __init__(self, value, offsetX, offsetY, advanceX, image): - self.value=value - self.offsetX=offsetX - self.offsetY=offsetY - self.advanceX=advanceX - self.image=image class Color: """ struct """ def __init__(self, r, g, b, a): @@ -1767,17 +2970,48 @@ ConfigFlags: int CubemapLayout: int class Font: """ struct """ - def __init__(self, baseSize, charsCount, charsPadding, texture, recs, chars): + def __init__(self, baseSize, glyphCount, glyphPadding, texture, recs, glyphs): self.baseSize=baseSize - self.charsCount=charsCount - self.charsPadding=charsPadding + self.glyphCount=glyphCount + self.glyphPadding=glyphPadding self.texture=texture self.recs=recs - self.chars=chars + self.glyphs=glyphs FontType: int GamepadAxis: int GamepadButton: int -Gestures: int +Gesture: int +class GlyphInfo: + """ struct """ + def __init__(self, value, offsetX, offsetY, advanceX, image): + self.value=value + self.offsetX=offsetX + self.offsetY=offsetY + self.advanceX=advanceX + self.image=image +GuiCheckBoxProperty: int +GuiColorPickerProperty: int +GuiComboBoxProperty: int +GuiControl: int +GuiControlProperty: int +GuiControlState: int +GuiDefaultProperty: int +GuiDropdownBoxProperty: int +GuiListViewProperty: int +GuiProgressBarProperty: int +GuiScrollBarProperty: int +GuiScrollBarSide: int +GuiSliderProperty: int +GuiSpinnerProperty: int +class GuiStyleProp: + """ struct """ + def __init__(self, controlId, propertyId, propertyValue): + self.controlId=controlId + self.propertyId=propertyId + self.propertyValue=propertyValue +GuiTextAlignment: int +GuiTextBoxProperty: int +GuiToggleProperty: int class Image: """ struct """ def __init__(self, data, width, height, mipmaps, format): @@ -1819,6 +3053,13 @@ class Matrix: self.m7=m7 self.m11=m11 self.m15=m15 +class Matrix2x2: + """ struct """ + def __init__(self, m00, m01, m10, m11): + self.m00=m00 + self.m01=m01 + self.m10=m10 + self.m11=m11 class Mesh: """ struct """ def __init__(self, vertexCount, triangleCount, vertices, texcoords, texcoords2, normals, tangents, colors, indices, animVertices, animNormals, boneIds, boneWeights, vaoId, vboId): @@ -1860,9 +3101,9 @@ MouseButton: int MouseCursor: int class Music: """ struct """ - def __init__(self, stream, sampleCount, looping, ctxType, ctxData): + def __init__(self, stream, frameCount, looping, ctxType, ctxData): self.stream=stream - self.sampleCount=sampleCount + self.frameCount=frameCount self.looping=looping self.ctxType=ctxType self.ctxData=ctxData @@ -1876,6 +3117,56 @@ class NPatchInfo: self.bottom=bottom self.layout=layout NPatchLayout: int +class PhysicsBodyData: + """ struct """ + def __init__(self, id, enabled, position, velocity, force, angularVelocity, torque, orient, inertia, inverseInertia, mass, inverseMass, staticFriction, dynamicFriction, restitution, useGravity, isGrounded, freezeOrient, shape): + self.id=id + self.enabled=enabled + self.position=position + self.velocity=velocity + self.force=force + self.angularVelocity=angularVelocity + self.torque=torque + self.orient=orient + self.inertia=inertia + self.inverseInertia=inverseInertia + self.mass=mass + self.inverseMass=inverseMass + self.staticFriction=staticFriction + self.dynamicFriction=dynamicFriction + self.restitution=restitution + self.useGravity=useGravity + self.isGrounded=isGrounded + self.freezeOrient=freezeOrient + self.shape=shape +class PhysicsManifoldData: + """ struct """ + def __init__(self, id, bodyA, bodyB, penetration, normal, contacts, contactsCount, restitution, dynamicFriction, staticFriction): + self.id=id + self.bodyA=bodyA + self.bodyB=bodyB + self.penetration=penetration + self.normal=normal + self.contacts=contacts + self.contactsCount=contactsCount + self.restitution=restitution + self.dynamicFriction=dynamicFriction + self.staticFriction=staticFriction +class PhysicsShape: + """ struct """ + def __init__(self, type, body, vertexData, radius, transform): + self.type=type + self.body=body + self.vertexData=vertexData + self.radius=radius + self.transform=transform +PhysicsShapeType: int +class PhysicsVertexData: + """ struct """ + def __init__(self, vertexCount, positions, normals): + self.vertexCount=vertexCount + self.positions=positions + self.normals=normals PixelFormat: int class Quaternion: """ struct """ @@ -1889,12 +3180,12 @@ class Ray: def __init__(self, position, direction): self.position=position self.direction=direction -class RayHitInfo: +class RayCollision: """ struct """ - def __init__(self, hit, distance, position, normal): + def __init__(self, hit, distance, point, normal): self.hit=hit self.distance=distance - self.position=position + self.point=point self.normal=normal class Rectangle: """ struct """ @@ -1920,13 +3211,14 @@ class Shader: def __init__(self, id, locs): self.id=id self.locs=locs +ShaderAttributeDataType: int ShaderLocationIndex: int ShaderUniformDataType: int class Sound: """ struct """ - def __init__(self, stream, sampleCount): + def __init__(self, stream, frameCount): self.stream=stream - self.sampleCount=sampleCount + self.frameCount=frameCount class Texture: """ struct """ def __init__(self, id, width, height, mipmaps, format): @@ -2004,8 +3296,8 @@ class VrStereoConfig: self.scaleIn=scaleIn class Wave: """ struct """ - def __init__(self, sampleCount, sampleRate, sampleSize, channels, data): - self.sampleCount=sampleCount + def __init__(self, frameCount, sampleRate, sampleSize, channels, data): + self.frameCount=frameCount self.sampleRate=sampleRate self.sampleSize=sampleSize self.channels=channels diff --git a/raylib-c b/raylib-c index 8e59990..cd61463 160000 --- a/raylib-c +++ b/raylib-c @@ -1 +1 @@ -Subproject commit 8e599908d9cca8f2f96f53790837f49abcea2745 +Subproject commit cd61463d23263ffb8d2d87846f38c83c6d0d5cd4 diff --git a/raylib/__init__.pyi b/raylib/__init__.pyi index 7b5bb02..a640ad9 100644 --- a/raylib/__init__.pyi +++ b/raylib/__init__.pyi @@ -3,12 +3,26 @@ from typing import Any class struct: ... +ARROWS_SIZE: int +ARROWS_VISIBLE: int +ARROW_PADDING: int +BACKGROUND_COLOR: int +BASE_COLOR_DISABLED: int +BASE_COLOR_FOCUSED: int +BASE_COLOR_NORMAL: int +BASE_COLOR_PRESSED: int BLEND_ADDITIVE: int BLEND_ADD_COLORS: int BLEND_ALPHA: int BLEND_CUSTOM: int BLEND_MULTIPLIED: int BLEND_SUBTRACT_COLORS: int +BORDER_COLOR_DISABLED: int +BORDER_COLOR_FOCUSED: int +BORDER_COLOR_NORMAL: int +BORDER_COLOR_PRESSED: int +BORDER_WIDTH: int +BUTTON: int def BeginBlendMode(mode: int,) -> None: """Begin blending mode (alpha, additive, multiplied, subtract, custom)""" ... @@ -40,6 +54,15 @@ CAMERA_ORBITAL: int CAMERA_ORTHOGRAPHIC: int CAMERA_PERSPECTIVE: int CAMERA_THIRD_PERSON: int +CHECKBOX: int +CHECK_PADDING: int +COLORPICKER: int +COLOR_SELECTED_BG: int +COLOR_SELECTED_FG: int +COLOR_SELECTOR_SIZE: int +COMBOBOX: int +COMBO_BUTTON_PADDING: int +COMBO_BUTTON_WIDTH: int CUBEMAP_LAYOUT_AUTO_DETECT: int CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE: int CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR: int @@ -67,27 +90,15 @@ def CheckCollisionLines(startPos1: Vector2,endPos1: Vector2,startPos2: Vector2,e def CheckCollisionPointCircle(point: Vector2,center: Vector2,radius: float,) -> bool: """Check if point is inside circle""" ... +def CheckCollisionPointLine(point: Vector2,p1: Vector2,p2: Vector2,threshold: int,) -> bool: + """Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]""" + ... def CheckCollisionPointRec(point: Vector2,rec: Rectangle,) -> bool: """Check if point is inside rectangle""" ... def CheckCollisionPointTriangle(point: Vector2,p1: Vector2,p2: Vector2,p3: Vector2,) -> bool: """Check if point is inside a triangle""" ... -def CheckCollisionRayBox(Ray_0: Ray,BoundingBox_1: BoundingBox,) -> bool: - """_Bool CheckCollisionRayBox(struct Ray, struct BoundingBox); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def CheckCollisionRaySphere(Ray_0: Ray,Vector3_1: Vector3,float_2: float,) -> bool: - """_Bool CheckCollisionRaySphere(struct Ray, struct Vector3, float); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def CheckCollisionRaySphereEx(Ray_0: Ray,Vector3_1: Vector3,float_2: float,Vector3_pointer_3: Any,) -> bool: - """_Bool CheckCollisionRaySphereEx(struct Ray, struct Vector3, float, struct Vector3 *); - -CFFI C function from raylib._raylib_cffi.lib""" - ... def CheckCollisionRecs(rec1: Rectangle,rec2: Rectangle,) -> bool: """Check collision between two rectangles""" ... @@ -109,16 +120,16 @@ def ClearWindowState(flags: int,) -> None: def CloseAudioDevice() -> None: """Close the audio device and context""" ... -def CloseAudioStream(AudioStream_0: AudioStream,) -> None: - """void CloseAudioStream(struct AudioStream); +def ClosePhysics() -> None: + """void ClosePhysics(); CFFI C function from raylib._raylib_cffi.lib""" ... def CloseWindow() -> None: """Close window and unload OpenGL context""" ... -def CodepointToUtf8(codepoint: int,byteLength: Any,) -> str: - """Encode codepoint into utf8 text (char array length returned as parameter)""" +def CodepointToUTF8(codepoint: int,byteSize: Any,) -> str: + """Encode one codepoint into UTF-8 byte array (array length returned as parameter)""" ... def ColorAlpha(color: Color,alpha: float,) -> Color: """Get color with alpha applied, alpha goes from 0.0f to 1.0f""" @@ -144,9 +155,35 @@ def ColorToInt(color: Color,) -> int: def CompressData(data: str,dataLength: int,compDataLength: Any,) -> str: """Compress data (DEFLATE algorithm)""" ... +def CreatePhysicsBodyCircle(Vector2_0: Vector2,float_1: float,float_2: float,) -> Any: + """struct PhysicsBodyData *CreatePhysicsBodyCircle(struct Vector2, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def CreatePhysicsBodyPolygon(Vector2_0: Vector2,float_1: float,int_2: int,float_3: float,) -> Any: + """struct PhysicsBodyData *CreatePhysicsBodyPolygon(struct Vector2, float, int, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def CreatePhysicsBodyRectangle(Vector2_0: Vector2,float_1: float,float_2: float,float_3: float,) -> Any: + """struct PhysicsBodyData *CreatePhysicsBodyRectangle(struct Vector2, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +DEFAULT: int +DROPDOWNBOX: int +DROPDOWN_ITEMS_PADDING: int +def DecodeDataBase64(data: str,outputLength: Any,) -> str: + """Decode Base64 string data""" + ... def DecompressData(compData: str,compDataLength: int,dataLength: Any,) -> str: """Decompress data (DEFLATE algorithm)""" ... +def DestroyPhysicsBody(PhysicsBodyData_pointer_0: Any,) -> None: + """void DestroyPhysicsBody(struct PhysicsBodyData *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... def DirectoryExists(dirPath: str,) -> bool: """Check if a directory path exists""" ... @@ -156,7 +193,10 @@ def DisableCursor() -> None: def DrawBillboard(camera: Camera3D,texture: Texture,position: Vector3,size: float,tint: Color,) -> None: """Draw a billboard texture""" ... -def DrawBillboardRec(camera: Camera3D,texture: Texture,source: Rectangle,position: Vector3,size: float,tint: Color,) -> None: +def DrawBillboardPro(camera: Camera3D,texture: Texture,source: Rectangle,position: Vector3,up: Vector3,size: Vector2,origin: Vector2,rotation: float,tint: Color,) -> None: + """Draw a billboard texture defined by source and rotation""" + ... +def DrawBillboardRec(camera: Camera3D,texture: Texture,source: Rectangle,position: Vector3,size: Vector2,tint: Color,) -> None: """Draw a billboard texture defined by source""" ... def DrawBoundingBox(box: BoundingBox,color: Color,) -> None: @@ -189,6 +229,9 @@ def DrawCube(position: Vector3,width: float,height: float,length: float,color: C def DrawCubeTexture(texture: Texture,position: Vector3,width: float,height: float,length: float,color: Color,) -> None: """Draw cube textured""" ... +def DrawCubeTextureRec(texture: Texture,source: Rectangle,position: Vector3,width: float,height: float,length: float,color: Color,) -> None: + """Draw cube with a region of a texture""" + ... def DrawCubeV(position: Vector3,size: Vector3,color: Color,) -> None: """Draw cube (Vector version)""" ... @@ -201,9 +244,15 @@ def DrawCubeWiresV(position: Vector3,size: Vector3,color: Color,) -> None: def DrawCylinder(position: Vector3,radiusTop: float,radiusBottom: float,height: float,slices: int,color: Color,) -> None: """Draw a cylinder/cone""" ... +def DrawCylinderEx(startPos: Vector3,endPos: Vector3,startRadius: float,endRadius: float,sides: int,color: Color,) -> None: + """Draw a cylinder with base at startPos and top at endPos""" + ... def DrawCylinderWires(position: Vector3,radiusTop: float,radiusBottom: float,height: float,slices: int,color: Color,) -> None: """Draw a cylinder/cone wires""" ... +def DrawCylinderWiresEx(startPos: Vector3,endPos: Vector3,startRadius: float,endRadius: float,sides: int,color: Color,) -> None: + """Draw a cylinder wires with base at startPos and top at endPos""" + ... def DrawEllipse(centerX: int,centerY: int,radiusH: float,radiusV: float,color: Color,) -> None: """Draw ellipse""" ... @@ -225,13 +274,16 @@ def DrawLine3D(startPos: Vector3,endPos: Vector3,color: Color,) -> None: def DrawLineBezier(startPos: Vector2,endPos: Vector2,thick: float,color: Color,) -> None: """Draw a line using cubic-bezier curves in-out""" ... +def DrawLineBezierCubic(startPos: Vector2,endPos: Vector2,startControlPos: Vector2,endControlPos: Vector2,thick: float,color: Color,) -> None: + """Draw line using cubic bezier curves with 2 control points""" + ... def DrawLineBezierQuad(startPos: Vector2,endPos: Vector2,controlPos: Vector2,thick: float,color: Color,) -> None: - """raw line using quadratic bezier curves with a control point""" + """Draw line using quadratic bezier curves with a control point""" ... def DrawLineEx(startPos: Vector2,endPos: Vector2,thick: float,color: Color,) -> None: """Draw a line defining thickness""" ... -def DrawLineStrip(points: Any,pointsCount: int,color: Color,) -> None: +def DrawLineStrip(points: Any,pointCount: int,color: Color,) -> None: """Draw lines sequence""" ... def DrawLineV(startPos: Vector2,endPos: Vector2,color: Color,) -> None: @@ -273,6 +325,9 @@ def DrawPoly(center: Vector2,sides: int,radius: float,rotation: float,color: Col def DrawPolyLines(center: Vector2,sides: int,radius: float,rotation: float,color: Color,) -> None: """Draw a polygon outline of n sides""" ... +def DrawPolyLinesEx(center: Vector2,sides: int,radius: float,rotation: float,lineThick: float,color: Color,) -> None: + """Draw a polygon outline of n sides with extended parameters""" + ... def DrawRay(ray: Ray,color: Color,) -> None: """Draw a ray line""" ... @@ -291,7 +346,7 @@ def DrawRectangleGradientV(posX: int,posY: int,width: int,height: int,color1: Co def DrawRectangleLines(posX: int,posY: int,width: int,height: int,color: Color,) -> None: """Draw rectangle outline""" ... -def DrawRectangleLinesEx(rec: Rectangle,lineThick: int,color: Color,) -> None: +def DrawRectangleLinesEx(rec: Rectangle,lineThick: float,color: Color,) -> None: """Draw rectangle outline with extended parameters""" ... def DrawRectanglePro(rec: Rectangle,origin: Vector2,rotation: float,color: Color,) -> None: @@ -303,7 +358,7 @@ def DrawRectangleRec(rec: Rectangle,color: Color,) -> None: def DrawRectangleRounded(rec: Rectangle,roundness: float,segments: int,color: Color,) -> None: """Draw rectangle with rounded edges""" ... -def DrawRectangleRoundedLines(rec: Rectangle,roundness: float,segments: int,lineThick: int,color: Color,) -> None: +def DrawRectangleRoundedLines(rec: Rectangle,roundness: float,segments: int,lineThick: float,color: Color,) -> None: """Draw rectangle with rounded edges outline""" ... def DrawRectangleV(position: Vector2,size: Vector2,color: Color,) -> None: @@ -333,11 +388,8 @@ def DrawTextCodepoint(font: Font,codepoint: int,position: Vector2,fontSize: floa def DrawTextEx(font: Font,text: str,position: Vector2,fontSize: float,spacing: float,tint: Color,) -> None: """Draw text using font and additional parameters""" ... -def DrawTextRec(font: Font,text: str,rec: Rectangle,fontSize: float,spacing: float,wordWrap: bool,tint: Color,) -> None: - """Draw text using font inside rectangle limits""" - ... -def DrawTextRecEx(font: Font,text: str,rec: Rectangle,fontSize: float,spacing: float,wordWrap: bool,tint: Color,selectStart: int,selectLength: int,selectTint: Color,selectBackTint: Color,) -> None: - """Draw text using font inside rectangle limits with support for text selection""" +def DrawTextPro(font: Font,text: str,position: Vector2,origin: Vector2,rotation: float,fontSize: float,spacing: float,tint: Color,) -> None: + """Draw text using Font and pro parameters (rotation)""" ... def DrawTexture(texture: Texture,posX: int,posY: int,tint: Color,) -> None: """Draw a Texture2D""" @@ -348,7 +400,7 @@ def DrawTextureEx(texture: Texture,position: Vector2,rotation: float,scale: floa def DrawTextureNPatch(texture: Texture,nPatchInfo: NPatchInfo,dest: Rectangle,origin: Vector2,rotation: float,tint: Color,) -> None: """Draws a texture (or part of it) that stretches or shrinks nicely""" ... -def DrawTexturePoly(texture: Texture,center: Vector2,points: Any,texcoords: Any,pointsCount: int,tint: Color,) -> None: +def DrawTexturePoly(texture: Texture,center: Vector2,points: Any,texcoords: Any,pointCount: int,tint: Color,) -> None: """Draw a textured polygon""" ... def DrawTexturePro(texture: Texture,source: Rectangle,dest: Rectangle,origin: Vector2,rotation: float,tint: Color,) -> None: @@ -372,21 +424,24 @@ def DrawTriangle(v1: Vector2,v2: Vector2,v3: Vector2,color: Color,) -> None: def DrawTriangle3D(v1: Vector3,v2: Vector3,v3: Vector3,color: Color,) -> None: """Draw a color-filled triangle (vertex in counter-clockwise order!)""" ... -def DrawTriangleFan(points: Any,pointsCount: int,color: Color,) -> None: +def DrawTriangleFan(points: Any,pointCount: int,color: Color,) -> None: """Draw a triangle fan defined by points (first vertex is the center)""" ... def DrawTriangleLines(v1: Vector2,v2: Vector2,v3: Vector2,color: Color,) -> None: """Draw triangle outline (vertex in counter-clockwise order!)""" ... -def DrawTriangleStrip(points: Any,pointsCount: int,color: Color,) -> None: +def DrawTriangleStrip(points: Any,pointCount: int,color: Color,) -> None: """Draw a triangle strip defined by points""" ... -def DrawTriangleStrip3D(points: Any,pointsCount: int,color: Color,) -> None: +def DrawTriangleStrip3D(points: Any,pointCount: int,color: Color,) -> None: """Draw a triangle strip defined by points""" ... def EnableCursor() -> None: """Enables cursor (unlock cursor)""" ... +def EncodeDataBase64(data: str,dataLength: int,outputLength: Any,) -> str: + """Encode data to Base64 string""" + ... def EndBlendMode() -> None: """End blending mode (reset to default: alpha blending)""" ... @@ -484,8 +539,16 @@ GESTURE_SWIPE_LEFT: int GESTURE_SWIPE_RIGHT: int GESTURE_SWIPE_UP: int GESTURE_TAP: int +GROUP_PADDING: int +GUI_STATE_DISABLED: int +GUI_STATE_FOCUSED: int +GUI_STATE_NORMAL: int +GUI_STATE_PRESSED: int +GUI_TEXT_ALIGN_CENTER: int +GUI_TEXT_ALIGN_LEFT: int +GUI_TEXT_ALIGN_RIGHT: int def GenImageCellular(width: int,height: int,tileSize: int,) -> Image: - """Generate image: cellular algorithm. Bigger tileSize means bigger cells""" + """Generate image: cellular algorithm, bigger tileSize means bigger cells""" ... def GenImageChecked(width: int,height: int,checksX: int,checksY: int,col1: Color,col2: Color,) -> Image: """Generate image: checked""" @@ -493,7 +556,7 @@ def GenImageChecked(width: int,height: int,checksX: int,checksY: int,col1: Color def GenImageColor(width: int,height: int,color: Color,) -> Image: """Generate image: plain color""" ... -def GenImageFontAtlas(chars: Any,recs: Any,charsCount: int,fontSize: int,padding: int,packMethod: int,) -> Image: +def GenImageFontAtlas(chars: Any,recs: Any,glyphCount: int,fontSize: int,padding: int,packMethod: int,) -> Image: """Generate image font atlas using chars info""" ... def GenImageGradientH(width: int,height: int,left: Color,right: Color,) -> Image: @@ -505,12 +568,15 @@ def GenImageGradientRadial(width: int,height: int,density: float,inner: Color,ou def GenImageGradientV(width: int,height: int,top: Color,bottom: Color,) -> Image: """Generate image: vertical gradient""" ... -def GenImagePerlinNoise(width: int,height: int,offsetX: int,offsetY: int,scale: float,) -> Image: - """Generate image: perlin noise""" - ... def GenImageWhiteNoise(width: int,height: int,factor: float,) -> Image: """Generate image: white noise""" ... +def GenMeshBinormals(mesh: Any,) -> None: + """Compute mesh binormals""" + ... +def GenMeshCone(radius: float,height: float,slices: int,) -> Mesh: + """Generate cone/pyramid mesh""" + ... def GenMeshCube(width: float,height: float,length: float,) -> Mesh: """Generate cuboid mesh""" ... @@ -538,6 +604,9 @@ def GenMeshPoly(sides: int,radius: float,) -> Mesh: def GenMeshSphere(radius: float,rings: int,slices: int,) -> Mesh: """Generate sphere mesh (standard sphere)""" ... +def GenMeshTangents(mesh: Any,) -> None: + """Compute mesh tangents""" + ... def GenMeshTorus(radius: float,size: float,radSeg: int,sides: int,) -> Mesh: """Generate torus mesh""" ... @@ -551,36 +620,16 @@ def GetCameraMatrix2D(camera: Camera2D,) -> Matrix: """Get camera 2d transform matrix""" ... def GetCharPressed() -> int: - """Get char pressed (unicode), call it multiple times for chars queued""" + """Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty""" ... def GetClipboardText() -> str: """Get clipboard text content""" ... -def GetCodepoints(text: str,count: Any,) -> Any: - """Get all codepoints in a string, codepoints count returned by parameters""" +def GetCodepoint(text: str,bytesProcessed: Any,) -> int: + """Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure""" ... -def GetCodepointsCount(text: str,) -> int: - """Get total number of characters (codepoints) in a UTF8 encoded string""" - ... -def GetCollisionRayGround(Ray_0: Ray,float_1: float,) -> RayHitInfo: - """struct RayHitInfo GetCollisionRayGround(struct Ray, float); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def GetCollisionRayMesh(Ray_0: Ray,Mesh_1: Mesh,Matrix_2: Matrix,) -> RayHitInfo: - """struct RayHitInfo GetCollisionRayMesh(struct Ray, struct Mesh, struct Matrix); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def GetCollisionRayModel(Ray_0: Ray,Model_1: Model,) -> RayHitInfo: - """struct RayHitInfo GetCollisionRayModel(struct Ray, struct Model); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def GetCollisionRayTriangle(Ray_0: Ray,Vector3_1: Vector3,Vector3_2: Vector3,Vector3_3: Vector3,) -> RayHitInfo: - """struct RayHitInfo GetCollisionRayTriangle(struct Ray, struct Vector3, struct Vector3, struct Vector3); - -CFFI C function from raylib._raylib_cffi.lib""" +def GetCodepointCount(text: str,) -> int: + """Get total number of codepoints in a UTF-8 encoded string""" ... def GetCollisionRec(rec1: Rectangle,rec2: Rectangle,) -> Rectangle: """Get collision rectangle for two rectangles collision""" @@ -651,14 +700,29 @@ def GetGesturePinchAngle() -> float: def GetGesturePinchVector() -> Vector2: """Get gesture pinch delta""" ... +def GetGlyphAtlasRec(font: Font,codepoint: int,) -> Rectangle: + """Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found""" + ... def GetGlyphIndex(font: Font,codepoint: int,) -> int: - """Get index position for a unicode character on font""" + """Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found""" + ... +def GetGlyphInfo(font: Font,codepoint: int,) -> GlyphInfo: + """Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found""" ... def GetImageAlphaBorder(image: Image,threshold: float,) -> Rectangle: """Get image alpha border rectangle""" ... +def GetImageColor(image: Image,x: int,y: int,) -> Color: + """Get image pixel color at (x, y) position""" + ... def GetKeyPressed() -> int: - """Get key pressed (keycode), call it multiple times for keys queued""" + """Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty""" + ... +def GetMeshBoundingBox(mesh: Mesh,) -> BoundingBox: + """Compute mesh bounding box limits""" + ... +def GetModelBoundingBox(model: Model,) -> BoundingBox: + """Compute model bounding box limits (considers all meshes)""" ... def GetMonitorCount() -> int: """Get number of connected monitors""" @@ -684,6 +748,9 @@ def GetMonitorRefreshRate(monitor: int,) -> int: def GetMonitorWidth(monitor: int,) -> int: """Get specified monitor width (max available by monitor)""" ... +def GetMouseDelta() -> Vector2: + """Get mouse delta between frames""" + ... def GetMousePosition() -> Vector2: """Get mouse position XY""" ... @@ -705,8 +772,30 @@ def GetMusicTimeLength(music: Music,) -> float: def GetMusicTimePlayed(music: Music,) -> float: """Get current music time played (in seconds)""" ... -def GetNextCodepoint(text: str,bytesProcessed: Any,) -> int: - """Get next codepoint in a UTF8 encoded string; 0x3f('?') is returned on failure""" +def GetPhysicsBodiesCount() -> int: + """int GetPhysicsBodiesCount(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GetPhysicsBody(int_0: int,) -> Any: + """struct PhysicsBodyData *GetPhysicsBody(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GetPhysicsShapeType(int_0: int,) -> int: + """int GetPhysicsShapeType(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GetPhysicsShapeVertex(PhysicsBodyData_pointer_0: Any,int_1: int,) -> Vector2: + """struct Vector2 GetPhysicsShapeVertex(struct PhysicsBodyData *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GetPhysicsShapeVerticesCount(int_0: int,) -> int: + """int GetPhysicsShapeVerticesCount(int); + +CFFI C function from raylib._raylib_cffi.lib""" ... def GetPixelColor(srcPtr: Any,format: int,) -> Color: """Get Color from a source pixel pointer of certain format""" @@ -720,8 +809,23 @@ def GetPrevDirectoryPath(dirPath: str,) -> str: def GetRandomValue(min: int,max: int,) -> int: """Get a random value between min and max (both included)""" ... -def GetScreenData() -> Image: - """Get pixel data from screen buffer and return an Image (screenshot)""" +def GetRayCollisionBox(ray: Ray,box: BoundingBox,) -> RayCollision: + """Get collision info between ray and box""" + ... +def GetRayCollisionMesh(ray: Ray,mesh: Mesh,transform: Matrix,) -> RayCollision: + """Get collision info between ray and mesh""" + ... +def GetRayCollisionModel(ray: Ray,model: Model,) -> RayCollision: + """Get collision info between ray and model""" + ... +def GetRayCollisionQuad(ray: Ray,p1: Vector3,p2: Vector3,p3: Vector3,p4: Vector3,) -> RayCollision: + """Get collision info between ray and quad""" + ... +def GetRayCollisionSphere(ray: Ray,center: Vector3,radius: float,) -> RayCollision: + """Get collision info between ray and sphere""" + ... +def GetRayCollisionTriangle(ray: Ray,p1: Vector3,p2: Vector3,p3: Vector3,) -> RayCollision: + """Get collision info between ray and triangle""" ... def GetScreenHeight() -> int: """Get current screen height""" @@ -741,14 +845,14 @@ def GetShaderLocationAttrib(shader: Shader,attribName: str,) -> int: def GetSoundsPlaying() -> int: """Get number of sounds playing in the multichannel""" ... -def GetTextureData(texture: Texture,) -> Image: - """Get pixel data from GPU texture and return an Image""" - ... def GetTime() -> float: """Get elapsed time in seconds since InitWindow()""" ... -def GetTouchPointsCount() -> int: - """Get touch points count""" +def GetTouchPointCount() -> int: + """Get number of touch points""" + ... +def GetTouchPointId(index: int,) -> int: + """Get touch point identifier for given index""" ... def GetTouchPosition(index: int,) -> Vector2: """Get touch position XY for a touch point index (relative to screen size)""" @@ -780,6 +884,250 @@ def GetWorldToScreen2D(position: Vector2,camera: Camera2D,) -> Vector2: def GetWorldToScreenEx(position: Vector3,camera: Camera3D,width: int,height: int,) -> Vector2: """Get size position for a 3d world space position""" ... +def GuiButton(Rectangle_0: Rectangle,str_1: str,) -> bool: + """_Bool GuiButton(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiCheckBox(Rectangle_0: Rectangle,str_1: str,_Bool_2: bool,) -> bool: + """_Bool GuiCheckBox(struct Rectangle, char *, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiColorBarAlpha(Rectangle_0: Rectangle,float_1: float,) -> float: + """float GuiColorBarAlpha(struct Rectangle, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiColorBarHue(Rectangle_0: Rectangle,float_1: float,) -> float: + """float GuiColorBarHue(struct Rectangle, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiColorPanel(Rectangle_0: Rectangle,Color_1: Color,) -> Color: + """struct Color GuiColorPanel(struct Rectangle, struct Color); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiColorPicker(Rectangle_0: Rectangle,Color_1: Color,) -> Color: + """struct Color GuiColorPicker(struct Rectangle, struct Color); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiComboBox(Rectangle_0: Rectangle,str_1: str,int_2: int,) -> int: + """int GuiComboBox(struct Rectangle, char *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiDisable() -> None: + """void GuiDisable(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiDropdownBox(Rectangle_0: Rectangle,str_1: str,int_pointer_2: Any,_Bool_3: bool,) -> bool: + """_Bool GuiDropdownBox(struct Rectangle, char *, int *, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiDummyRec(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiDummyRec(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiEnable() -> None: + """void GuiEnable(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiFade(float_0: float,) -> None: + """void GuiFade(float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiGetFont() -> Font: + """struct Font GuiGetFont(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiGetState() -> int: + """int GuiGetState(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiGetStyle(int_0: int,int_1: int,) -> int: + """int GuiGetStyle(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiGrid(Rectangle_0: Rectangle,float_1: float,int_2: int,) -> Vector2: + """struct Vector2 GuiGrid(struct Rectangle, float, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiGroupBox(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiGroupBox(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiIconText(int_0: int,str_1: str,) -> str: + """char *GuiIconText(int, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiImageButton(Rectangle_0: Rectangle,str_1: str,Texture_2: Texture,) -> bool: + """_Bool GuiImageButton(struct Rectangle, char *, struct Texture); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiImageButtonEx(Rectangle_0: Rectangle,str_1: str,Texture_2: Texture,Rectangle_3: Rectangle,) -> bool: + """_Bool GuiImageButtonEx(struct Rectangle, char *, struct Texture, struct Rectangle); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiLabel(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiLabel(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiLabelButton(Rectangle_0: Rectangle,str_1: str,) -> bool: + """_Bool GuiLabelButton(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiLine(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiLine(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiListView(Rectangle_0: Rectangle,str_1: str,int_pointer_2: Any,int_3: int,) -> int: + """int GuiListView(struct Rectangle, char *, int *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiListViewEx(Rectangle_0: Rectangle,str_pointer_1: str,int_2: int,int_pointer_3: Any,int_pointer_4: Any,int_5: int,) -> int: + """int GuiListViewEx(struct Rectangle, char * *, int, int *, int *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiLoadStyle(str_0: str,) -> None: + """void GuiLoadStyle(char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiLoadStyleDefault() -> None: + """void GuiLoadStyleDefault(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiLock() -> None: + """void GuiLock(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiMessageBox(Rectangle_0: Rectangle,str_1: str,str_2: str,str_3: str,) -> int: + """int GuiMessageBox(struct Rectangle, char *, char *, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiPanel(Rectangle_0: Rectangle,) -> None: + """void GuiPanel(struct Rectangle); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiProgressBar(Rectangle_0: Rectangle,str_1: str,str_2: str,float_3: float,float_4: float,float_5: float,) -> float: + """float GuiProgressBar(struct Rectangle, char *, char *, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiScrollBar(Rectangle_0: Rectangle,int_1: int,int_2: int,int_3: int,) -> int: + """int GuiScrollBar(struct Rectangle, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiScrollPanel(Rectangle_0: Rectangle,Rectangle_1: Rectangle,Vector2_pointer_2: Any,) -> Rectangle: + """struct Rectangle GuiScrollPanel(struct Rectangle, struct Rectangle, struct Vector2 *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiSetFont(Font_0: Font,) -> None: + """void GuiSetFont(struct Font); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiSetState(int_0: int,) -> None: + """void GuiSetState(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiSetStyle(int_0: int,int_1: int,int_2: int,) -> None: + """void GuiSetStyle(int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiSlider(Rectangle_0: Rectangle,str_1: str,str_2: str,float_3: float,float_4: float,float_5: float,) -> float: + """float GuiSlider(struct Rectangle, char *, char *, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiSliderBar(Rectangle_0: Rectangle,str_1: str,str_2: str,float_3: float,float_4: float,float_5: float,) -> float: + """float GuiSliderBar(struct Rectangle, char *, char *, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiSpinner(Rectangle_0: Rectangle,str_1: str,int_pointer_2: Any,int_3: int,int_4: int,_Bool_5: bool,) -> bool: + """_Bool GuiSpinner(struct Rectangle, char *, int *, int, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiStatusBar(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiStatusBar(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiTextBox(Rectangle_0: Rectangle,str_1: str,int_2: int,_Bool_3: bool,) -> bool: + """_Bool GuiTextBox(struct Rectangle, char *, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiTextBoxMulti(Rectangle_0: Rectangle,str_1: str,int_2: int,_Bool_3: bool,) -> bool: + """_Bool GuiTextBoxMulti(struct Rectangle, char *, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiTextInputBox(Rectangle_0: Rectangle,str_1: str,str_2: str,str_3: str,str_4: str,) -> int: + """int GuiTextInputBox(struct Rectangle, char *, char *, char *, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiToggle(Rectangle_0: Rectangle,str_1: str,_Bool_2: bool,) -> bool: + """_Bool GuiToggle(struct Rectangle, char *, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiToggleGroup(Rectangle_0: Rectangle,str_1: str,int_2: int,) -> int: + """int GuiToggleGroup(struct Rectangle, char *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiUnlock() -> None: + """void GuiUnlock(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiValueBox(Rectangle_0: Rectangle,str_1: str,int_pointer_2: Any,int_3: int,int_4: int,_Bool_5: bool,) -> bool: + """_Bool GuiValueBox(struct Rectangle, char *, int *, int, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiWindowBox(Rectangle_0: Rectangle,str_1: str,) -> bool: + """_Bool GuiWindowBox(struct Rectangle, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +HUEBAR_PADDING: int +HUEBAR_SELECTOR_HEIGHT: int +HUEBAR_SELECTOR_OVERFLOW: int +HUEBAR_WIDTH: int def HideCursor() -> None: """Hides cursor""" ... @@ -906,8 +1254,8 @@ def ImageToPOT(image: Any,fill: Color,) -> None: def InitAudioDevice() -> None: """Initialize audio device and context""" ... -def InitAudioStream(unsignedint_0: int,unsignedint_1: int,unsignedint_2: int,) -> AudioStream: - """struct AudioStream InitAudioStream(unsigned int, unsigned int, unsigned int); +def InitPhysics() -> None: + """void InitPhysics(); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -950,9 +1298,6 @@ def IsGamepadButtonReleased(gamepad: int,button: int,) -> bool: def IsGamepadButtonUp(gamepad: int,button: int,) -> bool: """Check if a gamepad button is NOT being pressed""" ... -def IsGamepadName(gamepad: int,name: str,) -> bool: - """Check gamepad name (if available)""" - ... def IsGestureDetected(gesture: int,) -> bool: """Check if a gesture have been detected""" ... @@ -983,10 +1328,8 @@ def IsMouseButtonReleased(button: int,) -> bool: def IsMouseButtonUp(button: int,) -> bool: """Check if a mouse button is NOT being pressed""" ... -def IsMusicPlaying(Music_0: Music,) -> bool: - """_Bool IsMusicPlaying(struct Music); - -CFFI C function from raylib._raylib_cffi.lib""" +def IsMusicStreamPlaying(music: Music,) -> bool: + """Check if music is playing""" ... def IsSoundPlaying(sound: Sound,) -> bool: """Check if a sound is currently playing""" @@ -1125,6 +1468,11 @@ KEY_X: int KEY_Y: int KEY_Z: int KEY_ZERO: int +LABEL: int +LINE_COLOR: int +LISTVIEW: int +LIST_ITEMS_HEIGHT: int +LIST_ITEMS_PADDING: int LOG_ALL: int LOG_DEBUG: int LOG_ERROR: int @@ -1133,6 +1481,12 @@ LOG_INFO: int LOG_NONE: int LOG_TRACE: int LOG_WARNING: int +def LoadAudioStream(sampleRate: int,sampleSize: int,channels: int,) -> AudioStream: + """Load audio stream (to stream raw audio pcm data)""" + ... +def LoadCodepoints(text: str,count: Any,) -> Any: + """Load all codepoints from a UTF-8 text string, codepoints count returned by parameter""" + ... def LoadFileData(fileName: str,bytesRead: Any,) -> str: """Load file data as byte array (read)""" ... @@ -1142,16 +1496,16 @@ def LoadFileText(fileName: str,) -> str: def LoadFont(fileName: str,) -> Font: """Load font from file into GPU memory (VRAM)""" ... -def LoadFontData(fileData: str,dataSize: int,fontSize: int,fontChars: Any,charsCount: int,type: int,) -> Any: +def LoadFontData(fileData: str,dataSize: int,fontSize: int,fontChars: Any,glyphCount: int,type: int,) -> Any: """Load font data for further use""" ... -def LoadFontEx(fileName: str,fontSize: int,fontChars: Any,charsCount: int,) -> Font: +def LoadFontEx(fileName: str,fontSize: int,fontChars: Any,glyphCount: int,) -> Font: """Load font from file with extended parameters""" ... def LoadFontFromImage(image: Image,key: Color,firstChar: int,) -> Font: """Load font from Image (XNA style)""" ... -def LoadFontFromMemory(fileType: str,fileData: str,dataSize: int,fontSize: int,fontChars: Any,charsCount: int,) -> Font: +def LoadFontFromMemory(fileType: str,fileData: str,dataSize: int,fontSize: int,fontChars: Any,glyphCount: int,) -> Font: """Load font from memory buffer, fileType refers to extension: i.e. '.ttf'""" ... def LoadImage(fileName: str,) -> Image: @@ -1166,7 +1520,13 @@ def LoadImageColors(image: Image,) -> Any: def LoadImageFromMemory(fileType: str,fileData: str,dataSize: int,) -> Image: """Load image from memory buffer, fileType refers to extension: i.e. '.png'""" ... -def LoadImagePalette(image: Image,maxPaletteSize: int,colorsCount: Any,) -> Any: +def LoadImageFromScreen() -> Image: + """Load image from screen buffer and (screenshot)""" + ... +def LoadImageFromTexture(texture: Texture,) -> Image: + """Load image from GPU texture data""" + ... +def LoadImagePalette(image: Image,maxPaletteSize: int,colorCount: Any,) -> Any: """Load colors palette from image as a Color array (RGBA - 32bit)""" ... def LoadImageRaw(fileName: str,width: int,height: int,format: int,headerSize: int,) -> Image: @@ -1181,7 +1541,7 @@ def LoadMaterials(fileName: str,materialCount: Any,) -> Any: def LoadModel(fileName: str,) -> Model: """Load model from files (meshes and materials)""" ... -def LoadModelAnimations(fileName: str,animsCount: Any,) -> Any: +def LoadModelAnimations(fileName: str,animCount: Any,) -> Any: """Load model animations from file""" ... def LoadModelFromMesh(mesh: Mesh,) -> Model: @@ -1233,9 +1593,8 @@ def LoadWaveSamples(wave: Wave,) -> Any: """Load samples data from wave as a floats array""" ... MATERIAL_MAP_ALBEDO: int -MATERIAL_MAP_BRDG: int +MATERIAL_MAP_BRDF: int MATERIAL_MAP_CUBEMAP: int -MATERIAL_MAP_DIFFUSE: int MATERIAL_MAP_EMISSION: int MATERIAL_MAP_HEIGHT: int MATERIAL_MAP_IRRADIANCE: int @@ -1244,7 +1603,13 @@ MATERIAL_MAP_NORMAL: int MATERIAL_MAP_OCCLUSION: int MATERIAL_MAP_PREFILTER: int MATERIAL_MAP_ROUGHNESS: int -MATERIAL_MAP_SPECULAR: int +MOUSE_BUTTON_BACK: int +MOUSE_BUTTON_EXTRA: int +MOUSE_BUTTON_FORWARD: int +MOUSE_BUTTON_LEFT: int +MOUSE_BUTTON_MIDDLE: int +MOUSE_BUTTON_RIGHT: int +MOUSE_BUTTON_SIDE: int MOUSE_CURSOR_ARROW: int MOUSE_CURSOR_CROSSHAIR: int MOUSE_CURSOR_DEFAULT: int @@ -1256,9 +1621,6 @@ MOUSE_CURSOR_RESIZE_EW: int MOUSE_CURSOR_RESIZE_NESW: int MOUSE_CURSOR_RESIZE_NS: int MOUSE_CURSOR_RESIZE_NWSE: int -MOUSE_LEFT_BUTTON: int -MOUSE_MIDDLE_BUTTON: int -MOUSE_RIGHT_BUTTON: int def MaximizeWindow() -> None: """Set window state: maximized, if resizable (only PLATFORM_DESKTOP)""" ... @@ -1277,26 +1639,22 @@ def MemFree(ptr: Any,) -> None: def MemRealloc(ptr: Any,size: int,) -> Any: """Internal memory reallocator""" ... -def MeshBinormals(mesh: Any,) -> None: - """Compute mesh binormals""" - ... -def MeshBoundingBox(Mesh_0: Mesh,) -> BoundingBox: - """struct BoundingBox MeshBoundingBox(struct Mesh); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def MeshTangents(mesh: Any,) -> None: - """Compute mesh tangents""" - ... def MinimizeWindow() -> None: """Set window state: minimized, if resizable (only PLATFORM_DESKTOP)""" ... NPATCH_NINE_PATCH: int NPATCH_THREE_PATCH_HORIZONTAL: int NPATCH_THREE_PATCH_VERTICAL: int +OPENGL_11: int +OPENGL_21: int +OPENGL_33: int +OPENGL_43: int +OPENGL_ES_20: int def OpenURL(url: str,) -> None: """Open URL with default system browser (if available)""" ... +PHYSICS_CIRCLE: int +PHYSICS_POLYGON: int PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA: int PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA: int PIXELFORMAT_COMPRESSED_DXT1_RGB: int @@ -1318,6 +1676,8 @@ PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: int PIXELFORMAT_UNCOMPRESSED_R5G6B5: int PIXELFORMAT_UNCOMPRESSED_R8G8B8: int PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: int +PROGRESSBAR: int +PROGRESS_PADDING: int def PauseAudioStream(stream: AudioStream,) -> None: """Pause audio stream""" ... @@ -1327,6 +1687,21 @@ def PauseMusicStream(music: Music,) -> None: def PauseSound(sound: Sound,) -> None: """Pause a sound""" ... +def PhysicsAddForce(PhysicsBodyData_pointer_0: Any,Vector2_1: Vector2,) -> None: + """void PhysicsAddForce(struct PhysicsBodyData *, struct Vector2); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def PhysicsAddTorque(PhysicsBodyData_pointer_0: Any,float_1: float,) -> None: + """void PhysicsAddTorque(struct PhysicsBodyData *, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def PhysicsShatter(PhysicsBodyData_pointer_0: Any,Vector2_1: Vector2,float_2: float,) -> None: + """void PhysicsShatter(struct PhysicsBodyData *, struct Vector2, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... def PlayAudioStream(stream: AudioStream,) -> None: """Play audio stream""" ... @@ -1339,6 +1714,113 @@ def PlaySound(sound: Sound,) -> None: def PlaySoundMulti(sound: Sound,) -> None: """Play a sound (using multichannel buffer pool)""" ... +def PollInputEvents() -> None: + """Register all input events""" + ... +RESERVED: int +RL_ATTACHMENT_COLOR_CHANNEL0: int +RL_ATTACHMENT_COLOR_CHANNEL1: int +RL_ATTACHMENT_COLOR_CHANNEL2: int +RL_ATTACHMENT_COLOR_CHANNEL3: int +RL_ATTACHMENT_COLOR_CHANNEL4: int +RL_ATTACHMENT_COLOR_CHANNEL5: int +RL_ATTACHMENT_COLOR_CHANNEL6: int +RL_ATTACHMENT_COLOR_CHANNEL7: int +RL_ATTACHMENT_CUBEMAP_NEGATIVE_X: int +RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y: int +RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z: int +RL_ATTACHMENT_CUBEMAP_POSITIVE_X: int +RL_ATTACHMENT_CUBEMAP_POSITIVE_Y: int +RL_ATTACHMENT_CUBEMAP_POSITIVE_Z: int +RL_ATTACHMENT_DEPTH: int +RL_ATTACHMENT_RENDERBUFFER: int +RL_ATTACHMENT_STENCIL: int +RL_ATTACHMENT_TEXTURE2D: int +RL_BLEND_ADDITIVE: int +RL_BLEND_ADD_COLORS: int +RL_BLEND_ALPHA: int +RL_BLEND_CUSTOM: int +RL_BLEND_MULTIPLIED: int +RL_BLEND_SUBTRACT_COLORS: int +RL_LOG_ALL: int +RL_LOG_DEBUG: int +RL_LOG_ERROR: int +RL_LOG_FATAL: int +RL_LOG_INFO: int +RL_LOG_NONE: int +RL_LOG_TRACE: int +RL_LOG_WARNING: int +RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA: int +RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA: int +RL_PIXELFORMAT_COMPRESSED_DXT1_RGB: int +RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA: int +RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA: int +RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA: int +RL_PIXELFORMAT_COMPRESSED_ETC1_RGB: int +RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA: int +RL_PIXELFORMAT_COMPRESSED_ETC2_RGB: int +RL_PIXELFORMAT_COMPRESSED_PVRT_RGB: int +RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA: int +RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: int +RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: int +RL_PIXELFORMAT_UNCOMPRESSED_R32: int +RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32: int +RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: int +RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: int +RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: int +RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5: int +RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8: int +RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: int +RL_SHADER_ATTRIB_FLOAT: int +RL_SHADER_ATTRIB_VEC2: int +RL_SHADER_ATTRIB_VEC3: int +RL_SHADER_ATTRIB_VEC4: int +RL_SHADER_LOC_COLOR_AMBIENT: int +RL_SHADER_LOC_COLOR_DIFFUSE: int +RL_SHADER_LOC_COLOR_SPECULAR: int +RL_SHADER_LOC_MAP_ALBEDO: int +RL_SHADER_LOC_MAP_BRDF: int +RL_SHADER_LOC_MAP_CUBEMAP: int +RL_SHADER_LOC_MAP_EMISSION: int +RL_SHADER_LOC_MAP_HEIGHT: int +RL_SHADER_LOC_MAP_IRRADIANCE: int +RL_SHADER_LOC_MAP_METALNESS: int +RL_SHADER_LOC_MAP_NORMAL: int +RL_SHADER_LOC_MAP_OCCLUSION: int +RL_SHADER_LOC_MAP_PREFILTER: int +RL_SHADER_LOC_MAP_ROUGHNESS: int +RL_SHADER_LOC_MATRIX_MODEL: int +RL_SHADER_LOC_MATRIX_MVP: int +RL_SHADER_LOC_MATRIX_NORMAL: int +RL_SHADER_LOC_MATRIX_PROJECTION: int +RL_SHADER_LOC_MATRIX_VIEW: int +RL_SHADER_LOC_VECTOR_VIEW: int +RL_SHADER_LOC_VERTEX_COLOR: int +RL_SHADER_LOC_VERTEX_NORMAL: int +RL_SHADER_LOC_VERTEX_POSITION: int +RL_SHADER_LOC_VERTEX_TANGENT: int +RL_SHADER_LOC_VERTEX_TEXCOORD01: int +RL_SHADER_LOC_VERTEX_TEXCOORD02: int +RL_SHADER_UNIFORM_FLOAT: int +RL_SHADER_UNIFORM_INT: int +RL_SHADER_UNIFORM_IVEC2: int +RL_SHADER_UNIFORM_IVEC3: int +RL_SHADER_UNIFORM_IVEC4: int +RL_SHADER_UNIFORM_SAMPLER2D: int +RL_SHADER_UNIFORM_VEC2: int +RL_SHADER_UNIFORM_VEC3: int +RL_SHADER_UNIFORM_VEC4: int +RL_TEXTURE_FILTER_ANISOTROPIC_16X: int +RL_TEXTURE_FILTER_ANISOTROPIC_4X: int +RL_TEXTURE_FILTER_ANISOTROPIC_8X: int +RL_TEXTURE_FILTER_BILINEAR: int +RL_TEXTURE_FILTER_POINT: int +RL_TEXTURE_FILTER_TRILINEAR: int +def ResetPhysics() -> None: + """void ResetPhysics(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... def RestoreWindow() -> None: """Set window state: not minimized/maximized (only PLATFORM_DESKTOP)""" ... @@ -1351,13 +1833,25 @@ def ResumeMusicStream(music: Music,) -> None: def ResumeSound(sound: Sound,) -> None: """Resume a paused sound""" ... +SCROLLBAR: int +SCROLLBAR_LEFT_SIDE: int +SCROLLBAR_RIGHT_SIDE: int +SCROLLBAR_SIDE: int +SCROLLBAR_WIDTH: int +SCROLL_PADDING: int +SCROLL_SLIDER_PADDING: int +SCROLL_SLIDER_SIZE: int +SCROLL_SPEED: int +SHADER_ATTRIB_FLOAT: int +SHADER_ATTRIB_VEC2: int +SHADER_ATTRIB_VEC3: int +SHADER_ATTRIB_VEC4: int SHADER_LOC_COLOR_AMBIENT: int SHADER_LOC_COLOR_DIFFUSE: int SHADER_LOC_COLOR_SPECULAR: int SHADER_LOC_MAP_ALBEDO: int SHADER_LOC_MAP_BRDF: int SHADER_LOC_MAP_CUBEMAP: int -SHADER_LOC_MAP_DIFFUSE: int SHADER_LOC_MAP_EMISSION: int SHADER_LOC_MAP_HEIGHT: int SHADER_LOC_MAP_IRRADIANCE: int @@ -1366,7 +1860,6 @@ SHADER_LOC_MAP_NORMAL: int SHADER_LOC_MAP_OCCLUSION: int SHADER_LOC_MAP_PREFILTER: int SHADER_LOC_MAP_ROUGHNESS: int -SHADER_LOC_MAP_SPECULAR: int SHADER_LOC_MATRIX_MODEL: int SHADER_LOC_MATRIX_MVP: int SHADER_LOC_MATRIX_NORMAL: int @@ -1388,6 +1881,13 @@ SHADER_UNIFORM_SAMPLER2D: int SHADER_UNIFORM_VEC2: int SHADER_UNIFORM_VEC3: int SHADER_UNIFORM_VEC4: int +SLIDER: int +SLIDER_PADDING: int +SLIDER_WIDTH: int +SPINNER: int +SPIN_BUTTON_PADDING: int +SPIN_BUTTON_WIDTH: int +STATUSBAR: int def SaveFileData(fileName: str,data: Any,bytesToWrite: int,) -> bool: """Save data to file from byte array (write), returns true on success""" ... @@ -1397,6 +1897,9 @@ def SaveFileText(fileName: str,text: str,) -> bool: def SaveStorageValue(position: int,value: int,) -> bool: """Save integer value to storage file (to defined position), returns true on success""" ... +def SeekMusicStream(music: Music,position: float,) -> None: + """Seek music to a position (in seconds)""" + ... def SetAudioStreamBufferSizeDefault(size: int,) -> None: """Default size for new audio streams""" ... @@ -1436,6 +1939,12 @@ def SetGamepadMappings(mappings: str,) -> int: def SetGesturesEnabled(flags: int,) -> None: """Enable a set of gestures using flags""" ... +def SetLoadFileDataCallback(callback: str,) -> None: + """Set custom file binary data loader""" + ... +def SetLoadFileTextCallback(callback: str,) -> None: + """Set custom file text data loader""" + ... def SetMasterVolume(volume: float,) -> None: """Set master volume (listener)""" ... @@ -1463,9 +1972,33 @@ def SetMusicPitch(music: Music,pitch: float,) -> None: def SetMusicVolume(music: Music,volume: float,) -> None: """Set volume for music (1.0 is max level)""" ... +def SetPhysicsBodyRotation(PhysicsBodyData_pointer_0: Any,float_1: float,) -> None: + """void SetPhysicsBodyRotation(struct PhysicsBodyData *, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def SetPhysicsGravity(float_0: float,float_1: float,) -> None: + """void SetPhysicsGravity(float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def SetPhysicsTimeStep(double_0: float,) -> None: + """void SetPhysicsTimeStep(double); + +CFFI C function from raylib._raylib_cffi.lib""" + ... def SetPixelColor(dstPtr: Any,color: Color,format: int,) -> None: """Set color formatted into destination pixel pointer""" ... +def SetRandomSeed(seed: int,) -> None: + """Set the seed for the random number generator""" + ... +def SetSaveFileDataCallback(callback: str,) -> None: + """Set custom file binary data saver""" + ... +def SetSaveFileTextCallback(callback: str,) -> None: + """Set custom file text data saver""" + ... def SetShaderValue(shader: Shader,locIndex: int,value: Any,uniformType: int,) -> None: """Set shader uniform value""" ... @@ -1496,6 +2029,9 @@ def SetTextureFilter(texture: Texture,filter: int,) -> None: def SetTextureWrap(texture: Texture,wrap: int,) -> None: """Set texture wrapping mode""" ... +def SetTraceLogCallback(callback: str,) -> None: + """Set custom trace log""" + ... def SetTraceLogLevel(logLevel: int,) -> None: """Set the current threshold (minimum) log level""" ... @@ -1535,6 +2071,10 @@ def StopSound(sound: Sound,) -> None: def StopSoundMulti() -> None: """Stop any sound playing (using multichannel buffer pool)""" ... +def SwapScreenBuffer() -> None: + """Swap back buffer with front buffer (screen drawing)""" + ... +TEXTBOX: int TEXTURE_FILTER_ANISOTROPIC_16X: int TEXTURE_FILTER_ANISOTROPIC_4X: int TEXTURE_FILTER_ANISOTROPIC_8X: int @@ -1545,12 +2085,26 @@ TEXTURE_WRAP_CLAMP: int TEXTURE_WRAP_MIRROR_CLAMP: int TEXTURE_WRAP_MIRROR_REPEAT: int TEXTURE_WRAP_REPEAT: int +TEXT_ALIGNMENT: int +TEXT_COLOR_DISABLED: int +TEXT_COLOR_FOCUSED: int +TEXT_COLOR_NORMAL: int +TEXT_COLOR_PRESSED: int +TEXT_INNER_PADDING: int +TEXT_LINES_PADDING: int +TEXT_PADDING: int +TEXT_SIZE: int +TEXT_SPACING: int +TOGGLE: int def TakeScreenshot(fileName: str,) -> None: """Takes a screenshot of current screen (filename extension defines format)""" ... def TextAppend(text: str,append: str,position: Any,) -> None: """Append text at specific position and move cursor!""" ... +def TextCodepointsToUTF8(codepoints: Any,length: int,) -> str: + """Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)""" + ... def TextCopy(dst: str,src: str,) -> int: """Copy one string to another, returns bytes copied""" ... @@ -1561,7 +2115,7 @@ def TextFormat(*args) -> str: """VARARG FUNCTION - MAY NOT BE SUPPORTED BY CFFI""" ... def TextInsert(text: str,insert: str,position: int,) -> str: - """Insert text in a position (memory must be freed!)""" + """Insert text in a position (WARNING: memory must be freed!)""" ... def TextIsEqual(text1: str,text2: str,) -> bool: """Check if two text string are equal""" @@ -1573,7 +2127,7 @@ def TextLength(text: str,) -> int: """Get text length, checks for ' 0' ending""" ... def TextReplace(text: str,replace: str,by: str,) -> str: - """Replace text string (memory must be freed!)""" + """Replace text string (WARNING: memory must be freed!)""" ... def TextSplit(text: str,delimiter: str,count: Any,) -> str: """Split text into multiple strings""" @@ -1593,15 +2147,18 @@ def TextToPascal(text: str,) -> str: def TextToUpper(text: str,) -> str: """Get upper case version of provided string""" ... -def TextToUtf8(codepoints: Any,length: int,) -> str: - """Encode text codepoint into utf8 text (memory must be freed!)""" - ... def ToggleFullscreen() -> None: """Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)""" ... def TraceLog(*args) -> None: """VARARG FUNCTION - MAY NOT BE SUPPORTED BY CFFI""" ... +def UnloadAudioStream(stream: AudioStream,) -> None: + """Unload audio stream and free memory""" + ... +def UnloadCodepoints(codepoints: Any,) -> None: + """Unload codepoints data from memory""" + ... def UnloadFileData(data: str,) -> None: """Unload file data allocated by LoadFileData()""" ... @@ -1611,7 +2168,7 @@ def UnloadFileText(text: str,) -> None: def UnloadFont(font: Font,) -> None: """Unload Font from GPU memory (VRAM)""" ... -def UnloadFontData(chars: Any,charsCount: int,) -> None: +def UnloadFontData(chars: Any,glyphCount: int,) -> None: """Unload font chars info data (RAM)""" ... def UnloadImage(image: Image,) -> None: @@ -1665,7 +2222,7 @@ def UnloadWave(wave: Wave,) -> None: def UnloadWaveSamples(samples: Any,) -> None: """Unload samples data loaded with LoadWaveSamples()""" ... -def UpdateAudioStream(stream: AudioStream,data: Any,samplesCount: int,) -> None: +def UpdateAudioStream(stream: AudioStream,data: Any,frameCount: int,) -> None: """Update audio stream buffers with data""" ... def UpdateCamera(camera: Any,) -> None: @@ -1680,7 +2237,12 @@ def UpdateModelAnimation(model: Model,anim: ModelAnimation,frame: int,) -> None: def UpdateMusicStream(music: Music,) -> None: """Updates buffers for music streaming""" ... -def UpdateSound(sound: Sound,data: Any,samplesCount: int,) -> None: +def UpdatePhysics() -> None: + """void UpdatePhysics(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def UpdateSound(sound: Sound,data: Any,sampleCount: int,) -> None: """Update sound buffer with new data""" ... def UpdateTexture(texture: Texture,pixels: Any,) -> None: @@ -1692,6 +2254,10 @@ def UpdateTextureRec(texture: Texture,rec: Rectangle,pixels: Any,) -> None: def UploadMesh(mesh: Any,dynamic: bool,) -> None: """Upload mesh vertex data in GPU and provide VAO/VBO ids""" ... +VALUEBOX: int +def WaitTime(ms: float,) -> None: + """Wait for some milliseconds (halt program execution)""" + ... def WaveCopy(wave: Wave,) -> Wave: """Copy a wave to a new wave""" ... @@ -1704,6 +2270,651 @@ def WaveFormat(wave: Any,sampleRate: int,sampleSize: int,channels: int,) -> None def WindowShouldClose() -> bool: """Check if KEY_ESCAPE pressed or Close icon pressed""" ... +def rlActiveDrawBuffers(int_0: int,) -> None: + """void rlActiveDrawBuffers(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlActiveTextureSlot(int_0: int,) -> None: + """void rlActiveTextureSlot(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlBegin(int_0: int,) -> None: + """void rlBegin(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlCheckErrors() -> None: + """void rlCheckErrors(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlCheckRenderBatchLimit(int_0: int,) -> bool: + """_Bool rlCheckRenderBatchLimit(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlClearColor(unsignedchar_0: str,unsignedchar_1: str,unsignedchar_2: str,unsignedchar_3: str,) -> None: + """void rlClearColor(unsigned char, unsigned char, unsigned char, unsigned char); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlClearScreenBuffers() -> None: + """void rlClearScreenBuffers(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlColor3f(float_0: float,float_1: float,float_2: float,) -> None: + """void rlColor3f(float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlColor4f(float_0: float,float_1: float,float_2: float,float_3: float,) -> None: + """void rlColor4f(float, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlColor4ub(unsignedchar_0: str,unsignedchar_1: str,unsignedchar_2: str,unsignedchar_3: str,) -> None: + """void rlColor4ub(unsigned char, unsigned char, unsigned char, unsigned char); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlCompileShader(str_0: str,int_1: int,) -> int: + """unsigned int rlCompileShader(char *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableBackfaceCulling() -> None: + """void rlDisableBackfaceCulling(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableColorBlend() -> None: + """void rlDisableColorBlend(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableDepthMask() -> None: + """void rlDisableDepthMask(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableDepthTest() -> None: + """void rlDisableDepthTest(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableFramebuffer() -> None: + """void rlDisableFramebuffer(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableScissorTest() -> None: + """void rlDisableScissorTest(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableShader() -> None: + """void rlDisableShader(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableSmoothLines() -> None: + """void rlDisableSmoothLines(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableStereoRender() -> None: + """void rlDisableStereoRender(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableTexture() -> None: + """void rlDisableTexture(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableTextureCubemap() -> None: + """void rlDisableTextureCubemap(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableVertexArray() -> None: + """void rlDisableVertexArray(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableVertexAttribute(unsignedint_0: int,) -> None: + """void rlDisableVertexAttribute(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableVertexBuffer() -> None: + """void rlDisableVertexBuffer(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableVertexBufferElement() -> None: + """void rlDisableVertexBufferElement(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDisableWireMode() -> None: + """void rlDisableWireMode(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDrawRenderBatch(rlRenderBatch_pointer_0: Any,) -> None: + """void rlDrawRenderBatch(struct rlRenderBatch *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDrawRenderBatchActive() -> None: + """void rlDrawRenderBatchActive(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDrawVertexArray(int_0: int,int_1: int,) -> None: + """void rlDrawVertexArray(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDrawVertexArrayElements(int_0: int,int_1: int,void_pointer_2: Any,) -> None: + """void rlDrawVertexArrayElements(int, int, void *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDrawVertexArrayElementsInstanced(int_0: int,int_1: int,void_pointer_2: Any,int_3: int,) -> None: + """void rlDrawVertexArrayElementsInstanced(int, int, void *, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlDrawVertexArrayInstanced(int_0: int,int_1: int,int_2: int,) -> None: + """void rlDrawVertexArrayInstanced(int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableBackfaceCulling() -> None: + """void rlEnableBackfaceCulling(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableColorBlend() -> None: + """void rlEnableColorBlend(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableDepthMask() -> None: + """void rlEnableDepthMask(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableDepthTest() -> None: + """void rlEnableDepthTest(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableFramebuffer(unsignedint_0: int,) -> None: + """void rlEnableFramebuffer(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableScissorTest() -> None: + """void rlEnableScissorTest(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableShader(unsignedint_0: int,) -> None: + """void rlEnableShader(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableSmoothLines() -> None: + """void rlEnableSmoothLines(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableStereoRender() -> None: + """void rlEnableStereoRender(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableTexture(unsignedint_0: int,) -> None: + """void rlEnableTexture(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableTextureCubemap(unsignedint_0: int,) -> None: + """void rlEnableTextureCubemap(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableVertexArray(unsignedint_0: int,) -> bool: + """_Bool rlEnableVertexArray(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableVertexAttribute(unsignedint_0: int,) -> None: + """void rlEnableVertexAttribute(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableVertexBuffer(unsignedint_0: int,) -> None: + """void rlEnableVertexBuffer(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableVertexBufferElement(unsignedint_0: int,) -> None: + """void rlEnableVertexBufferElement(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnableWireMode() -> None: + """void rlEnableWireMode(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlEnd() -> None: + """void rlEnd(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlFramebufferAttach(unsignedint_0: int,unsignedint_1: int,int_2: int,int_3: int,int_4: int,) -> None: + """void rlFramebufferAttach(unsigned int, unsigned int, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlFramebufferComplete(unsignedint_0: int,) -> bool: + """_Bool rlFramebufferComplete(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlFrustum(double_0: float,double_1: float,double_2: float,double_3: float,double_4: float,double_5: float,) -> None: + """void rlFrustum(double, double, double, double, double, double); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGenTextureMipmaps(unsignedint_0: int,int_1: int,int_2: int,int_3: int,int_pointer_4: Any,) -> None: + """void rlGenTextureMipmaps(unsigned int, int, int, int, int *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetFramebufferHeight() -> int: + """int rlGetFramebufferHeight(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetFramebufferWidth() -> int: + """int rlGetFramebufferWidth(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetGlTextureFormats(int_0: int,int_pointer_1: Any,int_pointer_2: Any,int_pointer_3: Any,) -> None: + """void rlGetGlTextureFormats(int, int *, int *, int *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetLineWidth() -> float: + """float rlGetLineWidth(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetLocationAttrib(unsignedint_0: int,str_1: str,) -> int: + """int rlGetLocationAttrib(unsigned int, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetLocationUniform(unsignedint_0: int,str_1: str,) -> int: + """int rlGetLocationUniform(unsigned int, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetMatrixModelview() -> Matrix: + """struct Matrix rlGetMatrixModelview(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetMatrixProjection() -> Matrix: + """struct Matrix rlGetMatrixProjection(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetMatrixProjectionStereo(int_0: int,) -> Matrix: + """struct Matrix rlGetMatrixProjectionStereo(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetMatrixTransform() -> Matrix: + """struct Matrix rlGetMatrixTransform(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetMatrixViewOffsetStereo(int_0: int,) -> Matrix: + """struct Matrix rlGetMatrixViewOffsetStereo(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetPixelFormatName(unsignedint_0: int,) -> str: + """char *rlGetPixelFormatName(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetShaderIdDefault() -> int: + """unsigned int rlGetShaderIdDefault(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetShaderLocsDefault() -> Any: + """int *rlGetShaderLocsDefault(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetTextureIdDefault() -> int: + """unsigned int rlGetTextureIdDefault(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlGetVersion() -> int: + """int rlGetVersion(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlIsStereoRenderEnabled() -> bool: + """_Bool rlIsStereoRenderEnabled(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadDrawCube() -> None: + """void rlLoadDrawCube(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadDrawQuad() -> None: + """void rlLoadDrawQuad(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadExtensions(void_pointer_0: Any,) -> None: + """void rlLoadExtensions(void *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadFramebuffer(int_0: int,int_1: int,) -> int: + """unsigned int rlLoadFramebuffer(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadIdentity() -> None: + """void rlLoadIdentity(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadRenderBatch(int_0: int,int_1: int,) -> rlRenderBatch: + """struct rlRenderBatch rlLoadRenderBatch(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadShaderCode(str_0: str,str_1: str,) -> int: + """unsigned int rlLoadShaderCode(char *, char *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadShaderProgram(unsignedint_0: int,unsignedint_1: int,) -> int: + """unsigned int rlLoadShaderProgram(unsigned int, unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadTexture(void_pointer_0: Any,int_1: int,int_2: int,int_3: int,int_4: int,) -> int: + """unsigned int rlLoadTexture(void *, int, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadTextureCubemap(void_pointer_0: Any,int_1: int,int_2: int,) -> int: + """unsigned int rlLoadTextureCubemap(void *, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadTextureDepth(int_0: int,int_1: int,_Bool_2: bool,) -> int: + """unsigned int rlLoadTextureDepth(int, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadVertexArray() -> int: + """unsigned int rlLoadVertexArray(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadVertexBuffer(void_pointer_0: Any,int_1: int,_Bool_2: bool,) -> int: + """unsigned int rlLoadVertexBuffer(void *, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlLoadVertexBufferElement(void_pointer_0: Any,int_1: int,_Bool_2: bool,) -> int: + """unsigned int rlLoadVertexBufferElement(void *, int, _Bool); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlMatrixMode(int_0: int,) -> None: + """void rlMatrixMode(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlMultMatrixf(float_pointer_0: Any,) -> None: + """void rlMultMatrixf(float *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlNormal3f(float_0: float,float_1: float,float_2: float,) -> None: + """void rlNormal3f(float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlOrtho(double_0: float,double_1: float,double_2: float,double_3: float,double_4: float,double_5: float,) -> None: + """void rlOrtho(double, double, double, double, double, double); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlPopMatrix() -> None: + """void rlPopMatrix(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlPushMatrix() -> None: + """void rlPushMatrix(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlReadScreenPixels(int_0: int,int_1: int,) -> str: + """unsigned char *rlReadScreenPixels(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlReadTexturePixels(unsignedint_0: int,int_1: int,int_2: int,int_3: int,) -> Any: + """void *rlReadTexturePixels(unsigned int, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlRotatef(float_0: float,float_1: float,float_2: float,float_3: float,) -> None: + """void rlRotatef(float, float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlScalef(float_0: float,float_1: float,float_2: float,) -> None: + """void rlScalef(float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlScissor(int_0: int,int_1: int,int_2: int,int_3: int,) -> None: + """void rlScissor(int, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetBlendFactors(int_0: int,int_1: int,int_2: int,) -> None: + """void rlSetBlendFactors(int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetBlendMode(int_0: int,) -> None: + """void rlSetBlendMode(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetLineWidth(float_0: float,) -> None: + """void rlSetLineWidth(float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetMatrixModelview(Matrix_0: Matrix,) -> None: + """void rlSetMatrixModelview(struct Matrix); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetMatrixProjection(Matrix_0: Matrix,) -> None: + """void rlSetMatrixProjection(struct Matrix); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetMatrixProjectionStereo(Matrix_0: Matrix,Matrix_1: Matrix,) -> None: + """void rlSetMatrixProjectionStereo(struct Matrix, struct Matrix); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetMatrixViewOffsetStereo(Matrix_0: Matrix,Matrix_1: Matrix,) -> None: + """void rlSetMatrixViewOffsetStereo(struct Matrix, struct Matrix); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetRenderBatchActive(rlRenderBatch_pointer_0: Any,) -> None: + """void rlSetRenderBatchActive(struct rlRenderBatch *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetShader(unsignedint_0: int,int_pointer_1: Any,) -> None: + """void rlSetShader(unsigned int, int *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetTexture(unsignedint_0: int,) -> None: + """void rlSetTexture(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetUniform(int_0: int,void_pointer_1: Any,int_2: int,int_3: int,) -> None: + """void rlSetUniform(int, void *, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetUniformMatrix(int_0: int,Matrix_1: Matrix,) -> None: + """void rlSetUniformMatrix(int, struct Matrix); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetUniformSampler(int_0: int,unsignedint_1: int,) -> None: + """void rlSetUniformSampler(int, unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetVertexAttribute(unsignedint_0: int,int_1: int,int_2: int,_Bool_3: bool,int_4: int,void_pointer_5: Any,) -> None: + """void rlSetVertexAttribute(unsigned int, int, int, _Bool, int, void *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetVertexAttributeDefault(int_0: int,void_pointer_1: Any,int_2: int,int_3: int,) -> None: + """void rlSetVertexAttributeDefault(int, void *, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetVertexAttributeDivisor(unsignedint_0: int,int_1: int,) -> None: + """void rlSetVertexAttributeDivisor(unsigned int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlTexCoord2f(float_0: float,float_1: float,) -> None: + """void rlTexCoord2f(float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlTextureParameters(unsignedint_0: int,int_1: int,int_2: int,) -> None: + """void rlTextureParameters(unsigned int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlTranslatef(float_0: float,float_1: float,float_2: float,) -> None: + """void rlTranslatef(float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlUnloadFramebuffer(unsignedint_0: int,) -> None: + """void rlUnloadFramebuffer(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlUnloadRenderBatch(rlRenderBatch_0: rlRenderBatch,) -> None: + """void rlUnloadRenderBatch(struct rlRenderBatch); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlUnloadShaderProgram(unsignedint_0: int,) -> None: + """void rlUnloadShaderProgram(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlUnloadTexture(unsignedint_0: int,) -> None: + """void rlUnloadTexture(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlUnloadVertexArray(unsignedint_0: int,) -> None: + """void rlUnloadVertexArray(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlUnloadVertexBuffer(unsignedint_0: int,) -> None: + """void rlUnloadVertexBuffer(unsigned int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlUpdateTexture(unsignedint_0: int,int_1: int,int_2: int,int_3: int,int_4: int,int_5: int,void_pointer_6: Any,) -> None: + """void rlUpdateTexture(unsigned int, int, int, int, int, int, void *); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlUpdateVertexBuffer(unsignedint_0: int,void_pointer_1: Any,int_2: int,int_3: int,) -> None: + """void rlUpdateVertexBuffer(unsigned int, void *, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlVertex2f(float_0: float,float_1: float,) -> None: + """void rlVertex2f(float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlVertex2i(int_0: int,int_1: int,) -> None: + """void rlVertex2i(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlVertex3f(float_0: float,float_1: float,float_2: float,) -> None: + """void rlVertex3f(float, float, float); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlViewport(int_0: int,int_1: int,int_2: int,int_3: int,) -> None: + """void rlViewport(int, int, int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlglClose() -> None: + """void rlglClose(); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlglInit(int_0: int,int_1: int,) -> None: + """void rlglInit(int, int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... AudioStream: struct BlendMode: int BoneInfo: struct @@ -1713,7 +2924,6 @@ Camera2D: struct Camera3D: struct CameraMode: int CameraProjection: int -CharInfo: struct Color: struct ConfigFlags: int CubemapLayout: int @@ -1721,13 +2931,33 @@ Font: struct FontType: int GamepadAxis: int GamepadButton: int -Gestures: int +Gesture: int +GlyphInfo: struct +GuiCheckBoxProperty: int +GuiColorPickerProperty: int +GuiComboBoxProperty: int +GuiControl: int +GuiControlProperty: int +GuiControlState: int +GuiDefaultProperty: int +GuiDropdownBoxProperty: int +GuiListViewProperty: int +GuiProgressBarProperty: int +GuiScrollBarProperty: int +GuiScrollBarSide: int +GuiSliderProperty: int +GuiSpinnerProperty: int +GuiStyleProp: struct +GuiTextAlignment: int +GuiTextBoxProperty: int +GuiToggleProperty: int Image: struct KeyboardKey: int Material: struct MaterialMap: struct MaterialMapIndex: int Matrix: struct +Matrix2x2: struct Mesh: struct Model: struct ModelAnimation: struct @@ -1736,14 +2966,20 @@ MouseCursor: int Music: struct NPatchInfo: struct NPatchLayout: int +PhysicsBodyData: struct +PhysicsManifoldData: struct +PhysicsShape: struct +PhysicsShapeType: int +PhysicsVertexData: struct PixelFormat: int Quaternion: struct Ray: struct -RayHitInfo: struct +RayCollision: struct Rectangle: struct RenderTexture: struct RenderTexture2D: struct Shader: struct +ShaderAttributeDataType: int ShaderLocationIndex: int ShaderUniformDataType: int Sound: struct @@ -1761,3 +2997,16 @@ VrDeviceInfo: struct VrStereoConfig: struct Wave: struct rAudioBuffer: struct +rlBlendMode: int +rlDrawCall: struct +rlFramebufferAttachTextureType: int +rlFramebufferAttachType: int +rlGlVersion: int +rlPixelFormat: int +rlRenderBatch: struct +rlShaderAttributeDataType: int +rlShaderLocationIndex: int +rlShaderUniformDataType: int +rlTextureFilter: int +rlTraceLogLevel: int +rlVertexBuffer: struct diff --git a/raylib/physac.h.modified b/raylib/physac.h.modified index 4ac7cee..cf35c17 100644 --- a/raylib/physac.h.modified +++ b/raylib/physac.h.modified @@ -16,16 +16,9 @@ * If not defined, the library is in header only mode and can be included in other headers * or source files without problems. But only ONE file should hold the implementation. * -* #define PHYSAC_STATIC (defined by default) -* The generated implementation will stay private inside implementation file and all -* internal symbols and functions will only be visible inside that file. -* * #define PHYSAC_DEBUG * Show debug traces log messages about physic bodies creation/destruction, physic system errors, -* some calculations results and NULL reference exceptions -* -* #define PHYSAC_DEFINE_VECTOR2_TYPE -* Forces library to define struct Vector2 data type (float x; float y) +* some calculations results and NULL reference exceptions. * * #define PHYSAC_AVOID_TIMMING_SYSTEM * Disables internal timming system, used by UpdatePhysics() to launch timmed physic steps, @@ -141,28 +134,28 @@ typedef struct PhysicsManifoldData { // Module Functions Declaration //---------------------------------------------------------------------------------- // Physics system management -extern /* Functions visible from other files*/ void InitPhysics(void); // Initializes physics system -extern /* Functions visible from other files*/ void UpdatePhysics(void); // Update physics system -extern /* Functions visible from other files*/ void ResetPhysics(void); // Reset physics system (global variables) -extern /* Functions visible from other files*/ void ClosePhysics(void); // Close physics system and unload used memory -extern /* Functions visible from other files*/ void SetPhysicsTimeStep(double delta); // Sets physics fixed time step in milliseconds. 1.666666 by default -extern /* Functions visible from other files*/ void SetPhysicsGravity(float x, float y); // Sets physics global gravity force + void InitPhysics(void); // Initializes physics system + void UpdatePhysics(void); // Update physics system + void ResetPhysics(void); // Reset physics system (global variables) + void ClosePhysics(void); // Close physics system and unload used memory + void SetPhysicsTimeStep(double delta); // Sets physics fixed time step in milliseconds. 1.666666 by default + void SetPhysicsGravity(float x, float y); // Sets physics global gravity force // Physic body creation/destroy -extern /* Functions visible from other files*/ PhysicsBody CreatePhysicsBodyCircle(Vector2 pos, float radius, float density); // Creates a new circle physics body with generic parameters -extern /* Functions visible from other files*/ PhysicsBody CreatePhysicsBodyRectangle(Vector2 pos, float width, float height, float density); // Creates a new rectangle physics body with generic parameters -extern /* Functions visible from other files*/ PhysicsBody CreatePhysicsBodyPolygon(Vector2 pos, float radius, int sides, float density); // Creates a new polygon physics body with generic parameters -extern /* Functions visible from other files*/ void DestroyPhysicsBody(PhysicsBody body); // Destroy a physics body + PhysicsBody CreatePhysicsBodyCircle(Vector2 pos, float radius, float density); // Creates a new circle physics body with generic parameters + PhysicsBody CreatePhysicsBodyRectangle(Vector2 pos, float width, float height, float density); // Creates a new rectangle physics body with generic parameters + PhysicsBody CreatePhysicsBodyPolygon(Vector2 pos, float radius, int sides, float density); // Creates a new polygon physics body with generic parameters + void DestroyPhysicsBody(PhysicsBody body); // Destroy a physics body // Physic body forces -extern /* Functions visible from other files*/ void PhysicsAddForce(PhysicsBody body, Vector2 force); // Adds a force to a physics body -extern /* Functions visible from other files*/ void PhysicsAddTorque(PhysicsBody body, float amount); // Adds an angular force to a physics body -extern /* Functions visible from other files*/ void PhysicsShatter(PhysicsBody body, Vector2 position, float force); // Shatters a polygon shape physics body to little physics bodies with explosion force -extern /* Functions visible from other files*/ void SetPhysicsBodyRotation(PhysicsBody body, float radians); // Sets physics body shape transform based on radians parameter + void PhysicsAddForce(PhysicsBody body, Vector2 force); // Adds a force to a physics body + void PhysicsAddTorque(PhysicsBody body, float amount); // Adds an angular force to a physics body + void PhysicsShatter(PhysicsBody body, Vector2 position, float force); // Shatters a polygon shape physics body to little physics bodies with explosion force + void SetPhysicsBodyRotation(PhysicsBody body, float radians); // Sets physics body shape transform based on radians parameter // Query physics info -extern /* Functions visible from other files*/ PhysicsBody GetPhysicsBody(int index); // Returns a physics body of the bodies pool at a specific index -extern /* Functions visible from other files*/ int GetPhysicsBodiesCount(void); // Returns the current amount of created physics bodies -extern /* Functions visible from other files*/ int GetPhysicsShapeType(int index); // Returns the physics body shape type (PHYSICS_CIRCLE or PHYSICS_POLYGON) -extern /* Functions visible from other files*/ int GetPhysicsShapeVerticesCount(int index); // Returns the amount of vertices of a physics body shape -extern /* Functions visible from other files*/ Vector2 GetPhysicsShapeVertex(PhysicsBody body, int vertex); // Returns transformed position of a body shape (body position + vertex transformed position) + PhysicsBody GetPhysicsBody(int index); // Returns a physics body of the bodies pool at a specific index + int GetPhysicsBodiesCount(void); // Returns the current amount of created physics bodies + int GetPhysicsShapeType(int index); // Returns the physics body shape type (PHYSICS_CIRCLE or PHYSICS_POLYGON) + int GetPhysicsShapeVerticesCount(int index); // Returns the amount of vertices of a physics body shape + Vector2 GetPhysicsShapeVertex(PhysicsBody body, int vertex); // Returns transformed position of a body shape (body position + vertex transformed position) /*********************************************************************************** * * PHYSAC IMPLEMENTATION diff --git a/raylib/raylib.h.modified b/raylib/raylib.h.modified index fea310e..92403c7 100644 --- a/raylib/raylib.h.modified +++ b/raylib/raylib.h.modified @@ -13,7 +13,7 @@ * - Outstanding texture formats support, including compressed formats (DXT, ETC, ASTC) * - Full 3d support for 3d Shapes, Models, Billboards, Heightmaps and more! * - Flexible Materials system, supporting classic maps and PBR maps -* - Animated 3D models supported (skeletal bones animation) (IQM, glTF) +* - Animated 3D models supported (skeletal bones animation) (IQM) * - Shaders support, including Model shaders and Postprocessing shaders * - Powerful math module for Vector, Matrix and Quaternion operations: [raymath] * - Audio loading and playing with streaming support (WAV, OGG, MP3, FLAC, XM, MOD) @@ -74,1225 +74,1232 @@ * 3. This notice may not be removed or altered from any source distribution. * **********************************************************************************************/ -// Function specifiers in case library is build/used as a shared library (Windows) -// NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll -//---------------------------------------------------------------------------------- -// Some basic Defines -//---------------------------------------------------------------------------------- -// Allow custom memory allocators -// NOTE: MSVC C++ compiler does not support compound literals (C99 feature) -// Plain structures in C++ (without constructors) can be initialized with { } -// NOTE: We set some defines with some data types declared by raylib -// Other modules (raymath, rlgl) also require some of those types, so, -// to be able to use those other modules as standalone (not depending on raylib) -// this defines are very useful for internal check and avoid type (re)definitions -// Some Basic Colors -// NOTE: Custom raylib color palette for amazing visuals on WHITE background -//---------------------------------------------------------------------------------- -// Structures Definition -//---------------------------------------------------------------------------------- -// Boolean type -// Vector2, 2 components +/** Function specifiers in case library is build/used as a shared library (Windows) */ +/** NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll */ +/** + * Some basic Defines + * ------------------ + */ +/** + * Some basic Defines + * ------------------ + */ +/** Allow custom memory allocators */ +/** NOTE: MSVC C++ compiler does not support compound literals (C99 feature) */ +/** Plain structures in C++ (without constructors) can be initialized with { } */ +/** NOTE: We set some defines with some data types declared by raylib */ +/** Other modules (raymath, rlgl) also require some of those types, so, */ +/** to be able to use those other modules as standalone (not depending on raylib) */ +/** this defines are very useful for internal check and avoid type (re)definitions */ +/** Some Basic Colors */ +/** NOTE: Custom raylib color palette for amazing visuals on WHITE background */ +/** ---------------------------------------------------------------------------------- +/** Structures Definition +/** ---------------------------------------------------------------------------------- */ +/** Boolean type */ +/** Vector2, 2 components */ typedef struct Vector2 { - float x; // Vector x component - float y; // Vector y component + float x; /** Vector x component */ + float y; /** Vector y component */ } Vector2; -// Vector3, 3 components +/** Vector3, 3 components */ typedef struct Vector3 { - float x; // Vector x component - float y; // Vector y component - float z; // Vector z component + float x; /** Vector x component */ + float y; /** Vector y component */ + float z; /** Vector z component */ } Vector3; -// Vector4, 4 components +/** Vector4, 4 components */ typedef struct Vector4 { - float x; // Vector x component - float y; // Vector y component - float z; // Vector z component - float w; // Vector w component + float x; /** Vector x component */ + float y; /** Vector y component */ + float z; /** Vector z component */ + float w; /** Vector w component */ } Vector4; -// Quaternion, 4 components (Vector4 alias) +/** Quaternion, 4 components (Vector4 alias) */ typedef Vector4 Quaternion; -// Matrix, 4x4 components, column major, OpenGL style, right handed +/** Matrix, 4x4 components, column major, OpenGL style, right handed */ typedef struct Matrix { - float m0, m4, m8, m12; // Matrix first row (4 components) - float m1, m5, m9, m13; // Matrix second row (4 components) - float m2, m6, m10, m14; // Matrix third row (4 components) - float m3, m7, m11, m15; // Matrix fourth row (4 components) + float m0, m4, m8, m12; /** Matrix first row (4 components) */ + float m1, m5, m9, m13; /** Matrix second row (4 components) */ + float m2, m6, m10, m14; /** Matrix third row (4 components) */ + float m3, m7, m11, m15; /** Matrix fourth row (4 components) */ } Matrix; -// Color, 4 components, R8G8B8A8 (32bit) +/** Color, 4 components, R8G8B8A8 (32bit) */ typedef struct Color { - unsigned char r; // Color red value - unsigned char g; // Color green value - unsigned char b; // Color blue value - unsigned char a; // Color alpha value + unsigned char r; /** Color red value */ + unsigned char g; /** Color green value */ + unsigned char b; /** Color blue value */ + unsigned char a; /** Color alpha value */ } Color; -// Rectangle, 4 components +/** Rectangle, 4 components */ typedef struct Rectangle { - float x; // Rectangle top-left corner position x - float y; // Rectangle top-left corner position y - float width; // Rectangle width - float height; // Rectangle height + float x; /** Rectangle top-left corner position x */ + float y; /** Rectangle top-left corner position y */ + float width; /** Rectangle width */ + float height; /** Rectangle height */ } Rectangle; -// Image, pixel data stored in CPU memory (RAM) +/** Image, pixel data stored in CPU memory (RAM) */ typedef struct Image { - void *data; // Image raw data - int width; // Image base width - int height; // Image base height - int mipmaps; // Mipmap levels, 1 by default - int format; // Data format (PixelFormat type) + void *data; /** Image raw data */ + int width; /** Image base width */ + int height; /** Image base height */ + int mipmaps; /** Mipmap levels, 1 by default */ + int format; /** Data format (PixelFormat type) */ } Image; -// Texture, tex data stored in GPU memory (VRAM) +/** Texture, tex data stored in GPU memory (VRAM) */ typedef struct Texture { - unsigned int id; // OpenGL texture id - int width; // Texture base width - int height; // Texture base height - int mipmaps; // Mipmap levels, 1 by default - int format; // Data format (PixelFormat type) + unsigned int id; /** OpenGL texture id */ + int width; /** Texture base width */ + int height; /** Texture base height */ + int mipmaps; /** Mipmap levels, 1 by default */ + int format; /** Data format (PixelFormat type) */ } Texture; -// Texture2D, same as Texture +/** Texture2D, same as Texture */ typedef Texture Texture2D; -// TextureCubemap, same as Texture +/** TextureCubemap, same as Texture */ typedef Texture TextureCubemap; -// RenderTexture, fbo for texture rendering +/** RenderTexture, fbo for texture rendering */ typedef struct RenderTexture { - unsigned int id; // OpenGL framebuffer object id - Texture texture; // Color buffer attachment texture - Texture depth; // Depth buffer attachment texture + unsigned int id; /** OpenGL framebuffer object id */ + Texture texture; /** Color buffer attachment texture */ + Texture depth; /** Depth buffer attachment texture */ } RenderTexture; -// RenderTexture2D, same as RenderTexture +/** RenderTexture2D, same as RenderTexture */ typedef RenderTexture RenderTexture2D; -// NPatchInfo, n-patch layout info +/** NPatchInfo, n-patch layout info */ typedef struct NPatchInfo { - Rectangle source; // Texture source rectangle - int left; // Left border offset - int top; // Top border offset - int right; // Right border offset - int bottom; // Bottom border offset - int layout; // Layout of the n-patch: 3x3, 1x3 or 3x1 + Rectangle source; /** Texture source rectangle */ + int left; /** Left border offset */ + int top; /** Top border offset */ + int right; /** Right border offset */ + int bottom; /** Bottom border offset */ + int layout; /** Layout of the n-patch: 3x3, 1x3 or 3x1 */ } NPatchInfo; -// GlyphInfo, font characters glyphs info +/** GlyphInfo, font characters glyphs info */ typedef struct GlyphInfo { - int value; // Character value (Unicode) - int offsetX; // Character offset X when drawing - int offsetY; // Character offset Y when drawing - int advanceX; // Character advance position X - Image image; // Character image data + int value; /** Character value (Unicode) */ + int offsetX; /** Character offset X when drawing */ + int offsetY; /** Character offset Y when drawing */ + int advanceX; /** Character advance position X */ + Image image; /** Character image data */ } GlyphInfo; -// Font, font texture and GlyphInfo array data +/** Font, font texture and GlyphInfo array data */ typedef struct Font { - int baseSize; // Base size (default chars height) - int glyphCount; // Number of glyph characters - int glyphPadding; // Padding around the glyph characters - Texture2D texture; // Texture atlas containing the glyphs - Rectangle *recs; // Rectangles in texture for the glyphs - GlyphInfo *glyphs; // Glyphs info data + int baseSize; /** Base size (default chars height) */ + int glyphCount; /** Number of glyph characters */ + int glyphPadding; /** Padding around the glyph characters */ + Texture2D texture; /** Texture atlas containing the glyphs */ + Rectangle *recs; /** Rectangles in texture for the glyphs */ + GlyphInfo *glyphs; /** Glyphs info data */ } Font; -// Camera, defines position/orientation in 3d space +/** Camera, defines position/orientation in 3d space */ typedef struct Camera3D { - Vector3 position; // Camera position - Vector3 target; // Camera target it looks-at - Vector3 up; // Camera up vector (rotation over its axis) - float fovy; // Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic - int projection; // Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC + Vector3 position; /** Camera position */ + Vector3 target; /** Camera target it looks-at */ + Vector3 up; /** Camera up vector (rotation over its axis) */ + float fovy; /** Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic */ + int projection; /** Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC */ } Camera3D; -typedef Camera3D Camera; // Camera type fallback, defaults to Camera3D -// Camera2D, defines position/orientation in 2d space +typedef Camera3D Camera; /** Camera type fallback, defaults to Camera3D */ +/** Camera2D, defines position/orientation in 2d space */ typedef struct Camera2D { - Vector2 offset; // Camera offset (displacement from target) - Vector2 target; // Camera target (rotation and zoom origin) - float rotation; // Camera rotation in degrees - float zoom; // Camera zoom (scaling), should be 1.0f by default + Vector2 offset; /** Camera offset (displacement from target) */ + Vector2 target; /** Camera target (rotation and zoom origin) */ + float rotation; /** Camera rotation in degrees */ + float zoom; /** Camera zoom (scaling), should be 1.0f by default */ } Camera2D; -// Mesh, vertex data and vao/vbo +/** Mesh, vertex data and vao/vbo */ typedef struct Mesh { - int vertexCount; // Number of vertices stored in arrays - int triangleCount; // Number of triangles stored (indexed or not) - // Vertex attributes data - float *vertices; // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) - float *texcoords; // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) - float *texcoords2; // Vertex second texture coordinates (useful for lightmaps) (shader-location = 5) - float *normals; // Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) - float *tangents; // Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) - unsigned char *colors; // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) - unsigned short *indices; // Vertex indices (in case vertex data comes indexed) - // Animation vertex data - float *animVertices; // Animated vertex positions (after bones transformations) - float *animNormals; // Animated normals (after bones transformations) - int *boneIds; // Vertex bone ids, up to 4 bones influence by vertex (skinning) - float *boneWeights; // Vertex bone weight, up to 4 bones influence by vertex (skinning) - // OpenGL identifiers - unsigned int vaoId; // OpenGL Vertex Array Object id - unsigned int *vboId; // OpenGL Vertex Buffer Objects id (default vertex data) + int vertexCount; /** Number of vertices stored in arrays */ + int triangleCount; /** Number of triangles stored (indexed or not) */ + /** Vertex attributes data */ + float *vertices; /** Vertex position (XYZ - 3 components per vertex) (shader-location = 0) */ + float *texcoords; /** Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) */ + float *texcoords2; /** Vertex second texture coordinates (useful for lightmaps) (shader-location = 5) */ + float *normals; /** Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) */ + float *tangents; /** Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) */ + unsigned char *colors; /** Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) */ + unsigned short *indices; /** Vertex indices (in case vertex data comes indexed) */ + /** Animation vertex data */ + float *animVertices; /** Animated vertex positions (after bones transformations) */ + float *animNormals; /** Animated normals (after bones transformations) */ + int *boneIds; /** Vertex bone ids, up to 4 bones influence by vertex (skinning) */ + float *boneWeights; /** Vertex bone weight, up to 4 bones influence by vertex (skinning) */ + /** OpenGL identifiers */ + unsigned int vaoId; /** OpenGL Vertex Array Object id */ + unsigned int *vboId; /** OpenGL Vertex Buffer Objects id (default vertex data) */ } Mesh; -// Shader +/** Shader */ typedef struct Shader { - unsigned int id; // Shader program id - int *locs; // Shader locations array (RL_MAX_SHADER_LOCATIONS) + unsigned int id; /** Shader program id */ + int *locs; /** Shader locations array (RL_MAX_SHADER_LOCATIONS) */ } Shader; -// MaterialMap +/** MaterialMap */ typedef struct MaterialMap { - Texture2D texture; // Material map texture - Color color; // Material map color - float value; // Material map value + Texture2D texture; /** Material map texture */ + Color color; /** Material map color */ + float value; /** Material map value */ } MaterialMap; -// Material, includes shader and maps +/** Material, includes shader and maps */ typedef struct Material { - Shader shader; // Material shader - MaterialMap *maps; // Material maps array (MAX_MATERIAL_MAPS) - float params[4]; // Material generic parameters (if required) + Shader shader; /** Material shader */ + MaterialMap *maps; /** Material maps array (MAX_MATERIAL_MAPS) */ + float params[4]; /** Material generic parameters (if required) */ } Material; -// Transform, vectex transformation data +/** Transform, vectex transformation data */ typedef struct Transform { - Vector3 translation; // Translation - Quaternion rotation; // Rotation - Vector3 scale; // Scale + Vector3 translation; /** Translation */ + Quaternion rotation; /** Rotation */ + Vector3 scale; /** Scale */ } Transform; -// Bone, skeletal animation bone +/** Bone, skeletal animation bone */ typedef struct BoneInfo { - char name[32]; // Bone name - int parent; // Bone parent + char name[32]; /** Bone name */ + int parent; /** Bone parent */ } BoneInfo; -// Model, meshes, materials and animation data +/** Model, meshes, materials and animation data */ typedef struct Model { - Matrix transform; // Local transform matrix - int meshCount; // Number of meshes - int materialCount; // Number of materials - Mesh *meshes; // Meshes array - Material *materials; // Materials array - int *meshMaterial; // Mesh material number - // Animation data - int boneCount; // Number of bones - BoneInfo *bones; // Bones information (skeleton) - Transform *bindPose; // Bones base transformation (pose) + Matrix transform; /** Local transform matrix */ + int meshCount; /** Number of meshes */ + int materialCount; /** Number of materials */ + Mesh *meshes; /** Meshes array */ + Material *materials; /** Materials array */ + int *meshMaterial; /** Mesh material number */ + /** Animation data */ + int boneCount; /** Number of bones */ + BoneInfo *bones; /** Bones information (skeleton) */ + Transform *bindPose; /** Bones base transformation (pose) */ } Model; -// ModelAnimation +/** ModelAnimation */ typedef struct ModelAnimation { - int boneCount; // Number of bones - int frameCount; // Number of animation frames - BoneInfo *bones; // Bones information (skeleton) - Transform **framePoses; // Poses array by frame + int boneCount; /** Number of bones */ + int frameCount; /** Number of animation frames */ + BoneInfo *bones; /** Bones information (skeleton) */ + Transform **framePoses; /** Poses array by frame */ } ModelAnimation; -// Ray, ray for raycasting +/** Ray, ray for raycasting */ typedef struct Ray { - Vector3 position; // Ray position (origin) - Vector3 direction; // Ray direction + Vector3 position; /** Ray position (origin) */ + Vector3 direction; /** Ray direction */ } Ray; -// RayCollision, ray hit information +/** RayCollision, ray hit information */ typedef struct RayCollision { - bool hit; // Did the ray hit something? - float distance; // Distance to nearest hit - Vector3 point; // Point of nearest hit - Vector3 normal; // Surface normal of hit + bool hit; /** Did the ray hit something? */ + float distance; /** Distance to nearest hit */ + Vector3 point; /** Point of nearest hit */ + Vector3 normal; /** Surface normal of hit */ } RayCollision; -// BoundingBox +/** BoundingBox */ typedef struct BoundingBox { - Vector3 min; // Minimum vertex box-corner - Vector3 max; // Maximum vertex box-corner + Vector3 min; /** Minimum vertex box-corner */ + Vector3 max; /** Maximum vertex box-corner */ } BoundingBox; -// Wave, audio wave data +/** Wave, audio wave data */ typedef struct Wave { - unsigned int frameCount; // Total number of frames (considering channels) - unsigned int sampleRate; // Frequency (samples per second) - unsigned int sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported) - unsigned int channels; // Number of channels (1-mono, 2-stereo, ...) - void *data; // Buffer data pointer + unsigned int frameCount; /** Total number of frames (considering channels) */ + unsigned int sampleRate; /** Frequency (samples per second) */ + unsigned int sampleSize; /** Bit depth (bits per sample): 8, 16, 32 (24 not supported) */ + unsigned int channels; /** Number of channels (1-mono, 2-stereo, ...) */ + void *data; /** Buffer data pointer */ } Wave; typedef struct rAudioBuffer rAudioBuffer; -// AudioStream, custom audio stream +/** AudioStream, custom audio stream */ typedef struct AudioStream { - rAudioBuffer *buffer; // Pointer to internal data used by the audio system - unsigned int sampleRate; // Frequency (samples per second) - unsigned int sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported) - unsigned int channels; // Number of channels (1-mono, 2-stereo, ...) + rAudioBuffer *buffer; /** Pointer to internal data used by the audio system */ + unsigned int sampleRate; /** Frequency (samples per second) */ + unsigned int sampleSize; /** Bit depth (bits per sample): 8, 16, 32 (24 not supported) */ + unsigned int channels; /** Number of channels (1-mono, 2-stereo, ...) */ } AudioStream; -// Sound +/** Sound */ typedef struct Sound { - AudioStream stream; // Audio stream - unsigned int frameCount; // Total number of frames (considering channels) + AudioStream stream; /** Audio stream */ + unsigned int frameCount; /** Total number of frames (considering channels) */ } Sound; -// Music, audio stream, anything longer than ~10 seconds should be streamed +/** Music, audio stream, anything longer than ~10 seconds should be streamed */ typedef struct Music { - AudioStream stream; // Audio stream - unsigned int frameCount; // Total number of frames (considering channels) - bool looping; // Music looping enable - int ctxType; // Type of music context (audio filetype) - void *ctxData; // Audio context data, depends on type + AudioStream stream; /** Audio stream */ + unsigned int frameCount; /** Total number of frames (considering channels) */ + bool looping; /** Music looping enable */ + int ctxType; /** Type of music context (audio filetype) */ + void *ctxData; /** Audio context data, depends on type */ } Music; -// VrDeviceInfo, Head-Mounted-Display device parameters +/** VrDeviceInfo, Head-Mounted-Display device parameters */ typedef struct VrDeviceInfo { - int hResolution; // Horizontal resolution in pixels - int vResolution; // Vertical resolution in pixels - float hScreenSize; // Horizontal size in meters - float vScreenSize; // Vertical size in meters - float vScreenCenter; // Screen center in meters - float eyeToScreenDistance; // Distance between eye and display in meters - float lensSeparationDistance; // Lens separation distance in meters - float interpupillaryDistance; // IPD (distance between pupils) in meters - float lensDistortionValues[4]; // Lens distortion constant parameters - float chromaAbCorrection[4]; // Chromatic aberration correction parameters + int hResolution; /** Horizontal resolution in pixels */ + int vResolution; /** Vertical resolution in pixels */ + float hScreenSize; /** Horizontal size in meters */ + float vScreenSize; /** Vertical size in meters */ + float vScreenCenter; /** Screen center in meters */ + float eyeToScreenDistance; /** Distance between eye and display in meters */ + float lensSeparationDistance; /** Lens separation distance in meters */ + float interpupillaryDistance; /** IPD (distance between pupils) in meters */ + float lensDistortionValues[4]; /** Lens distortion constant parameters */ + float chromaAbCorrection[4]; /** Chromatic aberration correction parameters */ } VrDeviceInfo; -// VrStereoConfig, VR stereo rendering configuration for simulator +/** VrStereoConfig, VR stereo rendering configuration for simulator */ typedef struct VrStereoConfig { - Matrix projection[2]; // VR projection matrices (per eye) - Matrix viewOffset[2]; // VR view offset matrices (per eye) - float leftLensCenter[2]; // VR left lens center - float rightLensCenter[2]; // VR right lens center - float leftScreenCenter[2]; // VR left screen center - float rightScreenCenter[2]; // VR right screen center - float scale[2]; // VR distortion scale - float scaleIn[2]; // VR distortion scale in + Matrix projection[2]; /** VR projection matrices (per eye) */ + Matrix viewOffset[2]; /** VR view offset matrices (per eye) */ + float leftLensCenter[2]; /** VR left lens center */ + float rightLensCenter[2]; /** VR right lens center */ + float leftScreenCenter[2]; /** VR left screen center */ + float rightScreenCenter[2]; /** VR right screen center */ + float scale[2]; /** VR distortion scale */ + float scaleIn[2]; /** VR distortion scale in */ } VrStereoConfig; -//---------------------------------------------------------------------------------- -// Enumerators Definition -//---------------------------------------------------------------------------------- -// System/Window config flags -// NOTE: Every bit registers one state (use it with bit masks) -// By default all flags are set to 0 +/** ---------------------------------------------------------------------------------- */ +/** Enumerators Definition */ +/** ---------------------------------------------------------------------------------- */ +/** System/Window config flags */ +/** NOTE: Every bit registers one state (use it with bit masks) */ +/** By default all flags are set to 0 */ typedef enum { - FLAG_VSYNC_HINT = 0x00000040, // Set to try enabling V-Sync on GPU - FLAG_FULLSCREEN_MODE = 0x00000002, // Set to run program in fullscreen - FLAG_WINDOW_RESIZABLE = 0x00000004, // Set to allow resizable window - FLAG_WINDOW_UNDECORATED = 0x00000008, // Set to disable window decoration (frame and buttons) - FLAG_WINDOW_HIDDEN = 0x00000080, // Set to hide window - FLAG_WINDOW_MINIMIZED = 0x00000200, // Set to minimize window (iconify) - FLAG_WINDOW_MAXIMIZED = 0x00000400, // Set to maximize window (expanded to monitor) - FLAG_WINDOW_UNFOCUSED = 0x00000800, // Set to window non focused - FLAG_WINDOW_TOPMOST = 0x00001000, // Set to window always on top - FLAG_WINDOW_ALWAYS_RUN = 0x00000100, // Set to allow windows running while minimized - FLAG_WINDOW_TRANSPARENT = 0x00000010, // Set to allow transparent framebuffer - FLAG_WINDOW_HIGHDPI = 0x00002000, // Set to support HighDPI - FLAG_MSAA_4X_HINT = 0x00000020, // Set to try enabling MSAA 4X - FLAG_INTERLACED_HINT = 0x00010000 // Set to try enabling interlaced video format (for V3D) + FLAG_VSYNC_HINT = 0x00000040, /** Set to try enabling V-Sync on GPU */ + FLAG_FULLSCREEN_MODE = 0x00000002, /** Set to run program in fullscreen */ + FLAG_WINDOW_RESIZABLE = 0x00000004, /** Set to allow resizable window */ + FLAG_WINDOW_UNDECORATED = 0x00000008, /** Set to disable window decoration (frame and buttons) */ + FLAG_WINDOW_HIDDEN = 0x00000080, /** Set to hide window */ + FLAG_WINDOW_MINIMIZED = 0x00000200, /** Set to minimize window (iconify) */ + FLAG_WINDOW_MAXIMIZED = 0x00000400, /** Set to maximize window (expanded to monitor) */ + FLAG_WINDOW_UNFOCUSED = 0x00000800, /** Set to window non focused */ + FLAG_WINDOW_TOPMOST = 0x00001000, /** Set to window always on top */ + FLAG_WINDOW_ALWAYS_RUN = 0x00000100, /** Set to allow windows running while minimized */ + FLAG_WINDOW_TRANSPARENT = 0x00000010, /** Set to allow transparent framebuffer */ + FLAG_WINDOW_HIGHDPI = 0x00002000, /** Set to support HighDPI */ + FLAG_MSAA_4X_HINT = 0x00000020, /** Set to try enabling MSAA 4X */ + FLAG_INTERLACED_HINT = 0x00010000 /** Set to try enabling interlaced video format (for V3D) */ } ConfigFlags; -// Trace log level -// NOTE: Organized by priority level +/** Trace log level */ +/** NOTE: Organized by priority level */ typedef enum { - LOG_ALL = 0, // Display all logs - LOG_TRACE, // Trace logging, intended for internal use only - LOG_DEBUG, // Debug logging, used for internal debugging, it should be disabled on release builds - LOG_INFO, // Info logging, used for program execution info - LOG_WARNING, // Warning logging, used on recoverable failures - LOG_ERROR, // Error logging, used on unrecoverable failures - LOG_FATAL, // Fatal logging, used to abort program: exit(EXIT_FAILURE) - LOG_NONE // Disable logging + LOG_ALL = 0, /** Display all logs */ + LOG_TRACE, /** Trace logging, intended for internal use only */ + LOG_DEBUG, /** Debug logging, used for internal debugging, it should be disabled on release builds */ + LOG_INFO, /** Info logging, used for program execution info */ + LOG_WARNING, /** Warning logging, used on recoverable failures */ + LOG_ERROR, /** Error logging, used on unrecoverable failures */ + LOG_FATAL, /** Fatal logging, used to abort program: exit(EXIT_FAILURE) */ + LOG_NONE /** Disable logging */ } TraceLogLevel; -// Keyboard keys (US keyboard layout) -// NOTE: Use GetKeyPressed() to allow redefining -// required keys for alternative layouts +/** Keyboard keys (US keyboard layout) */ +/** NOTE: Use GetKeyPressed() to allow redefining */ +/** required keys for alternative layouts */ typedef enum { - KEY_NULL = 0, // Key: NULL, used for no key pressed - // Alphanumeric keys - KEY_APOSTROPHE = 39, // Key: ' - KEY_COMMA = 44, // Key: , - KEY_MINUS = 45, // Key: - - KEY_PERIOD = 46, // Key: . - KEY_SLASH = 47, // Key: / - KEY_ZERO = 48, // Key: 0 - KEY_ONE = 49, // Key: 1 - KEY_TWO = 50, // Key: 2 - KEY_THREE = 51, // Key: 3 - KEY_FOUR = 52, // Key: 4 - KEY_FIVE = 53, // Key: 5 - KEY_SIX = 54, // Key: 6 - KEY_SEVEN = 55, // Key: 7 - KEY_EIGHT = 56, // Key: 8 - KEY_NINE = 57, // Key: 9 - KEY_SEMICOLON = 59, // Key: ; - KEY_EQUAL = 61, // Key: = - KEY_A = 65, // Key: A | a - KEY_B = 66, // Key: B | b - KEY_C = 67, // Key: C | c - KEY_D = 68, // Key: D | d - KEY_E = 69, // Key: E | e - KEY_F = 70, // Key: F | f - KEY_G = 71, // Key: G | g - KEY_H = 72, // Key: H | h - KEY_I = 73, // Key: I | i - KEY_J = 74, // Key: J | j - KEY_K = 75, // Key: K | k - KEY_L = 76, // Key: L | l - KEY_M = 77, // Key: M | m - KEY_N = 78, // Key: N | n - KEY_O = 79, // Key: O | o - KEY_P = 80, // Key: P | p - KEY_Q = 81, // Key: Q | q - KEY_R = 82, // Key: R | r - KEY_S = 83, // Key: S | s - KEY_T = 84, // Key: T | t - KEY_U = 85, // Key: U | u - KEY_V = 86, // Key: V | v - KEY_W = 87, // Key: W | w - KEY_X = 88, // Key: X | x - KEY_Y = 89, // Key: Y | y - KEY_Z = 90, // Key: Z | z - KEY_LEFT_BRACKET = 91, // Key: [ - KEY_BACKSLASH = 92, // Key: '\' - KEY_RIGHT_BRACKET = 93, // Key: ] - KEY_GRAVE = 96, // Key: ` - // Function keys - KEY_SPACE = 32, // Key: Space - KEY_ESCAPE = 256, // Key: Esc - KEY_ENTER = 257, // Key: Enter - KEY_TAB = 258, // Key: Tab - KEY_BACKSPACE = 259, // Key: Backspace - KEY_INSERT = 260, // Key: Ins - KEY_DELETE = 261, // Key: Del - KEY_RIGHT = 262, // Key: Cursor right - KEY_LEFT = 263, // Key: Cursor left - KEY_DOWN = 264, // Key: Cursor down - KEY_UP = 265, // Key: Cursor up - KEY_PAGE_UP = 266, // Key: Page up - KEY_PAGE_DOWN = 267, // Key: Page down - KEY_HOME = 268, // Key: Home - KEY_END = 269, // Key: End - KEY_CAPS_LOCK = 280, // Key: Caps lock - KEY_SCROLL_LOCK = 281, // Key: Scroll down - KEY_NUM_LOCK = 282, // Key: Num lock - KEY_PRINT_SCREEN = 283, // Key: Print screen - KEY_PAUSE = 284, // Key: Pause - KEY_F1 = 290, // Key: F1 - KEY_F2 = 291, // Key: F2 - KEY_F3 = 292, // Key: F3 - KEY_F4 = 293, // Key: F4 - KEY_F5 = 294, // Key: F5 - KEY_F6 = 295, // Key: F6 - KEY_F7 = 296, // Key: F7 - KEY_F8 = 297, // Key: F8 - KEY_F9 = 298, // Key: F9 - KEY_F10 = 299, // Key: F10 - KEY_F11 = 300, // Key: F11 - KEY_F12 = 301, // Key: F12 - KEY_LEFT_SHIFT = 340, // Key: Shift left - KEY_LEFT_CONTROL = 341, // Key: Control left - KEY_LEFT_ALT = 342, // Key: Alt left - KEY_LEFT_SUPER = 343, // Key: Super left - KEY_RIGHT_SHIFT = 344, // Key: Shift right - KEY_RIGHT_CONTROL = 345, // Key: Control right - KEY_RIGHT_ALT = 346, // Key: Alt right - KEY_RIGHT_SUPER = 347, // Key: Super right - KEY_KB_MENU = 348, // Key: KB menu - // Keypad keys - KEY_KP_0 = 320, // Key: Keypad 0 - KEY_KP_1 = 321, // Key: Keypad 1 - KEY_KP_2 = 322, // Key: Keypad 2 - KEY_KP_3 = 323, // Key: Keypad 3 - KEY_KP_4 = 324, // Key: Keypad 4 - KEY_KP_5 = 325, // Key: Keypad 5 - KEY_KP_6 = 326, // Key: Keypad 6 - KEY_KP_7 = 327, // Key: Keypad 7 - KEY_KP_8 = 328, // Key: Keypad 8 - KEY_KP_9 = 329, // Key: Keypad 9 - KEY_KP_DECIMAL = 330, // Key: Keypad . - KEY_KP_DIVIDE = 331, // Key: Keypad / - KEY_KP_MULTIPLY = 332, // Key: Keypad * - KEY_KP_SUBTRACT = 333, // Key: Keypad - - KEY_KP_ADD = 334, // Key: Keypad + - KEY_KP_ENTER = 335, // Key: Keypad Enter - KEY_KP_EQUAL = 336, // Key: Keypad = - // Android key buttons - KEY_BACK = 4, // Key: Android back button - KEY_MENU = 82, // Key: Android menu button - KEY_VOLUME_UP = 24, // Key: Android volume up button - KEY_VOLUME_DOWN = 25 // Key: Android volume down button + KEY_NULL = 0, /** Key: NULL, used for no key pressed */ + /** Alphanumeric keys */ + KEY_APOSTROPHE = 39, /** Key: ' */ + KEY_COMMA = 44, /** Key: , */ + KEY_MINUS = 45, /** Key: - */ + KEY_PERIOD = 46, /** Key: . */ + KEY_SLASH = 47, /** Key: / */ + KEY_ZERO = 48, /** Key: 0 */ + KEY_ONE = 49, /** Key: 1 */ + KEY_TWO = 50, /** Key: 2 */ + KEY_THREE = 51, /** Key: 3 */ + KEY_FOUR = 52, /** Key: 4 */ + KEY_FIVE = 53, /** Key: 5 */ + KEY_SIX = 54, /** Key: 6 */ + KEY_SEVEN = 55, /** Key: 7 */ + KEY_EIGHT = 56, /** Key: 8 */ + KEY_NINE = 57, /** Key: 9 */ + KEY_SEMICOLON = 59, /** Key: ; */ + KEY_EQUAL = 61, /** Key: = */ + KEY_A = 65, /** Key: A | a */ + KEY_B = 66, /** Key: B | b */ + KEY_C = 67, /** Key: C | c */ + KEY_D = 68, /** Key: D | d */ + KEY_E = 69, /** Key: E | e */ + KEY_F = 70, /** Key: F | f */ + KEY_G = 71, /** Key: G | g */ + KEY_H = 72, /** Key: H | h */ + KEY_I = 73, /** Key: I | i */ + KEY_J = 74, /** Key: J | j */ + KEY_K = 75, /** Key: K | k */ + KEY_L = 76, /** Key: L | l */ + KEY_M = 77, /** Key: M | m */ + KEY_N = 78, /** Key: N | n */ + KEY_O = 79, /** Key: O | o */ + KEY_P = 80, /** Key: P | p */ + KEY_Q = 81, /** Key: Q | q */ + KEY_R = 82, /** Key: R | r */ + KEY_S = 83, /** Key: S | s */ + KEY_T = 84, /** Key: T | t */ + KEY_U = 85, /** Key: U | u */ + KEY_V = 86, /** Key: V | v */ + KEY_W = 87, /** Key: W | w */ + KEY_X = 88, /** Key: X | x */ + KEY_Y = 89, /** Key: Y | y */ + KEY_Z = 90, /** Key: Z | z */ + KEY_LEFT_BRACKET = 91, /** Key: [ */ + KEY_BACKSLASH = 92, /** Key: '\' */ + KEY_RIGHT_BRACKET = 93, /** Key: ] */ + KEY_GRAVE = 96, /** Key: ` */ + /** Function keys */ + KEY_SPACE = 32, /** Key: Space */ + KEY_ESCAPE = 256, /** Key: Esc */ + KEY_ENTER = 257, /** Key: Enter */ + KEY_TAB = 258, /** Key: Tab */ + KEY_BACKSPACE = 259, /** Key: Backspace */ + KEY_INSERT = 260, /** Key: Ins */ + KEY_DELETE = 261, /** Key: Del */ + KEY_RIGHT = 262, /** Key: Cursor right */ + KEY_LEFT = 263, /** Key: Cursor left */ + KEY_DOWN = 264, /** Key: Cursor down */ + KEY_UP = 265, /** Key: Cursor up */ + KEY_PAGE_UP = 266, /** Key: Page up */ + KEY_PAGE_DOWN = 267, /** Key: Page down */ + KEY_HOME = 268, /** Key: Home */ + KEY_END = 269, /** Key: End */ + KEY_CAPS_LOCK = 280, /** Key: Caps lock */ + KEY_SCROLL_LOCK = 281, /** Key: Scroll down */ + KEY_NUM_LOCK = 282, /** Key: Num lock */ + KEY_PRINT_SCREEN = 283, /** Key: Print screen */ + KEY_PAUSE = 284, /** Key: Pause */ + KEY_F1 = 290, /** Key: F1 */ + KEY_F2 = 291, /** Key: F2 */ + KEY_F3 = 292, /** Key: F3 */ + KEY_F4 = 293, /** Key: F4 */ + KEY_F5 = 294, /** Key: F5 */ + KEY_F6 = 295, /** Key: F6 */ + KEY_F7 = 296, /** Key: F7 */ + KEY_F8 = 297, /** Key: F8 */ + KEY_F9 = 298, /** Key: F9 */ + KEY_F10 = 299, /** Key: F10 */ + KEY_F11 = 300, /** Key: F11 */ + KEY_F12 = 301, /** Key: F12 */ + KEY_LEFT_SHIFT = 340, /** Key: Shift left */ + KEY_LEFT_CONTROL = 341, /** Key: Control left */ + KEY_LEFT_ALT = 342, /** Key: Alt left */ + KEY_LEFT_SUPER = 343, /** Key: Super left */ + KEY_RIGHT_SHIFT = 344, /** Key: Shift right */ + KEY_RIGHT_CONTROL = 345, /** Key: Control right */ + KEY_RIGHT_ALT = 346, /** Key: Alt right */ + KEY_RIGHT_SUPER = 347, /** Key: Super right */ + KEY_KB_MENU = 348, /** Key: KB menu */ + /** Keypad keys */ + KEY_KP_0 = 320, /** Key: Keypad 0 */ + KEY_KP_1 = 321, /** Key: Keypad 1 */ + KEY_KP_2 = 322, /** Key: Keypad 2 */ + KEY_KP_3 = 323, /** Key: Keypad 3 */ + KEY_KP_4 = 324, /** Key: Keypad 4 */ + KEY_KP_5 = 325, /** Key: Keypad 5 */ + KEY_KP_6 = 326, /** Key: Keypad 6 */ + KEY_KP_7 = 327, /** Key: Keypad 7 */ + KEY_KP_8 = 328, /** Key: Keypad 8 */ + KEY_KP_9 = 329, /** Key: Keypad 9 */ + KEY_KP_DECIMAL = 330, /** Key: Keypad . */ + KEY_KP_DIVIDE = 331, /** Key: Keypad / */ + KEY_KP_MULTIPLY = 332, /** Key: Keypad * */ + KEY_KP_SUBTRACT = 333, /** Key: Keypad - */ + KEY_KP_ADD = 334, /** Key: Keypad + */ + KEY_KP_ENTER = 335, /** Key: Keypad Enter */ + KEY_KP_EQUAL = 336, /** Key: Keypad = */ + /** Android key buttons */ + KEY_BACK = 4, /** Key: Android back button */ + KEY_MENU = 82, /** Key: Android menu button */ + KEY_VOLUME_UP = 24, /** Key: Android volume up button */ + KEY_VOLUME_DOWN = 25 /** Key: Android volume down button */ } KeyboardKey; -// Add backwards compatibility support for deprecated names -// Mouse buttons +/** Add backwards compatibility support for deprecated names */ +/** Mouse buttons */ typedef enum { - MOUSE_BUTTON_LEFT = 0, // Mouse button left - MOUSE_BUTTON_RIGHT = 1, // Mouse button right - MOUSE_BUTTON_MIDDLE = 2, // Mouse button middle (pressed wheel) - MOUSE_BUTTON_SIDE = 3, // Mouse button side (advanced mouse device) - MOUSE_BUTTON_EXTRA = 4, // Mouse button extra (advanced mouse device) - MOUSE_BUTTON_FORWARD = 5, // Mouse button fordward (advanced mouse device) - MOUSE_BUTTON_BACK = 6, // Mouse button back (advanced mouse device) + MOUSE_BUTTON_LEFT = 0, /** Mouse button left */ + MOUSE_BUTTON_RIGHT = 1, /** Mouse button right */ + MOUSE_BUTTON_MIDDLE = 2, /** Mouse button middle (pressed wheel) */ + MOUSE_BUTTON_SIDE = 3, /** Mouse button side (advanced mouse device) */ + MOUSE_BUTTON_EXTRA = 4, /** Mouse button extra (advanced mouse device) */ + MOUSE_BUTTON_FORWARD = 5, /** Mouse button fordward (advanced mouse device) */ + MOUSE_BUTTON_BACK = 6, /** Mouse button back (advanced mouse device) */ } MouseButton; -// Mouse cursor +/** Mouse cursor */ typedef enum { - MOUSE_CURSOR_DEFAULT = 0, // Default pointer shape - MOUSE_CURSOR_ARROW = 1, // Arrow shape - MOUSE_CURSOR_IBEAM = 2, // Text writing cursor shape - MOUSE_CURSOR_CROSSHAIR = 3, // Cross shape - MOUSE_CURSOR_POINTING_HAND = 4, // Pointing hand cursor - MOUSE_CURSOR_RESIZE_EW = 5, // Horizontal resize/move arrow shape - MOUSE_CURSOR_RESIZE_NS = 6, // Vertical resize/move arrow shape - MOUSE_CURSOR_RESIZE_NWSE = 7, // Top-left to bottom-right diagonal resize/move arrow shape - MOUSE_CURSOR_RESIZE_NESW = 8, // The top-right to bottom-left diagonal resize/move arrow shape - MOUSE_CURSOR_RESIZE_ALL = 9, // The omni-directional resize/move cursor shape - MOUSE_CURSOR_NOT_ALLOWED = 10 // The operation-not-allowed shape + MOUSE_CURSOR_DEFAULT = 0, /** Default pointer shape */ + MOUSE_CURSOR_ARROW = 1, /** Arrow shape */ + MOUSE_CURSOR_IBEAM = 2, /** Text writing cursor shape */ + MOUSE_CURSOR_CROSSHAIR = 3, /** Cross shape */ + MOUSE_CURSOR_POINTING_HAND = 4, /** Pointing hand cursor */ + MOUSE_CURSOR_RESIZE_EW = 5, /** Horizontal resize/move arrow shape */ + MOUSE_CURSOR_RESIZE_NS = 6, /** Vertical resize/move arrow shape */ + MOUSE_CURSOR_RESIZE_NWSE = 7, /** Top-left to bottom-right diagonal resize/move arrow shape */ + MOUSE_CURSOR_RESIZE_NESW = 8, /** The top-right to bottom-left diagonal resize/move arrow shape */ + MOUSE_CURSOR_RESIZE_ALL = 9, /** The omni-directional resize/move cursor shape */ + MOUSE_CURSOR_NOT_ALLOWED = 10 /** The operation-not-allowed shape */ } MouseCursor; -// Gamepad buttons +/** Gamepad buttons */ typedef enum { - GAMEPAD_BUTTON_UNKNOWN = 0, // Unknown button, just for error checking - GAMEPAD_BUTTON_LEFT_FACE_UP, // Gamepad left DPAD up button - GAMEPAD_BUTTON_LEFT_FACE_RIGHT, // Gamepad left DPAD right button - GAMEPAD_BUTTON_LEFT_FACE_DOWN, // Gamepad left DPAD down button - GAMEPAD_BUTTON_LEFT_FACE_LEFT, // Gamepad left DPAD left button - GAMEPAD_BUTTON_RIGHT_FACE_UP, // Gamepad right button up (i.e. PS3: Triangle, Xbox: Y) - GAMEPAD_BUTTON_RIGHT_FACE_RIGHT, // Gamepad right button right (i.e. PS3: Square, Xbox: X) - GAMEPAD_BUTTON_RIGHT_FACE_DOWN, // Gamepad right button down (i.e. PS3: Cross, Xbox: A) - GAMEPAD_BUTTON_RIGHT_FACE_LEFT, // Gamepad right button left (i.e. PS3: Circle, Xbox: B) - GAMEPAD_BUTTON_LEFT_TRIGGER_1, // Gamepad top/back trigger left (first), it could be a trailing button - GAMEPAD_BUTTON_LEFT_TRIGGER_2, // Gamepad top/back trigger left (second), it could be a trailing button - GAMEPAD_BUTTON_RIGHT_TRIGGER_1, // Gamepad top/back trigger right (one), it could be a trailing button - GAMEPAD_BUTTON_RIGHT_TRIGGER_2, // Gamepad top/back trigger right (second), it could be a trailing button - GAMEPAD_BUTTON_MIDDLE_LEFT, // Gamepad center buttons, left one (i.e. PS3: Select) - GAMEPAD_BUTTON_MIDDLE, // Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX) - GAMEPAD_BUTTON_MIDDLE_RIGHT, // Gamepad center buttons, right one (i.e. PS3: Start) - GAMEPAD_BUTTON_LEFT_THUMB, // Gamepad joystick pressed button left - GAMEPAD_BUTTON_RIGHT_THUMB // Gamepad joystick pressed button right + GAMEPAD_BUTTON_UNKNOWN = 0, /** Unknown button, just for error checking */ + GAMEPAD_BUTTON_LEFT_FACE_UP, /** Gamepad left DPAD up button */ + GAMEPAD_BUTTON_LEFT_FACE_RIGHT, /** Gamepad left DPAD right button */ + GAMEPAD_BUTTON_LEFT_FACE_DOWN, /** Gamepad left DPAD down button */ + GAMEPAD_BUTTON_LEFT_FACE_LEFT, /** Gamepad left DPAD left button */ + GAMEPAD_BUTTON_RIGHT_FACE_UP, /** Gamepad right button up (i.e. PS3: Triangle, Xbox: Y) */ + GAMEPAD_BUTTON_RIGHT_FACE_RIGHT, /** Gamepad right button right (i.e. PS3: Square, Xbox: X) */ + GAMEPAD_BUTTON_RIGHT_FACE_DOWN, /** Gamepad right button down (i.e. PS3: Cross, Xbox: A) */ + GAMEPAD_BUTTON_RIGHT_FACE_LEFT, /** Gamepad right button left (i.e. PS3: Circle, Xbox: B) */ + GAMEPAD_BUTTON_LEFT_TRIGGER_1, /** Gamepad top/back trigger left (first), it could be a trailing button */ + GAMEPAD_BUTTON_LEFT_TRIGGER_2, /** Gamepad top/back trigger left (second), it could be a trailing button */ + GAMEPAD_BUTTON_RIGHT_TRIGGER_1, /** Gamepad top/back trigger right (one), it could be a trailing button */ + GAMEPAD_BUTTON_RIGHT_TRIGGER_2, /** Gamepad top/back trigger right (second), it could be a trailing button */ + GAMEPAD_BUTTON_MIDDLE_LEFT, /** Gamepad center buttons, left one (i.e. PS3: Select) */ + GAMEPAD_BUTTON_MIDDLE, /** Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX) */ + GAMEPAD_BUTTON_MIDDLE_RIGHT, /** Gamepad center buttons, right one (i.e. PS3: Start) */ + GAMEPAD_BUTTON_LEFT_THUMB, /** Gamepad joystick pressed button left */ + GAMEPAD_BUTTON_RIGHT_THUMB /** Gamepad joystick pressed button right */ } GamepadButton; -// Gamepad axis +/** Gamepad axis */ typedef enum { - GAMEPAD_AXIS_LEFT_X = 0, // Gamepad left stick X axis - GAMEPAD_AXIS_LEFT_Y = 1, // Gamepad left stick Y axis - GAMEPAD_AXIS_RIGHT_X = 2, // Gamepad right stick X axis - GAMEPAD_AXIS_RIGHT_Y = 3, // Gamepad right stick Y axis - GAMEPAD_AXIS_LEFT_TRIGGER = 4, // Gamepad back trigger left, pressure level: [1..-1] - GAMEPAD_AXIS_RIGHT_TRIGGER = 5 // Gamepad back trigger right, pressure level: [1..-1] + GAMEPAD_AXIS_LEFT_X = 0, /** Gamepad left stick X axis */ + GAMEPAD_AXIS_LEFT_Y = 1, /** Gamepad left stick Y axis */ + GAMEPAD_AXIS_RIGHT_X = 2, /** Gamepad right stick X axis */ + GAMEPAD_AXIS_RIGHT_Y = 3, /** Gamepad right stick Y axis */ + GAMEPAD_AXIS_LEFT_TRIGGER = 4, /** Gamepad back trigger left, pressure level: [1..-1] */ + GAMEPAD_AXIS_RIGHT_TRIGGER = 5 /** Gamepad back trigger right, pressure level: [1..-1] */ } GamepadAxis; -// Material map index +/** Material map index */ typedef enum { - MATERIAL_MAP_ALBEDO = 0, // Albedo material (same as: MATERIAL_MAP_DIFFUSE) - MATERIAL_MAP_METALNESS, // Metalness material (same as: MATERIAL_MAP_SPECULAR) - MATERIAL_MAP_NORMAL, // Normal material - MATERIAL_MAP_ROUGHNESS, // Roughness material - MATERIAL_MAP_OCCLUSION, // Ambient occlusion material - MATERIAL_MAP_EMISSION, // Emission material - MATERIAL_MAP_HEIGHT, // Heightmap material - MATERIAL_MAP_CUBEMAP, // Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP) - MATERIAL_MAP_IRRADIANCE, // Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP) - MATERIAL_MAP_PREFILTER, // Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP) - MATERIAL_MAP_BRDF // Brdf material + MATERIAL_MAP_ALBEDO = 0, /** Albedo material (same as: MATERIAL_MAP_DIFFUSE) */ + MATERIAL_MAP_METALNESS, /** Metalness material (same as: MATERIAL_MAP_SPECULAR) */ + MATERIAL_MAP_NORMAL, /** Normal material */ + MATERIAL_MAP_ROUGHNESS, /** Roughness material */ + MATERIAL_MAP_OCCLUSION, /** Ambient occlusion material */ + MATERIAL_MAP_EMISSION, /** Emission material */ + MATERIAL_MAP_HEIGHT, /** Heightmap material */ + MATERIAL_MAP_CUBEMAP, /** Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP) */ + MATERIAL_MAP_IRRADIANCE, /** Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP) */ + MATERIAL_MAP_PREFILTER, /** Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP) */ + MATERIAL_MAP_BRDF /** Brdf material */ } MaterialMapIndex; -// Shader location index +/** Shader location index */ typedef enum { - SHADER_LOC_VERTEX_POSITION = 0, // Shader location: vertex attribute: position - SHADER_LOC_VERTEX_TEXCOORD01, // Shader location: vertex attribute: texcoord01 - SHADER_LOC_VERTEX_TEXCOORD02, // Shader location: vertex attribute: texcoord02 - SHADER_LOC_VERTEX_NORMAL, // Shader location: vertex attribute: normal - SHADER_LOC_VERTEX_TANGENT, // Shader location: vertex attribute: tangent - SHADER_LOC_VERTEX_COLOR, // Shader location: vertex attribute: color - SHADER_LOC_MATRIX_MVP, // Shader location: matrix uniform: model-view-projection - SHADER_LOC_MATRIX_VIEW, // Shader location: matrix uniform: view (camera transform) - SHADER_LOC_MATRIX_PROJECTION, // Shader location: matrix uniform: projection - SHADER_LOC_MATRIX_MODEL, // Shader location: matrix uniform: model (transform) - SHADER_LOC_MATRIX_NORMAL, // Shader location: matrix uniform: normal - SHADER_LOC_VECTOR_VIEW, // Shader location: vector uniform: view - SHADER_LOC_COLOR_DIFFUSE, // Shader location: vector uniform: diffuse color - SHADER_LOC_COLOR_SPECULAR, // Shader location: vector uniform: specular color - SHADER_LOC_COLOR_AMBIENT, // Shader location: vector uniform: ambient color - SHADER_LOC_MAP_ALBEDO, // Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE) - SHADER_LOC_MAP_METALNESS, // Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR) - SHADER_LOC_MAP_NORMAL, // Shader location: sampler2d texture: normal - SHADER_LOC_MAP_ROUGHNESS, // Shader location: sampler2d texture: roughness - SHADER_LOC_MAP_OCCLUSION, // Shader location: sampler2d texture: occlusion - SHADER_LOC_MAP_EMISSION, // Shader location: sampler2d texture: emission - SHADER_LOC_MAP_HEIGHT, // Shader location: sampler2d texture: height - SHADER_LOC_MAP_CUBEMAP, // Shader location: samplerCube texture: cubemap - SHADER_LOC_MAP_IRRADIANCE, // Shader location: samplerCube texture: irradiance - SHADER_LOC_MAP_PREFILTER, // Shader location: samplerCube texture: prefilter - SHADER_LOC_MAP_BRDF // Shader location: sampler2d texture: brdf + SHADER_LOC_VERTEX_POSITION = 0, /** Shader location: vertex attribute: position */ + SHADER_LOC_VERTEX_TEXCOORD01, /** Shader location: vertex attribute: texcoord01 */ + SHADER_LOC_VERTEX_TEXCOORD02, /** Shader location: vertex attribute: texcoord02 */ + SHADER_LOC_VERTEX_NORMAL, /** Shader location: vertex attribute: normal */ + SHADER_LOC_VERTEX_TANGENT, /** Shader location: vertex attribute: tangent */ + SHADER_LOC_VERTEX_COLOR, /** Shader location: vertex attribute: color */ + SHADER_LOC_MATRIX_MVP, /** Shader location: matrix uniform: model-view-projection */ + SHADER_LOC_MATRIX_VIEW, /** Shader location: matrix uniform: view (camera transform) */ + SHADER_LOC_MATRIX_PROJECTION, /** Shader location: matrix uniform: projection */ + SHADER_LOC_MATRIX_MODEL, /** Shader location: matrix uniform: model (transform) */ + SHADER_LOC_MATRIX_NORMAL, /** Shader location: matrix uniform: normal */ + SHADER_LOC_VECTOR_VIEW, /** Shader location: vector uniform: view */ + SHADER_LOC_COLOR_DIFFUSE, /** Shader location: vector uniform: diffuse color */ + SHADER_LOC_COLOR_SPECULAR, /** Shader location: vector uniform: specular color */ + SHADER_LOC_COLOR_AMBIENT, /** Shader location: vector uniform: ambient color */ + SHADER_LOC_MAP_ALBEDO, /** Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE) */ + SHADER_LOC_MAP_METALNESS, /** Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR) */ + SHADER_LOC_MAP_NORMAL, /** Shader location: sampler2d texture: normal */ + SHADER_LOC_MAP_ROUGHNESS, /** Shader location: sampler2d texture: roughness */ + SHADER_LOC_MAP_OCCLUSION, /** Shader location: sampler2d texture: occlusion */ + SHADER_LOC_MAP_EMISSION, /** Shader location: sampler2d texture: emission */ + SHADER_LOC_MAP_HEIGHT, /** Shader location: sampler2d texture: height */ + SHADER_LOC_MAP_CUBEMAP, /** Shader location: samplerCube texture: cubemap */ + SHADER_LOC_MAP_IRRADIANCE, /** Shader location: samplerCube texture: irradiance */ + SHADER_LOC_MAP_PREFILTER, /** Shader location: samplerCube texture: prefilter */ + SHADER_LOC_MAP_BRDF /** Shader location: sampler2d texture: brdf */ } ShaderLocationIndex; -// Shader uniform data type +/** Shader uniform data type */ typedef enum { - SHADER_UNIFORM_FLOAT = 0, // Shader uniform type: float - SHADER_UNIFORM_VEC2, // Shader uniform type: vec2 (2 float) - SHADER_UNIFORM_VEC3, // Shader uniform type: vec3 (3 float) - SHADER_UNIFORM_VEC4, // Shader uniform type: vec4 (4 float) - SHADER_UNIFORM_INT, // Shader uniform type: int - SHADER_UNIFORM_IVEC2, // Shader uniform type: ivec2 (2 int) - SHADER_UNIFORM_IVEC3, // Shader uniform type: ivec3 (3 int) - SHADER_UNIFORM_IVEC4, // Shader uniform type: ivec4 (4 int) - SHADER_UNIFORM_SAMPLER2D // Shader uniform type: sampler2d + SHADER_UNIFORM_FLOAT = 0, /** Shader uniform type: float */ + SHADER_UNIFORM_VEC2, /** Shader uniform type: vec2 (2 float) */ + SHADER_UNIFORM_VEC3, /** Shader uniform type: vec3 (3 float) */ + SHADER_UNIFORM_VEC4, /** Shader uniform type: vec4 (4 float) */ + SHADER_UNIFORM_INT, /** Shader uniform type: int */ + SHADER_UNIFORM_IVEC2, /** Shader uniform type: ivec2 (2 int) */ + SHADER_UNIFORM_IVEC3, /** Shader uniform type: ivec3 (3 int) */ + SHADER_UNIFORM_IVEC4, /** Shader uniform type: ivec4 (4 int) */ + SHADER_UNIFORM_SAMPLER2D /** Shader uniform type: sampler2d */ } ShaderUniformDataType; -// Shader attribute data types +/** Shader attribute data types */ typedef enum { - SHADER_ATTRIB_FLOAT = 0, // Shader attribute type: float - SHADER_ATTRIB_VEC2, // Shader attribute type: vec2 (2 float) - SHADER_ATTRIB_VEC3, // Shader attribute type: vec3 (3 float) - SHADER_ATTRIB_VEC4 // Shader attribute type: vec4 (4 float) + SHADER_ATTRIB_FLOAT = 0, /** Shader attribute type: float */ + SHADER_ATTRIB_VEC2, /** Shader attribute type: vec2 (2 float) */ + SHADER_ATTRIB_VEC3, /** Shader attribute type: vec3 (3 float) */ + SHADER_ATTRIB_VEC4 /** Shader attribute type: vec4 (4 float) */ } ShaderAttributeDataType; -// Pixel formats -// NOTE: Support depends on OpenGL version and platform +/** Pixel formats */ +/** NOTE: Support depends on OpenGL version and platform */ typedef enum { - PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha) - PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA, // 8*2 bpp (2 channels) - PIXELFORMAT_UNCOMPRESSED_R5G6B5, // 16 bpp - PIXELFORMAT_UNCOMPRESSED_R8G8B8, // 24 bpp - PIXELFORMAT_UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha) - PIXELFORMAT_UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha) - PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, // 32 bpp - PIXELFORMAT_UNCOMPRESSED_R32, // 32 bpp (1 channel - float) - PIXELFORMAT_UNCOMPRESSED_R32G32B32, // 32*3 bpp (3 channels - float) - PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, // 32*4 bpp (4 channels - float) - PIXELFORMAT_COMPRESSED_DXT1_RGB, // 4 bpp (no alpha) - PIXELFORMAT_COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha) - PIXELFORMAT_COMPRESSED_DXT3_RGBA, // 8 bpp - PIXELFORMAT_COMPRESSED_DXT5_RGBA, // 8 bpp - PIXELFORMAT_COMPRESSED_ETC1_RGB, // 4 bpp - PIXELFORMAT_COMPRESSED_ETC2_RGB, // 4 bpp - PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA, // 8 bpp - PIXELFORMAT_COMPRESSED_PVRT_RGB, // 4 bpp - PIXELFORMAT_COMPRESSED_PVRT_RGBA, // 4 bpp - PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA, // 8 bpp - PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA // 2 bpp + PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1, /** 8 bit per pixel (no alpha) */ + PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA, /** 8*2 bpp (2 channels) */ + PIXELFORMAT_UNCOMPRESSED_R5G6B5, /** 16 bpp */ + PIXELFORMAT_UNCOMPRESSED_R8G8B8, /** 24 bpp */ + PIXELFORMAT_UNCOMPRESSED_R5G5B5A1, /** 16 bpp (1 bit alpha) */ + PIXELFORMAT_UNCOMPRESSED_R4G4B4A4, /** 16 bpp (4 bit alpha) */ + PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, /** 32 bpp */ + PIXELFORMAT_UNCOMPRESSED_R32, /** 32 bpp (1 channel - float) */ + PIXELFORMAT_UNCOMPRESSED_R32G32B32, /** 32*3 bpp (3 channels - float) */ + PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, /** 32*4 bpp (4 channels - float) */ + PIXELFORMAT_COMPRESSED_DXT1_RGB, /** 4 bpp (no alpha) */ + PIXELFORMAT_COMPRESSED_DXT1_RGBA, /** 4 bpp (1 bit alpha) */ + PIXELFORMAT_COMPRESSED_DXT3_RGBA, /** 8 bpp */ + PIXELFORMAT_COMPRESSED_DXT5_RGBA, /** 8 bpp */ + PIXELFORMAT_COMPRESSED_ETC1_RGB, /** 4 bpp */ + PIXELFORMAT_COMPRESSED_ETC2_RGB, /** 4 bpp */ + PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA, /** 8 bpp */ + PIXELFORMAT_COMPRESSED_PVRT_RGB, /** 4 bpp */ + PIXELFORMAT_COMPRESSED_PVRT_RGBA, /** 4 bpp */ + PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA, /** 8 bpp */ + PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA /** 2 bpp */ } PixelFormat; -// Texture parameters: filter mode -// NOTE 1: Filtering considers mipmaps if available in the texture -// NOTE 2: Filter is accordingly set for minification and magnification +/** Texture parameters: filter mode */ +/** NOTE 1: Filtering considers mipmaps if available in the texture */ +/** NOTE 2: Filter is accordingly set for minification and magnification */ typedef enum { - TEXTURE_FILTER_POINT = 0, // No filter, just pixel aproximation - TEXTURE_FILTER_BILINEAR, // Linear filtering - TEXTURE_FILTER_TRILINEAR, // Trilinear filtering (linear with mipmaps) - TEXTURE_FILTER_ANISOTROPIC_4X, // Anisotropic filtering 4x - TEXTURE_FILTER_ANISOTROPIC_8X, // Anisotropic filtering 8x - TEXTURE_FILTER_ANISOTROPIC_16X, // Anisotropic filtering 16x + TEXTURE_FILTER_POINT = 0, /** No filter, just pixel aproximation */ + TEXTURE_FILTER_BILINEAR, /** Linear filtering */ + TEXTURE_FILTER_TRILINEAR, /** Trilinear filtering (linear with mipmaps) */ + TEXTURE_FILTER_ANISOTROPIC_4X, /** Anisotropic filtering 4x */ + TEXTURE_FILTER_ANISOTROPIC_8X, /** Anisotropic filtering 8x */ + TEXTURE_FILTER_ANISOTROPIC_16X, /** Anisotropic filtering 16x */ } TextureFilter; -// Texture parameters: wrap mode +/** Texture parameters: wrap mode */ typedef enum { - TEXTURE_WRAP_REPEAT = 0, // Repeats texture in tiled mode - TEXTURE_WRAP_CLAMP, // Clamps texture to edge pixel in tiled mode - TEXTURE_WRAP_MIRROR_REPEAT, // Mirrors and repeats the texture in tiled mode - TEXTURE_WRAP_MIRROR_CLAMP // Mirrors and clamps to border the texture in tiled mode + TEXTURE_WRAP_REPEAT = 0, /** Repeats texture in tiled mode */ + TEXTURE_WRAP_CLAMP, /** Clamps texture to edge pixel in tiled mode */ + TEXTURE_WRAP_MIRROR_REPEAT, /** Mirrors and repeats the texture in tiled mode */ + TEXTURE_WRAP_MIRROR_CLAMP /** Mirrors and clamps to border the texture in tiled mode */ } TextureWrap; -// Cubemap layouts +/** Cubemap layouts */ typedef enum { - CUBEMAP_LAYOUT_AUTO_DETECT = 0, // Automatically detect layout type - CUBEMAP_LAYOUT_LINE_VERTICAL, // Layout is defined by a vertical line with faces - CUBEMAP_LAYOUT_LINE_HORIZONTAL, // Layout is defined by an horizontal line with faces - CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR, // Layout is defined by a 3x4 cross with cubemap faces - CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE, // Layout is defined by a 4x3 cross with cubemap faces - CUBEMAP_LAYOUT_PANORAMA // Layout is defined by a panorama image (equirectangular map) + CUBEMAP_LAYOUT_AUTO_DETECT = 0, /** Automatically detect layout type */ + CUBEMAP_LAYOUT_LINE_VERTICAL, /** Layout is defined by a vertical line with faces */ + CUBEMAP_LAYOUT_LINE_HORIZONTAL, /** Layout is defined by an horizontal line with faces */ + CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR, /** Layout is defined by a 3x4 cross with cubemap faces */ + CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE, /** Layout is defined by a 4x3 cross with cubemap faces */ + CUBEMAP_LAYOUT_PANORAMA /** Layout is defined by a panorama image (equirectangular map) */ } CubemapLayout; -// Font type, defines generation method +/** Font type, defines generation method */ typedef enum { - FONT_DEFAULT = 0, // Default font generation, anti-aliased - FONT_BITMAP, // Bitmap font generation, no anti-aliasing - FONT_SDF // SDF font generation, requires external shader + FONT_DEFAULT = 0, /** Default font generation, anti-aliased */ + FONT_BITMAP, /** Bitmap font generation, no anti-aliasing */ + FONT_SDF /** SDF font generation, requires external shader */ } FontType; -// Color blending modes (pre-defined) +/** Color blending modes (pre-defined) */ typedef enum { - BLEND_ALPHA = 0, // Blend textures considering alpha (default) - BLEND_ADDITIVE, // Blend textures adding colors - BLEND_MULTIPLIED, // Blend textures multiplying colors - BLEND_ADD_COLORS, // Blend textures adding colors (alternative) - BLEND_SUBTRACT_COLORS, // Blend textures subtracting colors (alternative) - BLEND_CUSTOM // Belnd textures using custom src/dst factors (use rlSetBlendMode()) + BLEND_ALPHA = 0, /** Blend textures considering alpha (default) */ + BLEND_ADDITIVE, /** Blend textures adding colors */ + BLEND_MULTIPLIED, /** Blend textures multiplying colors */ + BLEND_ADD_COLORS, /** Blend textures adding colors (alternative) */ + BLEND_SUBTRACT_COLORS, /** Blend textures subtracting colors (alternative) */ + BLEND_CUSTOM /** Belnd textures using custom src/dst factors (use rlSetBlendMode()) */ } BlendMode; -// Gesture -// NOTE: It could be used as flags to enable only some gestures +/** Gesture */ +/** NOTE: It could be used as flags to enable only some gestures */ typedef enum { - GESTURE_NONE = 0, // No gesture - GESTURE_TAP = 1, // Tap gesture - GESTURE_DOUBLETAP = 2, // Double tap gesture - GESTURE_HOLD = 4, // Hold gesture - GESTURE_DRAG = 8, // Drag gesture - GESTURE_SWIPE_RIGHT = 16, // Swipe right gesture - GESTURE_SWIPE_LEFT = 32, // Swipe left gesture - GESTURE_SWIPE_UP = 64, // Swipe up gesture - GESTURE_SWIPE_DOWN = 128, // Swipe down gesture - GESTURE_PINCH_IN = 256, // Pinch in gesture - GESTURE_PINCH_OUT = 512 // Pinch out gesture + GESTURE_NONE = 0, /** No gesture */ + GESTURE_TAP = 1, /** Tap gesture */ + GESTURE_DOUBLETAP = 2, /** Double tap gesture */ + GESTURE_HOLD = 4, /** Hold gesture */ + GESTURE_DRAG = 8, /** Drag gesture */ + GESTURE_SWIPE_RIGHT = 16, /** Swipe right gesture */ + GESTURE_SWIPE_LEFT = 32, /** Swipe left gesture */ + GESTURE_SWIPE_UP = 64, /** Swipe up gesture */ + GESTURE_SWIPE_DOWN = 128, /** Swipe down gesture */ + GESTURE_PINCH_IN = 256, /** Pinch in gesture */ + GESTURE_PINCH_OUT = 512 /** Pinch out gesture */ } Gesture; -// Camera system modes +/** Camera system modes */ typedef enum { - CAMERA_CUSTOM = 0, // Custom camera - CAMERA_FREE, // Free camera - CAMERA_ORBITAL, // Orbital camera - CAMERA_FIRST_PERSON, // First person camera - CAMERA_THIRD_PERSON // Third person camera + CAMERA_CUSTOM = 0, /** Custom camera */ + CAMERA_FREE, /** Free camera */ + CAMERA_ORBITAL, /** Orbital camera */ + CAMERA_FIRST_PERSON, /** First person camera */ + CAMERA_THIRD_PERSON /** Third person camera */ } CameraMode; -// Camera projection +/** Camera projection */ typedef enum { - CAMERA_PERSPECTIVE = 0, // Perspective projection - CAMERA_ORTHOGRAPHIC // Orthographic projection + CAMERA_PERSPECTIVE = 0, /** Perspective projection */ + CAMERA_ORTHOGRAPHIC /** Orthographic projection */ } CameraProjection; -// N-patch layout +/** N-patch layout */ typedef enum { - NPATCH_NINE_PATCH = 0, // Npatch layout: 3x3 tiles - NPATCH_THREE_PATCH_VERTICAL, // Npatch layout: 1x3 tiles - NPATCH_THREE_PATCH_HORIZONTAL // Npatch layout: 3x1 tiles + NPATCH_NINE_PATCH = 0, /** Npatch layout: 3x3 tiles */ + NPATCH_THREE_PATCH_VERTICAL, /** Npatch layout: 1x3 tiles */ + NPATCH_THREE_PATCH_HORIZONTAL /** Npatch layout: 3x1 tiles */ } NPatchLayout; -// Callbacks to hook some internal functions -// WARNING: This callbacks are intended for advance users -typedef void (*TraceLogCallback)(int logLevel, const char *text, void * args); // Logging: Redirect trace log messages -typedef unsigned char *(*LoadFileDataCallback)(const char *fileName, unsigned int *bytesRead); // FileIO: Load binary data -typedef bool (*SaveFileDataCallback)(const char *fileName, void *data, unsigned int bytesToWrite); // FileIO: Save binary data -typedef char *(*LoadFileTextCallback)(const char *fileName); // FileIO: Load text data -typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileIO: Save text data -//------------------------------------------------------------------------------------ -// Global Variables Definition -//------------------------------------------------------------------------------------ -// It's lonely here... -//------------------------------------------------------------------------------------ -// Window and Graphics Device Functions (Module: core) -//------------------------------------------------------------------------------------ -// Window-related functions - void InitWindow(int width, int height, const char *title); // Initialize window and OpenGL context - bool WindowShouldClose(void); // Check if KEY_ESCAPE pressed or Close icon pressed - void CloseWindow(void); // Close window and unload OpenGL context - bool IsWindowReady(void); // Check if window has been initialized successfully - bool IsWindowFullscreen(void); // Check if window is currently fullscreen - bool IsWindowHidden(void); // Check if window is currently hidden (only PLATFORM_DESKTOP) - bool IsWindowMinimized(void); // Check if window is currently minimized (only PLATFORM_DESKTOP) - bool IsWindowMaximized(void); // Check if window is currently maximized (only PLATFORM_DESKTOP) - bool IsWindowFocused(void); // Check if window is currently focused (only PLATFORM_DESKTOP) - bool IsWindowResized(void); // Check if window has been resized last frame - bool IsWindowState(unsigned int flag); // Check if one specific window flag is enabled - void SetWindowState(unsigned int flags); // Set window configuration state using flags - void ClearWindowState(unsigned int flags); // Clear window configuration state flags - void ToggleFullscreen(void); // Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP) - void MaximizeWindow(void); // Set window state: maximized, if resizable (only PLATFORM_DESKTOP) - void MinimizeWindow(void); // Set window state: minimized, if resizable (only PLATFORM_DESKTOP) - void RestoreWindow(void); // Set window state: not minimized/maximized (only PLATFORM_DESKTOP) - void SetWindowIcon(Image image); // Set icon for window (only PLATFORM_DESKTOP) - void SetWindowTitle(const char *title); // Set title for window (only PLATFORM_DESKTOP) - void SetWindowPosition(int x, int y); // Set window position on screen (only PLATFORM_DESKTOP) - void SetWindowMonitor(int monitor); // Set monitor for the current window (fullscreen mode) - void SetWindowMinSize(int width, int height); // Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) - void SetWindowSize(int width, int height); // Set window dimensions - void *GetWindowHandle(void); // Get native window handle - int GetScreenWidth(void); // Get current screen width - int GetScreenHeight(void); // Get current screen height - int GetMonitorCount(void); // Get number of connected monitors - int GetCurrentMonitor(void); // Get current connected monitor - Vector2 GetMonitorPosition(int monitor); // Get specified monitor position - int GetMonitorWidth(int monitor); // Get specified monitor width (max available by monitor) - int GetMonitorHeight(int monitor); // Get specified monitor height (max available by monitor) - int GetMonitorPhysicalWidth(int monitor); // Get specified monitor physical width in millimetres - int GetMonitorPhysicalHeight(int monitor); // Get specified monitor physical height in millimetres - int GetMonitorRefreshRate(int monitor); // Get specified monitor refresh rate - Vector2 GetWindowPosition(void); // Get window position XY on monitor - Vector2 GetWindowScaleDPI(void); // Get window scale DPI factor - const char *GetMonitorName(int monitor); // Get the human-readable, UTF-8 encoded name of the primary monitor - void SetClipboardText(const char *text); // Set clipboard text content - const char *GetClipboardText(void); // Get clipboard text content -// Custom frame control functions -// NOTE: Those functions are intended for advance users that want full control over the frame processing -// By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timming + PollInputEvents() -// To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL - void SwapScreenBuffer(void); // Swap back buffer with front buffer (screen drawing) - void PollInputEvents(void); // Register all input events - void WaitTime(float ms); // Wait for some milliseconds (halt program execution) -// Cursor-related functions - void ShowCursor(void); // Shows cursor - void HideCursor(void); // Hides cursor - bool IsCursorHidden(void); // Check if cursor is not visible - void EnableCursor(void); // Enables cursor (unlock cursor) - void DisableCursor(void); // Disables cursor (lock cursor) - bool IsCursorOnScreen(void); // Check if cursor is on the screen -// Drawing-related functions - void ClearBackground(Color color); // Set background color (framebuffer clear color) - void BeginDrawing(void); // Setup canvas (framebuffer) to start drawing - void EndDrawing(void); // End canvas drawing and swap buffers (double buffering) - void BeginMode2D(Camera2D camera); // Begin 2D mode with custom camera (2D) - void EndMode2D(void); // Ends 2D mode with custom camera - void BeginMode3D(Camera3D camera); // Begin 3D mode with custom camera (3D) - void EndMode3D(void); // Ends 3D mode and returns to default 2D orthographic mode - void BeginTextureMode(RenderTexture2D target); // Begin drawing to render texture - void EndTextureMode(void); // Ends drawing to render texture - void BeginShaderMode(Shader shader); // Begin custom shader drawing - void EndShaderMode(void); // End custom shader drawing (use default shader) - void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied, subtract, custom) - void EndBlendMode(void); // End blending mode (reset to default: alpha blending) - void BeginScissorMode(int x, int y, int width, int height); // Begin scissor mode (define screen area for following drawing) - void EndScissorMode(void); // End scissor mode - void BeginVrStereoMode(VrStereoConfig config); // Begin stereo rendering (requires VR simulator) - void EndVrStereoMode(void); // End stereo rendering (requires VR simulator) -// VR stereo config functions for VR simulator - VrStereoConfig LoadVrStereoConfig(VrDeviceInfo device); // Load VR stereo config for VR simulator device parameters - void UnloadVrStereoConfig(VrStereoConfig config); // Unload VR stereo config -// Shader management functions -// NOTE: Shader functionality is not available on OpenGL 1.1 - Shader LoadShader(const char *vsFileName, const char *fsFileName); // Load shader from files and bind default locations - Shader LoadShaderFromMemory(const char *vsCode, const char *fsCode); // Load shader from code strings and bind default locations - int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location - int GetShaderLocationAttrib(Shader shader, const char *attribName); // Get shader attribute location - void SetShaderValue(Shader shader, int locIndex, const void *value, int uniformType); // Set shader uniform value - void SetShaderValueV(Shader shader, int locIndex, const void *value, int uniformType, int count); // Set shader uniform value vector - void SetShaderValueMatrix(Shader shader, int locIndex, Matrix mat); // Set shader uniform value (matrix 4x4) - void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture); // Set shader uniform value for texture (sampler2d) - void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM) -// Screen-space-related functions - Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Get a ray trace from mouse position - Matrix GetCameraMatrix(Camera camera); // Get camera transform matrix (view matrix) - Matrix GetCameraMatrix2D(Camera2D camera); // Get camera 2d transform matrix - Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position - Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position - Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position - Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Get the world space position for a 2d camera screen space position -// Timing-related functions - void SetTargetFPS(int fps); // Set target FPS (maximum) - int GetFPS(void); // Get current FPS - float GetFrameTime(void); // Get time in seconds for last frame drawn (delta time) - double GetTime(void); // Get elapsed time in seconds since InitWindow() -// Misc. functions - int GetRandomValue(int min, int max); // Get a random value between min and max (both included) - void SetRandomSeed(unsigned int seed); // Set the seed for the random number generator - void TakeScreenshot(const char *fileName); // Takes a screenshot of current screen (filename extension defines format) - void SetConfigFlags(unsigned int flags); // Setup init configuration flags (view FLAGS) - void TraceLog(int logLevel, const char *text, ...); // Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) - void SetTraceLogLevel(int logLevel); // Set the current threshold (minimum) log level - void *MemAlloc(int size); // Internal memory allocator - void *MemRealloc(void *ptr, int size); // Internal memory reallocator - void MemFree(void *ptr); // Internal memory free -// Set custom callbacks -// WARNING: Callbacks setup is intended for advance users - void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log - void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader - void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver - void SetLoadFileTextCallback(LoadFileTextCallback callback); // Set custom file text data loader - void SetSaveFileTextCallback(SaveFileTextCallback callback); // Set custom file text data saver -// Files management functions - unsigned char *LoadFileData(const char *fileName, unsigned int *bytesRead); // Load file data as byte array (read) - void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData() - bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite); // Save data to file from byte array (write), returns true on success - char *LoadFileText(const char *fileName); // Load text data from file (read), returns a '\0' terminated string - void UnloadFileText(char *text); // Unload file text data allocated by LoadFileText() - bool SaveFileText(const char *fileName, char *text); // Save text data to file (write), string must be '\0' terminated, returns true on success - bool FileExists(const char *fileName); // Check if file exists - bool DirectoryExists(const char *dirPath); // Check if a directory path exists - bool IsFileExtension(const char *fileName, const char *ext);// Check file extension (including point: .png, .wav) - const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes dot: '.png') - const char *GetFileName(const char *filePath); // Get pointer to filename for a path string - const char *GetFileNameWithoutExt(const char *filePath); // Get filename string without extension (uses static string) - const char *GetDirectoryPath(const char *filePath); // Get full path for a given fileName with path (uses static string) - const char *GetPrevDirectoryPath(const char *dirPath); // Get previous directory path for a given path (uses static string) - const char *GetWorkingDirectory(void); // Get current working directory (uses static string) - char **GetDirectoryFiles(const char *dirPath, int *count); // Get filenames in a directory path (memory should be freed) - void ClearDirectoryFiles(void); // Clear directory files paths buffers (free memory) - bool ChangeDirectory(const char *dir); // Change working directory, return true on success - bool IsFileDropped(void); // Check if a file has been dropped into window - char **GetDroppedFiles(int *count); // Get dropped files names (memory should be freed) - void ClearDroppedFiles(void); // Clear dropped files paths buffer (free memory) - long GetFileModTime(const char *fileName); // Get file modification time (last write time) - unsigned char *CompressData(unsigned char *data, int dataLength, int *compDataLength); // Compress data (DEFLATE algorithm) - unsigned char *DecompressData(unsigned char *compData, int compDataLength, int *dataLength); // Decompress data (DEFLATE algorithm) -// Persistent storage management - bool SaveStorageValue(unsigned int position, int value); // Save integer value to storage file (to defined position), returns true on success - int LoadStorageValue(unsigned int position); // Load integer value from storage file (from defined position) - void OpenURL(const char *url); // Open URL with default system browser (if available) -//------------------------------------------------------------------------------------ -// Input Handling Functions (Module: core) -//------------------------------------------------------------------------------------ -// Input-related functions: keyboard - bool IsKeyPressed(int key); // Check if a key has been pressed once - bool IsKeyDown(int key); // Check if a key is being pressed - bool IsKeyReleased(int key); // Check if a key has been released once - bool IsKeyUp(int key); // Check if a key is NOT being pressed - void SetExitKey(int key); // Set a custom key to exit program (default is ESC) - int GetKeyPressed(void); // Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty - int GetCharPressed(void); // Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty -// Input-related functions: gamepads - bool IsGamepadAvailable(int gamepad); // Check if a gamepad is available - bool IsGamepadName(int gamepad, const char *name); // Check gamepad name (if available) - const char *GetGamepadName(int gamepad); // Get gamepad internal name id - bool IsGamepadButtonPressed(int gamepad, int button); // Check if a gamepad button has been pressed once - bool IsGamepadButtonDown(int gamepad, int button); // Check if a gamepad button is being pressed - bool IsGamepadButtonReleased(int gamepad, int button); // Check if a gamepad button has been released once - bool IsGamepadButtonUp(int gamepad, int button); // Check if a gamepad button is NOT being pressed - int GetGamepadButtonPressed(void); // Get the last gamepad button pressed - int GetGamepadAxisCount(int gamepad); // Get gamepad axis count for a gamepad - float GetGamepadAxisMovement(int gamepad, int axis); // Get axis movement value for a gamepad axis - int SetGamepadMappings(const char *mappings); // Set internal gamepad mappings (SDL_GameControllerDB) -// Input-related functions: mouse - bool IsMouseButtonPressed(int button); // Check if a mouse button has been pressed once - bool IsMouseButtonDown(int button); // Check if a mouse button is being pressed - bool IsMouseButtonReleased(int button); // Check if a mouse button has been released once - bool IsMouseButtonUp(int button); // Check if a mouse button is NOT being pressed - int GetMouseX(void); // Get mouse position X - int GetMouseY(void); // Get mouse position Y - Vector2 GetMousePosition(void); // Get mouse position XY - Vector2 GetMouseDelta(void); // Get mouse delta between frames - void SetMousePosition(int x, int y); // Set mouse position XY - void SetMouseOffset(int offsetX, int offsetY); // Set mouse offset - void SetMouseScale(float scaleX, float scaleY); // Set mouse scaling - float GetMouseWheelMove(void); // Get mouse wheel movement Y - void SetMouseCursor(int cursor); // Set mouse cursor -// Input-related functions: touch - int GetTouchX(void); // Get touch position X for touch point 0 (relative to screen size) - int GetTouchY(void); // Get touch position Y for touch point 0 (relative to screen size) - Vector2 GetTouchPosition(int index); // Get touch position XY for a touch point index (relative to screen size) - int GetTouchPointId(int index); // Get touch point identifier for given index - int GetTouchPointCount(void); // Get number of touch points -//------------------------------------------------------------------------------------ -// Gestures and Touch Handling Functions (Module: rgestures) -//------------------------------------------------------------------------------------ - void SetGesturesEnabled(unsigned int flags); // Enable a set of gestures using flags - bool IsGestureDetected(int gesture); // Check if a gesture have been detected - int GetGestureDetected(void); // Get latest detected gesture - float GetGestureHoldDuration(void); // Get gesture hold time in milliseconds - Vector2 GetGestureDragVector(void); // Get gesture drag vector - float GetGestureDragAngle(void); // Get gesture drag angle - Vector2 GetGesturePinchVector(void); // Get gesture pinch delta - float GetGesturePinchAngle(void); // Get gesture pinch angle -//------------------------------------------------------------------------------------ -// Camera System Functions (Module: rcamera) -//------------------------------------------------------------------------------------ - void SetCameraMode(Camera camera, int mode); // Set camera mode (multiple camera modes available) - void UpdateCamera(Camera *camera); // Update camera position for selected mode - void SetCameraPanControl(int keyPan); // Set camera pan key to combine with mouse movement (free camera) - void SetCameraAltControl(int keyAlt); // Set camera alt key to combine with mouse movement (free camera) - void SetCameraSmoothZoomControl(int keySmoothZoom); // Set camera smooth zoom key to combine with mouse (free camera) - void SetCameraMoveControls(int keyFront, int keyBack, int keyRight, int keyLeft, int keyUp, int keyDown); // Set camera move controls (1st person and 3rd person cameras) -//------------------------------------------------------------------------------------ -// Basic Shapes Drawing Functions (Module: shapes) -//------------------------------------------------------------------------------------ -// Set texture and rectangle to be used on shapes drawing -// NOTE: It can be useful when using basic shapes and one single font, -// defining a font char white rectangle would allow drawing everything in a single draw call - void SetShapesTexture(Texture2D texture, Rectangle source); // Set texture and rectangle to be used on shapes drawing -// Basic shapes drawing functions - void DrawPixel(int posX, int posY, Color color); // Draw a pixel - void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version) - void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line - void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version) - void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line defining thickness - void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line using cubic-bezier curves in-out - void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color); // Draw line using quadratic bezier curves with a control point - void DrawLineBezierCubic(Vector2 startPos, Vector2 endPos, Vector2 startControlPos, Vector2 endControlPos, float thick, Color color); // Draw line using cubic bezier curves with 2 control points - void DrawLineStrip(Vector2 *points, int pointCount, Color color); // Draw lines sequence - void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle - void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw a piece of a circle - void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw circle sector outline - void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle - void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version) - void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline - void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color); // Draw ellipse - void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color); // Draw ellipse outline - void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); // Draw ring - void DrawRingLines(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); // Draw ring outline - void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle - void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version) - void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle - void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color); // Draw a color-filled rectangle with pro parameters - void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2);// Draw a vertical-gradient-filled rectangle - void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2);// Draw a horizontal-gradient-filled rectangle - void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4); // Draw a gradient-filled rectangle with custom vertex colors - void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline - void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color); // Draw rectangle outline with extended parameters - void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color); // Draw rectangle with rounded edges - void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color); // Draw rectangle with rounded edges outline - void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!) - void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline (vertex in counter-clockwise order!) - void DrawTriangleFan(Vector2 *points, int pointCount, Color color); // Draw a triangle fan defined by points (first vertex is the center) - void DrawTriangleStrip(Vector2 *points, int pointCount, Color color); // Draw a triangle strip defined by points - void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version) - void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a polygon outline of n sides - void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color); // Draw a polygon outline of n sides with extended parameters -// Basic shapes collision detection functions - bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles - bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); // Check collision between two circles - bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); // Check collision between circle and rectangle - bool CheckCollisionPointRec(Vector2 point, Rectangle rec); // Check if point is inside rectangle - bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle - bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle - bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint); // Check the collision between two lines defined by two points each, returns collision point by reference - bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold); // Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] - Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision -//------------------------------------------------------------------------------------ -// Texture Loading and Drawing Functions (Module: textures) -//------------------------------------------------------------------------------------ -// Image loading functions -// NOTE: This functions do not require GPU access - Image LoadImage(const char *fileName); // Load image from file into CPU memory (RAM) - Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data - Image LoadImageAnim(const char *fileName, int *frames); // Load image sequence from file (frames appended to image.data) - Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. '.png' - Image LoadImageFromTexture(Texture2D texture); // Load image from GPU texture data - Image LoadImageFromScreen(void); // Load image from screen buffer and (screenshot) - void UnloadImage(Image image); // Unload image from CPU memory (RAM) - bool ExportImage(Image image, const char *fileName); // Export image data to file, returns true on success - bool ExportImageAsCode(Image image, const char *fileName); // Export image as code file defining an array of bytes, returns true on success -// Image generation functions - Image GenImageColor(int width, int height, Color color); // Generate image: plain color - Image GenImageGradientV(int width, int height, Color top, Color bottom); // Generate image: vertical gradient - Image GenImageGradientH(int width, int height, Color left, Color right); // Generate image: horizontal gradient - Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); // Generate image: radial gradient - Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); // Generate image: checked - Image GenImageWhiteNoise(int width, int height, float factor); // Generate image: white noise - Image GenImageCellular(int width, int height, int tileSize); // Generate image: cellular algorithm, bigger tileSize means bigger cells -// Image manipulation functions - Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) - Image ImageFromImage(Image image, Rectangle rec); // Create an image from another image piece - Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) - Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint); // Create an image from text (custom sprite font) - void ImageFormat(Image *image, int newFormat); // Convert image data to desired format - void ImageToPOT(Image *image, Color fill); // Convert image to POT (power-of-two) - void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle - void ImageAlphaCrop(Image *image, float threshold); // Crop image depending on alpha value - void ImageAlphaClear(Image *image, Color color, float threshold); // Clear alpha channel to desired color - void ImageAlphaMask(Image *image, Image alphaMask); // Apply alpha mask to image - void ImageAlphaPremultiply(Image *image); // Premultiply alpha channel - void ImageResize(Image *image, int newWidth, int newHeight); // Resize image (Bicubic scaling algorithm) - void ImageResizeNN(Image *image, int newWidth,int newHeight); // Resize image (Nearest-Neighbor scaling algorithm) - void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); // Resize canvas and fill with color - void ImageMipmaps(Image *image); // Compute all mipmap levels for a provided image - void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) - void ImageFlipVertical(Image *image); // Flip image vertically - void ImageFlipHorizontal(Image *image); // Flip image horizontally - void ImageRotateCW(Image *image); // Rotate image clockwise 90deg - void ImageRotateCCW(Image *image); // Rotate image counter-clockwise 90deg - void ImageColorTint(Image *image, Color color); // Modify image color: tint - void ImageColorInvert(Image *image); // Modify image color: invert - void ImageColorGrayscale(Image *image); // Modify image color: grayscale - void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100) - void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255) - void ImageColorReplace(Image *image, Color color, Color replace); // Modify image color: replace color - Color *LoadImageColors(Image image); // Load color data from image as a Color array (RGBA - 32bit) - Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorCount); // Load colors palette from image as a Color array (RGBA - 32bit) - void UnloadImageColors(Color *colors); // Unload color data loaded with LoadImageColors() - void UnloadImagePalette(Color *colors); // Unload colors palette loaded with LoadImagePalette() - Rectangle GetImageAlphaBorder(Image image, float threshold); // Get image alpha border rectangle - Color GetImageColor(Image image, int x, int y); // Get image pixel color at (x, y) position -// Image drawing functions -// NOTE: Image software-rendering functions (CPU) - void ImageClearBackground(Image *dst, Color color); // Clear image background with given color - void ImageDrawPixel(Image *dst, int posX, int posY, Color color); // Draw pixel within an image - void ImageDrawPixelV(Image *dst, Vector2 position, Color color); // Draw pixel within an image (Vector version) - void ImageDrawLine(Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw line within an image - void ImageDrawLineV(Image *dst, Vector2 start, Vector2 end, Color color); // Draw line within an image (Vector version) - void ImageDrawCircle(Image *dst, int centerX, int centerY, int radius, Color color); // Draw circle within an image - void ImageDrawCircleV(Image *dst, Vector2 center, int radius, Color color); // Draw circle within an image (Vector version) - void ImageDrawRectangle(Image *dst, int posX, int posY, int width, int height, Color color); // Draw rectangle within an image - void ImageDrawRectangleV(Image *dst, Vector2 position, Vector2 size, Color color); // Draw rectangle within an image (Vector version) - void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color); // Draw rectangle within an image - void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color); // Draw rectangle lines within an image - void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint); // Draw a source image within a destination image (tint applied to source) - void ImageDrawText(Image *dst, const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) within an image (destination) - void ImageDrawTextEx(Image *dst, Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text (custom sprite font) within an image (destination) -// Texture loading functions -// NOTE: These functions require GPU access - Texture2D LoadTexture(const char *fileName); // Load texture from file into GPU memory (VRAM) - Texture2D LoadTextureFromImage(Image image); // Load texture from image data - TextureCubemap LoadTextureCubemap(Image image, int layout); // Load cubemap from image, multiple image cubemap layouts supported - RenderTexture2D LoadRenderTexture(int width, int height); // Load texture for rendering (framebuffer) - void UnloadTexture(Texture2D texture); // Unload texture from GPU memory (VRAM) - void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory (VRAM) - void UpdateTexture(Texture2D texture, const void *pixels); // Update GPU texture with new data - void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels); // Update GPU texture rectangle with new data -// Texture configuration functions - void GenTextureMipmaps(Texture2D *texture); // Generate GPU mipmaps for a texture - void SetTextureFilter(Texture2D texture, int filter); // Set texture scaling filter mode - void SetTextureWrap(Texture2D texture, int wrap); // Set texture wrapping mode -// Texture drawing functions - void DrawTexture(Texture2D texture, int posX, int posY, Color tint); // Draw a Texture2D - void DrawTextureV(Texture2D texture, Vector2 position, Color tint); // Draw a Texture2D with position defined as Vector2 - void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters - void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle - void DrawTextureQuad(Texture2D texture, Vector2 tiling, Vector2 offset, Rectangle quad, Color tint); // Draw texture quad with tiling and offset parameters - void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint); // Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest. - void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draw a part of a texture defined by a rectangle with 'pro' parameters - void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draws a texture (or part of it) that stretches or shrinks nicely - void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 *texcoords, int pointCount, Color tint); // Draw a textured polygon -// Color/pixel related functions - Color Fade(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f - int ColorToInt(Color color); // Get hexadecimal value for a Color - Vector4 ColorNormalize(Color color); // Get Color normalized as float [0..1] - Color ColorFromNormalized(Vector4 normalized); // Get Color from normalized values [0..1] - Vector3 ColorToHSV(Color color); // Get HSV values for a Color, hue [0..360], saturation/value [0..1] - Color ColorFromHSV(float hue, float saturation, float value); // Get a Color from HSV values, hue [0..360], saturation/value [0..1] - Color ColorAlpha(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f - Color ColorAlphaBlend(Color dst, Color src, Color tint); // Get src alpha-blended into dst color with tint - Color GetColor(unsigned int hexValue); // Get Color structure from hexadecimal value - Color GetPixelColor(void *srcPtr, int format); // Get Color from a source pixel pointer of certain format - void SetPixelColor(void *dstPtr, Color color, int format); // Set color formatted into destination pixel pointer - int GetPixelDataSize(int width, int height, int format); // Get pixel data size in bytes for certain format -//------------------------------------------------------------------------------------ -// Font Loading and Text Drawing Functions (Module: text) -//------------------------------------------------------------------------------------ -// Font loading/unloading functions - Font GetFontDefault(void); // Get the default Font - Font LoadFont(const char *fileName); // Load font from file into GPU memory (VRAM) - Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int glyphCount); // Load font from file with extended parameters - Font LoadFontFromImage(Image image, Color key, int firstChar); // Load font from Image (XNA style) - Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount); // Load font from memory buffer, fileType refers to extension: i.e. '.ttf' - GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount, int type); // Load font data for further use - Image GenImageFontAtlas(const GlyphInfo *chars, Rectangle **recs, int glyphCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info - void UnloadFontData(GlyphInfo *chars, int glyphCount); // Unload font chars info data (RAM) - void UnloadFont(Font font); // Unload Font from GPU memory (VRAM) -// Text drawing functions - void DrawFPS(int posX, int posY); // Draw current FPS - void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) - void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters - void DrawTextPro(Font font, const char *text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint); // Draw text using Font and pro parameters (rotation) - void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); // Draw one character (codepoint) -// Text font info functions - int MeasureText(const char *text, int fontSize); // Measure string width for default font - Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing); // Measure string size for Font - int GetGlyphIndex(Font font, int codepoint); // Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found - GlyphInfo GetGlyphInfo(Font font, int codepoint); // Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found - Rectangle GetGlyphAtlasRec(Font font, int codepoint); // Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found -// Text codepoints management functions (unicode characters) - int *LoadCodepoints(const char *text, int *count); // Load all codepoints from a UTF-8 text string, codepoints count returned by parameter - void UnloadCodepoints(int *codepoints); // Unload codepoints data from memory - int GetCodepointCount(const char *text); // Get total number of codepoints in a UTF-8 encoded string - int GetCodepoint(const char *text, int *bytesProcessed); // Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure - const char *CodepointToUTF8(int codepoint, int *byteSize); // Encode one codepoint into UTF-8 byte array (array length returned as parameter) - char *TextCodepointsToUTF8(int *codepoints, int length); // Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!) -// Text strings management functions (no UTF-8 strings, only byte chars) -// NOTE: Some strings allocate memory internally for returned strings, just be careful! - int TextCopy(char *dst, const char *src); // Copy one string to another, returns bytes copied - bool TextIsEqual(const char *text1, const char *text2); // Check if two text string are equal - unsigned int TextLength(const char *text); // Get text length, checks for '\0' ending - const char *TextFormat(const char *text, ...); // Text formatting with variables (sprintf() style) - const char *TextSubtext(const char *text, int position, int length); // Get a piece of a text string - char *TextReplace(char *text, const char *replace, const char *by); // Replace text string (WARNING: memory must be freed!) - char *TextInsert(const char *text, const char *insert, int position); // Insert text in a position (WARNING: memory must be freed!) - const char *TextJoin(const char **textList, int count, const char *delimiter); // Join text strings with delimiter - const char **TextSplit(const char *text, char delimiter, int *count); // Split text into multiple strings - void TextAppend(char *text, const char *append, int *position); // Append text at specific position and move cursor! - int TextFindIndex(const char *text, const char *find); // Find first text occurrence within a string - const char *TextToUpper(const char *text); // Get upper case version of provided string - const char *TextToLower(const char *text); // Get lower case version of provided string - const char *TextToPascal(const char *text); // Get Pascal case notation version of provided string - int TextToInteger(const char *text); // Get integer value from text (negative values not supported) -//------------------------------------------------------------------------------------ -// Basic 3d Shapes Drawing Functions (Module: models) -//------------------------------------------------------------------------------------ -// Basic geometric 3D shapes drawing functions - void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space - void DrawPoint3D(Vector3 position, Color color); // Draw a point in 3D space, actually a small line - void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); // Draw a circle in 3D world space - void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!) - void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color); // Draw a triangle strip defined by points - void DrawCube(Vector3 position, float width, float height, float length, Color color); // Draw cube - void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) - void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); // Draw cube wires - void DrawCubeWiresV(Vector3 position, Vector3 size, Color color); // Draw cube wires (Vector version) - void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color); // Draw cube textured - void DrawCubeTextureRec(Texture2D texture, Rectangle source, Vector3 position, float width, float height, float length, Color color); // Draw cube with a region of a texture - void DrawSphere(Vector3 centerPos, float radius, Color color); // Draw sphere - void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere with extended parameters - void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); // Draw sphere wires - void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone - void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); // Draw a cylinder with base at startPos and top at endPos - void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); // Draw a cylinder/cone wires - void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); // Draw a cylinder wires with base at startPos and top at endPos - void DrawPlane(Vector3 centerPos, Vector2 size, Color color); // Draw a plane XZ - void DrawRay(Ray ray, Color color); // Draw a ray line - void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0)) -//------------------------------------------------------------------------------------ -// Model 3d Loading and Drawing Functions (Module: models) -//------------------------------------------------------------------------------------ -// Model management functions - Model LoadModel(const char *fileName); // Load model from files (meshes and materials) - Model LoadModelFromMesh(Mesh mesh); // Load model from generated mesh (default material) - void UnloadModel(Model model); // Unload model (including meshes) from memory (RAM and/or VRAM) - void UnloadModelKeepMeshes(Model model); // Unload model (but not meshes) from memory (RAM and/or VRAM) - BoundingBox GetModelBoundingBox(Model model); // Compute model bounding box limits (considers all meshes) -// Model drawing functions - void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) - void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters - void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set) - void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters - void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) - void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float size, Color tint); // Draw a billboard texture - void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint); // Draw a billboard texture defined by source - void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint); // Draw a billboard texture defined by source and rotation -// Mesh management functions - void UploadMesh(Mesh *mesh, bool dynamic); // Upload mesh vertex data in GPU and provide VAO/VBO ids - void UpdateMeshBuffer(Mesh mesh, int index, void *data, int dataSize, int offset); // Update mesh vertex data in GPU for a specific buffer index - void UnloadMesh(Mesh mesh); // Unload mesh data from CPU and GPU - void DrawMesh(Mesh mesh, Material material, Matrix transform); // Draw a 3d mesh with material and transform - void DrawMeshInstanced(Mesh mesh, Material material, Matrix *transforms, int instances); // Draw multiple mesh instances with material and different transforms - bool ExportMesh(Mesh mesh, const char *fileName); // Export mesh data to file, returns true on success - BoundingBox GetMeshBoundingBox(Mesh mesh); // Compute mesh bounding box limits - void GenMeshTangents(Mesh *mesh); // Compute mesh tangents - void GenMeshBinormals(Mesh *mesh); // Compute mesh binormals -// Mesh generation functions - Mesh GenMeshPoly(int sides, float radius); // Generate polygonal mesh - Mesh GenMeshPlane(float width, float length, int resX, int resZ); // Generate plane mesh (with subdivisions) - Mesh GenMeshCube(float width, float height, float length); // Generate cuboid mesh - Mesh GenMeshSphere(float radius, int rings, int slices); // Generate sphere mesh (standard sphere) - Mesh GenMeshHemiSphere(float radius, int rings, int slices); // Generate half-sphere mesh (no bottom cap) - Mesh GenMeshCylinder(float radius, float height, int slices); // Generate cylinder mesh - Mesh GenMeshCone(float radius, float height, int slices); // Generate cone/pyramid mesh - Mesh GenMeshTorus(float radius, float size, int radSeg, int sides); // Generate torus mesh - Mesh GenMeshKnot(float radius, float size, int radSeg, int sides); // Generate trefoil knot mesh - Mesh GenMeshHeightmap(Image heightmap, Vector3 size); // Generate heightmap mesh from image data - Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize); // Generate cubes-based map mesh from image data -// Material loading/unloading functions - Material *LoadMaterials(const char *fileName, int *materialCount); // Load materials from model file - Material LoadMaterialDefault(void); // Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) - void UnloadMaterial(Material material); // Unload material from GPU memory (VRAM) - void SetMaterialTexture(Material *material, int mapType, Texture2D texture); // Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) - void SetModelMeshMaterial(Model *model, int meshId, int materialId); // Set material for a mesh -// Model animations loading/unloading functions - ModelAnimation *LoadModelAnimations(const char *fileName, unsigned int *animCount); // Load model animations from file - void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); // Update model animation pose - void UnloadModelAnimation(ModelAnimation anim); // Unload animation data - void UnloadModelAnimations(ModelAnimation* animations, unsigned int count); // Unload animation array data - bool IsModelAnimationValid(Model model, ModelAnimation anim); // Check model animation skeleton match -// Collision detection functions - bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); // Check collision between two spheres - bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Check collision between two bounding boxes - bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); // Check collision between box and sphere - RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); // Get collision info between ray and sphere - RayCollision GetRayCollisionBox(Ray ray, BoundingBox box); // Get collision info between ray and box - RayCollision GetRayCollisionModel(Ray ray, Model model); // Get collision info between ray and model - RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); // Get collision info between ray and mesh - RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); // Get collision info between ray and triangle - RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); // Get collision info between ray and quad -//------------------------------------------------------------------------------------ -// Audio Loading and Playing Functions (Module: audio) -//------------------------------------------------------------------------------------ -// Audio device management functions - void InitAudioDevice(void); // Initialize audio device and context - void CloseAudioDevice(void); // Close the audio device and context - bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully - void SetMasterVolume(float volume); // Set master volume (listener) -// Wave/Sound loading/unloading functions - Wave LoadWave(const char *fileName); // Load wave data from file - Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load wave from memory buffer, fileType refers to extension: i.e. '.wav' - Sound LoadSound(const char *fileName); // Load sound from file - Sound LoadSoundFromWave(Wave wave); // Load sound from wave data - void UpdateSound(Sound sound, const void *data, int sampleCount); // Update sound buffer with new data - void UnloadWave(Wave wave); // Unload wave data - void UnloadSound(Sound sound); // Unload sound - bool ExportWave(Wave wave, const char *fileName); // Export wave data to file, returns true on success - bool ExportWaveAsCode(Wave wave, const char *fileName); // Export wave sample data to code (.h), returns true on success -// Wave/Sound management functions - void PlaySound(Sound sound); // Play a sound - void StopSound(Sound sound); // Stop playing a sound - void PauseSound(Sound sound); // Pause a sound - void ResumeSound(Sound sound); // Resume a paused sound - void PlaySoundMulti(Sound sound); // Play a sound (using multichannel buffer pool) - void StopSoundMulti(void); // Stop any sound playing (using multichannel buffer pool) - int GetSoundsPlaying(void); // Get number of sounds playing in the multichannel - bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing - void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level) - void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) - void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels); // Convert wave data to desired format - Wave WaveCopy(Wave wave); // Copy a wave to a new wave - void WaveCrop(Wave *wave, int initSample, int finalSample); // Crop a wave to defined samples range - float *LoadWaveSamples(Wave wave); // Load samples data from wave as a floats array - void UnloadWaveSamples(float *samples); // Unload samples data loaded with LoadWaveSamples() -// Music management functions - Music LoadMusicStream(const char *fileName); // Load music stream from file - Music LoadMusicStreamFromMemory(const char *fileType, unsigned char *data, int dataSize); // Load music stream from data - void UnloadMusicStream(Music music); // Unload music stream - void PlayMusicStream(Music music); // Start music playing - bool IsMusicStreamPlaying(Music music); // Check if music is playing - void UpdateMusicStream(Music music); // Updates buffers for music streaming - void StopMusicStream(Music music); // Stop music playing - void PauseMusicStream(Music music); // Pause music playing - void ResumeMusicStream(Music music); // Resume playing paused music - void SeekMusicStream(Music music, float position); // Seek music to a position (in seconds) - void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level) - void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level) - float GetMusicTimeLength(Music music); // Get music time length (in seconds) - float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) -// AudioStream management functions - AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Load audio stream (to stream raw audio pcm data) - void UnloadAudioStream(AudioStream stream); // Unload audio stream and free memory - void UpdateAudioStream(AudioStream stream, const void *data, int frameCount); // Update audio stream buffers with data - bool IsAudioStreamProcessed(AudioStream stream); // Check if any audio stream buffers requires refill - void PlayAudioStream(AudioStream stream); // Play audio stream - void PauseAudioStream(AudioStream stream); // Pause audio stream - void ResumeAudioStream(AudioStream stream); // Resume audio stream - bool IsAudioStreamPlaying(AudioStream stream); // Check if audio stream is playing - void StopAudioStream(AudioStream stream); // Stop audio stream - void SetAudioStreamVolume(AudioStream stream, float volume); // Set volume for audio stream (1.0 is max level) - void SetAudioStreamPitch(AudioStream stream, float pitch); // Set pitch for audio stream (1.0 is base level) - void SetAudioStreamBufferSizeDefault(int size); // Default size for new audio streams \ No newline at end of file +/** Callbacks to hook some internal functions */ +/** WARNING: This callbacks are intended for advance users */ +typedef void (*TraceLogCallback)(int logLevel, const char *text, void * args); /** Logging: Redirect trace log messages */ +typedef unsigned char *(*LoadFileDataCallback)(const char *fileName, unsigned int *bytesRead); /** FileIO: Load binary data */ +typedef bool (*SaveFileDataCallback)(const char *fileName, void *data, unsigned int bytesToWrite); /** FileIO: Save binary data */ +typedef char *(*LoadFileTextCallback)(const char *fileName); /** FileIO: Load text data */ +typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); /** FileIO: Save text data */ +/** ------------------------------------------------------------------------------------ */ +/** Global Variables Definition */ +/** ------------------------------------------------------------------------------------ */ +/** It's lonely here... */ +/** ------------------------------------------------------------------------------------ */ +/** Window and Graphics Device Functions (Module: core) */ +/** ------------------------------------------------------------------------------------ */ +/** Window-related functions */ + void InitWindow(int width, int height, const char *title); /** Initialize window and OpenGL context */ + bool WindowShouldClose(void); /** Check if KEY_ESCAPE pressed or Close icon pressed */ + void CloseWindow(void); /** Close window and unload OpenGL context */ + bool IsWindowReady(void); /** Check if window has been initialized successfully */ + bool IsWindowFullscreen(void); /** Check if window is currently fullscreen */ + bool IsWindowHidden(void); /** Check if window is currently hidden (only PLATFORM_DESKTOP) */ + bool IsWindowMinimized(void); /** Check if window is currently minimized (only PLATFORM_DESKTOP) */ + bool IsWindowMaximized(void); /** Check if window is currently maximized (only PLATFORM_DESKTOP) */ + bool IsWindowFocused(void); /** Check if window is currently focused (only PLATFORM_DESKTOP) */ + bool IsWindowResized(void); /** Check if window has been resized last frame */ + bool IsWindowState(unsigned int flag); /** Check if one specific window flag is enabled */ + void SetWindowState(unsigned int flags); /** Set window configuration state using flags */ + void ClearWindowState(unsigned int flags); /** Clear window configuration state flags */ + void ToggleFullscreen(void); /** Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP) */ + void MaximizeWindow(void); /** Set window state: maximized, if resizable (only PLATFORM_DESKTOP) */ + void MinimizeWindow(void); /** Set window state: minimized, if resizable (only PLATFORM_DESKTOP) */ + void RestoreWindow(void); /** Set window state: not minimized/maximized (only PLATFORM_DESKTOP) */ + void SetWindowIcon(Image image); /** Set icon for window (only PLATFORM_DESKTOP) */ + void SetWindowTitle(const char *title); /** Set title for window (only PLATFORM_DESKTOP) */ + void SetWindowPosition(int x, int y); /** Set window position on screen (only PLATFORM_DESKTOP) */ + void SetWindowMonitor(int monitor); /** Set monitor for the current window (fullscreen mode) */ + void SetWindowMinSize(int width, int height); /** Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) */ + void SetWindowSize(int width, int height); /** Set window dimensions */ + void *GetWindowHandle(void); /** Get native window handle */ + int GetScreenWidth(void); /** Get current screen width */ + int GetScreenHeight(void); /** Get current screen height */ + int GetMonitorCount(void); /** Get number of connected monitors */ + int GetCurrentMonitor(void); /** Get current connected monitor */ + Vector2 GetMonitorPosition(int monitor); /** Get specified monitor position */ + int GetMonitorWidth(int monitor); /** Get specified monitor width (max available by monitor) */ + int GetMonitorHeight(int monitor); /** Get specified monitor height (max available by monitor) */ + int GetMonitorPhysicalWidth(int monitor); /** Get specified monitor physical width in millimetres */ + int GetMonitorPhysicalHeight(int monitor); /** Get specified monitor physical height in millimetres */ + int GetMonitorRefreshRate(int monitor); /** Get specified monitor refresh rate */ + Vector2 GetWindowPosition(void); /** Get window position XY on monitor */ + Vector2 GetWindowScaleDPI(void); /** Get window scale DPI factor */ + const char *GetMonitorName(int monitor); /** Get the human-readable, UTF-8 encoded name of the primary monitor */ + void SetClipboardText(const char *text); /** Set clipboard text content */ + const char *GetClipboardText(void); /** Get clipboard text content */ +/** Custom frame control functions */ +/** NOTE: Those functions are intended for advance users that want full control over the frame processing */ +/** By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timming + PollInputEvents() */ +/** To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL */ + void SwapScreenBuffer(void); /** Swap back buffer with front buffer (screen drawing) */ + void PollInputEvents(void); /** Register all input events */ + void WaitTime(float ms); /** Wait for some milliseconds (halt program execution) */ +/** Cursor-related functions */ + void ShowCursor(void); /** Shows cursor */ + void HideCursor(void); /** Hides cursor */ + bool IsCursorHidden(void); /** Check if cursor is not visible */ + void EnableCursor(void); /** Enables cursor (unlock cursor) */ + void DisableCursor(void); /** Disables cursor (lock cursor) */ + bool IsCursorOnScreen(void); /** Check if cursor is on the screen */ +/** Drawing-related functions */ + void ClearBackground(Color color); /** Set background color (framebuffer clear color) */ + void BeginDrawing(void); /** Setup canvas (framebuffer) to start drawing */ + void EndDrawing(void); /** End canvas drawing and swap buffers (double buffering) */ + void BeginMode2D(Camera2D camera); /** Begin 2D mode with custom camera (2D) */ + void EndMode2D(void); /** Ends 2D mode with custom camera */ + void BeginMode3D(Camera3D camera); /** Begin 3D mode with custom camera (3D) */ + void EndMode3D(void); /** Ends 3D mode and returns to default 2D orthographic mode */ + void BeginTextureMode(RenderTexture2D target); /** Begin drawing to render texture */ + void EndTextureMode(void); /** Ends drawing to render texture */ + void BeginShaderMode(Shader shader); /** Begin custom shader drawing */ + void EndShaderMode(void); /** End custom shader drawing (use default shader) */ + void BeginBlendMode(int mode); /** Begin blending mode (alpha, additive, multiplied, subtract, custom) */ + void EndBlendMode(void); /** End blending mode (reset to default: alpha blending) */ + void BeginScissorMode(int x, int y, int width, int height); /** Begin scissor mode (define screen area for following drawing) */ + void EndScissorMode(void); /** End scissor mode */ + void BeginVrStereoMode(VrStereoConfig config); /** Begin stereo rendering (requires VR simulator) */ + void EndVrStereoMode(void); /** End stereo rendering (requires VR simulator) */ +/** VR stereo config functions for VR simulator */ + VrStereoConfig LoadVrStereoConfig(VrDeviceInfo device); /** Load VR stereo config for VR simulator device parameters */ + void UnloadVrStereoConfig(VrStereoConfig config); /** Unload VR stereo config */ +/** Shader management functions */ +/** NOTE: Shader functionality is not available on OpenGL 1.1 */ + Shader LoadShader(const char *vsFileName, const char *fsFileName); /** Load shader from files and bind default locations */ + Shader LoadShaderFromMemory(const char *vsCode, const char *fsCode); /** Load shader from code strings and bind default locations */ + int GetShaderLocation(Shader shader, const char *uniformName); /** Get shader uniform location */ + int GetShaderLocationAttrib(Shader shader, const char *attribName); /** Get shader attribute location */ + void SetShaderValue(Shader shader, int locIndex, const void *value, int uniformType); /** Set shader uniform value */ + void SetShaderValueV(Shader shader, int locIndex, const void *value, int uniformType, int count); /** Set shader uniform value vector */ + void SetShaderValueMatrix(Shader shader, int locIndex, Matrix mat); /** Set shader uniform value (matrix 4x4) */ + void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture); /** Set shader uniform value for texture (sampler2d) */ + void UnloadShader(Shader shader); /** Unload shader from GPU memory (VRAM) */ +/** Screen-space-related functions */ + Ray GetMouseRay(Vector2 mousePosition, Camera camera); /** Get a ray trace from mouse position */ + Matrix GetCameraMatrix(Camera camera); /** Get camera transform matrix (view matrix) */ + Matrix GetCameraMatrix2D(Camera2D camera); /** Get camera 2d transform matrix */ + Vector2 GetWorldToScreen(Vector3 position, Camera camera); /** Get the screen space position for a 3d world space position */ + Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); /** Get size position for a 3d world space position */ + Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); /** Get the screen space position for a 2d camera world space position */ + Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); /** Get the world space position for a 2d camera screen space position */ +/** Timing-related functions */ + void SetTargetFPS(int fps); /** Set target FPS (maximum) */ + int GetFPS(void); /** Get current FPS */ + float GetFrameTime(void); /** Get time in seconds for last frame drawn (delta time) */ + double GetTime(void); /** Get elapsed time in seconds since InitWindow() */ +/** Misc. functions */ + int GetRandomValue(int min, int max); /** Get a random value between min and max (both included) */ + void SetRandomSeed(unsigned int seed); /** Set the seed for the random number generator */ + void TakeScreenshot(const char *fileName); /** Takes a screenshot of current screen (filename extension defines format) */ + void SetConfigFlags(unsigned int flags); /** Setup init configuration flags (view FLAGS) */ + void TraceLog(int logLevel, const char *text, ...); /** Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) */ + void SetTraceLogLevel(int logLevel); /** Set the current threshold (minimum) log level */ + void *MemAlloc(int size); /** Internal memory allocator */ + void *MemRealloc(void *ptr, int size); /** Internal memory reallocator */ + void MemFree(void *ptr); /** Internal memory free */ +/** Set custom callbacks */ +/** WARNING: Callbacks setup is intended for advance users */ + void SetTraceLogCallback(TraceLogCallback callback); /** Set custom trace log */ + void SetLoadFileDataCallback(LoadFileDataCallback callback); /** Set custom file binary data loader */ + void SetSaveFileDataCallback(SaveFileDataCallback callback); /** Set custom file binary data saver */ + void SetLoadFileTextCallback(LoadFileTextCallback callback); /** Set custom file text data loader */ + void SetSaveFileTextCallback(SaveFileTextCallback callback); /** Set custom file text data saver */ +/** Files management functions */ + unsigned char *LoadFileData(const char *fileName, unsigned int *bytesRead); /** Load file data as byte array (read) */ + void UnloadFileData(unsigned char *data); /** Unload file data allocated by LoadFileData() */ + bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite); /** Save data to file from byte array (write), returns true on success */ + char *LoadFileText(const char *fileName); /** Load text data from file (read), returns a '\0' terminated string */ + void UnloadFileText(char *text); /** Unload file text data allocated by LoadFileText() */ + bool SaveFileText(const char *fileName, char *text); /** Save text data to file (write), string must be '\0' terminated, returns true on success */ + bool FileExists(const char *fileName); /** Check if file exists */ + bool DirectoryExists(const char *dirPath); /** Check if a directory path exists */ + bool IsFileExtension(const char *fileName, const char *ext);/** Check file extension (including point: .png, .wav) */ + const char *GetFileExtension(const char *fileName); /** Get pointer to extension for a filename string (includes dot: '.png') */ + const char *GetFileName(const char *filePath); /** Get pointer to filename for a path string */ + const char *GetFileNameWithoutExt(const char *filePath); /** Get filename string without extension (uses static string) */ + const char *GetDirectoryPath(const char *filePath); /** Get full path for a given fileName with path (uses static string) */ + const char *GetPrevDirectoryPath(const char *dirPath); /** Get previous directory path for a given path (uses static string) */ + const char *GetWorkingDirectory(void); /** Get current working directory (uses static string) */ + char **GetDirectoryFiles(const char *dirPath, int *count); /** Get filenames in a directory path (memory should be freed) */ + void ClearDirectoryFiles(void); /** Clear directory files paths buffers (free memory) */ + bool ChangeDirectory(const char *dir); /** Change working directory, return true on success */ + bool IsFileDropped(void); /** Check if a file has been dropped into window */ + char **GetDroppedFiles(int *count); /** Get dropped files names (memory should be freed) */ + void ClearDroppedFiles(void); /** Clear dropped files paths buffer (free memory) */ + long GetFileModTime(const char *fileName); /** Get file modification time (last write time) */ +/** Compression/Encoding functionality */ + unsigned char *CompressData(unsigned char *data, int dataLength, int *compDataLength); /** Compress data (DEFLATE algorithm) */ + unsigned char *DecompressData(unsigned char *compData, int compDataLength, int *dataLength); /** Decompress data (DEFLATE algorithm) */ + char *EncodeDataBase64(const unsigned char *data, int dataLength, int *outputLength); /** Encode data to Base64 string */ + unsigned char *DecodeDataBase64(unsigned char *data, int *outputLength); /** Decode Base64 string data */ +/** Persistent storage management */ + bool SaveStorageValue(unsigned int position, int value); /** Save integer value to storage file (to defined position), returns true on success */ + int LoadStorageValue(unsigned int position); /** Load integer value from storage file (from defined position) */ + void OpenURL(const char *url); /** Open URL with default system browser (if available) */ +/** ------------------------------------------------------------------------------------ */ +/** Input Handling Functions (Module: core) */ +/** ------------------------------------------------------------------------------------ */ +/** Input-related functions: keyboard */ + bool IsKeyPressed(int key); /** Check if a key has been pressed once */ + bool IsKeyDown(int key); /** Check if a key is being pressed */ + bool IsKeyReleased(int key); /** Check if a key has been released once */ + bool IsKeyUp(int key); /** Check if a key is NOT being pressed */ + void SetExitKey(int key); /** Set a custom key to exit program (default is ESC) */ + int GetKeyPressed(void); /** Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty */ + int GetCharPressed(void); /** Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty */ +/** Input-related functions: gamepads */ + bool IsGamepadAvailable(int gamepad); /** Check if a gamepad is available */ + const char *GetGamepadName(int gamepad); /** Get gamepad internal name id */ + bool IsGamepadButtonPressed(int gamepad, int button); /** Check if a gamepad button has been pressed once */ + bool IsGamepadButtonDown(int gamepad, int button); /** Check if a gamepad button is being pressed */ + bool IsGamepadButtonReleased(int gamepad, int button); /** Check if a gamepad button has been released once */ + bool IsGamepadButtonUp(int gamepad, int button); /** Check if a gamepad button is NOT being pressed */ + int GetGamepadButtonPressed(void); /** Get the last gamepad button pressed */ + int GetGamepadAxisCount(int gamepad); /** Get gamepad axis count for a gamepad */ + float GetGamepadAxisMovement(int gamepad, int axis); /** Get axis movement value for a gamepad axis */ + int SetGamepadMappings(const char *mappings); /** Set internal gamepad mappings (SDL_GameControllerDB) */ +/** Input-related functions: mouse */ + bool IsMouseButtonPressed(int button); /** Check if a mouse button has been pressed once */ + bool IsMouseButtonDown(int button); /** Check if a mouse button is being pressed */ + bool IsMouseButtonReleased(int button); /** Check if a mouse button has been released once */ + bool IsMouseButtonUp(int button); /** Check if a mouse button is NOT being pressed */ + int GetMouseX(void); /** Get mouse position X */ + int GetMouseY(void); /** Get mouse position Y */ + Vector2 GetMousePosition(void); /** Get mouse position XY */ + Vector2 GetMouseDelta(void); /** Get mouse delta between frames */ + void SetMousePosition(int x, int y); /** Set mouse position XY */ + void SetMouseOffset(int offsetX, int offsetY); /** Set mouse offset */ + void SetMouseScale(float scaleX, float scaleY); /** Set mouse scaling */ + float GetMouseWheelMove(void); /** Get mouse wheel movement Y */ + void SetMouseCursor(int cursor); /** Set mouse cursor */ +/** Input-related functions: touch */ + int GetTouchX(void); /** Get touch position X for touch point 0 (relative to screen size) */ + int GetTouchY(void); /** Get touch position Y for touch point 0 (relative to screen size) */ + Vector2 GetTouchPosition(int index); /** Get touch position XY for a touch point index (relative to screen size) */ + int GetTouchPointId(int index); /** Get touch point identifier for given index */ + int GetTouchPointCount(void); /** Get number of touch points */ +/** ------------------------------------------------------------------------------------ */ +/** Gestures and Touch Handling Functions (Module: rgestures) */ +/** ------------------------------------------------------------------------------------ */ + void SetGesturesEnabled(unsigned int flags); /** Enable a set of gestures using flags */ + bool IsGestureDetected(int gesture); /** Check if a gesture have been detected */ + int GetGestureDetected(void); /** Get latest detected gesture */ + float GetGestureHoldDuration(void); /** Get gesture hold time in milliseconds */ + Vector2 GetGestureDragVector(void); /** Get gesture drag vector */ + float GetGestureDragAngle(void); /** Get gesture drag angle */ + Vector2 GetGesturePinchVector(void); /** Get gesture pinch delta */ + float GetGesturePinchAngle(void); /** Get gesture pinch angle */ +/** ------------------------------------------------------------------------------------ */ +/** Camera System Functions (Module: rcamera) */ +/** ------------------------------------------------------------------------------------ */ + void SetCameraMode(Camera camera, int mode); /** Set camera mode (multiple camera modes available) */ + void UpdateCamera(Camera *camera); /** Update camera position for selected mode */ + void SetCameraPanControl(int keyPan); /** Set camera pan key to combine with mouse movement (free camera) */ + void SetCameraAltControl(int keyAlt); /** Set camera alt key to combine with mouse movement (free camera) */ + void SetCameraSmoothZoomControl(int keySmoothZoom); /** Set camera smooth zoom key to combine with mouse (free camera) */ + void SetCameraMoveControls(int keyFront, int keyBack, int keyRight, int keyLeft, int keyUp, int keyDown); /** Set camera move controls (1st person and 3rd person cameras) */ +/** ------------------------------------------------------------------------------------ */ +/** Basic Shapes Drawing Functions (Module: shapes) */ +/** ------------------------------------------------------------------------------------ */ +/** Set texture and rectangle to be used on shapes drawing */ +/** NOTE: It can be useful when using basic shapes and one single font, */ +/** defining a font char white rectangle would allow drawing everything in a single draw call */ + void SetShapesTexture(Texture2D texture, Rectangle source); /** Set texture and rectangle to be used on shapes drawing */ +/** Basic shapes drawing functions */ + void DrawPixel(int posX, int posY, Color color); /** Draw a pixel */ + void DrawPixelV(Vector2 position, Color color); /** Draw a pixel (Vector version) */ + void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); /** Draw a line */ + void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); /** Draw a line (Vector version) */ + void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); /** Draw a line defining thickness */ + void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); /** Draw a line using cubic-bezier curves in-out */ + void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color); /** Draw line using quadratic bezier curves with a control point */ + void DrawLineBezierCubic(Vector2 startPos, Vector2 endPos, Vector2 startControlPos, Vector2 endControlPos, float thick, Color color); /** Draw line using cubic bezier curves with 2 control points */ + void DrawLineStrip(Vector2 *points, int pointCount, Color color); /** Draw lines sequence */ + void DrawCircle(int centerX, int centerY, float radius, Color color); /** Draw a color-filled circle */ + void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); /** Draw a piece of a circle */ + void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); /** Draw circle sector outline */ + void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); /** Draw a gradient-filled circle */ + void DrawCircleV(Vector2 center, float radius, Color color); /** Draw a color-filled circle (Vector version) */ + void DrawCircleLines(int centerX, int centerY, float radius, Color color); /** Draw circle outline */ + void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color); /** Draw ellipse */ + void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color); /** Draw ellipse outline */ + void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); /** Draw ring */ + void DrawRingLines(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color); /** Draw ring outline */ + void DrawRectangle(int posX, int posY, int width, int height, Color color); /** Draw a color-filled rectangle */ + void DrawRectangleV(Vector2 position, Vector2 size, Color color); /** Draw a color-filled rectangle (Vector version) */ + void DrawRectangleRec(Rectangle rec, Color color); /** Draw a color-filled rectangle */ + void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color); /** Draw a color-filled rectangle with pro parameters */ + void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2);/** Draw a vertical-gradient-filled rectangle */ + void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2);/** Draw a horizontal-gradient-filled rectangle */ + void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4); /** Draw a gradient-filled rectangle with custom vertex colors */ + void DrawRectangleLines(int posX, int posY, int width, int height, Color color); /** Draw rectangle outline */ + void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color); /** Draw rectangle outline with extended parameters */ + void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color); /** Draw rectangle with rounded edges */ + void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color); /** Draw rectangle with rounded edges outline */ + void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); /** Draw a color-filled triangle (vertex in counter-clockwise order!) */ + void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); /** Draw triangle outline (vertex in counter-clockwise order!) */ + void DrawTriangleFan(Vector2 *points, int pointCount, Color color); /** Draw a triangle fan defined by points (first vertex is the center) */ + void DrawTriangleStrip(Vector2 *points, int pointCount, Color color); /** Draw a triangle strip defined by points */ + void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); /** Draw a regular polygon (Vector version) */ + void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); /** Draw a polygon outline of n sides */ + void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color); /** Draw a polygon outline of n sides with extended parameters */ +/** Basic shapes collision detection functions */ + bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); /** Check collision between two rectangles */ + bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); /** Check collision between two circles */ + bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); /** Check collision between circle and rectangle */ + bool CheckCollisionPointRec(Vector2 point, Rectangle rec); /** Check if point is inside rectangle */ + bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); /** Check if point is inside circle */ + bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); /** Check if point is inside a triangle */ + bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint); /** Check the collision between two lines defined by two points each, returns collision point by reference */ + bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold); /** Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] */ + Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); /** Get collision rectangle for two rectangles collision */ +/** ------------------------------------------------------------------------------------ */ +/** Texture Loading and Drawing Functions (Module: textures) */ +/** ------------------------------------------------------------------------------------ */ +/** Image loading functions */ +/** NOTE: This functions do not require GPU access */ + Image LoadImage(const char *fileName); /** Load image from file into CPU memory (RAM) */ + Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); /** Load image from RAW file data */ + Image LoadImageAnim(const char *fileName, int *frames); /** Load image sequence from file (frames appended to image.data) */ + Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); /** Load image from memory buffer, fileType refers to extension: i.e. '.png' */ + Image LoadImageFromTexture(Texture2D texture); /** Load image from GPU texture data */ + Image LoadImageFromScreen(void); /** Load image from screen buffer and (screenshot) */ + void UnloadImage(Image image); /** Unload image from CPU memory (RAM) */ + bool ExportImage(Image image, const char *fileName); /** Export image data to file, returns true on success */ + bool ExportImageAsCode(Image image, const char *fileName); /** Export image as code file defining an array of bytes, returns true on success */ +/** Image generation functions */ + Image GenImageColor(int width, int height, Color color); /** Generate image: plain color */ + Image GenImageGradientV(int width, int height, Color top, Color bottom); /** Generate image: vertical gradient */ + Image GenImageGradientH(int width, int height, Color left, Color right); /** Generate image: horizontal gradient */ + Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); /** Generate image: radial gradient */ + Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); /** Generate image: checked */ + Image GenImageWhiteNoise(int width, int height, float factor); /** Generate image: white noise */ + Image GenImageCellular(int width, int height, int tileSize); /** Generate image: cellular algorithm, bigger tileSize means bigger cells */ +/** Image manipulation functions */ + Image ImageCopy(Image image); /** Create an image duplicate (useful for transformations) */ + Image ImageFromImage(Image image, Rectangle rec); /** Create an image from another image piece */ + Image ImageText(const char *text, int fontSize, Color color); /** Create an image from text (default font) */ + Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint); /** Create an image from text (custom sprite font) */ + void ImageFormat(Image *image, int newFormat); /** Convert image data to desired format */ + void ImageToPOT(Image *image, Color fill); /** Convert image to POT (power-of-two) */ + void ImageCrop(Image *image, Rectangle crop); /** Crop an image to a defined rectangle */ + void ImageAlphaCrop(Image *image, float threshold); /** Crop image depending on alpha value */ + void ImageAlphaClear(Image *image, Color color, float threshold); /** Clear alpha channel to desired color */ + void ImageAlphaMask(Image *image, Image alphaMask); /** Apply alpha mask to image */ + void ImageAlphaPremultiply(Image *image); /** Premultiply alpha channel */ + void ImageResize(Image *image, int newWidth, int newHeight); /** Resize image (Bicubic scaling algorithm) */ + void ImageResizeNN(Image *image, int newWidth,int newHeight); /** Resize image (Nearest-Neighbor scaling algorithm) */ + void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); /** Resize canvas and fill with color */ + void ImageMipmaps(Image *image); /** Compute all mipmap levels for a provided image */ + void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); /** Dither image data to 16bpp or lower (Floyd-Steinberg dithering) */ + void ImageFlipVertical(Image *image); /** Flip image vertically */ + void ImageFlipHorizontal(Image *image); /** Flip image horizontally */ + void ImageRotateCW(Image *image); /** Rotate image clockwise 90deg */ + void ImageRotateCCW(Image *image); /** Rotate image counter-clockwise 90deg */ + void ImageColorTint(Image *image, Color color); /** Modify image color: tint */ + void ImageColorInvert(Image *image); /** Modify image color: invert */ + void ImageColorGrayscale(Image *image); /** Modify image color: grayscale */ + void ImageColorContrast(Image *image, float contrast); /** Modify image color: contrast (-100 to 100) */ + void ImageColorBrightness(Image *image, int brightness); /** Modify image color: brightness (-255 to 255) */ + void ImageColorReplace(Image *image, Color color, Color replace); /** Modify image color: replace color */ + Color *LoadImageColors(Image image); /** Load color data from image as a Color array (RGBA - 32bit) */ + Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorCount); /** Load colors palette from image as a Color array (RGBA - 32bit) */ + void UnloadImageColors(Color *colors); /** Unload color data loaded with LoadImageColors() */ + void UnloadImagePalette(Color *colors); /** Unload colors palette loaded with LoadImagePalette() */ + Rectangle GetImageAlphaBorder(Image image, float threshold); /** Get image alpha border rectangle */ + Color GetImageColor(Image image, int x, int y); /** Get image pixel color at (x, y) position */ +/** Image drawing functions */ +/** NOTE: Image software-rendering functions (CPU) */ + void ImageClearBackground(Image *dst, Color color); /** Clear image background with given color */ + void ImageDrawPixel(Image *dst, int posX, int posY, Color color); /** Draw pixel within an image */ + void ImageDrawPixelV(Image *dst, Vector2 position, Color color); /** Draw pixel within an image (Vector version) */ + void ImageDrawLine(Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color); /** Draw line within an image */ + void ImageDrawLineV(Image *dst, Vector2 start, Vector2 end, Color color); /** Draw line within an image (Vector version) */ + void ImageDrawCircle(Image *dst, int centerX, int centerY, int radius, Color color); /** Draw circle within an image */ + void ImageDrawCircleV(Image *dst, Vector2 center, int radius, Color color); /** Draw circle within an image (Vector version) */ + void ImageDrawRectangle(Image *dst, int posX, int posY, int width, int height, Color color); /** Draw rectangle within an image */ + void ImageDrawRectangleV(Image *dst, Vector2 position, Vector2 size, Color color); /** Draw rectangle within an image (Vector version) */ + void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color); /** Draw rectangle within an image */ + void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color); /** Draw rectangle lines within an image */ + void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint); /** Draw a source image within a destination image (tint applied to source) */ + void ImageDrawText(Image *dst, const char *text, int posX, int posY, int fontSize, Color color); /** Draw text (using default font) within an image (destination) */ + void ImageDrawTextEx(Image *dst, Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); /** Draw text (custom sprite font) within an image (destination) */ +/** Texture loading functions */ +/** NOTE: These functions require GPU access */ + Texture2D LoadTexture(const char *fileName); /** Load texture from file into GPU memory (VRAM) */ + Texture2D LoadTextureFromImage(Image image); /** Load texture from image data */ + TextureCubemap LoadTextureCubemap(Image image, int layout); /** Load cubemap from image, multiple image cubemap layouts supported */ + RenderTexture2D LoadRenderTexture(int width, int height); /** Load texture for rendering (framebuffer) */ + void UnloadTexture(Texture2D texture); /** Unload texture from GPU memory (VRAM) */ + void UnloadRenderTexture(RenderTexture2D target); /** Unload render texture from GPU memory (VRAM) */ + void UpdateTexture(Texture2D texture, const void *pixels); /** Update GPU texture with new data */ + void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels); /** Update GPU texture rectangle with new data */ +/** Texture configuration functions */ + void GenTextureMipmaps(Texture2D *texture); /** Generate GPU mipmaps for a texture */ + void SetTextureFilter(Texture2D texture, int filter); /** Set texture scaling filter mode */ + void SetTextureWrap(Texture2D texture, int wrap); /** Set texture wrapping mode */ +/** Texture drawing functions */ + void DrawTexture(Texture2D texture, int posX, int posY, Color tint); /** Draw a Texture2D */ + void DrawTextureV(Texture2D texture, Vector2 position, Color tint); /** Draw a Texture2D with position defined as Vector2 */ + void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); /** Draw a Texture2D with extended parameters */ + void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint); /** Draw a part of a texture defined by a rectangle */ + void DrawTextureQuad(Texture2D texture, Vector2 tiling, Vector2 offset, Rectangle quad, Color tint); /** Draw texture quad with tiling and offset parameters */ + void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint); /** Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest. */ + void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint); /** Draw a part of a texture defined by a rectangle with 'pro' parameters */ + void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); /** Draws a texture (or part of it) that stretches or shrinks nicely */ + void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 *texcoords, int pointCount, Color tint); /** Draw a textured polygon */ +/** Color/pixel related functions */ + Color Fade(Color color, float alpha); /** Get color with alpha applied, alpha goes from 0.0f to 1.0f */ + int ColorToInt(Color color); /** Get hexadecimal value for a Color */ + Vector4 ColorNormalize(Color color); /** Get Color normalized as float [0..1] */ + Color ColorFromNormalized(Vector4 normalized); /** Get Color from normalized values [0..1] */ + Vector3 ColorToHSV(Color color); /** Get HSV values for a Color, hue [0..360], saturation/value [0..1] */ + Color ColorFromHSV(float hue, float saturation, float value); /** Get a Color from HSV values, hue [0..360], saturation/value [0..1] */ + Color ColorAlpha(Color color, float alpha); /** Get color with alpha applied, alpha goes from 0.0f to 1.0f */ + Color ColorAlphaBlend(Color dst, Color src, Color tint); /** Get src alpha-blended into dst color with tint */ + Color GetColor(unsigned int hexValue); /** Get Color structure from hexadecimal value */ + Color GetPixelColor(void *srcPtr, int format); /** Get Color from a source pixel pointer of certain format */ + void SetPixelColor(void *dstPtr, Color color, int format); /** Set color formatted into destination pixel pointer */ + int GetPixelDataSize(int width, int height, int format); /** Get pixel data size in bytes for certain format */ +/** ------------------------------------------------------------------------------------ */ +/** Font Loading and Text Drawing Functions (Module: text) */ +/** ------------------------------------------------------------------------------------ */ +/** Font loading/unloading functions */ + Font GetFontDefault(void); /** Get the default Font */ + Font LoadFont(const char *fileName); /** Load font from file into GPU memory (VRAM) */ + Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int glyphCount); /** Load font from file with extended parameters */ + Font LoadFontFromImage(Image image, Color key, int firstChar); /** Load font from Image (XNA style) */ + Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount); /** Load font from memory buffer, fileType refers to extension: i.e. '.ttf' */ + GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount, int type); /** Load font data for further use */ + Image GenImageFontAtlas(const GlyphInfo *chars, Rectangle **recs, int glyphCount, int fontSize, int padding, int packMethod); /** Generate image font atlas using chars info */ + void UnloadFontData(GlyphInfo *chars, int glyphCount); /** Unload font chars info data (RAM) */ + void UnloadFont(Font font); /** Unload Font from GPU memory (VRAM) */ +/** Text drawing functions */ + void DrawFPS(int posX, int posY); /** Draw current FPS */ + void DrawText(const char *text, int posX, int posY, int fontSize, Color color); /** Draw text (using default font) */ + void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); /** Draw text using font and additional parameters */ + void DrawTextPro(Font font, const char *text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint); /** Draw text using Font and pro parameters (rotation) */ + void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); /** Draw one character (codepoint) */ +/** Text font info functions */ + int MeasureText(const char *text, int fontSize); /** Measure string width for default font */ + Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing); /** Measure string size for Font */ + int GetGlyphIndex(Font font, int codepoint); /** Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found */ + GlyphInfo GetGlyphInfo(Font font, int codepoint); /** Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found */ + Rectangle GetGlyphAtlasRec(Font font, int codepoint); /** Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found */ +/** Text codepoints management functions (unicode characters) */ + int *LoadCodepoints(const char *text, int *count); /** Load all codepoints from a UTF-8 text string, codepoints count returned by parameter */ + void UnloadCodepoints(int *codepoints); /** Unload codepoints data from memory */ + int GetCodepointCount(const char *text); /** Get total number of codepoints in a UTF-8 encoded string */ + int GetCodepoint(const char *text, int *bytesProcessed); /** Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure */ + const char *CodepointToUTF8(int codepoint, int *byteSize); /** Encode one codepoint into UTF-8 byte array (array length returned as parameter) */ + char *TextCodepointsToUTF8(int *codepoints, int length); /** Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!) */ +/** Text strings management functions (no UTF-8 strings, only byte chars) */ +/** NOTE: Some strings allocate memory internally for returned strings, just be careful! */ + int TextCopy(char *dst, const char *src); /** Copy one string to another, returns bytes copied */ + bool TextIsEqual(const char *text1, const char *text2); /** Check if two text string are equal */ + unsigned int TextLength(const char *text); /** Get text length, checks for '\0' ending */ + const char *TextFormat(const char *text, ...); /** Text formatting with variables (sprintf() style) */ + const char *TextSubtext(const char *text, int position, int length); /** Get a piece of a text string */ + char *TextReplace(char *text, const char *replace, const char *by); /** Replace text string (WARNING: memory must be freed!) */ + char *TextInsert(const char *text, const char *insert, int position); /** Insert text in a position (WARNING: memory must be freed!) */ + const char *TextJoin(const char **textList, int count, const char *delimiter); /** Join text strings with delimiter */ + const char **TextSplit(const char *text, char delimiter, int *count); /** Split text into multiple strings */ + void TextAppend(char *text, const char *append, int *position); /** Append text at specific position and move cursor! */ + int TextFindIndex(const char *text, const char *find); /** Find first text occurrence within a string */ + const char *TextToUpper(const char *text); /** Get upper case version of provided string */ + const char *TextToLower(const char *text); /** Get lower case version of provided string */ + const char *TextToPascal(const char *text); /** Get Pascal case notation version of provided string */ + int TextToInteger(const char *text); /** Get integer value from text (negative values not supported) */ +/** ------------------------------------------------------------------------------------ */ +/** Basic 3d Shapes Drawing Functions (Module: models) */ +/** ------------------------------------------------------------------------------------ */ +/** Basic geometric 3D shapes drawing functions */ + void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); /** Draw a line in 3D world space */ + void DrawPoint3D(Vector3 position, Color color); /** Draw a point in 3D space, actually a small line */ + void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); /** Draw a circle in 3D world space */ + void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); /** Draw a color-filled triangle (vertex in counter-clockwise order!) */ + void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color); /** Draw a triangle strip defined by points */ + void DrawCube(Vector3 position, float width, float height, float length, Color color); /** Draw cube */ + void DrawCubeV(Vector3 position, Vector3 size, Color color); /** Draw cube (Vector version) */ + void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); /** Draw cube wires */ + void DrawCubeWiresV(Vector3 position, Vector3 size, Color color); /** Draw cube wires (Vector version) */ + void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color); /** Draw cube textured */ + void DrawCubeTextureRec(Texture2D texture, Rectangle source, Vector3 position, float width, float height, float length, Color color); /** Draw cube with a region of a texture */ + void DrawSphere(Vector3 centerPos, float radius, Color color); /** Draw sphere */ + void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color); /** Draw sphere with extended parameters */ + void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color); /** Draw sphere wires */ + void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); /** Draw a cylinder/cone */ + void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); /** Draw a cylinder with base at startPos and top at endPos */ + void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color); /** Draw a cylinder/cone wires */ + void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color); /** Draw a cylinder wires with base at startPos and top at endPos */ + void DrawPlane(Vector3 centerPos, Vector2 size, Color color); /** Draw a plane XZ */ + void DrawRay(Ray ray, Color color); /** Draw a ray line */ + void DrawGrid(int slices, float spacing); /** Draw a grid (centered at (0, 0, 0)) */ +/** ------------------------------------------------------------------------------------ */ +/** Model 3d Loading and Drawing Functions (Module: models) */ +/** ------------------------------------------------------------------------------------ */ +/** Model management functions */ + Model LoadModel(const char *fileName); /** Load model from files (meshes and materials) */ + Model LoadModelFromMesh(Mesh mesh); /** Load model from generated mesh (default material) */ + void UnloadModel(Model model); /** Unload model (including meshes) from memory (RAM and/or VRAM) */ + void UnloadModelKeepMeshes(Model model); /** Unload model (but not meshes) from memory (RAM and/or VRAM) */ + BoundingBox GetModelBoundingBox(Model model); /** Compute model bounding box limits (considers all meshes) */ +/** Model drawing functions */ + void DrawModel(Model model, Vector3 position, float scale, Color tint); /** Draw a model (with texture if set) */ + void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); /** Draw a model with extended parameters */ + void DrawModelWires(Model model, Vector3 position, float scale, Color tint); /** Draw a model wires (with texture if set) */ + void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); /** Draw a model wires (with texture if set) with extended parameters */ + void DrawBoundingBox(BoundingBox box, Color color); /** Draw bounding box (wires) */ + void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float size, Color tint); /** Draw a billboard texture */ + void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint); /** Draw a billboard texture defined by source */ + void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint); /** Draw a billboard texture defined by source and rotation */ +/** Mesh management functions */ + void UploadMesh(Mesh *mesh, bool dynamic); /** Upload mesh vertex data in GPU and provide VAO/VBO ids */ + void UpdateMeshBuffer(Mesh mesh, int index, void *data, int dataSize, int offset); /** Update mesh vertex data in GPU for a specific buffer index */ + void UnloadMesh(Mesh mesh); /** Unload mesh data from CPU and GPU */ + void DrawMesh(Mesh mesh, Material material, Matrix transform); /** Draw a 3d mesh with material and transform */ + void DrawMeshInstanced(Mesh mesh, Material material, Matrix *transforms, int instances); /** Draw multiple mesh instances with material and different transforms */ + bool ExportMesh(Mesh mesh, const char *fileName); /** Export mesh data to file, returns true on success */ + BoundingBox GetMeshBoundingBox(Mesh mesh); /** Compute mesh bounding box limits */ + void GenMeshTangents(Mesh *mesh); /** Compute mesh tangents */ + void GenMeshBinormals(Mesh *mesh); /** Compute mesh binormals */ +/** Mesh generation functions */ + Mesh GenMeshPoly(int sides, float radius); /** Generate polygonal mesh */ + Mesh GenMeshPlane(float width, float length, int resX, int resZ); /** Generate plane mesh (with subdivisions) */ + Mesh GenMeshCube(float width, float height, float length); /** Generate cuboid mesh */ + Mesh GenMeshSphere(float radius, int rings, int slices); /** Generate sphere mesh (standard sphere) */ + Mesh GenMeshHemiSphere(float radius, int rings, int slices); /** Generate half-sphere mesh (no bottom cap) */ + Mesh GenMeshCylinder(float radius, float height, int slices); /** Generate cylinder mesh */ + Mesh GenMeshCone(float radius, float height, int slices); /** Generate cone/pyramid mesh */ + Mesh GenMeshTorus(float radius, float size, int radSeg, int sides); /** Generate torus mesh */ + Mesh GenMeshKnot(float radius, float size, int radSeg, int sides); /** Generate trefoil knot mesh */ + Mesh GenMeshHeightmap(Image heightmap, Vector3 size); /** Generate heightmap mesh from image data */ + Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize); /** Generate cubes-based map mesh from image data */ +/** Material loading/unloading functions */ + Material *LoadMaterials(const char *fileName, int *materialCount); /** Load materials from model file */ + Material LoadMaterialDefault(void); /** Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) */ + void UnloadMaterial(Material material); /** Unload material from GPU memory (VRAM) */ + void SetMaterialTexture(Material *material, int mapType, Texture2D texture); /** Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) */ + void SetModelMeshMaterial(Model *model, int meshId, int materialId); /** Set material for a mesh */ +/** Model animations loading/unloading functions */ + ModelAnimation *LoadModelAnimations(const char *fileName, unsigned int *animCount); /** Load model animations from file */ + void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); /** Update model animation pose */ + void UnloadModelAnimation(ModelAnimation anim); /** Unload animation data */ + void UnloadModelAnimations(ModelAnimation* animations, unsigned int count); /** Unload animation array data */ + bool IsModelAnimationValid(Model model, ModelAnimation anim); /** Check model animation skeleton match */ +/** Collision detection functions */ + bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); /** Check collision between two spheres */ + bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); /** Check collision between two bounding boxes */ + bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); /** Check collision between box and sphere */ + RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); /** Get collision info between ray and sphere */ + RayCollision GetRayCollisionBox(Ray ray, BoundingBox box); /** Get collision info between ray and box */ + RayCollision GetRayCollisionModel(Ray ray, Model model); /** Get collision info between ray and model */ + RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); /** Get collision info between ray and mesh */ + RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); /** Get collision info between ray and triangle */ + RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); /** Get collision info between ray and quad */ +/** ------------------------------------------------------------------------------------ */ +/** Audio Loading and Playing Functions (Module: audio) */ +/** ------------------------------------------------------------------------------------ */ +/** Audio device management functions */ + void InitAudioDevice(void); /** Initialize audio device and context */ + void CloseAudioDevice(void); /** Close the audio device and context */ + bool IsAudioDeviceReady(void); /** Check if audio device has been initialized successfully */ + void SetMasterVolume(float volume); /** Set master volume (listener) */ +/** Wave/Sound loading/unloading functions */ + Wave LoadWave(const char *fileName); /** Load wave data from file */ + Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); /** Load wave from memory buffer, fileType refers to extension: i.e. '.wav' */ + Sound LoadSound(const char *fileName); /** Load sound from file */ + Sound LoadSoundFromWave(Wave wave); /** Load sound from wave data */ + void UpdateSound(Sound sound, const void *data, int sampleCount); /** Update sound buffer with new data */ + void UnloadWave(Wave wave); /** Unload wave data */ + void UnloadSound(Sound sound); /** Unload sound */ + bool ExportWave(Wave wave, const char *fileName); /** Export wave data to file, returns true on success */ + bool ExportWaveAsCode(Wave wave, const char *fileName); /** Export wave sample data to code (.h), returns true on success */ +/** Wave/Sound management functions */ + void PlaySound(Sound sound); /** Play a sound */ + void StopSound(Sound sound); /** Stop playing a sound */ + void PauseSound(Sound sound); /** Pause a sound */ + void ResumeSound(Sound sound); /** Resume a paused sound */ + void PlaySoundMulti(Sound sound); /** Play a sound (using multichannel buffer pool) */ + void StopSoundMulti(void); /** Stop any sound playing (using multichannel buffer pool) */ + int GetSoundsPlaying(void); /** Get number of sounds playing in the multichannel */ + bool IsSoundPlaying(Sound sound); /** Check if a sound is currently playing */ + void SetSoundVolume(Sound sound, float volume); /** Set volume for a sound (1.0 is max level) */ + void SetSoundPitch(Sound sound, float pitch); /** Set pitch for a sound (1.0 is base level) */ + void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels); /** Convert wave data to desired format */ + Wave WaveCopy(Wave wave); /** Copy a wave to a new wave */ + void WaveCrop(Wave *wave, int initSample, int finalSample); /** Crop a wave to defined samples range */ + float *LoadWaveSamples(Wave wave); /** Load samples data from wave as a floats array */ + void UnloadWaveSamples(float *samples); /** Unload samples data loaded with LoadWaveSamples() */ +/** Music management functions */ + Music LoadMusicStream(const char *fileName); /** Load music stream from file */ + Music LoadMusicStreamFromMemory(const char *fileType, unsigned char *data, int dataSize); /** Load music stream from data */ + void UnloadMusicStream(Music music); /** Unload music stream */ + void PlayMusicStream(Music music); /** Start music playing */ + bool IsMusicStreamPlaying(Music music); /** Check if music is playing */ + void UpdateMusicStream(Music music); /** Updates buffers for music streaming */ + void StopMusicStream(Music music); /** Stop music playing */ + void PauseMusicStream(Music music); /** Pause music playing */ + void ResumeMusicStream(Music music); /** Resume playing paused music */ + void SeekMusicStream(Music music, float position); /** Seek music to a position (in seconds) */ + void SetMusicVolume(Music music, float volume); /** Set volume for music (1.0 is max level) */ + void SetMusicPitch(Music music, float pitch); /** Set pitch for a music (1.0 is base level) */ + float GetMusicTimeLength(Music music); /** Get music time length (in seconds) */ + float GetMusicTimePlayed(Music music); /** Get current music time played (in seconds) */ +/** AudioStream management functions */ + AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); /** Load audio stream (to stream raw audio pcm data) */ + void UnloadAudioStream(AudioStream stream); /** Unload audio stream and free memory */ + void UpdateAudioStream(AudioStream stream, const void *data, int frameCount); /** Update audio stream buffers with data */ + bool IsAudioStreamProcessed(AudioStream stream); /** Check if any audio stream buffers requires refill */ + void PlayAudioStream(AudioStream stream); /** Play audio stream */ + void PauseAudioStream(AudioStream stream); /** Pause audio stream */ + void ResumeAudioStream(AudioStream stream); /** Resume audio stream */ + bool IsAudioStreamPlaying(AudioStream stream); /** Check if audio stream is playing */ + void StopAudioStream(AudioStream stream); /** Stop audio stream */ + void SetAudioStreamVolume(AudioStream stream, float volume); /** Set volume for audio stream (1.0 is max level) */ + void SetAudioStreamPitch(AudioStream stream, float pitch); /** Set pitch for audio stream (1.0 is base level) */ + void SetAudioStreamBufferSizeDefault(int size); /** Default size for new audio streams */ \ No newline at end of file diff --git a/raylib/rlgl.h.modified b/raylib/rlgl.h.modified index e13da11..454039e 100644 --- a/raylib/rlgl.h.modified +++ b/raylib/rlgl.h.modified @@ -24,6 +24,7 @@ * #define GRAPHICS_API_OPENGL_11 * #define GRAPHICS_API_OPENGL_21 * #define GRAPHICS_API_OPENGL_33 +* #define GRAPHICS_API_OPENGL_43 * #define GRAPHICS_API_OPENGL_ES2 * Use selected OpenGL graphics backend, should be supported by platform * Those preprocessor defines are only used on rlgl module, if OpenGL version is @@ -41,6 +42,9 @@ * #define RLGL_SHOW_GL_DETAILS_INFO * Show OpenGL extensions and capabilities detailed logs on init * +* #define RLGL_ENABLE_OPENGL_DEBUG_CONTEXT +* Enable debug context (only available on OpenGL 4.3) +* * rlgl capabilities could be customized just defining some internal * values before library inclusion (default values listed): * @@ -108,6 +112,7 @@ // Security check in case multiple GRAPHICS_API_OPENGL_* defined // OpenGL 2.1 uses most of OpenGL 3.3 Core functionality // WARNING: Specific parts are checked with #if defines +// OpenGL 4.3 uses OpenGL 3.3 Core functionality // Support framebuffer objects by default // NOTE: Some driver implementation do not support it, despite they should //---------------------------------------------------------------------------------- @@ -123,6 +128,8 @@ // Matrix modes (equivalent to OpenGL) // Primitive assembly draw modes // GL equivalent data types +// Buffer usage hint +// GL Shader type //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- @@ -130,6 +137,7 @@ typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, + OPENGL_43, OPENGL_ES_20 } rlGlVersion; typedef enum { @@ -415,7 +423,7 @@ typedef enum { unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer); // Load depth texture/renderbuffer (to be attached to fbo) unsigned int rlLoadTextureCubemap(void *data, int size, int format); // Load texture cubemap void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data); // Update GPU texture with new data - void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType); // Get OpenGL internal formats + void rlGetGlTextureFormats(int format, int *glInternalFormat, int *glFormat, int *glType); // Get OpenGL internal formats const char *rlGetPixelFormatName(unsigned int format); // Get name string for pixel format void rlUnloadTexture(unsigned int id); // Unload texture from GPU memory void rlGenTextureMipmaps(unsigned int id, int width, int height, int format, int *mipmaps); // Generate mipmap data for selected texture @@ -428,7 +436,7 @@ typedef enum { void rlUnloadFramebuffer(unsigned int id); // Delete framebuffer from GPU // Shaders management unsigned int rlLoadShaderCode(const char *vsCode, const char *fsCode); // Load shader from code strings - unsigned int rlCompileShader(const char *shaderCode, int type); // Compile custom shader and return shader id (type: GL_VERTEX_SHADER, GL_FRAGMENT_SHADER) + unsigned int rlCompileShader(const char *shaderCode, int type); // Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER) unsigned int rlLoadShaderProgram(unsigned int vShaderId, unsigned int fShaderId); // Load custom shader program void rlUnloadShaderProgram(unsigned int id); // Unload shader program int rlGetLocationUniform(unsigned int shaderId, const char *uniformName); // Get shader location uniform diff --git a/raylib_api.json b/raylib_api.json deleted file mode 100644 index b28a378..0000000 --- a/raylib_api.json +++ /dev/null @@ -1,6668 +0,0 @@ -{ - "structs": [ - { - "name": "Vector2", - "description": "", - "fields": [ - { - "name": "x", - "type": "float", - "description": "Vector x component" - }, - { - "name": "y", - "type": "float", - "description": "Vector y component" - } - ] - }, - { - "name": "Vector3", - "description": "", - "fields": [ - { - "name": "x", - "type": "float", - "description": "Vector x component" - }, - { - "name": "y", - "type": "float", - "description": "Vector y component" - }, - { - "name": "z", - "type": "float", - "description": "Vector z component" - } - ] - }, - { - "name": "Vector4", - "description": "", - "fields": [ - { - "name": "x", - "type": "float", - "description": "Vector x component" - }, - { - "name": "y", - "type": "float", - "description": "Vector y component" - }, - { - "name": "z", - "type": "float", - "description": "Vector z component" - }, - { - "name": "w", - "type": "float", - "description": "Vector w component" - } - ] - }, - { - "name": "Matrix", - "description": "", - "fields": [ - { - "name": "m0, m4, m8, m12", - "type": "float", - "description": "Matrix first row (4 components)" - }, - { - "name": "m1, m5, m9, m13", - "type": "float", - "description": "Matrix second row (4 components)" - }, - { - "name": "m2, m6, m10, m14", - "type": "float", - "description": "Matrix third row (4 components)" - }, - { - "name": "m3, m7, m11, m15", - "type": "float", - "description": "Matrix fourth row (4 components)" - } - ] - }, - { - "name": "Color", - "description": "", - "fields": [ - { - "name": "r", - "type": "unsigned char", - "description": "Color red value" - }, - { - "name": "g", - "type": "unsigned char", - "description": "Color green value" - }, - { - "name": "b", - "type": "unsigned char", - "description": "Color blue value" - }, - { - "name": "a", - "type": "unsigned char", - "description": "Color alpha value" - } - ] - }, - { - "name": "Rectangle", - "description": "", - "fields": [ - { - "name": "x", - "type": "float", - "description": "Rectangle top-left corner position x " - }, - { - "name": "y", - "type": "float", - "description": "Rectangle top-left corner position y" - }, - { - "name": "width", - "type": "float", - "description": "Rectangle width" - }, - { - "name": "height", - "type": "float", - "description": "Rectangle height" - } - ] - }, - { - "name": "Image", - "description": "", - "fields": [ - { - "name": "data", - "type": "void *", - "description": "Image raw data" - }, - { - "name": "width", - "type": "int", - "description": "Image base width" - }, - { - "name": "height", - "type": "int", - "description": "Image base height" - }, - { - "name": "mipmaps", - "type": "int", - "description": "Mipmap levels, 1 by default" - }, - { - "name": "format", - "type": "int", - "description": "Data format (PixelFormat type)" - } - ] - }, - { - "name": "Texture", - "description": "", - "fields": [ - { - "name": "id", - "type": "unsigned int", - "description": "OpenGL texture id" - }, - { - "name": "width", - "type": "int", - "description": "Texture base width" - }, - { - "name": "height", - "type": "int", - "description": "Texture base height" - }, - { - "name": "mipmaps", - "type": "int", - "description": "Mipmap levels, 1 by default" - }, - { - "name": "format", - "type": "int", - "description": "Data format (PixelFormat type)" - } - ] - }, - { - "name": "RenderTexture", - "description": "", - "fields": [ - { - "name": "id", - "type": "unsigned int", - "description": "OpenGL framebuffer object id" - }, - { - "name": "texture", - "type": "Texture", - "description": "Color buffer attachment texture" - }, - { - "name": "depth", - "type": "Texture", - "description": "Depth buffer attachment texture" - } - ] - }, - { - "name": "NPatchInfo", - "description": "", - "fields": [ - { - "name": "source", - "type": "Rectangle", - "description": "Texture source rectangle" - }, - { - "name": "left", - "type": "int", - "description": "Left border offset" - }, - { - "name": "top", - "type": "int", - "description": "Top border offset" - }, - { - "name": "right", - "type": "int", - "description": "Right border offset" - }, - { - "name": "bottom", - "type": "int", - "description": "Bottom border offset" - }, - { - "name": "layout", - "type": "int", - "description": "Layout of the n-patch: 3x3, 1x3 or 3x1" - } - ] - }, - { - "name": "CharInfo", - "description": "", - "fields": [ - { - "name": "value", - "type": "int", - "description": "Character value (Unicode)" - }, - { - "name": "offsetX", - "type": "int", - "description": "Character offset X when drawing" - }, - { - "name": "offsetY", - "type": "int", - "description": "Character offset Y when drawing" - }, - { - "name": "advanceX", - "type": "int", - "description": "Character advance position X" - }, - { - "name": "image", - "type": "Image", - "description": "Character image data" - } - ] - }, - { - "name": "Font", - "description": "", - "fields": [ - { - "name": "baseSize", - "type": "int", - "description": "Base size (default chars height)" - }, - { - "name": "charsCount", - "type": "int", - "description": "Number of characters" - }, - { - "name": "charsPadding", - "type": "int", - "description": "Padding around the chars" - }, - { - "name": "texture", - "type": "Texture2D", - "description": "Characters texture atlas" - }, - { - "name": "recs", - "type": "Rectangle *", - "description": "Characters rectangles in texture" - }, - { - "name": "chars", - "type": "CharInfo *", - "description": "Characters info data" - } - ] - }, - { - "name": "Camera3D", - "description": "", - "fields": [ - { - "name": "position", - "type": "Vector3", - "description": "Camera position" - }, - { - "name": "target", - "type": "Vector3", - "description": "Camera target it looks-at" - }, - { - "name": "up", - "type": "Vector3", - "description": "Camera up vector (rotation over its axis)" - }, - { - "name": "fovy", - "type": "float", - "description": "Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic" - }, - { - "name": "projection", - "type": "int", - "description": "Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" - } - ] - }, - { - "name": "Camera2D", - "description": "", - "fields": [ - { - "name": "offset", - "type": "Vector2", - "description": "Camera offset (displacement from target)" - }, - { - "name": "target", - "type": "Vector2", - "description": "Camera target (rotation and zoom origin)" - }, - { - "name": "rotation", - "type": "float", - "description": "Camera rotation in degrees" - }, - { - "name": "zoom", - "type": "float", - "description": "Camera zoom (scaling), should be 1.0f by default" - } - ] - }, - { - "name": "Mesh", - "description": "", - "fields": [ - { - "name": "vertexCount", - "type": "int", - "description": "Number of vertices stored in arrays" - }, - { - "name": "triangleCount", - "type": "int", - "description": "Number of triangles stored (indexed or not)" - }, - { - "name": "vertices", - "type": "float *", - "description": "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" - }, - { - "name": "texcoords", - "type": "float *", - "description": "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" - }, - { - "name": "texcoords2", - "type": "float *", - "description": "Vertex second texture coordinates (useful for lightmaps) (shader-location = 5)" - }, - { - "name": "normals", - "type": "float *", - "description": "Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)" - }, - { - "name": "tangents", - "type": "float *", - "description": "Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)" - }, - { - "name": "colors", - "type": "unsigned char *", - "description": "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" - }, - { - "name": "indices", - "type": "unsigned short *", - "description": "Vertex indices (in case vertex data comes indexed)" - }, - { - "name": "animVertices", - "type": "float *", - "description": "Animated vertex positions (after bones transformations)" - }, - { - "name": "animNormals", - "type": "float *", - "description": "Animated normals (after bones transformations)" - }, - { - "name": "boneIds", - "type": "int *", - "description": "Vertex bone ids, up to 4 bones influence by vertex (skinning)" - }, - { - "name": "boneWeights", - "type": "float *", - "description": "Vertex bone weight, up to 4 bones influence by vertex (skinning)" - }, - { - "name": "vaoId", - "type": "unsigned int", - "description": "OpenGL Vertex Array Object id" - }, - { - "name": "vboId", - "type": "unsigned int *", - "description": "OpenGL Vertex Buffer Objects id (default vertex data)" - } - ] - }, - { - "name": "Shader", - "description": "", - "fields": [ - { - "name": "id", - "type": "unsigned int", - "description": "Shader program id" - }, - { - "name": "locs", - "type": "int *", - "description": "Shader locations array (MAX_SHADER_LOCATIONS)" - } - ] - }, - { - "name": "MaterialMap", - "description": "", - "fields": [ - { - "name": "texture", - "type": "Texture2D", - "description": "Material map texture" - }, - { - "name": "color", - "type": "Color", - "description": "Material map color" - }, - { - "name": "value", - "type": "float", - "description": "Material map value" - } - ] - }, - { - "name": "Material", - "description": "", - "fields": [ - { - "name": "shader", - "type": "Shader", - "description": "Material shader" - }, - { - "name": "maps", - "type": "MaterialMap *", - "description": "Material maps array (MAX_MATERIAL_MAPS)" - }, - { - "name": "params[4]", - "type": "float", - "description": "Material generic parameters (if required)" - } - ] - }, - { - "name": "Transform", - "description": "", - "fields": [ - { - "name": "translation", - "type": "Vector3", - "description": "Translation" - }, - { - "name": "rotation", - "type": "Quaternion", - "description": "Rotation" - }, - { - "name": "scale", - "type": "Vector3", - "description": "Scale" - } - ] - }, - { - "name": "BoneInfo", - "description": "", - "fields": [ - { - "name": "name[32]", - "type": "char", - "description": "Bone name" - }, - { - "name": "parent", - "type": "int", - "description": "Bone parent" - } - ] - }, - { - "name": "Model", - "description": "", - "fields": [ - { - "name": "transform", - "type": "Matrix", - "description": "Local transform matrix" - }, - { - "name": "meshCount", - "type": "int", - "description": "Number of meshes" - }, - { - "name": "materialCount", - "type": "int", - "description": "Number of materials" - }, - { - "name": "meshes", - "type": "Mesh *", - "description": "Meshes array" - }, - { - "name": "materials", - "type": "Material *", - "description": "Materials array" - }, - { - "name": "meshMaterial", - "type": "int *", - "description": "Mesh material number" - }, - { - "name": "boneCount", - "type": "int", - "description": "Number of bones" - }, - { - "name": "bones", - "type": "BoneInfo *", - "description": "Bones information (skeleton)" - }, - { - "name": "bindPose", - "type": "Transform *", - "description": "Bones base transformation (pose)" - } - ] - }, - { - "name": "ModelAnimation", - "description": "", - "fields": [ - { - "name": "boneCount", - "type": "int", - "description": "Number of bones" - }, - { - "name": "frameCount", - "type": "int", - "description": "Number of animation frames" - }, - { - "name": "bones", - "type": "BoneInfo *", - "description": "Bones information (skeleton)" - }, - { - "name": "framePoses", - "type": "Transform **", - "description": "Poses array by frame" - } - ] - }, - { - "name": "Ray", - "description": "", - "fields": [ - { - "name": "position", - "type": "Vector3", - "description": "Ray position (origin)" - }, - { - "name": "direction", - "type": "Vector3", - "description": "Ray direction" - } - ] - }, - { - "name": "RayCollision", - "description": "", - "fields": [ - { - "name": "hit", - "type": "bool", - "description": "Did the ray hit something?" - }, - { - "name": "distance", - "type": "float", - "description": "Distance to nearest hit" - }, - { - "name": "point", - "type": "Vector3", - "description": "Point of nearest hit" - }, - { - "name": "normal", - "type": "Vector3", - "description": "Surface normal of hit" - } - ] - }, - { - "name": "BoundingBox", - "description": "", - "fields": [ - { - "name": "min", - "type": "Vector3", - "description": "Minimum vertex box-corner" - }, - { - "name": "max", - "type": "Vector3", - "description": "Maximum vertex box-corner" - } - ] - }, - { - "name": "Wave", - "description": "", - "fields": [ - { - "name": "sampleCount", - "type": "unsigned int", - "description": "Total number of samples (considering channels!)" - }, - { - "name": "sampleRate", - "type": "unsigned int", - "description": "Frequency (samples per second)" - }, - { - "name": "sampleSize", - "type": "unsigned int", - "description": "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" - }, - { - "name": "channels", - "type": "unsigned int", - "description": "Number of channels (1-mono, 2-stereo)" - }, - { - "name": "data", - "type": "void *", - "description": "Buffer data pointer" - } - ] - }, - { - "name": "AudioStream", - "description": "", - "fields": [ - { - "name": "buffer", - "type": "rAudioBuffer *", - "description": "Pointer to internal data used by the audio system" - }, - { - "name": "sampleRate", - "type": "unsigned int", - "description": "Frequency (samples per second)" - }, - { - "name": "sampleSize", - "type": "unsigned int", - "description": "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" - }, - { - "name": "channels", - "type": "unsigned int", - "description": "Number of channels (1-mono, 2-stereo)" - } - ] - }, - { - "name": "Sound", - "description": "", - "fields": [ - { - "name": "stream", - "type": "AudioStream", - "description": "Audio stream" - }, - { - "name": "sampleCount", - "type": "unsigned int", - "description": "Total number of samples" - } - ] - }, - { - "name": "Music", - "description": "", - "fields": [ - { - "name": "stream", - "type": "AudioStream", - "description": "Audio stream" - }, - { - "name": "sampleCount", - "type": "unsigned int", - "description": "Total number of samples" - }, - { - "name": "looping", - "type": "bool", - "description": "Music looping enable" - }, - { - "name": "ctxType", - "type": "int", - "description": "Type of music context (audio filetype)" - }, - { - "name": "ctxData", - "type": "void *", - "description": "Audio context data, depends on type" - } - ] - }, - { - "name": "VrDeviceInfo", - "description": "", - "fields": [ - { - "name": "hResolution", - "type": "int", - "description": "Horizontal resolution in pixels" - }, - { - "name": "vResolution", - "type": "int", - "description": "Vertical resolution in pixels" - }, - { - "name": "hScreenSize", - "type": "float", - "description": "Horizontal size in meters" - }, - { - "name": "vScreenSize", - "type": "float", - "description": "Vertical size in meters" - }, - { - "name": "vScreenCenter", - "type": "float", - "description": "Screen center in meters" - }, - { - "name": "eyeToScreenDistance", - "type": "float", - "description": "Distance between eye and display in meters" - }, - { - "name": "lensSeparationDistance", - "type": "float", - "description": "Lens separation distance in meters" - }, - { - "name": "interpupillaryDistance", - "type": "float", - "description": "IPD (distance between pupils) in meters" - }, - { - "name": "lensDistortionValues[4]", - "type": "float", - "description": "Lens distortion constant parameters" - }, - { - "name": "chromaAbCorrection[4]", - "type": "float", - "description": "Chromatic aberration correction parameters" - } - ] - }, - { - "name": "VrStereoConfig", - "description": "", - "fields": [ - { - "name": "projection[2]", - "type": "Matrix", - "description": "VR projection matrices (per eye)" - }, - { - "name": "viewOffset[2]", - "type": "Matrix", - "description": "VR view offset matrices (per eye)" - }, - { - "name": "leftLensCenter[2]", - "type": "float", - "description": "VR left lens center" - }, - { - "name": "rightLensCenter[2]", - "type": "float", - "description": "VR right lens center" - }, - { - "name": "leftScreenCenter[2]", - "type": "float", - "description": "VR left screen center" - }, - { - "name": "rightScreenCenter[2]", - "type": "float", - "description": "VR right screen center" - }, - { - "name": "scale[2]", - "type": "float", - "description": "VR distortion scale" - }, - { - "name": "scaleIn[2]", - "type": "float", - "description": "VR distortion scale in" - } - ] - } - ], - "enums": [ - { - "name": "ConfigFlags", - "description": "", - "values": [ - { - "name": "FLAG_VSYNC_HINT", - "value": 64, - "description": "" - }, - { - "name": "FLAG_FULLSCREEN_MODE", - "value": 2, - "description": "" - }, - { - "name": "FLAG_WINDOW_RESIZABLE", - "value": 4, - "description": "" - }, - { - "name": "FLAG_WINDOW_UNDECORATED", - "value": 8, - "description": "" - }, - { - "name": "FLAG_WINDOW_HIDDEN", - "value": 128, - "description": "" - }, - { - "name": "FLAG_WINDOW_MINIMIZED", - "value": 512, - "description": "" - }, - { - "name": "FLAG_WINDOW_MAXIMIZED", - "value": 1024, - "description": "" - }, - { - "name": "FLAG_WINDOW_UNFOCUSED", - "value": 2048, - "description": "" - }, - { - "name": "FLAG_WINDOW_TOPMOST", - "value": 4096, - "description": "" - }, - { - "name": "FLAG_WINDOW_ALWAYS_RUN", - "value": 256, - "description": "" - }, - { - "name": "FLAG_WINDOW_TRANSPARENT", - "value": 16, - "description": "" - }, - { - "name": "FLAG_WINDOW_HIGHDPI", - "value": 8192, - "description": "" - }, - { - "name": "FLAG_MSAA_4X_HINT", - "value": 32, - "description": "" - }, - { - "name": "FLAG_INTERLACED_HINT", - "value": 65536, - "description": "" - } - ] - }, - { - "name": "TraceLogLevel", - "description": "", - "values": [ - { - "name": "LOG_ALL", - "value": 0, - "description": "" - }, - { - "name": "LOG_TRACE", - "value": 1, - "description": "" - }, - { - "name": "LOG_DEBUG", - "value": 2, - "description": "" - }, - { - "name": "LOG_INFO", - "value": 3, - "description": "" - }, - { - "name": "LOG_WARNING", - "value": 4, - "description": "" - }, - { - "name": "LOG_ERROR", - "value": 5, - "description": "" - }, - { - "name": "LOG_FATAL", - "value": 6, - "description": "" - }, - { - "name": "LOG_NONE", - "value": 7, - "description": "" - } - ] - }, - { - "name": "KeyboardKey", - "description": "", - "values": [ - { - "name": "KEY_NULL", - "value": 0, - "description": "" - }, - { - "name": "KEY_APOSTROPHE", - "value": 39, - "description": "" - }, - { - "name": "KEY_COMMA", - "value": 44, - "description": "" - }, - { - "name": "KEY_MINUS", - "value": 45, - "description": "" - }, - { - "name": "KEY_PERIOD", - "value": 46, - "description": "" - }, - { - "name": "KEY_SLASH", - "value": 47, - "description": "" - }, - { - "name": "KEY_ZERO", - "value": 48, - "description": "" - }, - { - "name": "KEY_ONE", - "value": 49, - "description": "" - }, - { - "name": "KEY_TWO", - "value": 50, - "description": "" - }, - { - "name": "KEY_THREE", - "value": 51, - "description": "" - }, - { - "name": "KEY_FOUR", - "value": 52, - "description": "" - }, - { - "name": "KEY_FIVE", - "value": 53, - "description": "" - }, - { - "name": "KEY_SIX", - "value": 54, - "description": "" - }, - { - "name": "KEY_SEVEN", - "value": 55, - "description": "" - }, - { - "name": "KEY_EIGHT", - "value": 56, - "description": "" - }, - { - "name": "KEY_NINE", - "value": 57, - "description": "" - }, - { - "name": "KEY_SEMICOLON", - "value": 59, - "description": "" - }, - { - "name": "KEY_EQUAL", - "value": 61, - "description": "" - }, - { - "name": "KEY_A", - "value": 65, - "description": "" - }, - { - "name": "KEY_B", - "value": 66, - "description": "" - }, - { - "name": "KEY_C", - "value": 67, - "description": "" - }, - { - "name": "KEY_D", - "value": 68, - "description": "" - }, - { - "name": "KEY_E", - "value": 69, - "description": "" - }, - { - "name": "KEY_F", - "value": 70, - "description": "" - }, - { - "name": "KEY_G", - "value": 71, - "description": "" - }, - { - "name": "KEY_H", - "value": 72, - "description": "" - }, - { - "name": "KEY_I", - "value": 73, - "description": "" - }, - { - "name": "KEY_J", - "value": 74, - "description": "" - }, - { - "name": "KEY_K", - "value": 75, - "description": "" - }, - { - "name": "KEY_L", - "value": 76, - "description": "" - }, - { - "name": "KEY_M", - "value": 77, - "description": "" - }, - { - "name": "KEY_N", - "value": 78, - "description": "" - }, - { - "name": "KEY_O", - "value": 79, - "description": "" - }, - { - "name": "KEY_P", - "value": 80, - "description": "" - }, - { - "name": "KEY_Q", - "value": 81, - "description": "" - }, - { - "name": "KEY_R", - "value": 82, - "description": "" - }, - { - "name": "KEY_S", - "value": 83, - "description": "" - }, - { - "name": "KEY_T", - "value": 84, - "description": "" - }, - { - "name": "KEY_U", - "value": 85, - "description": "" - }, - { - "name": "KEY_V", - "value": 86, - "description": "" - }, - { - "name": "KEY_W", - "value": 87, - "description": "" - }, - { - "name": "KEY_X", - "value": 88, - "description": "" - }, - { - "name": "KEY_Y", - "value": 89, - "description": "" - }, - { - "name": "KEY_Z", - "value": 90, - "description": "" - }, - { - "name": "KEY_SPACE", - "value": 32, - "description": "" - }, - { - "name": "KEY_ESCAPE", - "value": 256, - "description": "" - }, - { - "name": "KEY_ENTER", - "value": 257, - "description": "" - }, - { - "name": "KEY_TAB", - "value": 258, - "description": "" - }, - { - "name": "KEY_BACKSPACE", - "value": 259, - "description": "" - }, - { - "name": "KEY_INSERT", - "value": 260, - "description": "" - }, - { - "name": "KEY_DELETE", - "value": 261, - "description": "" - }, - { - "name": "KEY_RIGHT", - "value": 262, - "description": "" - }, - { - "name": "KEY_LEFT", - "value": 263, - "description": "" - }, - { - "name": "KEY_DOWN", - "value": 264, - "description": "" - }, - { - "name": "KEY_UP", - "value": 265, - "description": "" - }, - { - "name": "KEY_PAGE_UP", - "value": 266, - "description": "" - }, - { - "name": "KEY_PAGE_DOWN", - "value": 267, - "description": "" - }, - { - "name": "KEY_HOME", - "value": 268, - "description": "" - }, - { - "name": "KEY_END", - "value": 269, - "description": "" - }, - { - "name": "KEY_CAPS_LOCK", - "value": 280, - "description": "" - }, - { - "name": "KEY_SCROLL_LOCK", - "value": 281, - "description": "" - }, - { - "name": "KEY_NUM_LOCK", - "value": 282, - "description": "" - }, - { - "name": "KEY_PRINT_SCREEN", - "value": 283, - "description": "" - }, - { - "name": "KEY_PAUSE", - "value": 284, - "description": "" - }, - { - "name": "KEY_F1", - "value": 290, - "description": "" - }, - { - "name": "KEY_F2", - "value": 291, - "description": "" - }, - { - "name": "KEY_F3", - "value": 292, - "description": "" - }, - { - "name": "KEY_F4", - "value": 293, - "description": "" - }, - { - "name": "KEY_F5", - "value": 294, - "description": "" - }, - { - "name": "KEY_F6", - "value": 295, - "description": "" - }, - { - "name": "KEY_F7", - "value": 296, - "description": "" - }, - { - "name": "KEY_F8", - "value": 297, - "description": "" - }, - { - "name": "KEY_F9", - "value": 298, - "description": "" - }, - { - "name": "KEY_F10", - "value": 299, - "description": "" - }, - { - "name": "KEY_F11", - "value": 300, - "description": "" - }, - { - "name": "KEY_F12", - "value": 301, - "description": "" - }, - { - "name": "KEY_LEFT_SHIFT", - "value": 340, - "description": "" - }, - { - "name": "KEY_LEFT_CONTROL", - "value": 341, - "description": "" - }, - { - "name": "KEY_LEFT_ALT", - "value": 342, - "description": "" - }, - { - "name": "KEY_LEFT_SUPER", - "value": 343, - "description": "" - }, - { - "name": "KEY_RIGHT_SHIFT", - "value": 344, - "description": "" - }, - { - "name": "KEY_RIGHT_CONTROL", - "value": 345, - "description": "" - }, - { - "name": "KEY_RIGHT_ALT", - "value": 346, - "description": "" - }, - { - "name": "KEY_RIGHT_SUPER", - "value": 347, - "description": "" - }, - { - "name": "KEY_KB_MENU", - "value": 348, - "description": "" - }, - { - "name": "KEY_LEFT_BRACKET", - "value": 91, - "description": "" - }, - { - "name": "KEY_BACKSLASH", - "value": 92, - "description": "" - }, - { - "name": "KEY_RIGHT_BRACKET", - "value": 93, - "description": "" - }, - { - "name": "KEY_GRAVE", - "value": 96, - "description": "" - }, - { - "name": "KEY_KP_0", - "value": 320, - "description": "" - }, - { - "name": "KEY_KP_1", - "value": 321, - "description": "" - }, - { - "name": "KEY_KP_2", - "value": 322, - "description": "" - }, - { - "name": "KEY_KP_3", - "value": 323, - "description": "" - }, - { - "name": "KEY_KP_4", - "value": 324, - "description": "" - }, - { - "name": "KEY_KP_5", - "value": 325, - "description": "" - }, - { - "name": "KEY_KP_6", - "value": 326, - "description": "" - }, - { - "name": "KEY_KP_7", - "value": 327, - "description": "" - }, - { - "name": "KEY_KP_8", - "value": 328, - "description": "" - }, - { - "name": "KEY_KP_9", - "value": 329, - "description": "" - }, - { - "name": "KEY_KP_DECIMAL", - "value": 330, - "description": "" - }, - { - "name": "KEY_KP_DIVIDE", - "value": 331, - "description": "" - }, - { - "name": "KEY_KP_MULTIPLY", - "value": 332, - "description": "" - }, - { - "name": "KEY_KP_SUBTRACT", - "value": 333, - "description": "" - }, - { - "name": "KEY_KP_ADD", - "value": 334, - "description": "" - }, - { - "name": "KEY_KP_ENTER", - "value": 335, - "description": "" - }, - { - "name": "KEY_KP_EQUAL", - "value": 336, - "description": "" - }, - { - "name": "KEY_BACK", - "value": 4, - "description": "" - }, - { - "name": "KEY_MENU", - "value": 82, - "description": "" - }, - { - "name": "KEY_VOLUME_UP", - "value": 24, - "description": "" - }, - { - "name": "KEY_VOLUME_DOWN", - "value": 25, - "description": "" - } - ] - }, - { - "name": "MouseButton", - "description": "", - "values": [ - { - "name": "MOUSE_BUTTON_LEFT", - "value": 0, - "description": "" - }, - { - "name": "MOUSE_BUTTON_RIGHT", - "value": 1, - "description": "" - }, - { - "name": "MOUSE_BUTTON_MIDDLE", - "value": 2, - "description": "" - }, - { - "name": "MOUSE_BUTTON_SIDE", - "value": 3, - "description": "" - }, - { - "name": "MOUSE_BUTTON_EXTRA", - "value": 4, - "description": "" - }, - { - "name": "MOUSE_BUTTON_FORWARD", - "value": 5, - "description": "" - }, - { - "name": "MOUSE_BUTTON_BACK", - "value": 6, - "description": "" - } - ] - }, - { - "name": "MouseCursor", - "description": "", - "values": [ - { - "name": "MOUSE_CURSOR_DEFAULT", - "value": 0, - "description": "" - }, - { - "name": "MOUSE_CURSOR_ARROW", - "value": 1, - "description": "" - }, - { - "name": "MOUSE_CURSOR_IBEAM", - "value": 2, - "description": "" - }, - { - "name": "MOUSE_CURSOR_CROSSHAIR", - "value": 3, - "description": "" - }, - { - "name": "MOUSE_CURSOR_POINTING_HAND", - "value": 4, - "description": "" - }, - { - "name": "MOUSE_CURSOR_RESIZE_EW", - "value": 5, - "description": "" - }, - { - "name": "MOUSE_CURSOR_RESIZE_NS", - "value": 6, - "description": "" - }, - { - "name": "MOUSE_CURSOR_RESIZE_NWSE", - "value": 7, - "description": "" - }, - { - "name": "MOUSE_CURSOR_RESIZE_NESW", - "value": 8, - "description": "" - }, - { - "name": "MOUSE_CURSOR_RESIZE_ALL", - "value": 9, - "description": "" - }, - { - "name": "MOUSE_CURSOR_NOT_ALLOWED", - "value": 10, - "description": "" - } - ] - }, - { - "name": "GamepadButton", - "description": "", - "values": [ - { - "name": "GAMEPAD_BUTTON_UNKNOWN", - "value": 0, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_LEFT_FACE_UP", - "value": 1, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_LEFT_FACE_RIGHT", - "value": 2, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_LEFT_FACE_DOWN", - "value": 3, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_LEFT_FACE_LEFT", - "value": 4, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_RIGHT_FACE_UP", - "value": 5, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", - "value": 6, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", - "value": 7, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", - "value": 8, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_LEFT_TRIGGER_1", - "value": 9, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_LEFT_TRIGGER_2", - "value": 10, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", - "value": 11, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", - "value": 12, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_MIDDLE_LEFT", - "value": 13, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_MIDDLE", - "value": 14, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_MIDDLE_RIGHT", - "value": 15, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_LEFT_THUMB", - "value": 16, - "description": "" - }, - { - "name": "GAMEPAD_BUTTON_RIGHT_THUMB", - "value": 17, - "description": "" - } - ] - }, - { - "name": "GamepadAxis", - "description": "", - "values": [ - { - "name": "GAMEPAD_AXIS_LEFT_X", - "value": 0, - "description": "" - }, - { - "name": "GAMEPAD_AXIS_LEFT_Y", - "value": 1, - "description": "" - }, - { - "name": "GAMEPAD_AXIS_RIGHT_X", - "value": 2, - "description": "" - }, - { - "name": "GAMEPAD_AXIS_RIGHT_Y", - "value": 3, - "description": "" - }, - { - "name": "GAMEPAD_AXIS_LEFT_TRIGGER", - "value": 4, - "description": "" - }, - { - "name": "GAMEPAD_AXIS_RIGHT_TRIGGER", - "value": 5, - "description": "" - } - ] - }, - { - "name": "MaterialMapIndex", - "description": "", - "values": [ - { - "name": "MATERIAL_MAP_ALBEDO", - "value": 0, - "description": "" - }, - { - "name": "MATERIAL_MAP_METALNESS", - "value": 1, - "description": "" - }, - { - "name": "MATERIAL_MAP_NORMAL", - "value": 2, - "description": "" - }, - { - "name": "MATERIAL_MAP_ROUGHNESS", - "value": 3, - "description": "" - }, - { - "name": "MATERIAL_MAP_OCCLUSION", - "value": 4, - "description": "" - }, - { - "name": "MATERIAL_MAP_EMISSION", - "value": 5, - "description": "" - }, - { - "name": "MATERIAL_MAP_HEIGHT", - "value": 6, - "description": "" - }, - { - "name": "MATERIAL_MAP_CUBEMAP", - "value": 7, - "description": "" - }, - { - "name": "MATERIAL_MAP_IRRADIANCE", - "value": 8, - "description": "" - }, - { - "name": "MATERIAL_MAP_PREFILTER", - "value": 9, - "description": "" - }, - { - "name": "MATERIAL_MAP_BRDG", - "value": 10, - "description": "" - } - ] - }, - { - "name": "ShaderLocationIndex", - "description": "", - "values": [ - { - "name": "SHADER_LOC_VERTEX_POSITION", - "value": 0, - "description": "" - }, - { - "name": "SHADER_LOC_VERTEX_TEXCOORD01", - "value": 1, - "description": "" - }, - { - "name": "SHADER_LOC_VERTEX_TEXCOORD02", - "value": 2, - "description": "" - }, - { - "name": "SHADER_LOC_VERTEX_NORMAL", - "value": 3, - "description": "" - }, - { - "name": "SHADER_LOC_VERTEX_TANGENT", - "value": 4, - "description": "" - }, - { - "name": "SHADER_LOC_VERTEX_COLOR", - "value": 5, - "description": "" - }, - { - "name": "SHADER_LOC_MATRIX_MVP", - "value": 6, - "description": "" - }, - { - "name": "SHADER_LOC_MATRIX_VIEW", - "value": 7, - "description": "" - }, - { - "name": "SHADER_LOC_MATRIX_PROJECTION", - "value": 8, - "description": "" - }, - { - "name": "SHADER_LOC_MATRIX_MODEL", - "value": 9, - "description": "" - }, - { - "name": "SHADER_LOC_MATRIX_NORMAL", - "value": 10, - "description": "" - }, - { - "name": "SHADER_LOC_VECTOR_VIEW", - "value": 11, - "description": "" - }, - { - "name": "SHADER_LOC_COLOR_DIFFUSE", - "value": 12, - "description": "" - }, - { - "name": "SHADER_LOC_COLOR_SPECULAR", - "value": 13, - "description": "" - }, - { - "name": "SHADER_LOC_COLOR_AMBIENT", - "value": 14, - "description": "" - }, - { - "name": "SHADER_LOC_MAP_ALBEDO", - "value": 15, - "description": "" - }, - { - "name": "SHADER_LOC_MAP_METALNESS", - "value": 16, - "description": "" - }, - { - "name": "SHADER_LOC_MAP_NORMAL", - "value": 17, - "description": "" - }, - { - "name": "SHADER_LOC_MAP_ROUGHNESS", - "value": 18, - "description": "" - }, - { - "name": "SHADER_LOC_MAP_OCCLUSION", - "value": 19, - "description": "" - }, - { - "name": "SHADER_LOC_MAP_EMISSION", - "value": 20, - "description": "" - }, - { - "name": "SHADER_LOC_MAP_HEIGHT", - "value": 21, - "description": "" - }, - { - "name": "SHADER_LOC_MAP_CUBEMAP", - "value": 22, - "description": "" - }, - { - "name": "SHADER_LOC_MAP_IRRADIANCE", - "value": 23, - "description": "" - }, - { - "name": "SHADER_LOC_MAP_PREFILTER", - "value": 24, - "description": "" - }, - { - "name": "SHADER_LOC_MAP_BRDF", - "value": 25, - "description": "" - } - ] - }, - { - "name": "ShaderUniformDataType", - "description": "", - "values": [ - { - "name": "SHADER_UNIFORM_FLOAT", - "value": 0, - "description": "" - }, - { - "name": "SHADER_UNIFORM_VEC2", - "value": 1, - "description": "" - }, - { - "name": "SHADER_UNIFORM_VEC3", - "value": 2, - "description": "" - }, - { - "name": "SHADER_UNIFORM_VEC4", - "value": 3, - "description": "" - }, - { - "name": "SHADER_UNIFORM_INT", - "value": 4, - "description": "" - }, - { - "name": "SHADER_UNIFORM_IVEC2", - "value": 5, - "description": "" - }, - { - "name": "SHADER_UNIFORM_IVEC3", - "value": 6, - "description": "" - }, - { - "name": "SHADER_UNIFORM_IVEC4", - "value": 7, - "description": "" - }, - { - "name": "SHADER_UNIFORM_SAMPLER2D", - "value": 8, - "description": "" - } - ] - }, - { - "name": "ShaderAttributeDataType", - "description": "", - "values": [ - { - "name": "SHADER_ATTRIB_FLOAT", - "value": 0, - "description": "" - }, - { - "name": "SHADER_ATTRIB_VEC2", - "value": 1, - "description": "" - }, - { - "name": "SHADER_ATTRIB_VEC3", - "value": 2, - "description": "" - }, - { - "name": "SHADER_ATTRIB_VEC4", - "value": 3, - "description": "" - } - ] - }, - { - "name": "PixelFormat", - "description": "", - "values": [ - { - "name": "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", - "value": 1, - "description": "" - }, - { - "name": "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", - "value": 2, - "description": "" - }, - { - "name": "PIXELFORMAT_UNCOMPRESSED_R5G6B5", - "value": 3, - "description": "" - }, - { - "name": "PIXELFORMAT_UNCOMPRESSED_R8G8B8", - "value": 4, - "description": "" - }, - { - "name": "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", - "value": 5, - "description": "" - }, - { - "name": "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", - "value": 6, - "description": "" - }, - { - "name": "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", - "value": 7, - "description": "" - }, - { - "name": "PIXELFORMAT_UNCOMPRESSED_R32", - "value": 8, - "description": "" - }, - { - "name": "PIXELFORMAT_UNCOMPRESSED_R32G32B32", - "value": 9, - "description": "" - }, - { - "name": "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", - "value": 10, - "description": "" - }, - { - "name": "PIXELFORMAT_COMPRESSED_DXT1_RGB", - "value": 11, - "description": "" - }, - { - "name": "PIXELFORMAT_COMPRESSED_DXT1_RGBA", - "value": 12, - "description": "" - }, - { - "name": "PIXELFORMAT_COMPRESSED_DXT3_RGBA", - "value": 13, - "description": "" - }, - { - "name": "PIXELFORMAT_COMPRESSED_DXT5_RGBA", - "value": 14, - "description": "" - }, - { - "name": "PIXELFORMAT_COMPRESSED_ETC1_RGB", - "value": 15, - "description": "" - }, - { - "name": "PIXELFORMAT_COMPRESSED_ETC2_RGB", - "value": 16, - "description": "" - }, - { - "name": "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", - "value": 17, - "description": "" - }, - { - "name": "PIXELFORMAT_COMPRESSED_PVRT_RGB", - "value": 18, - "description": "" - }, - { - "name": "PIXELFORMAT_COMPRESSED_PVRT_RGBA", - "value": 19, - "description": "" - }, - { - "name": "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", - "value": 20, - "description": "" - }, - { - "name": "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", - "value": 21, - "description": "" - } - ] - }, - { - "name": "TextureFilter", - "description": "", - "values": [ - { - "name": "TEXTURE_FILTER_POINT", - "value": 0, - "description": "" - }, - { - "name": "TEXTURE_FILTER_BILINEAR", - "value": 1, - "description": "" - }, - { - "name": "TEXTURE_FILTER_TRILINEAR", - "value": 2, - "description": "" - }, - { - "name": "TEXTURE_FILTER_ANISOTROPIC_4X", - "value": 3, - "description": "" - }, - { - "name": "TEXTURE_FILTER_ANISOTROPIC_8X", - "value": 4, - "description": "" - }, - { - "name": "TEXTURE_FILTER_ANISOTROPIC_16X", - "value": 5, - "description": "" - } - ] - }, - { - "name": "TextureWrap", - "description": "", - "values": [ - { - "name": "TEXTURE_WRAP_REPEAT", - "value": 0, - "description": "" - }, - { - "name": "TEXTURE_WRAP_CLAMP", - "value": 1, - "description": "" - }, - { - "name": "TEXTURE_WRAP_MIRROR_REPEAT", - "value": 2, - "description": "" - }, - { - "name": "TEXTURE_WRAP_MIRROR_CLAMP", - "value": 3, - "description": "" - } - ] - }, - { - "name": "CubemapLayout", - "description": "", - "values": [ - { - "name": "CUBEMAP_LAYOUT_AUTO_DETECT", - "value": 0, - "description": "" - }, - { - "name": "CUBEMAP_LAYOUT_LINE_VERTICAL", - "value": 1, - "description": "" - }, - { - "name": "CUBEMAP_LAYOUT_LINE_HORIZONTAL", - "value": 2, - "description": "" - }, - { - "name": "CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR", - "value": 3, - "description": "" - }, - { - "name": "CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE", - "value": 4, - "description": "" - }, - { - "name": "CUBEMAP_LAYOUT_PANORAMA", - "value": 5, - "description": "" - } - ] - }, - { - "name": "FontType", - "description": "", - "values": [ - { - "name": "FONT_DEFAULT", - "value": 0, - "description": "" - }, - { - "name": "FONT_BITMAP", - "value": 1, - "description": "" - }, - { - "name": "FONT_SDF", - "value": 2, - "description": "" - } - ] - }, - { - "name": "BlendMode", - "description": "", - "values": [ - { - "name": "BLEND_ALPHA", - "value": 0, - "description": "" - }, - { - "name": "BLEND_ADDITIVE", - "value": 1, - "description": "" - }, - { - "name": "BLEND_MULTIPLIED", - "value": 2, - "description": "" - }, - { - "name": "BLEND_ADD_COLORS", - "value": 3, - "description": "" - }, - { - "name": "BLEND_SUBTRACT_COLORS", - "value": 4, - "description": "" - }, - { - "name": "BLEND_CUSTOM", - "value": 5, - "description": "" - } - ] - }, - { - "name": "Gesture", - "description": "", - "values": [ - { - "name": "GESTURE_NONE", - "value": 0, - "description": "" - }, - { - "name": "GESTURE_TAP", - "value": 1, - "description": "" - }, - { - "name": "GESTURE_DOUBLETAP", - "value": 2, - "description": "" - }, - { - "name": "GESTURE_HOLD", - "value": 4, - "description": "" - }, - { - "name": "GESTURE_DRAG", - "value": 8, - "description": "" - }, - { - "name": "GESTURE_SWIPE_RIGHT", - "value": 16, - "description": "" - }, - { - "name": "GESTURE_SWIPE_LEFT", - "value": 32, - "description": "" - }, - { - "name": "GESTURE_SWIPE_UP", - "value": 64, - "description": "" - }, - { - "name": "GESTURE_SWIPE_DOWN", - "value": 128, - "description": "" - }, - { - "name": "GESTURE_PINCH_IN", - "value": 256, - "description": "" - }, - { - "name": "GESTURE_PINCH_OUT", - "value": 512, - "description": "" - } - ] - }, - { - "name": "CameraMode", - "description": "", - "values": [ - { - "name": "CAMERA_CUSTOM", - "value": 0, - "description": "" - }, - { - "name": "CAMERA_FREE", - "value": 1, - "description": "" - }, - { - "name": "CAMERA_ORBITAL", - "value": 2, - "description": "" - }, - { - "name": "CAMERA_FIRST_PERSON", - "value": 3, - "description": "" - }, - { - "name": "CAMERA_THIRD_PERSON", - "value": 4, - "description": "" - } - ] - }, - { - "name": "CameraProjection", - "description": "", - "values": [ - { - "name": "CAMERA_PERSPECTIVE", - "value": 0, - "description": "" - }, - { - "name": "CAMERA_ORTHOGRAPHIC", - "value": 1, - "description": "" - } - ] - }, - { - "name": "NPatchLayout", - "description": "", - "values": [ - { - "name": "NPATCH_NINE_PATCH", - "value": 0, - "description": "" - }, - { - "name": "NPATCH_THREE_PATCH_VERTICAL", - "value": 1, - "description": "" - }, - { - "name": "NPATCH_THREE_PATCH_HORIZONTAL", - "value": 2, - "description": "" - } - ] - } - ], - "functions": [ - { - "name": "InitWindow", - "description": "Initialize window and OpenGL context", - "returnType": "void", - "params": { - "width": "int", - "height": "int", - "title": "const char *" - } - }, - { - "name": "WindowShouldClose", - "description": "Check if KEY_ESCAPE pressed or Close icon pressed", - "returnType": "bool" - }, - { - "name": "CloseWindow", - "description": "Close window and unload OpenGL context", - "returnType": "void" - }, - { - "name": "IsWindowReady", - "description": "Check if window has been initialized successfully", - "returnType": "bool" - }, - { - "name": "IsWindowFullscreen", - "description": "Check if window is currently fullscreen", - "returnType": "bool" - }, - { - "name": "IsWindowHidden", - "description": "Check if window is currently hidden (only PLATFORM_DESKTOP)", - "returnType": "bool" - }, - { - "name": "IsWindowMinimized", - "description": "Check if window is currently minimized (only PLATFORM_DESKTOP)", - "returnType": "bool" - }, - { - "name": "IsWindowMaximized", - "description": "Check if window is currently maximized (only PLATFORM_DESKTOP)", - "returnType": "bool" - }, - { - "name": "IsWindowFocused", - "description": "Check if window is currently focused (only PLATFORM_DESKTOP)", - "returnType": "bool" - }, - { - "name": "IsWindowResized", - "description": "Check if window has been resized last frame", - "returnType": "bool" - }, - { - "name": "IsWindowState", - "description": "Check if one specific window flag is enabled", - "returnType": "bool", - "params": { - "flag": "unsigned int" - } - }, - { - "name": "SetWindowState", - "description": "Set window configuration state using flags", - "returnType": "void", - "params": { - "flags": "unsigned int" - } - }, - { - "name": "ClearWindowState", - "description": "Clear window configuration state flags", - "returnType": "void", - "params": { - "flags": "unsigned int" - } - }, - { - "name": "ToggleFullscreen", - "description": "Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)", - "returnType": "void" - }, - { - "name": "MaximizeWindow", - "description": "Set window state: maximized, if resizable (only PLATFORM_DESKTOP)", - "returnType": "void" - }, - { - "name": "MinimizeWindow", - "description": "Set window state: minimized, if resizable (only PLATFORM_DESKTOP)", - "returnType": "void" - }, - { - "name": "RestoreWindow", - "description": "Set window state: not minimized/maximized (only PLATFORM_DESKTOP)", - "returnType": "void" - }, - { - "name": "SetWindowIcon", - "description": "Set icon for window (only PLATFORM_DESKTOP)", - "returnType": "void", - "params": { - "image": "Image" - } - }, - { - "name": "SetWindowTitle", - "description": "Set title for window (only PLATFORM_DESKTOP)", - "returnType": "void", - "params": { - "title": "const char *" - } - }, - { - "name": "SetWindowPosition", - "description": "Set window position on screen (only PLATFORM_DESKTOP)", - "returnType": "void", - "params": { - "x": "int", - "y": "int" - } - }, - { - "name": "SetWindowMonitor", - "description": "Set monitor for the current window (fullscreen mode)", - "returnType": "void", - "params": { - "monitor": "int" - } - }, - { - "name": "SetWindowMinSize", - "description": "Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)", - "returnType": "void", - "params": { - "width": "int", - "height": "int" - } - }, - { - "name": "SetWindowSize", - "description": "Set window dimensions", - "returnType": "void", - "params": { - "width": "int", - "height": "int" - } - }, - { - "name": "GetWindowHandle", - "description": "Get native window handle", - "returnType": "void *" - }, - { - "name": "GetScreenWidth", - "description": "Get current screen width", - "returnType": "int" - }, - { - "name": "GetScreenHeight", - "description": "Get current screen height", - "returnType": "int" - }, - { - "name": "GetMonitorCount", - "description": "Get number of connected monitors", - "returnType": "int" - }, - { - "name": "GetCurrentMonitor", - "description": "Get current connected monitor", - "returnType": "int" - }, - { - "name": "GetMonitorPosition", - "description": "Get specified monitor position", - "returnType": "Vector2", - "params": { - "monitor": "int" - } - }, - { - "name": "GetMonitorWidth", - "description": "Get specified monitor width (max available by monitor)", - "returnType": "int", - "params": { - "monitor": "int" - } - }, - { - "name": "GetMonitorHeight", - "description": "Get specified monitor height (max available by monitor)", - "returnType": "int", - "params": { - "monitor": "int" - } - }, - { - "name": "GetMonitorPhysicalWidth", - "description": "Get specified monitor physical width in millimetres", - "returnType": "int", - "params": { - "monitor": "int" - } - }, - { - "name": "GetMonitorPhysicalHeight", - "description": "Get specified monitor physical height in millimetres", - "returnType": "int", - "params": { - "monitor": "int" - } - }, - { - "name": "GetMonitorRefreshRate", - "description": "Get specified monitor refresh rate", - "returnType": "int", - "params": { - "monitor": "int" - } - }, - { - "name": "GetWindowPosition", - "description": "Get window position XY on monitor", - "returnType": "Vector2" - }, - { - "name": "GetWindowScaleDPI", - "description": "Get window scale DPI factor", - "returnType": "Vector2" - }, - { - "name": "GetMonitorName", - "description": "Get the human-readable, UTF-8 encoded name of the primary monitor", - "returnType": "const char *", - "params": { - "monitor": "int" - } - }, - { - "name": "SetClipboardText", - "description": "Set clipboard text content", - "returnType": "void", - "params": { - "text": "const char *" - } - }, - { - "name": "GetClipboardText", - "description": "Get clipboard text content", - "returnType": "const char *" - }, - { - "name": "ShowCursor", - "description": "Shows cursor", - "returnType": "void" - }, - { - "name": "HideCursor", - "description": "Hides cursor", - "returnType": "void" - }, - { - "name": "IsCursorHidden", - "description": "Check if cursor is not visible", - "returnType": "bool" - }, - { - "name": "EnableCursor", - "description": "Enables cursor (unlock cursor)", - "returnType": "void" - }, - { - "name": "DisableCursor", - "description": "Disables cursor (lock cursor)", - "returnType": "void" - }, - { - "name": "IsCursorOnScreen", - "description": "Check if cursor is on the screen", - "returnType": "bool" - }, - { - "name": "ClearBackground", - "description": "Set background color (framebuffer clear color)", - "returnType": "void", - "params": { - "color": "Color" - } - }, - { - "name": "BeginDrawing", - "description": "Setup canvas (framebuffer) to start drawing", - "returnType": "void" - }, - { - "name": "EndDrawing", - "description": "End canvas drawing and swap buffers (double buffering)", - "returnType": "void" - }, - { - "name": "BeginMode2D", - "description": "Begin 2D mode with custom camera (2D)", - "returnType": "void", - "params": { - "camera": "Camera2D" - } - }, - { - "name": "EndMode2D", - "description": "Ends 2D mode with custom camera", - "returnType": "void" - }, - { - "name": "BeginMode3D", - "description": "Begin 3D mode with custom camera (3D)", - "returnType": "void", - "params": { - "camera": "Camera3D" - } - }, - { - "name": "EndMode3D", - "description": "Ends 3D mode and returns to default 2D orthographic mode", - "returnType": "void" - }, - { - "name": "BeginTextureMode", - "description": "Begin drawing to render texture", - "returnType": "void", - "params": { - "target": "RenderTexture2D" - } - }, - { - "name": "EndTextureMode", - "description": "Ends drawing to render texture", - "returnType": "void" - }, - { - "name": "BeginShaderMode", - "description": "Begin custom shader drawing", - "returnType": "void", - "params": { - "shader": "Shader" - } - }, - { - "name": "EndShaderMode", - "description": "End custom shader drawing (use default shader)", - "returnType": "void" - }, - { - "name": "BeginBlendMode", - "description": "Begin blending mode (alpha, additive, multiplied, subtract, custom)", - "returnType": "void", - "params": { - "mode": "int" - } - }, - { - "name": "EndBlendMode", - "description": "End blending mode (reset to default: alpha blending)", - "returnType": "void" - }, - { - "name": "BeginScissorMode", - "description": "Begin scissor mode (define screen area for following drawing)", - "returnType": "void", - "params": { - "x": "int", - "y": "int", - "width": "int", - "height": "int" - } - }, - { - "name": "EndScissorMode", - "description": "End scissor mode", - "returnType": "void" - }, - { - "name": "BeginVrStereoMode", - "description": "Begin stereo rendering (requires VR simulator)", - "returnType": "void", - "params": { - "config": "VrStereoConfig" - } - }, - { - "name": "EndVrStereoMode", - "description": "End stereo rendering (requires VR simulator)", - "returnType": "void" - }, - { - "name": "LoadVrStereoConfig", - "description": "Load VR stereo config for VR simulator device parameters", - "returnType": "VrStereoConfig", - "params": { - "device": "VrDeviceInfo" - } - }, - { - "name": "UnloadVrStereoConfig", - "description": "Unload VR stereo config", - "returnType": "void", - "params": { - "config": "VrStereoConfig" - } - }, - { - "name": "LoadShader", - "description": "Load shader from files and bind default locations", - "returnType": "Shader", - "params": { - "vsFileName": "const char *", - "fsFileName": "const char *" - } - }, - { - "name": "LoadShaderFromMemory", - "description": "Load shader from code strings and bind default locations", - "returnType": "Shader", - "params": { - "vsCode": "const char *", - "fsCode": "const char *" - } - }, - { - "name": "GetShaderLocation", - "description": "Get shader uniform location", - "returnType": "int", - "params": { - "shader": "Shader", - "uniformName": "const char *" - } - }, - { - "name": "GetShaderLocationAttrib", - "description": "Get shader attribute location", - "returnType": "int", - "params": { - "shader": "Shader", - "attribName": "const char *" - } - }, - { - "name": "SetShaderValue", - "description": "Set shader uniform value", - "returnType": "void", - "params": { - "shader": "Shader", - "locIndex": "int", - "value": "const void *", - "uniformType": "int" - } - }, - { - "name": "SetShaderValueV", - "description": "Set shader uniform value vector", - "returnType": "void", - "params": { - "shader": "Shader", - "locIndex": "int", - "value": "const void *", - "uniformType": "int", - "count": "int" - } - }, - { - "name": "SetShaderValueMatrix", - "description": "Set shader uniform value (matrix 4x4)", - "returnType": "void", - "params": { - "shader": "Shader", - "locIndex": "int", - "mat": "Matrix" - } - }, - { - "name": "SetShaderValueTexture", - "description": "Set shader uniform value for texture (sampler2d)", - "returnType": "void", - "params": { - "shader": "Shader", - "locIndex": "int", - "texture": "Texture2D" - } - }, - { - "name": "UnloadShader", - "description": "Unload shader from GPU memory (VRAM)", - "returnType": "void", - "params": { - "shader": "Shader" - } - }, - { - "name": "GetMouseRay", - "description": "Get a ray trace from mouse position", - "returnType": "Ray", - "params": { - "mousePosition": "Vector2", - "camera": "Camera" - } - }, - { - "name": "GetCameraMatrix", - "description": "Get camera transform matrix (view matrix)", - "returnType": "Matrix", - "params": { - "camera": "Camera" - } - }, - { - "name": "GetCameraMatrix2D", - "description": "Get camera 2d transform matrix", - "returnType": "Matrix", - "params": { - "camera": "Camera2D" - } - }, - { - "name": "GetWorldToScreen", - "description": "Get the screen space position for a 3d world space position", - "returnType": "Vector2", - "params": { - "position": "Vector3", - "camera": "Camera" - } - }, - { - "name": "GetWorldToScreenEx", - "description": "Get size position for a 3d world space position", - "returnType": "Vector2", - "params": { - "position": "Vector3", - "camera": "Camera", - "width": "int", - "height": "int" - } - }, - { - "name": "GetWorldToScreen2D", - "description": "Get the screen space position for a 2d camera world space position", - "returnType": "Vector2", - "params": { - "position": "Vector2", - "camera": "Camera2D" - } - }, - { - "name": "GetScreenToWorld2D", - "description": "Get the world space position for a 2d camera screen space position", - "returnType": "Vector2", - "params": { - "position": "Vector2", - "camera": "Camera2D" - } - }, - { - "name": "SetTargetFPS", - "description": "Set target FPS (maximum)", - "returnType": "void", - "params": { - "fps": "int" - } - }, - { - "name": "GetFPS", - "description": "Get current FPS", - "returnType": "int" - }, - { - "name": "GetFrameTime", - "description": "Get time in seconds for last frame drawn (delta time)", - "returnType": "float" - }, - { - "name": "GetTime", - "description": "Get elapsed time in seconds since InitWindow()", - "returnType": "double" - }, - { - "name": "GetRandomValue", - "description": "Get a random value between min and max (both included)", - "returnType": "int", - "params": { - "min": "int", - "max": "int" - } - }, - { - "name": "TakeScreenshot", - "description": "Takes a screenshot of current screen (filename extension defines format)", - "returnType": "void", - "params": { - "fileName": "const char *" - } - }, - { - "name": "SetConfigFlags", - "description": "Setup init configuration flags (view FLAGS)", - "returnType": "void", - "params": { - "flags": "unsigned int" - } - }, - { - "name": "TraceLog", - "description": "Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)", - "returnType": "void", - "params": { - "logLevel": "int", - "text": "const char *", - "": "" - } - }, - { - "name": "SetTraceLogLevel", - "description": "Set the current threshold (minimum) log level", - "returnType": "void", - "params": { - "logLevel": "int" - } - }, - { - "name": "MemAlloc", - "description": "Internal memory allocator", - "returnType": "void *", - "params": { - "size": "int" - } - }, - { - "name": "MemRealloc", - "description": "Internal memory reallocator", - "returnType": "void *", - "params": { - "ptr": "void *", - "size": "int" - } - }, - { - "name": "MemFree", - "description": "Internal memory free", - "returnType": "void", - "params": { - "ptr": "void *" - } - }, - { - "name": "SetTraceLogCallback", - "description": "Set custom trace log", - "returnType": "void", - "params": { - "callback": "TraceLogCallback" - } - }, - { - "name": "SetLoadFileDataCallback", - "description": "Set custom file binary data loader", - "returnType": "void", - "params": { - "callback": "LoadFileDataCallback" - } - }, - { - "name": "SetSaveFileDataCallback", - "description": "Set custom file binary data saver", - "returnType": "void", - "params": { - "callback": "SaveFileDataCallback" - } - }, - { - "name": "SetLoadFileTextCallback", - "description": "Set custom file text data loader", - "returnType": "void", - "params": { - "callback": "LoadFileTextCallback" - } - }, - { - "name": "SetSaveFileTextCallback", - "description": "Set custom file text data saver", - "returnType": "void", - "params": { - "callback": "SaveFileTextCallback" - } - }, - { - "name": "LoadFileData", - "description": "Load file data as byte array (read)", - "returnType": "unsigned char *", - "params": { - "fileName": "const char *", - "bytesRead": "unsigned int *" - } - }, - { - "name": "UnloadFileData", - "description": "Unload file data allocated by LoadFileData()", - "returnType": "void", - "params": { - "data": "unsigned char *" - } - }, - { - "name": "SaveFileData", - "description": "Save data to file from byte array (write), returns true on success", - "returnType": "bool", - "params": { - "fileName": "const char *", - "data": "void *", - "bytesToWrite": "unsigned int" - } - }, - { - "name": "LoadFileText", - "description": "Load text data from file (read), returns a ' 0' terminated string", - "returnType": "char *", - "params": { - "fileName": "const char *" - } - }, - { - "name": "UnloadFileText", - "description": "Unload file text data allocated by LoadFileText()", - "returnType": "void", - "params": { - "text": "char *" - } - }, - { - "name": "SaveFileText", - "description": "Save text data to file (write), string must be ' 0' terminated, returns true on success", - "returnType": "bool", - "params": { - "fileName": "const char *", - "text": "char *" - } - }, - { - "name": "FileExists", - "description": "Check if file exists", - "returnType": "bool", - "params": { - "fileName": "const char *" - } - }, - { - "name": "DirectoryExists", - "description": "Check if a directory path exists", - "returnType": "bool", - "params": { - "dirPath": "const char *" - } - }, - { - "name": "IsFileExtension", - "description": "Check file extension (including point: .png, .wav)", - "returnType": "bool", - "params": { - "fileName": "const char *", - "ext": "const char *" - } - }, - { - "name": "GetFileExtension", - "description": "Get pointer to extension for a filename string (includes dot: '.png')", - "returnType": "const char *", - "params": { - "fileName": "const char *" - } - }, - { - "name": "GetFileName", - "description": "Get pointer to filename for a path string", - "returnType": "const char *", - "params": { - "filePath": "const char *" - } - }, - { - "name": "GetFileNameWithoutExt", - "description": "Get filename string without extension (uses static string)", - "returnType": "const char *", - "params": { - "filePath": "const char *" - } - }, - { - "name": "GetDirectoryPath", - "description": "Get full path for a given fileName with path (uses static string)", - "returnType": "const char *", - "params": { - "filePath": "const char *" - } - }, - { - "name": "GetPrevDirectoryPath", - "description": "Get previous directory path for a given path (uses static string)", - "returnType": "const char *", - "params": { - "dirPath": "const char *" - } - }, - { - "name": "GetWorkingDirectory", - "description": "Get current working directory (uses static string)", - "returnType": "const char *" - }, - { - "name": "GetDirectoryFiles", - "description": "Get filenames in a directory path (memory should be freed)", - "returnType": "char **", - "params": { - "dirPath": "const char *", - "count": "int *" - } - }, - { - "name": "ClearDirectoryFiles", - "description": "Clear directory files paths buffers (free memory)", - "returnType": "void" - }, - { - "name": "ChangeDirectory", - "description": "Change working directory, return true on success", - "returnType": "bool", - "params": { - "dir": "const char *" - } - }, - { - "name": "IsFileDropped", - "description": "Check if a file has been dropped into window", - "returnType": "bool" - }, - { - "name": "GetDroppedFiles", - "description": "Get dropped files names (memory should be freed)", - "returnType": "char **", - "params": { - "count": "int *" - } - }, - { - "name": "ClearDroppedFiles", - "description": "Clear dropped files paths buffer (free memory)", - "returnType": "void" - }, - { - "name": "GetFileModTime", - "description": "Get file modification time (last write time)", - "returnType": "long", - "params": { - "fileName": "const char *" - } - }, - { - "name": "CompressData", - "description": "Compress data (DEFLATE algorithm)", - "returnType": "unsigned char *", - "params": { - "data": "unsigned char *", - "dataLength": "int", - "compDataLength": "int *" - } - }, - { - "name": "DecompressData", - "description": "Decompress data (DEFLATE algorithm)", - "returnType": "unsigned char *", - "params": { - "compData": "unsigned char *", - "compDataLength": "int", - "dataLength": "int *" - } - }, - { - "name": "SaveStorageValue", - "description": "Save integer value to storage file (to defined position), returns true on success", - "returnType": "bool", - "params": { - "position": "unsigned int", - "value": "int" - } - }, - { - "name": "LoadStorageValue", - "description": "Load integer value from storage file (from defined position)", - "returnType": "int", - "params": { - "position": "unsigned int" - } - }, - { - "name": "OpenURL", - "description": "Open URL with default system browser (if available)", - "returnType": "void", - "params": { - "url": "const char *" - } - }, - { - "name": "IsKeyPressed", - "description": "Check if a key has been pressed once", - "returnType": "bool", - "params": { - "key": "int" - } - }, - { - "name": "IsKeyDown", - "description": "Check if a key is being pressed", - "returnType": "bool", - "params": { - "key": "int" - } - }, - { - "name": "IsKeyReleased", - "description": "Check if a key has been released once", - "returnType": "bool", - "params": { - "key": "int" - } - }, - { - "name": "IsKeyUp", - "description": "Check if a key is NOT being pressed", - "returnType": "bool", - "params": { - "key": "int" - } - }, - { - "name": "SetExitKey", - "description": "Set a custom key to exit program (default is ESC)", - "returnType": "void", - "params": { - "key": "int" - } - }, - { - "name": "GetKeyPressed", - "description": "Get key pressed (keycode), call it multiple times for keys queued", - "returnType": "int" - }, - { - "name": "GetCharPressed", - "description": "Get char pressed (unicode), call it multiple times for chars queued", - "returnType": "int" - }, - { - "name": "IsGamepadAvailable", - "description": "Check if a gamepad is available", - "returnType": "bool", - "params": { - "gamepad": "int" - } - }, - { - "name": "IsGamepadName", - "description": "Check gamepad name (if available)", - "returnType": "bool", - "params": { - "gamepad": "int", - "name": "const char *" - } - }, - { - "name": "GetGamepadName", - "description": "Get gamepad internal name id", - "returnType": "const char *", - "params": { - "gamepad": "int" - } - }, - { - "name": "IsGamepadButtonPressed", - "description": "Check if a gamepad button has been pressed once", - "returnType": "bool", - "params": { - "gamepad": "int", - "button": "int" - } - }, - { - "name": "IsGamepadButtonDown", - "description": "Check if a gamepad button is being pressed", - "returnType": "bool", - "params": { - "gamepad": "int", - "button": "int" - } - }, - { - "name": "IsGamepadButtonReleased", - "description": "Check if a gamepad button has been released once", - "returnType": "bool", - "params": { - "gamepad": "int", - "button": "int" - } - }, - { - "name": "IsGamepadButtonUp", - "description": "Check if a gamepad button is NOT being pressed", - "returnType": "bool", - "params": { - "gamepad": "int", - "button": "int" - } - }, - { - "name": "GetGamepadButtonPressed", - "description": "Get the last gamepad button pressed", - "returnType": "int" - }, - { - "name": "GetGamepadAxisCount", - "description": "Get gamepad axis count for a gamepad", - "returnType": "int", - "params": { - "gamepad": "int" - } - }, - { - "name": "GetGamepadAxisMovement", - "description": "Get axis movement value for a gamepad axis", - "returnType": "float", - "params": { - "gamepad": "int", - "axis": "int" - } - }, - { - "name": "SetGamepadMappings", - "description": "Set internal gamepad mappings (SDL_GameControllerDB)", - "returnType": "int", - "params": { - "mappings": "const char *" - } - }, - { - "name": "IsMouseButtonPressed", - "description": "Check if a mouse button has been pressed once", - "returnType": "bool", - "params": { - "button": "int" - } - }, - { - "name": "IsMouseButtonDown", - "description": "Check if a mouse button is being pressed", - "returnType": "bool", - "params": { - "button": "int" - } - }, - { - "name": "IsMouseButtonReleased", - "description": "Check if a mouse button has been released once", - "returnType": "bool", - "params": { - "button": "int" - } - }, - { - "name": "IsMouseButtonUp", - "description": "Check if a mouse button is NOT being pressed", - "returnType": "bool", - "params": { - "button": "int" - } - }, - { - "name": "GetMouseX", - "description": "Get mouse position X", - "returnType": "int" - }, - { - "name": "GetMouseY", - "description": "Get mouse position Y", - "returnType": "int" - }, - { - "name": "GetMousePosition", - "description": "Get mouse position XY", - "returnType": "Vector2" - }, - { - "name": "SetMousePosition", - "description": "Set mouse position XY", - "returnType": "void", - "params": { - "x": "int", - "y": "int" - } - }, - { - "name": "SetMouseOffset", - "description": "Set mouse offset", - "returnType": "void", - "params": { - "offsetX": "int", - "offsetY": "int" - } - }, - { - "name": "SetMouseScale", - "description": "Set mouse scaling", - "returnType": "void", - "params": { - "scaleX": "float", - "scaleY": "float" - } - }, - { - "name": "GetMouseWheelMove", - "description": "Get mouse wheel movement Y", - "returnType": "float" - }, - { - "name": "SetMouseCursor", - "description": "Set mouse cursor", - "returnType": "void", - "params": { - "cursor": "int" - } - }, - { - "name": "GetTouchX", - "description": "Get touch position X for touch point 0 (relative to screen size)", - "returnType": "int" - }, - { - "name": "GetTouchY", - "description": "Get touch position Y for touch point 0 (relative to screen size)", - "returnType": "int" - }, - { - "name": "GetTouchPosition", - "description": "Get touch position XY for a touch point index (relative to screen size)", - "returnType": "Vector2", - "params": { - "index": "int" - } - }, - { - "name": "SetGesturesEnabled", - "description": "Enable a set of gestures using flags", - "returnType": "void", - "params": { - "flags": "unsigned int" - } - }, - { - "name": "IsGestureDetected", - "description": "Check if a gesture have been detected", - "returnType": "bool", - "params": { - "gesture": "int" - } - }, - { - "name": "GetGestureDetected", - "description": "Get latest detected gesture", - "returnType": "int" - }, - { - "name": "GetTouchPointsCount", - "description": "Get touch points count", - "returnType": "int" - }, - { - "name": "GetGestureHoldDuration", - "description": "Get gesture hold time in milliseconds", - "returnType": "float" - }, - { - "name": "GetGestureDragVector", - "description": "Get gesture drag vector", - "returnType": "Vector2" - }, - { - "name": "GetGestureDragAngle", - "description": "Get gesture drag angle", - "returnType": "float" - }, - { - "name": "GetGesturePinchVector", - "description": "Get gesture pinch delta", - "returnType": "Vector2" - }, - { - "name": "GetGesturePinchAngle", - "description": "Get gesture pinch angle", - "returnType": "float" - }, - { - "name": "SetCameraMode", - "description": "Set camera mode (multiple camera modes available)", - "returnType": "void", - "params": { - "camera": "Camera", - "mode": "int" - } - }, - { - "name": "UpdateCamera", - "description": "Update camera position for selected mode", - "returnType": "void", - "params": { - "camera": "Camera *" - } - }, - { - "name": "SetCameraPanControl", - "description": "Set camera pan key to combine with mouse movement (free camera)", - "returnType": "void", - "params": { - "keyPan": "int" - } - }, - { - "name": "SetCameraAltControl", - "description": "Set camera alt key to combine with mouse movement (free camera)", - "returnType": "void", - "params": { - "keyAlt": "int" - } - }, - { - "name": "SetCameraSmoothZoomControl", - "description": "Set camera smooth zoom key to combine with mouse (free camera)", - "returnType": "void", - "params": { - "keySmoothZoom": "int" - } - }, - { - "name": "SetCameraMoveControls", - "description": "Set camera move controls (1st person and 3rd person cameras)", - "returnType": "void", - "params": { - "keyFront": "int", - "keyBack": "int", - "keyRight": "int", - "keyLeft": "int", - "keyUp": "int", - "keyDown": "int" - } - }, - { - "name": "SetShapesTexture", - "description": "Set texture and rectangle to be used on shapes drawing", - "returnType": "void", - "params": { - "texture": "Texture2D", - "source": "Rectangle" - } - }, - { - "name": "DrawPixel", - "description": "Draw a pixel", - "returnType": "void", - "params": { - "posX": "int", - "posY": "int", - "color": "Color" - } - }, - { - "name": "DrawPixelV", - "description": "Draw a pixel (Vector version)", - "returnType": "void", - "params": { - "position": "Vector2", - "color": "Color" - } - }, - { - "name": "DrawLine", - "description": "Draw a line", - "returnType": "void", - "params": { - "startPosX": "int", - "startPosY": "int", - "endPosX": "int", - "endPosY": "int", - "color": "Color" - } - }, - { - "name": "DrawLineV", - "description": "Draw a line (Vector version)", - "returnType": "void", - "params": { - "startPos": "Vector2", - "endPos": "Vector2", - "color": "Color" - } - }, - { - "name": "DrawLineEx", - "description": "Draw a line defining thickness", - "returnType": "void", - "params": { - "startPos": "Vector2", - "endPos": "Vector2", - "thick": "float", - "color": "Color" - } - }, - { - "name": "DrawLineBezier", - "description": "Draw a line using cubic-bezier curves in-out", - "returnType": "void", - "params": { - "startPos": "Vector2", - "endPos": "Vector2", - "thick": "float", - "color": "Color" - } - }, - { - "name": "DrawLineBezierQuad", - "description": "raw line using quadratic bezier curves with a control point", - "returnType": "void", - "params": { - "startPos": "Vector2", - "endPos": "Vector2", - "controlPos": "Vector2", - "thick": "float", - "color": "Color" - } - }, - { - "name": "DrawLineStrip", - "description": "Draw lines sequence", - "returnType": "void", - "params": { - "points": "Vector2 *", - "pointsCount": "int", - "color": "Color" - } - }, - { - "name": "DrawCircle", - "description": "Draw a color-filled circle", - "returnType": "void", - "params": { - "centerX": "int", - "centerY": "int", - "radius": "float", - "color": "Color" - } - }, - { - "name": "DrawCircleSector", - "description": "Draw a piece of a circle", - "returnType": "void", - "params": { - "center": "Vector2", - "radius": "float", - "startAngle": "float", - "endAngle": "float", - "segments": "int", - "color": "Color" - } - }, - { - "name": "DrawCircleSectorLines", - "description": "Draw circle sector outline", - "returnType": "void", - "params": { - "center": "Vector2", - "radius": "float", - "startAngle": "float", - "endAngle": "float", - "segments": "int", - "color": "Color" - } - }, - { - "name": "DrawCircleGradient", - "description": "Draw a gradient-filled circle", - "returnType": "void", - "params": { - "centerX": "int", - "centerY": "int", - "radius": "float", - "color1": "Color", - "color2": "Color" - } - }, - { - "name": "DrawCircleV", - "description": "Draw a color-filled circle (Vector version)", - "returnType": "void", - "params": { - "center": "Vector2", - "radius": "float", - "color": "Color" - } - }, - { - "name": "DrawCircleLines", - "description": "Draw circle outline", - "returnType": "void", - "params": { - "centerX": "int", - "centerY": "int", - "radius": "float", - "color": "Color" - } - }, - { - "name": "DrawEllipse", - "description": "Draw ellipse", - "returnType": "void", - "params": { - "centerX": "int", - "centerY": "int", - "radiusH": "float", - "radiusV": "float", - "color": "Color" - } - }, - { - "name": "DrawEllipseLines", - "description": "Draw ellipse outline", - "returnType": "void", - "params": { - "centerX": "int", - "centerY": "int", - "radiusH": "float", - "radiusV": "float", - "color": "Color" - } - }, - { - "name": "DrawRing", - "description": "Draw ring", - "returnType": "void", - "params": { - "center": "Vector2", - "innerRadius": "float", - "outerRadius": "float", - "startAngle": "float", - "endAngle": "float", - "segments": "int", - "color": "Color" - } - }, - { - "name": "DrawRingLines", - "description": "Draw ring outline", - "returnType": "void", - "params": { - "center": "Vector2", - "innerRadius": "float", - "outerRadius": "float", - "startAngle": "float", - "endAngle": "float", - "segments": "int", - "color": "Color" - } - }, - { - "name": "DrawRectangle", - "description": "Draw a color-filled rectangle", - "returnType": "void", - "params": { - "posX": "int", - "posY": "int", - "width": "int", - "height": "int", - "color": "Color" - } - }, - { - "name": "DrawRectangleV", - "description": "Draw a color-filled rectangle (Vector version)", - "returnType": "void", - "params": { - "position": "Vector2", - "size": "Vector2", - "color": "Color" - } - }, - { - "name": "DrawRectangleRec", - "description": "Draw a color-filled rectangle", - "returnType": "void", - "params": { - "rec": "Rectangle", - "color": "Color" - } - }, - { - "name": "DrawRectanglePro", - "description": "Draw a color-filled rectangle with pro parameters", - "returnType": "void", - "params": { - "rec": "Rectangle", - "origin": "Vector2", - "rotation": "float", - "color": "Color" - } - }, - { - "name": "DrawRectangleGradientV", - "description": "Draw a vertical-gradient-filled rectangle", - "returnType": "void", - "params": { - "posX": "int", - "posY": "int", - "width": "int", - "height": "int", - "color1": "Color", - "color2": "Color" - } - }, - { - "name": "DrawRectangleGradientH", - "description": "Draw a horizontal-gradient-filled rectangle", - "returnType": "void", - "params": { - "posX": "int", - "posY": "int", - "width": "int", - "height": "int", - "color1": "Color", - "color2": "Color" - } - }, - { - "name": "DrawRectangleGradientEx", - "description": "Draw a gradient-filled rectangle with custom vertex colors", - "returnType": "void", - "params": { - "rec": "Rectangle", - "col1": "Color", - "col2": "Color", - "col3": "Color", - "col4": "Color" - } - }, - { - "name": "DrawRectangleLines", - "description": "Draw rectangle outline", - "returnType": "void", - "params": { - "posX": "int", - "posY": "int", - "width": "int", - "height": "int", - "color": "Color" - } - }, - { - "name": "DrawRectangleLinesEx", - "description": "Draw rectangle outline with extended parameters", - "returnType": "void", - "params": { - "rec": "Rectangle", - "lineThick": "float", - "color": "Color" - } - }, - { - "name": "DrawRectangleRounded", - "description": "Draw rectangle with rounded edges", - "returnType": "void", - "params": { - "rec": "Rectangle", - "roundness": "float", - "segments": "int", - "color": "Color" - } - }, - { - "name": "DrawRectangleRoundedLines", - "description": "Draw rectangle with rounded edges outline", - "returnType": "void", - "params": { - "rec": "Rectangle", - "roundness": "float", - "segments": "int", - "lineThick": "float", - "color": "Color" - } - }, - { - "name": "DrawTriangle", - "description": "Draw a color-filled triangle (vertex in counter-clockwise order!)", - "returnType": "void", - "params": { - "v1": "Vector2", - "v2": "Vector2", - "v3": "Vector2", - "color": "Color" - } - }, - { - "name": "DrawTriangleLines", - "description": "Draw triangle outline (vertex in counter-clockwise order!)", - "returnType": "void", - "params": { - "v1": "Vector2", - "v2": "Vector2", - "v3": "Vector2", - "color": "Color" - } - }, - { - "name": "DrawTriangleFan", - "description": "Draw a triangle fan defined by points (first vertex is the center)", - "returnType": "void", - "params": { - "points": "Vector2 *", - "pointsCount": "int", - "color": "Color" - } - }, - { - "name": "DrawTriangleStrip", - "description": "Draw a triangle strip defined by points", - "returnType": "void", - "params": { - "points": "Vector2 *", - "pointsCount": "int", - "color": "Color" - } - }, - { - "name": "DrawPoly", - "description": "Draw a regular polygon (Vector version)", - "returnType": "void", - "params": { - "center": "Vector2", - "sides": "int", - "radius": "float", - "rotation": "float", - "color": "Color" - } - }, - { - "name": "DrawPolyLines", - "description": "Draw a polygon outline of n sides", - "returnType": "void", - "params": { - "center": "Vector2", - "sides": "int", - "radius": "float", - "rotation": "float", - "color": "Color" - } - }, - { - "name": "DrawPolyLinesEx", - "description": "Draw a polygon outline of n sides with extended parameters", - "returnType": "void", - "params": { - "center": "Vector2", - "sides": "int", - "radius": "float", - "rotation": "float", - "lineThick": "float", - "color": "Color" - } - }, - { - "name": "CheckCollisionRecs", - "description": "Check collision between two rectangles", - "returnType": "bool", - "params": { - "rec1": "Rectangle", - "rec2": "Rectangle" - } - }, - { - "name": "CheckCollisionCircles", - "description": "Check collision between two circles", - "returnType": "bool", - "params": { - "center1": "Vector2", - "radius1": "float", - "center2": "Vector2", - "radius2": "float" - } - }, - { - "name": "CheckCollisionCircleRec", - "description": "Check collision between circle and rectangle", - "returnType": "bool", - "params": { - "center": "Vector2", - "radius": "float", - "rec": "Rectangle" - } - }, - { - "name": "CheckCollisionPointRec", - "description": "Check if point is inside rectangle", - "returnType": "bool", - "params": { - "point": "Vector2", - "rec": "Rectangle" - } - }, - { - "name": "CheckCollisionPointCircle", - "description": "Check if point is inside circle", - "returnType": "bool", - "params": { - "point": "Vector2", - "center": "Vector2", - "radius": "float" - } - }, - { - "name": "CheckCollisionPointTriangle", - "description": "Check if point is inside a triangle", - "returnType": "bool", - "params": { - "point": "Vector2", - "p1": "Vector2", - "p2": "Vector2", - "p3": "Vector2" - } - }, - { - "name": "CheckCollisionLines", - "description": "Check the collision between two lines defined by two points each, returns collision point by reference", - "returnType": "bool", - "params": { - "startPos1": "Vector2", - "endPos1": "Vector2", - "startPos2": "Vector2", - "endPos2": "Vector2", - "collisionPoint": "Vector2 *" - } - }, - { - "name": "GetCollisionRec", - "description": "Get collision rectangle for two rectangles collision", - "returnType": "Rectangle", - "params": { - "rec1": "Rectangle", - "rec2": "Rectangle" - } - }, - { - "name": "LoadImage", - "description": "Load image from file into CPU memory (RAM)", - "returnType": "Image", - "params": { - "fileName": "const char *" - } - }, - { - "name": "LoadImageRaw", - "description": "Load image from RAW file data", - "returnType": "Image", - "params": { - "fileName": "const char *", - "width": "int", - "height": "int", - "format": "int", - "headerSize": "int" - } - }, - { - "name": "LoadImageAnim", - "description": "Load image sequence from file (frames appended to image.data)", - "returnType": "Image", - "params": { - "fileName": "const char *", - "frames": "int *" - } - }, - { - "name": "LoadImageFromMemory", - "description": "Load image from memory buffer, fileType refers to extension: i.e. '.png'", - "returnType": "Image", - "params": { - "fileType": "const char *", - "fileData": "const unsigned char *", - "dataSize": "int" - } - }, - { - "name": "UnloadImage", - "description": "Unload image from CPU memory (RAM)", - "returnType": "void", - "params": { - "image": "Image" - } - }, - { - "name": "ExportImage", - "description": "Export image data to file, returns true on success", - "returnType": "bool", - "params": { - "image": "Image", - "fileName": "const char *" - } - }, - { - "name": "ExportImageAsCode", - "description": "Export image as code file defining an array of bytes, returns true on success", - "returnType": "bool", - "params": { - "image": "Image", - "fileName": "const char *" - } - }, - { - "name": "GenImageColor", - "description": "Generate image: plain color", - "returnType": "Image", - "params": { - "width": "int", - "height": "int", - "color": "Color" - } - }, - { - "name": "GenImageGradientV", - "description": "Generate image: vertical gradient", - "returnType": "Image", - "params": { - "width": "int", - "height": "int", - "top": "Color", - "bottom": "Color" - } - }, - { - "name": "GenImageGradientH", - "description": "Generate image: horizontal gradient", - "returnType": "Image", - "params": { - "width": "int", - "height": "int", - "left": "Color", - "right": "Color" - } - }, - { - "name": "GenImageGradientRadial", - "description": "Generate image: radial gradient", - "returnType": "Image", - "params": { - "width": "int", - "height": "int", - "density": "float", - "inner": "Color", - "outer": "Color" - } - }, - { - "name": "GenImageChecked", - "description": "Generate image: checked", - "returnType": "Image", - "params": { - "width": "int", - "height": "int", - "checksX": "int", - "checksY": "int", - "col1": "Color", - "col2": "Color" - } - }, - { - "name": "GenImageWhiteNoise", - "description": "Generate image: white noise", - "returnType": "Image", - "params": { - "width": "int", - "height": "int", - "factor": "float" - } - }, - { - "name": "GenImagePerlinNoise", - "description": "Generate image: perlin noise", - "returnType": "Image", - "params": { - "width": "int", - "height": "int", - "offsetX": "int", - "offsetY": "int", - "scale": "float" - } - }, - { - "name": "GenImageCellular", - "description": "Generate image: cellular algorithm. Bigger tileSize means bigger cells", - "returnType": "Image", - "params": { - "width": "int", - "height": "int", - "tileSize": "int" - } - }, - { - "name": "ImageCopy", - "description": "Create an image duplicate (useful for transformations)", - "returnType": "Image", - "params": { - "image": "Image" - } - }, - { - "name": "ImageFromImage", - "description": "Create an image from another image piece", - "returnType": "Image", - "params": { - "image": "Image", - "rec": "Rectangle" - } - }, - { - "name": "ImageText", - "description": "Create an image from text (default font)", - "returnType": "Image", - "params": { - "text": "const char *", - "fontSize": "int", - "color": "Color" - } - }, - { - "name": "ImageTextEx", - "description": "Create an image from text (custom sprite font)", - "returnType": "Image", - "params": { - "font": "Font", - "text": "const char *", - "fontSize": "float", - "spacing": "float", - "tint": "Color" - } - }, - { - "name": "ImageFormat", - "description": "Convert image data to desired format", - "returnType": "void", - "params": { - "image": "Image *", - "newFormat": "int" - } - }, - { - "name": "ImageToPOT", - "description": "Convert image to POT (power-of-two)", - "returnType": "void", - "params": { - "image": "Image *", - "fill": "Color" - } - }, - { - "name": "ImageCrop", - "description": "Crop an image to a defined rectangle", - "returnType": "void", - "params": { - "image": "Image *", - "crop": "Rectangle" - } - }, - { - "name": "ImageAlphaCrop", - "description": "Crop image depending on alpha value", - "returnType": "void", - "params": { - "image": "Image *", - "threshold": "float" - } - }, - { - "name": "ImageAlphaClear", - "description": "Clear alpha channel to desired color", - "returnType": "void", - "params": { - "image": "Image *", - "color": "Color", - "threshold": "float" - } - }, - { - "name": "ImageAlphaMask", - "description": "Apply alpha mask to image", - "returnType": "void", - "params": { - "image": "Image *", - "alphaMask": "Image" - } - }, - { - "name": "ImageAlphaPremultiply", - "description": "Premultiply alpha channel", - "returnType": "void", - "params": { - "image": "Image *" - } - }, - { - "name": "ImageResize", - "description": "Resize image (Bicubic scaling algorithm)", - "returnType": "void", - "params": { - "image": "Image *", - "newWidth": "int", - "newHeight": "int" - } - }, - { - "name": "ImageResizeNN", - "description": "Resize image (Nearest-Neighbor scaling algorithm)", - "returnType": "void", - "params": { - "image": "Image *", - "newWidth": "int", - "newHeight": "int" - } - }, - { - "name": "ImageResizeCanvas", - "description": "Resize canvas and fill with color", - "returnType": "void", - "params": { - "image": "Image *", - "newWidth": "int", - "newHeight": "int", - "offsetX": "int", - "offsetY": "int", - "fill": "Color" - } - }, - { - "name": "ImageMipmaps", - "description": "Compute all mipmap levels for a provided image", - "returnType": "void", - "params": { - "image": "Image *" - } - }, - { - "name": "ImageDither", - "description": "Dither image data to 16bpp or lower (Floyd-Steinberg dithering)", - "returnType": "void", - "params": { - "image": "Image *", - "rBpp": "int", - "gBpp": "int", - "bBpp": "int", - "aBpp": "int" - } - }, - { - "name": "ImageFlipVertical", - "description": "Flip image vertically", - "returnType": "void", - "params": { - "image": "Image *" - } - }, - { - "name": "ImageFlipHorizontal", - "description": "Flip image horizontally", - "returnType": "void", - "params": { - "image": "Image *" - } - }, - { - "name": "ImageRotateCW", - "description": "Rotate image clockwise 90deg", - "returnType": "void", - "params": { - "image": "Image *" - } - }, - { - "name": "ImageRotateCCW", - "description": "Rotate image counter-clockwise 90deg", - "returnType": "void", - "params": { - "image": "Image *" - } - }, - { - "name": "ImageColorTint", - "description": "Modify image color: tint", - "returnType": "void", - "params": { - "image": "Image *", - "color": "Color" - } - }, - { - "name": "ImageColorInvert", - "description": "Modify image color: invert", - "returnType": "void", - "params": { - "image": "Image *" - } - }, - { - "name": "ImageColorGrayscale", - "description": "Modify image color: grayscale", - "returnType": "void", - "params": { - "image": "Image *" - } - }, - { - "name": "ImageColorContrast", - "description": "Modify image color: contrast (-100 to 100)", - "returnType": "void", - "params": { - "image": "Image *", - "contrast": "float" - } - }, - { - "name": "ImageColorBrightness", - "description": "Modify image color: brightness (-255 to 255)", - "returnType": "void", - "params": { - "image": "Image *", - "brightness": "int" - } - }, - { - "name": "ImageColorReplace", - "description": "Modify image color: replace color", - "returnType": "void", - "params": { - "image": "Image *", - "color": "Color", - "replace": "Color" - } - }, - { - "name": "LoadImageColors", - "description": "Load color data from image as a Color array (RGBA - 32bit)", - "returnType": "Color *", - "params": { - "image": "Image" - } - }, - { - "name": "LoadImagePalette", - "description": "Load colors palette from image as a Color array (RGBA - 32bit)", - "returnType": "Color *", - "params": { - "image": "Image", - "maxPaletteSize": "int", - "colorsCount": "int *" - } - }, - { - "name": "UnloadImageColors", - "description": "Unload color data loaded with LoadImageColors()", - "returnType": "void", - "params": { - "colors": "Color *" - } - }, - { - "name": "UnloadImagePalette", - "description": "Unload colors palette loaded with LoadImagePalette()", - "returnType": "void", - "params": { - "colors": "Color *" - } - }, - { - "name": "GetImageAlphaBorder", - "description": "Get image alpha border rectangle", - "returnType": "Rectangle", - "params": { - "image": "Image", - "threshold": "float" - } - }, - { - "name": "ImageClearBackground", - "description": "Clear image background with given color", - "returnType": "void", - "params": { - "dst": "Image *", - "color": "Color" - } - }, - { - "name": "ImageDrawPixel", - "description": "Draw pixel within an image", - "returnType": "void", - "params": { - "dst": "Image *", - "posX": "int", - "posY": "int", - "color": "Color" - } - }, - { - "name": "ImageDrawPixelV", - "description": "Draw pixel within an image (Vector version)", - "returnType": "void", - "params": { - "dst": "Image *", - "position": "Vector2", - "color": "Color" - } - }, - { - "name": "ImageDrawLine", - "description": "Draw line within an image", - "returnType": "void", - "params": { - "dst": "Image *", - "startPosX": "int", - "startPosY": "int", - "endPosX": "int", - "endPosY": "int", - "color": "Color" - } - }, - { - "name": "ImageDrawLineV", - "description": "Draw line within an image (Vector version)", - "returnType": "void", - "params": { - "dst": "Image *", - "start": "Vector2", - "end": "Vector2", - "color": "Color" - } - }, - { - "name": "ImageDrawCircle", - "description": "Draw circle within an image", - "returnType": "void", - "params": { - "dst": "Image *", - "centerX": "int", - "centerY": "int", - "radius": "int", - "color": "Color" - } - }, - { - "name": "ImageDrawCircleV", - "description": "Draw circle within an image (Vector version)", - "returnType": "void", - "params": { - "dst": "Image *", - "center": "Vector2", - "radius": "int", - "color": "Color" - } - }, - { - "name": "ImageDrawRectangle", - "description": "Draw rectangle within an image", - "returnType": "void", - "params": { - "dst": "Image *", - "posX": "int", - "posY": "int", - "width": "int", - "height": "int", - "color": "Color" - } - }, - { - "name": "ImageDrawRectangleV", - "description": "Draw rectangle within an image (Vector version)", - "returnType": "void", - "params": { - "dst": "Image *", - "position": "Vector2", - "size": "Vector2", - "color": "Color" - } - }, - { - "name": "ImageDrawRectangleRec", - "description": "Draw rectangle within an image", - "returnType": "void", - "params": { - "dst": "Image *", - "rec": "Rectangle", - "color": "Color" - } - }, - { - "name": "ImageDrawRectangleLines", - "description": "Draw rectangle lines within an image", - "returnType": "void", - "params": { - "dst": "Image *", - "rec": "Rectangle", - "thick": "int", - "color": "Color" - } - }, - { - "name": "ImageDraw", - "description": "Draw a source image within a destination image (tint applied to source)", - "returnType": "void", - "params": { - "dst": "Image *", - "src": "Image", - "srcRec": "Rectangle", - "dstRec": "Rectangle", - "tint": "Color" - } - }, - { - "name": "ImageDrawText", - "description": "Draw text (using default font) within an image (destination)", - "returnType": "void", - "params": { - "dst": "Image *", - "text": "const char *", - "posX": "int", - "posY": "int", - "fontSize": "int", - "color": "Color" - } - }, - { - "name": "ImageDrawTextEx", - "description": "Draw text (custom sprite font) within an image (destination)", - "returnType": "void", - "params": { - "dst": "Image *", - "font": "Font", - "text": "const char *", - "position": "Vector2", - "fontSize": "float", - "spacing": "float", - "tint": "Color" - } - }, - { - "name": "LoadTexture", - "description": "Load texture from file into GPU memory (VRAM)", - "returnType": "Texture2D", - "params": { - "fileName": "const char *" - } - }, - { - "name": "LoadTextureFromImage", - "description": "Load texture from image data", - "returnType": "Texture2D", - "params": { - "image": "Image" - } - }, - { - "name": "LoadTextureCubemap", - "description": "Load cubemap from image, multiple image cubemap layouts supported", - "returnType": "TextureCubemap", - "params": { - "image": "Image", - "layout": "int" - } - }, - { - "name": "LoadRenderTexture", - "description": "Load texture for rendering (framebuffer)", - "returnType": "RenderTexture2D", - "params": { - "width": "int", - "height": "int" - } - }, - { - "name": "UnloadTexture", - "description": "Unload texture from GPU memory (VRAM)", - "returnType": "void", - "params": { - "texture": "Texture2D" - } - }, - { - "name": "UnloadRenderTexture", - "description": "Unload render texture from GPU memory (VRAM)", - "returnType": "void", - "params": { - "target": "RenderTexture2D" - } - }, - { - "name": "UpdateTexture", - "description": "Update GPU texture with new data", - "returnType": "void", - "params": { - "texture": "Texture2D", - "pixels": "const void *" - } - }, - { - "name": "UpdateTextureRec", - "description": "Update GPU texture rectangle with new data", - "returnType": "void", - "params": { - "texture": "Texture2D", - "rec": "Rectangle", - "pixels": "const void *" - } - }, - { - "name": "GetTextureData", - "description": "Get pixel data from GPU texture and return an Image", - "returnType": "Image", - "params": { - "texture": "Texture2D" - } - }, - { - "name": "GetScreenData", - "description": "Get pixel data from screen buffer and return an Image (screenshot)", - "returnType": "Image" - }, - { - "name": "GenTextureMipmaps", - "description": "Generate GPU mipmaps for a texture", - "returnType": "void", - "params": { - "texture": "Texture2D *" - } - }, - { - "name": "SetTextureFilter", - "description": "Set texture scaling filter mode", - "returnType": "void", - "params": { - "texture": "Texture2D", - "filter": "int" - } - }, - { - "name": "SetTextureWrap", - "description": "Set texture wrapping mode", - "returnType": "void", - "params": { - "texture": "Texture2D", - "wrap": "int" - } - }, - { - "name": "DrawTexture", - "description": "Draw a Texture2D", - "returnType": "void", - "params": { - "texture": "Texture2D", - "posX": "int", - "posY": "int", - "tint": "Color" - } - }, - { - "name": "DrawTextureV", - "description": "Draw a Texture2D with position defined as Vector2", - "returnType": "void", - "params": { - "texture": "Texture2D", - "position": "Vector2", - "tint": "Color" - } - }, - { - "name": "DrawTextureEx", - "description": "Draw a Texture2D with extended parameters", - "returnType": "void", - "params": { - "texture": "Texture2D", - "position": "Vector2", - "rotation": "float", - "scale": "float", - "tint": "Color" - } - }, - { - "name": "DrawTextureRec", - "description": "Draw a part of a texture defined by a rectangle", - "returnType": "void", - "params": { - "texture": "Texture2D", - "source": "Rectangle", - "position": "Vector2", - "tint": "Color" - } - }, - { - "name": "DrawTextureQuad", - "description": "Draw texture quad with tiling and offset parameters", - "returnType": "void", - "params": { - "texture": "Texture2D", - "tiling": "Vector2", - "offset": "Vector2", - "quad": "Rectangle", - "tint": "Color" - } - }, - { - "name": "DrawTextureTiled", - "description": "Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest.", - "returnType": "void", - "params": { - "texture": "Texture2D", - "source": "Rectangle", - "dest": "Rectangle", - "origin": "Vector2", - "rotation": "float", - "scale": "float", - "tint": "Color" - } - }, - { - "name": "DrawTexturePro", - "description": "Draw a part of a texture defined by a rectangle with 'pro' parameters", - "returnType": "void", - "params": { - "texture": "Texture2D", - "source": "Rectangle", - "dest": "Rectangle", - "origin": "Vector2", - "rotation": "float", - "tint": "Color" - } - }, - { - "name": "DrawTextureNPatch", - "description": "Draws a texture (or part of it) that stretches or shrinks nicely", - "returnType": "void", - "params": { - "texture": "Texture2D", - "nPatchInfo": "NPatchInfo", - "dest": "Rectangle", - "origin": "Vector2", - "rotation": "float", - "tint": "Color" - } - }, - { - "name": "DrawTexturePoly", - "description": "Draw a textured polygon", - "returnType": "void", - "params": { - "texture": "Texture2D", - "center": "Vector2", - "points": "Vector2 *", - "texcoords": "Vector2 *", - "pointsCount": "int", - "tint": "Color" - } - }, - { - "name": "Fade", - "description": "Get color with alpha applied, alpha goes from 0.0f to 1.0f", - "returnType": "Color", - "params": { - "color": "Color", - "alpha": "float" - } - }, - { - "name": "ColorToInt", - "description": "Get hexadecimal value for a Color", - "returnType": "int", - "params": { - "color": "Color" - } - }, - { - "name": "ColorNormalize", - "description": "Get Color normalized as float [0..1]", - "returnType": "Vector4", - "params": { - "color": "Color" - } - }, - { - "name": "ColorFromNormalized", - "description": "Get Color from normalized values [0..1]", - "returnType": "Color", - "params": { - "normalized": "Vector4" - } - }, - { - "name": "ColorToHSV", - "description": "Get HSV values for a Color, hue [0..360], saturation/value [0..1]", - "returnType": "Vector3", - "params": { - "color": "Color" - } - }, - { - "name": "ColorFromHSV", - "description": "Get a Color from HSV values, hue [0..360], saturation/value [0..1]", - "returnType": "Color", - "params": { - "hue": "float", - "saturation": "float", - "value": "float" - } - }, - { - "name": "ColorAlpha", - "description": "Get color with alpha applied, alpha goes from 0.0f to 1.0f", - "returnType": "Color", - "params": { - "color": "Color", - "alpha": "float" - } - }, - { - "name": "ColorAlphaBlend", - "description": "Get src alpha-blended into dst color with tint", - "returnType": "Color", - "params": { - "dst": "Color", - "src": "Color", - "tint": "Color" - } - }, - { - "name": "GetColor", - "description": "Get Color structure from hexadecimal value", - "returnType": "Color", - "params": { - "hexValue": "int" - } - }, - { - "name": "GetPixelColor", - "description": "Get Color from a source pixel pointer of certain format", - "returnType": "Color", - "params": { - "srcPtr": "void *", - "format": "int" - } - }, - { - "name": "SetPixelColor", - "description": "Set color formatted into destination pixel pointer", - "returnType": "void", - "params": { - "dstPtr": "void *", - "color": "Color", - "format": "int" - } - }, - { - "name": "GetPixelDataSize", - "description": "Get pixel data size in bytes for certain format", - "returnType": "int", - "params": { - "width": "int", - "height": "int", - "format": "int" - } - }, - { - "name": "GetFontDefault", - "description": "Get the default Font", - "returnType": "Font" - }, - { - "name": "LoadFont", - "description": "Load font from file into GPU memory (VRAM)", - "returnType": "Font", - "params": { - "fileName": "const char *" - } - }, - { - "name": "LoadFontEx", - "description": "Load font from file with extended parameters", - "returnType": "Font", - "params": { - "fileName": "const char *", - "fontSize": "int", - "fontChars": "int *", - "charsCount": "int" - } - }, - { - "name": "LoadFontFromImage", - "description": "Load font from Image (XNA style)", - "returnType": "Font", - "params": { - "image": "Image", - "key": "Color", - "firstChar": "int" - } - }, - { - "name": "LoadFontFromMemory", - "description": "Load font from memory buffer, fileType refers to extension: i.e. '.ttf'", - "returnType": "Font", - "params": { - "fileType": "const char *", - "fileData": "const unsigned char *", - "dataSize": "int", - "fontSize": "int", - "fontChars": "int *", - "charsCount": "int" - } - }, - { - "name": "LoadFontData", - "description": "Load font data for further use", - "returnType": "CharInfo *", - "params": { - "fileData": "const unsigned char *", - "dataSize": "int", - "fontSize": "int", - "fontChars": "int *", - "charsCount": "int", - "type": "int" - } - }, - { - "name": "GenImageFontAtlas", - "description": "Generate image font atlas using chars info", - "returnType": "Image", - "params": { - "chars": "const CharInfo *", - "recs": "Rectangle **", - "charsCount": "int", - "fontSize": "int", - "padding": "int", - "packMethod": "int" - } - }, - { - "name": "UnloadFontData", - "description": "Unload font chars info data (RAM)", - "returnType": "void", - "params": { - "chars": "CharInfo *", - "charsCount": "int" - } - }, - { - "name": "UnloadFont", - "description": "Unload Font from GPU memory (VRAM)", - "returnType": "void", - "params": { - "font": "Font" - } - }, - { - "name": "DrawFPS", - "description": "Draw current FPS", - "returnType": "void", - "params": { - "posX": "int", - "posY": "int" - } - }, - { - "name": "DrawText", - "description": "Draw text (using default font)", - "returnType": "void", - "params": { - "text": "const char *", - "posX": "int", - "posY": "int", - "fontSize": "int", - "color": "Color" - } - }, - { - "name": "DrawTextEx", - "description": "Draw text using font and additional parameters", - "returnType": "void", - "params": { - "font": "Font", - "text": "const char *", - "position": "Vector2", - "fontSize": "float", - "spacing": "float", - "tint": "Color" - } - }, - { - "name": "DrawTextRec", - "description": "Draw text using font inside rectangle limits", - "returnType": "void", - "params": { - "font": "Font", - "text": "const char *", - "rec": "Rectangle", - "fontSize": "float", - "spacing": "float", - "wordWrap": "bool", - "tint": "Color" - } - }, - { - "name": "DrawTextRecEx", - "description": "Draw text using font inside rectangle limits with support for text selection", - "returnType": "void", - "params": { - "font": "Font", - "text": "const char *", - "rec": "Rectangle", - "fontSize": "float", - "spacing": "float", - "wordWrap": "bool", - "tint": "Color", - "selectStart": "int", - "selectLength": "int", - "selectTint": "Color", - "selectBackTint": "Color" - } - }, - { - "name": "DrawTextCodepoint", - "description": "Draw one character (codepoint)", - "returnType": "void", - "params": { - "font": "Font", - "codepoint": "int", - "position": "Vector2", - "fontSize": "float", - "tint": "Color" - } - }, - { - "name": "MeasureText", - "description": "Measure string width for default font", - "returnType": "int", - "params": { - "text": "const char *", - "fontSize": "int" - } - }, - { - "name": "MeasureTextEx", - "description": "Measure string size for Font", - "returnType": "Vector2", - "params": { - "font": "Font", - "text": "const char *", - "fontSize": "float", - "spacing": "float" - } - }, - { - "name": "GetGlyphIndex", - "description": "Get index position for a unicode character on font", - "returnType": "int", - "params": { - "font": "Font", - "codepoint": "int" - } - }, - { - "name": "TextCopy", - "description": "Copy one string to another, returns bytes copied", - "returnType": "int", - "params": { - "dst": "char *", - "src": "const char *" - } - }, - { - "name": "TextIsEqual", - "description": "Check if two text string are equal", - "returnType": "bool", - "params": { - "text1": "const char *", - "text2": "const char *" - } - }, - { - "name": "TextLength", - "description": "Get text length, checks for ' 0' ending", - "returnType": "unsigned int", - "params": { - "text": "const char *" - } - }, - { - "name": "TextFormat", - "description": "Text formatting with variables (sprintf style)", - "returnType": "const char *", - "params": { - "text": "const char *", - "": "" - } - }, - { - "name": "TextSubtext", - "description": "Get a piece of a text string", - "returnType": "const char *", - "params": { - "text": "const char *", - "position": "int", - "length": "int" - } - }, - { - "name": "TextReplace", - "description": "Replace text string (memory must be freed!)", - "returnType": "char *", - "params": { - "text": "char *", - "replace": "const char *", - "by": "const char *" - } - }, - { - "name": "TextInsert", - "description": "Insert text in a position (memory must be freed!)", - "returnType": "char *", - "params": { - "text": "const char *", - "insert": "const char *", - "position": "int" - } - }, - { - "name": "TextJoin", - "description": "Join text strings with delimiter", - "returnType": "const char *", - "params": { - "textList": "const char **", - "count": "int", - "delimiter": "const char *" - } - }, - { - "name": "TextSplit", - "description": "Split text into multiple strings", - "returnType": "const char **", - "params": { - "text": "const char *", - "delimiter": "char", - "count": "int *" - } - }, - { - "name": "TextAppend", - "description": "Append text at specific position and move cursor!", - "returnType": "void", - "params": { - "text": "char *", - "append": "const char *", - "position": "int *" - } - }, - { - "name": "TextFindIndex", - "description": "Find first text occurrence within a string", - "returnType": "int", - "params": { - "text": "const char *", - "find": "const char *" - } - }, - { - "name": "TextToUpper", - "description": "Get upper case version of provided string", - "returnType": "const char *", - "params": { - "text": "const char *" - } - }, - { - "name": "TextToLower", - "description": "Get lower case version of provided string", - "returnType": "const char *", - "params": { - "text": "const char *" - } - }, - { - "name": "TextToPascal", - "description": "Get Pascal case notation version of provided string", - "returnType": "const char *", - "params": { - "text": "const char *" - } - }, - { - "name": "TextToInteger", - "description": "Get integer value from text (negative values not supported)", - "returnType": "int", - "params": { - "text": "const char *" - } - }, - { - "name": "TextToUtf8", - "description": "Encode text codepoint into utf8 text (memory must be freed!)", - "returnType": "char *", - "params": { - "codepoints": "int *", - "length": "int" - } - }, - { - "name": "GetCodepoints", - "description": "Get all codepoints in a string, codepoints count returned by parameters", - "returnType": "int *", - "params": { - "text": "const char *", - "count": "int *" - } - }, - { - "name": "GetCodepointsCount", - "description": "Get total number of characters (codepoints) in a UTF8 encoded string", - "returnType": "int", - "params": { - "text": "const char *" - } - }, - { - "name": "GetNextCodepoint", - "description": "Get next codepoint in a UTF8 encoded string; 0x3f('?') is returned on failure", - "returnType": "int", - "params": { - "text": "const char *", - "bytesProcessed": "int *" - } - }, - { - "name": "CodepointToUtf8", - "description": "Encode codepoint into utf8 text (char array length returned as parameter)", - "returnType": "const char *", - "params": { - "codepoint": "int", - "byteLength": "int *" - } - }, - { - "name": "DrawLine3D", - "description": "Draw a line in 3D world space", - "returnType": "void", - "params": { - "startPos": "Vector3", - "endPos": "Vector3", - "color": "Color" - } - }, - { - "name": "DrawPoint3D", - "description": "Draw a point in 3D space, actually a small line", - "returnType": "void", - "params": { - "position": "Vector3", - "color": "Color" - } - }, - { - "name": "DrawCircle3D", - "description": "Draw a circle in 3D world space", - "returnType": "void", - "params": { - "center": "Vector3", - "radius": "float", - "rotationAxis": "Vector3", - "rotationAngle": "float", - "color": "Color" - } - }, - { - "name": "DrawTriangle3D", - "description": "Draw a color-filled triangle (vertex in counter-clockwise order!)", - "returnType": "void", - "params": { - "v1": "Vector3", - "v2": "Vector3", - "v3": "Vector3", - "color": "Color" - } - }, - { - "name": "DrawTriangleStrip3D", - "description": "Draw a triangle strip defined by points", - "returnType": "void", - "params": { - "points": "Vector3 *", - "pointsCount": "int", - "color": "Color" - } - }, - { - "name": "DrawCube", - "description": "Draw cube", - "returnType": "void", - "params": { - "position": "Vector3", - "width": "float", - "height": "float", - "length": "float", - "color": "Color" - } - }, - { - "name": "DrawCubeV", - "description": "Draw cube (Vector version)", - "returnType": "void", - "params": { - "position": "Vector3", - "size": "Vector3", - "color": "Color" - } - }, - { - "name": "DrawCubeWires", - "description": "Draw cube wires", - "returnType": "void", - "params": { - "position": "Vector3", - "width": "float", - "height": "float", - "length": "float", - "color": "Color" - } - }, - { - "name": "DrawCubeWiresV", - "description": "Draw cube wires (Vector version)", - "returnType": "void", - "params": { - "position": "Vector3", - "size": "Vector3", - "color": "Color" - } - }, - { - "name": "DrawCubeTexture", - "description": "Draw cube textured", - "returnType": "void", - "params": { - "texture": "Texture2D", - "position": "Vector3", - "width": "float", - "height": "float", - "length": "float", - "color": "Color" - } - }, - { - "name": "DrawSphere", - "description": "Draw sphere", - "returnType": "void", - "params": { - "centerPos": "Vector3", - "radius": "float", - "color": "Color" - } - }, - { - "name": "DrawSphereEx", - "description": "Draw sphere with extended parameters", - "returnType": "void", - "params": { - "centerPos": "Vector3", - "radius": "float", - "rings": "int", - "slices": "int", - "color": "Color" - } - }, - { - "name": "DrawSphereWires", - "description": "Draw sphere wires", - "returnType": "void", - "params": { - "centerPos": "Vector3", - "radius": "float", - "rings": "int", - "slices": "int", - "color": "Color" - } - }, - { - "name": "DrawCylinder", - "description": "Draw a cylinder/cone", - "returnType": "void", - "params": { - "position": "Vector3", - "radiusTop": "float", - "radiusBottom": "float", - "height": "float", - "slices": "int", - "color": "Color" - } - }, - { - "name": "DrawCylinderWires", - "description": "Draw a cylinder/cone wires", - "returnType": "void", - "params": { - "position": "Vector3", - "radiusTop": "float", - "radiusBottom": "float", - "height": "float", - "slices": "int", - "color": "Color" - } - }, - { - "name": "DrawPlane", - "description": "Draw a plane XZ", - "returnType": "void", - "params": { - "centerPos": "Vector3", - "size": "Vector2", - "color": "Color" - } - }, - { - "name": "DrawRay", - "description": "Draw a ray line", - "returnType": "void", - "params": { - "ray": "Ray", - "color": "Color" - } - }, - { - "name": "DrawGrid", - "description": "Draw a grid (centered at (0, 0, 0))", - "returnType": "void", - "params": { - "slices": "int", - "spacing": "float" - } - }, - { - "name": "LoadModel", - "description": "Load model from files (meshes and materials)", - "returnType": "Model", - "params": { - "fileName": "const char *" - } - }, - { - "name": "LoadModelFromMesh", - "description": "Load model from generated mesh (default material)", - "returnType": "Model", - "params": { - "mesh": "Mesh" - } - }, - { - "name": "UnloadModel", - "description": "Unload model (including meshes) from memory (RAM and/or VRAM)", - "returnType": "void", - "params": { - "model": "Model" - } - }, - { - "name": "UnloadModelKeepMeshes", - "description": "Unload model (but not meshes) from memory (RAM and/or VRAM)", - "returnType": "void", - "params": { - "model": "Model" - } - }, - { - "name": "UploadMesh", - "description": "Upload mesh vertex data in GPU and provide VAO/VBO ids", - "returnType": "void", - "params": { - "mesh": "Mesh *", - "dynamic": "bool" - } - }, - { - "name": "UpdateMeshBuffer", - "description": "Update mesh vertex data in GPU for a specific buffer index", - "returnType": "void", - "params": { - "mesh": "Mesh", - "index": "int", - "data": "void *", - "dataSize": "int", - "offset": "int" - } - }, - { - "name": "DrawMesh", - "description": "Draw a 3d mesh with material and transform", - "returnType": "void", - "params": { - "mesh": "Mesh", - "material": "Material", - "transform": "Matrix" - } - }, - { - "name": "DrawMeshInstanced", - "description": "Draw multiple mesh instances with material and different transforms", - "returnType": "void", - "params": { - "mesh": "Mesh", - "material": "Material", - "transforms": "Matrix *", - "instances": "int" - } - }, - { - "name": "UnloadMesh", - "description": "Unload mesh data from CPU and GPU", - "returnType": "void", - "params": { - "mesh": "Mesh" - } - }, - { - "name": "ExportMesh", - "description": "Export mesh data to file, returns true on success", - "returnType": "bool", - "params": { - "mesh": "Mesh", - "fileName": "const char *" - } - }, - { - "name": "LoadMaterials", - "description": "Load materials from model file", - "returnType": "Material *", - "params": { - "fileName": "const char *", - "materialCount": "int *" - } - }, - { - "name": "LoadMaterialDefault", - "description": "Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)", - "returnType": "Material" - }, - { - "name": "UnloadMaterial", - "description": "Unload material from GPU memory (VRAM)", - "returnType": "void", - "params": { - "material": "Material" - } - }, - { - "name": "SetMaterialTexture", - "description": "Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)", - "returnType": "void", - "params": { - "material": "Material *", - "mapType": "int", - "texture": "Texture2D" - } - }, - { - "name": "SetModelMeshMaterial", - "description": "Set material for a mesh", - "returnType": "void", - "params": { - "model": "Model *", - "meshId": "int", - "materialId": "int" - } - }, - { - "name": "LoadModelAnimations", - "description": "Load model animations from file", - "returnType": "ModelAnimation *", - "params": { - "fileName": "const char *", - "animsCount": "int *" - } - }, - { - "name": "UpdateModelAnimation", - "description": "Update model animation pose", - "returnType": "void", - "params": { - "model": "Model", - "anim": "ModelAnimation", - "frame": "int" - } - }, - { - "name": "UnloadModelAnimation", - "description": "Unload animation data", - "returnType": "void", - "params": { - "anim": "ModelAnimation" - } - }, - { - "name": "UnloadModelAnimations", - "description": "Unload animation array data", - "returnType": "void", - "params": { - "animations": "ModelAnimation*", - "count": "unsigned int" - } - }, - { - "name": "IsModelAnimationValid", - "description": "Check model animation skeleton match", - "returnType": "bool", - "params": { - "model": "Model", - "anim": "ModelAnimation" - } - }, - { - "name": "GenMeshPoly", - "description": "Generate polygonal mesh", - "returnType": "Mesh", - "params": { - "sides": "int", - "radius": "float" - } - }, - { - "name": "GenMeshPlane", - "description": "Generate plane mesh (with subdivisions)", - "returnType": "Mesh", - "params": { - "width": "float", - "length": "float", - "resX": "int", - "resZ": "int" - } - }, - { - "name": "GenMeshCube", - "description": "Generate cuboid mesh", - "returnType": "Mesh", - "params": { - "width": "float", - "height": "float", - "length": "float" - } - }, - { - "name": "GenMeshSphere", - "description": "Generate sphere mesh (standard sphere)", - "returnType": "Mesh", - "params": { - "radius": "float", - "rings": "int", - "slices": "int" - } - }, - { - "name": "GenMeshHemiSphere", - "description": "Generate half-sphere mesh (no bottom cap)", - "returnType": "Mesh", - "params": { - "radius": "float", - "rings": "int", - "slices": "int" - } - }, - { - "name": "GenMeshCylinder", - "description": "Generate cylinder mesh", - "returnType": "Mesh", - "params": { - "radius": "float", - "height": "float", - "slices": "int" - } - }, - { - "name": "GenMeshTorus", - "description": "Generate torus mesh", - "returnType": "Mesh", - "params": { - "radius": "float", - "size": "float", - "radSeg": "int", - "sides": "int" - } - }, - { - "name": "GenMeshKnot", - "description": "Generate trefoil knot mesh", - "returnType": "Mesh", - "params": { - "radius": "float", - "size": "float", - "radSeg": "int", - "sides": "int" - } - }, - { - "name": "GenMeshHeightmap", - "description": "Generate heightmap mesh from image data", - "returnType": "Mesh", - "params": { - "heightmap": "Image", - "size": "Vector3" - } - }, - { - "name": "GenMeshCubicmap", - "description": "Generate cubes-based map mesh from image data", - "returnType": "Mesh", - "params": { - "cubicmap": "Image", - "cubeSize": "Vector3" - } - }, - { - "name": "GetMeshBoundingBox", - "description": "Compute mesh bounding box limits", - "returnType": "BoundingBox", - "params": { - "mesh": "Mesh" - } - }, - { - "name": "MeshTangents", - "description": "Compute mesh tangents", - "returnType": "void", - "params": { - "mesh": "Mesh *" - } - }, - { - "name": "MeshBinormals", - "description": "Compute mesh binormals", - "returnType": "void", - "params": { - "mesh": "Mesh *" - } - }, - { - "name": "DrawModel", - "description": "Draw a model (with texture if set)", - "returnType": "void", - "params": { - "model": "Model", - "position": "Vector3", - "scale": "float", - "tint": "Color" - } - }, - { - "name": "DrawModelEx", - "description": "Draw a model with extended parameters", - "returnType": "void", - "params": { - "model": "Model", - "position": "Vector3", - "rotationAxis": "Vector3", - "rotationAngle": "float", - "scale": "Vector3", - "tint": "Color" - } - }, - { - "name": "DrawModelWires", - "description": "Draw a model wires (with texture if set)", - "returnType": "void", - "params": { - "model": "Model", - "position": "Vector3", - "scale": "float", - "tint": "Color" - } - }, - { - "name": "DrawModelWiresEx", - "description": "Draw a model wires (with texture if set) with extended parameters", - "returnType": "void", - "params": { - "model": "Model", - "position": "Vector3", - "rotationAxis": "Vector3", - "rotationAngle": "float", - "scale": "Vector3", - "tint": "Color" - } - }, - { - "name": "DrawBoundingBox", - "description": "Draw bounding box (wires)", - "returnType": "void", - "params": { - "box": "BoundingBox", - "color": "Color" - } - }, - { - "name": "DrawBillboard", - "description": "Draw a billboard texture", - "returnType": "void", - "params": { - "camera": "Camera", - "texture": "Texture2D", - "position": "Vector3", - "size": "float", - "tint": "Color" - } - }, - { - "name": "DrawBillboardRec", - "description": "Draw a billboard texture defined by source", - "returnType": "void", - "params": { - "camera": "Camera", - "texture": "Texture2D", - "source": "Rectangle", - "position": "Vector3", - "size": "Vector2", - "tint": "Color" - } - }, - { - "name": "DrawBillboardPro", - "description": "Draw a billboard texture defined by source and rotation", - "returnType": "void", - "params": { - "camera": "Camera", - "texture": "Texture2D", - "source": "Rectangle", - "position": "Vector3", - "size": "Vector2", - "origin": "Vector2", - "rotation": "float", - "tint": "Color" - } - }, - { - "name": "CheckCollisionSpheres", - "description": "Check collision between two spheres", - "returnType": "bool", - "params": { - "center1": "Vector3", - "radius1": "float", - "center2": "Vector3", - "radius2": "float" - } - }, - { - "name": "CheckCollisionBoxes", - "description": "Check collision between two bounding boxes", - "returnType": "bool", - "params": { - "box1": "BoundingBox", - "box2": "BoundingBox" - } - }, - { - "name": "CheckCollisionBoxSphere", - "description": "Check collision between box and sphere", - "returnType": "bool", - "params": { - "box": "BoundingBox", - "center": "Vector3", - "radius": "float" - } - }, - { - "name": "GetRayCollisionSphere", - "description": "Get collision info between ray and sphere", - "returnType": "RayCollision", - "params": { - "ray": "Ray", - "center": "Vector3", - "radius": "float" - } - }, - { - "name": "GetRayCollisionBox", - "description": "Get collision info between ray and box", - "returnType": "RayCollision", - "params": { - "ray": "Ray", - "box": "BoundingBox" - } - }, - { - "name": "GetRayCollisionModel", - "description": "Get collision info between ray and model", - "returnType": "RayCollision", - "params": { - "ray": "Ray", - "model": "Model" - } - }, - { - "name": "GetRayCollisionMesh", - "description": "Get collision info between ray and mesh", - "returnType": "RayCollision", - "params": { - "ray": "Ray", - "mesh": "Mesh", - "transform": "Matrix" - } - }, - { - "name": "GetRayCollisionTriangle", - "description": "Get collision info between ray and triangle", - "returnType": "RayCollision", - "params": { - "ray": "Ray", - "p1": "Vector3", - "p2": "Vector3", - "p3": "Vector3" - } - }, - { - "name": "GetRayCollisionQuad", - "description": "Get collision info between ray and quad", - "returnType": "RayCollision", - "params": { - "ray": "Ray", - "p1": "Vector3", - "p2": "Vector3", - "p3": "Vector3", - "p4": "Vector3" - } - }, - { - "name": "InitAudioDevice", - "description": "Initialize audio device and context", - "returnType": "void" - }, - { - "name": "CloseAudioDevice", - "description": "Close the audio device and context", - "returnType": "void" - }, - { - "name": "IsAudioDeviceReady", - "description": "Check if audio device has been initialized successfully", - "returnType": "bool" - }, - { - "name": "SetMasterVolume", - "description": "Set master volume (listener)", - "returnType": "void", - "params": { - "volume": "float" - } - }, - { - "name": "LoadWave", - "description": "Load wave data from file", - "returnType": "Wave", - "params": { - "fileName": "const char *" - } - }, - { - "name": "LoadWaveFromMemory", - "description": "Load wave from memory buffer, fileType refers to extension: i.e. '.wav'", - "returnType": "Wave", - "params": { - "fileType": "const char *", - "fileData": "const unsigned char *", - "dataSize": "int" - } - }, - { - "name": "LoadSound", - "description": "Load sound from file", - "returnType": "Sound", - "params": { - "fileName": "const char *" - } - }, - { - "name": "LoadSoundFromWave", - "description": "Load sound from wave data", - "returnType": "Sound", - "params": { - "wave": "Wave" - } - }, - { - "name": "UpdateSound", - "description": "Update sound buffer with new data", - "returnType": "void", - "params": { - "sound": "Sound", - "data": "const void *", - "samplesCount": "int" - } - }, - { - "name": "UnloadWave", - "description": "Unload wave data", - "returnType": "void", - "params": { - "wave": "Wave" - } - }, - { - "name": "UnloadSound", - "description": "Unload sound", - "returnType": "void", - "params": { - "sound": "Sound" - } - }, - { - "name": "ExportWave", - "description": "Export wave data to file, returns true on success", - "returnType": "bool", - "params": { - "wave": "Wave", - "fileName": "const char *" - } - }, - { - "name": "ExportWaveAsCode", - "description": "Export wave sample data to code (.h), returns true on success", - "returnType": "bool", - "params": { - "wave": "Wave", - "fileName": "const char *" - } - }, - { - "name": "PlaySound", - "description": "Play a sound", - "returnType": "void", - "params": { - "sound": "Sound" - } - }, - { - "name": "StopSound", - "description": "Stop playing a sound", - "returnType": "void", - "params": { - "sound": "Sound" - } - }, - { - "name": "PauseSound", - "description": "Pause a sound", - "returnType": "void", - "params": { - "sound": "Sound" - } - }, - { - "name": "ResumeSound", - "description": "Resume a paused sound", - "returnType": "void", - "params": { - "sound": "Sound" - } - }, - { - "name": "PlaySoundMulti", - "description": "Play a sound (using multichannel buffer pool)", - "returnType": "void", - "params": { - "sound": "Sound" - } - }, - { - "name": "StopSoundMulti", - "description": "Stop any sound playing (using multichannel buffer pool)", - "returnType": "void" - }, - { - "name": "GetSoundsPlaying", - "description": "Get number of sounds playing in the multichannel", - "returnType": "int" - }, - { - "name": "IsSoundPlaying", - "description": "Check if a sound is currently playing", - "returnType": "bool", - "params": { - "sound": "Sound" - } - }, - { - "name": "SetSoundVolume", - "description": "Set volume for a sound (1.0 is max level)", - "returnType": "void", - "params": { - "sound": "Sound", - "volume": "float" - } - }, - { - "name": "SetSoundPitch", - "description": "Set pitch for a sound (1.0 is base level)", - "returnType": "void", - "params": { - "sound": "Sound", - "pitch": "float" - } - }, - { - "name": "WaveFormat", - "description": "Convert wave data to desired format", - "returnType": "void", - "params": { - "wave": "Wave *", - "sampleRate": "int", - "sampleSize": "int", - "channels": "int" - } - }, - { - "name": "WaveCopy", - "description": "Copy a wave to a new wave", - "returnType": "Wave", - "params": { - "wave": "Wave" - } - }, - { - "name": "WaveCrop", - "description": "Crop a wave to defined samples range", - "returnType": "void", - "params": { - "wave": "Wave *", - "initSample": "int", - "finalSample": "int" - } - }, - { - "name": "LoadWaveSamples", - "description": "Load samples data from wave as a floats array", - "returnType": "float *", - "params": { - "wave": "Wave" - } - }, - { - "name": "UnloadWaveSamples", - "description": "Unload samples data loaded with LoadWaveSamples()", - "returnType": "void", - "params": { - "samples": "float *" - } - }, - { - "name": "LoadMusicStream", - "description": "Load music stream from file", - "returnType": "Music", - "params": { - "fileName": "const char *" - } - }, - { - "name": "LoadMusicStreamFromMemory", - "description": "Load music stream from data", - "returnType": "Music", - "params": { - "fileType": "const char *", - "data": "unsigned char *", - "dataSize": "int" - } - }, - { - "name": "UnloadMusicStream", - "description": "Unload music stream", - "returnType": "void", - "params": { - "music": "Music" - } - }, - { - "name": "PlayMusicStream", - "description": "Start music playing", - "returnType": "void", - "params": { - "music": "Music" - } - }, - { - "name": "IsMusicStreamPlaying", - "description": "Check if music is playing", - "returnType": "bool", - "params": { - "music": "Music" - } - }, - { - "name": "UpdateMusicStream", - "description": "Updates buffers for music streaming", - "returnType": "void", - "params": { - "music": "Music" - } - }, - { - "name": "StopMusicStream", - "description": "Stop music playing", - "returnType": "void", - "params": { - "music": "Music" - } - }, - { - "name": "PauseMusicStream", - "description": "Pause music playing", - "returnType": "void", - "params": { - "music": "Music" - } - }, - { - "name": "ResumeMusicStream", - "description": "Resume playing paused music", - "returnType": "void", - "params": { - "music": "Music" - } - }, - { - "name": "SetMusicVolume", - "description": "Set volume for music (1.0 is max level)", - "returnType": "void", - "params": { - "music": "Music", - "volume": "float" - } - }, - { - "name": "SetMusicPitch", - "description": "Set pitch for a music (1.0 is base level)", - "returnType": "void", - "params": { - "music": "Music", - "pitch": "float" - } - }, - { - "name": "GetMusicTimeLength", - "description": "Get music time length (in seconds)", - "returnType": "float", - "params": { - "music": "Music" - } - }, - { - "name": "GetMusicTimePlayed", - "description": "Get current music time played (in seconds)", - "returnType": "float", - "params": { - "music": "Music" - } - }, - { - "name": "LoadAudioStream", - "description": "Load audio stream (to stream raw audio pcm data)", - "returnType": "AudioStream", - "params": { - "sampleRate": "unsigned int", - "sampleSize": "unsigned int", - "channels": "unsigned int" - } - }, - { - "name": "UnloadAudioStream", - "description": "Unload audio stream and free memory", - "returnType": "void", - "params": { - "stream": "AudioStream" - } - }, - { - "name": "UpdateAudioStream", - "description": "Update audio stream buffers with data", - "returnType": "void", - "params": { - "stream": "AudioStream", - "data": "const void *", - "samplesCount": "int" - } - }, - { - "name": "IsAudioStreamProcessed", - "description": "Check if any audio stream buffers requires refill", - "returnType": "bool", - "params": { - "stream": "AudioStream" - } - }, - { - "name": "PlayAudioStream", - "description": "Play audio stream", - "returnType": "void", - "params": { - "stream": "AudioStream" - } - }, - { - "name": "PauseAudioStream", - "description": "Pause audio stream", - "returnType": "void", - "params": { - "stream": "AudioStream" - } - }, - { - "name": "ResumeAudioStream", - "description": "Resume audio stream", - "returnType": "void", - "params": { - "stream": "AudioStream" - } - }, - { - "name": "IsAudioStreamPlaying", - "description": "Check if audio stream is playing", - "returnType": "bool", - "params": { - "stream": "AudioStream" - } - }, - { - "name": "StopAudioStream", - "description": "Stop audio stream", - "returnType": "void", - "params": { - "stream": "AudioStream" - } - }, - { - "name": "SetAudioStreamVolume", - "description": "Set volume for audio stream (1.0 is max level)", - "returnType": "void", - "params": { - "stream": "AudioStream", - "volume": "float" - } - }, - { - "name": "SetAudioStreamPitch", - "description": "Set pitch for audio stream (1.0 is base level)", - "returnType": "void", - "params": { - "stream": "AudioStream", - "pitch": "float" - } - }, - { - "name": "SetAudioStreamBufferSizeDefault", - "description": "Default size for new audio streams", - "returnType": "void", - "params": { - "size": "int" - } - } - ] -} diff --git a/version.py b/version.py index ae09035..38f72c1 100644 --- a/version.py +++ b/version.py @@ -1 +1 @@ -__version__ = "4.0a7" \ No newline at end of file +__version__ = "4.0a8" \ No newline at end of file