@ -8,36 +8,36 @@ RLAPI void CloseWindow(void); // Close windo
RLAPI bool WindowShouldClose ( void ) ; / / Check if application should close ( KEY_ESCAPE pressed or windows close icon clicked )
RLAPI bool IsWindowReady ( void ) ; / / Check if window has been initialized successfully
RLAPI bool IsWindowFullscreen ( void ) ; / / Check if window is currently fullscreen
RLAPI bool IsWindowHidden ( void ) ; / / Check if window is currently hidden ( only PLATFORM_DESKTOP )
RLAPI bool IsWindowMinimized ( void ) ; / / Check if window is currently minimized ( only PLATFORM_DESKTOP )
RLAPI bool IsWindowMaximized ( void ) ; / / Check if window is currently maximized ( only PLATFORM_DESKTOP )
RLAPI bool IsWindowFocused ( void ) ; / / Check if window is currently focused ( only PLATFORM_DESKTOP )
RLAPI bool IsWindowHidden ( void ) ; / / Check if window is currently hidden
RLAPI bool IsWindowMinimized ( void ) ; / / Check if window is currently minimized
RLAPI bool IsWindowMaximized ( void ) ; / / Check if window is currently maximized
RLAPI bool IsWindowFocused ( void ) ; / / Check if window is currently focused
RLAPI bool IsWindowResized ( void ) ; / / Check if window has been resized last frame
RLAPI bool IsWindowState ( unsigned int flag ) ; / / Check if one specific window flag is enabled
RLAPI void SetWindowState ( unsigned int flags ) ; / / Set window configuration state using flags ( only PLATFORM_DESKTOP )
RLAPI void SetWindowState ( unsigned int flags ) ; / / Set window configuration state using flags
RLAPI void ClearWindowState ( unsigned int flags ) ; / / Clear window configuration state flags
RLAPI void ToggleFullscreen ( void ) ; / / Toggle window state : fullscreen / windowed ( only PLATFORM_DESKTOP )
RLAPI void ToggleBorderlessWindowed ( void ) ; / / Toggle window state : borderless windowed ( only PLATFORM_DESKTOP )
RLAPI void MaximizeWindow ( void ) ; / / Set window state : maximized , if resizable ( only PLATFORM_DESKTOP )
RLAPI void MinimizeWindow ( void ) ; / / Set window state : minimized , if resizable ( only PLATFORM_DESKTOP )
RLAPI void RestoreWindow ( void ) ; / / Set window state : not minimized / maximized ( only PLATFORM_DESKTOP )
RLAPI void SetWindowIcon ( Image image ) ; / / Set icon for window ( single image , RGBA 32 bit , only PLATFORM_DESKTOP )
RLAPI void SetWindowIcons ( Image * images , int count ) ; / / Set icon for window ( multiple images , RGBA 32 bit , only PLATFORM_DESKTOP )
RLAPI void SetWindowTitle ( const char * title ) ; / / Set title for window ( only PLATFORM_DESKTOP and PLATFORM_WEB )
RLAPI void SetWindowPosition ( int x , int y ) ; / / Set window position on screen ( only PLATFORM_DESKTOP )
RLAPI void ToggleFullscreen ( void ) ; / / Toggle window state : fullscreen / windowed , resizes monitor to match window resolution
RLAPI void ToggleBorderlessWindowed ( void ) ; / / Toggle window state : borderless windowed , resizes window to match monitor resolution
RLAPI void MaximizeWindow ( void ) ; / / Set window state : maximized , if resizable
RLAPI void MinimizeWindow ( void ) ; / / Set window state : minimized , if resizable
RLAPI void RestoreWindow ( void ) ; / / Set window state : not minimized / maximized
RLAPI void SetWindowIcon ( Image image ) ; / / Set icon for window ( single image , RGBA 32 bit )
RLAPI void SetWindowIcons ( Image * images , int count ) ; / / Set icon for window ( multiple images , RGBA 32 bit )
RLAPI void SetWindowTitle ( const char * title ) ; / / Set title for window
RLAPI void SetWindowPosition ( int x , int y ) ; / / Set window position on screen
RLAPI void SetWindowMonitor ( int monitor ) ; / / Set monitor for the current window
RLAPI void SetWindowMinSize ( int width , int height ) ; / / Set window minimum dimensions ( for FLAG_WINDOW_RESIZABLE )
RLAPI void SetWindowMaxSize ( int width , int height ) ; / / Set window maximum dimensions ( for FLAG_WINDOW_RESIZABLE )
RLAPI void SetWindowSize ( int width , int height ) ; / / Set window dimensions
RLAPI void SetWindowOpacity ( float opacity ) ; / / Set window opacity [ 0.0f . .1 .0f ] ( only PLATFORM_DESKTOP )
RLAPI void SetWindowFocused ( void ) ; / / Set window focused ( only PLATFORM_DESKTOP )
RLAPI void SetWindowOpacity ( float opacity ) ; / / Set window opacity [ 0.0f . .1 .0f ]
RLAPI void SetWindowFocused ( void ) ; / / Set window focused
RLAPI void * GetWindowHandle ( void ) ; / / Get native window handle
RLAPI int GetScreenWidth ( void ) ; / / Get current screen width
RLAPI int GetScreenHeight ( void ) ; / / Get current screen height
RLAPI int GetRenderWidth ( void ) ; / / Get current render width ( it considers HiDPI )
RLAPI int GetRenderHeight ( void ) ; / / Get current render height ( it considers HiDPI )
RLAPI int GetMonitorCount ( void ) ; / / Get number of connected monitors
RLAPI int GetCurrentMonitor ( void ) ; / / Get current connected monitor
RLAPI int GetCurrentMonitor ( void ) ; / / Get current monitor where window is placed
RLAPI Vector2 GetMonitorPosition ( int monitor ) ; / / Get specified monitor position
RLAPI int GetMonitorWidth ( int monitor ) ; / / Get specified monitor width ( current video mode used by monitor )
RLAPI int GetMonitorHeight ( int monitor ) ; / / Get specified monitor height ( current video mode used by monitor )
@ -49,6 +49,7 @@ RLAPI Vector2 GetWindowScaleDPI(void); // Get window
RLAPI const char * GetMonitorName ( int monitor ) ; / / Get the human - readable , UTF - 8 encoded name of the specified monitor
RLAPI void SetClipboardText ( const char * text ) ; / / Set clipboard text content
RLAPI const char * GetClipboardText ( void ) ; / / Get clipboard text content
RLAPI Image GetClipboardImage ( void ) ; / / Get clipboard image
RLAPI void EnableEventWaiting ( void ) ; / / Enable waiting for events on EndDrawing ( ) , no automatic event polling
RLAPI void DisableEventWaiting ( void ) ; / / Disable waiting for events on EndDrawing ( ) , automatic events polling
@ -87,7 +88,7 @@ RLAPI void UnloadVrStereoConfig(VrStereoConfig config); // Unload VR s
/ / NOTE : Shader functionality is not available on OpenGL 1.1
RLAPI Shader LoadShader ( const char * vsFileName , const char * fsFileName ) ; / / Load shader from files and bind default locations
RLAPI Shader LoadShaderFromMemory ( const char * vsCode , const char * fsCode ) ; / / Load shader from code strings and bind default locations
RLAPI bool IsShaderReady ( Shader shader ) ; / / Check if a shader is ready
RLAPI bool IsShaderValid ( Shader shader ) ; / / Check if a shader is valid ( loaded on GPU )
RLAPI int GetShaderLocation ( Shader shader , const char * uniformName ) ; / / Get shader uniform location
RLAPI int GetShaderLocationAttrib ( Shader shader , const char * attribName ) ; / / Get shader attribute location
RLAPI void SetShaderValue ( Shader shader , int locIndex , const void * value , int uniformType ) ; / / Set shader uniform value
@ -97,13 +98,15 @@ RLAPI void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture)
RLAPI void UnloadShader ( Shader shader ) ; / / Unload shader from GPU memory ( VRAM )
/ / Screen - space - related functions
RLAPI Ray GetMouseRay ( Vector2 mousePosition , Camera camera ) ; / / Get a ray trace from mouse position
RLAPI Matrix GetCameraMatrix ( Camera camera ) ; / / Get camera transform matrix ( view matrix )
RLAPI Matrix GetCameraMatrix2D ( Camera2D camera ) ; / / Get camera 2 d transform matrix
RLAPI Vector2 GetWorldToScreen ( Vector3 position , Camera camera ) ; / / Get the screen space position for a 3 d world space position
RLAPI Vector2 GetScreenToWorld2D ( Vector2 position , Camera2D camera ) ; / / Get the world space position for a 2 d camera screen space position
# define GetMouseRay GetScreenToWorldRay / / Compatibility hack for previous raylib versions
RLAPI Ray GetScreenToWorldRay ( Vector2 position , Camera camera ) ; / / Get a ray trace from screen position ( i . e mouse )
RLAPI Ray GetScreenToWorldRayEx ( Vector2 position , Camera camera , int width , int height ) ; / / Get a ray trace from screen position ( i . e mouse ) in a viewport
RLAPI Vector2 GetWorldToScreen ( Vector3 position , Camera camera ) ; / / Get the screen space position for a 3 d world space position
RLAPI Vector2 GetWorldToScreenEx ( Vector3 position , Camera camera , int width , int height ) ; / / Get size position for a 3 d world space position
RLAPI Vector2 GetWorldToScreen2D ( Vector2 position , Camera2D camera ) ; / / Get the screen space position for a 2 d camera world space position
RLAPI Vector2 GetWorldToScreen2D ( Vector2 position , Camera2D camera ) ; / / Get the screen space position for a 2 d camera world space position
RLAPI Vector2 GetScreenToWorld2D ( Vector2 position , Camera2D camera ) ; / / Get the world space position for a 2 d camera screen space position
RLAPI Matrix GetCameraMatrix ( Camera camera ) ; / / Get camera transform matrix ( view matrix )
RLAPI Matrix GetCameraMatrix2D ( Camera2D camera ) ; / / Get camera 2 d transform matrix
/ / Timing - related functions
RLAPI void SetTargetFPS ( int fps ) ; / / Set target FPS ( maximum )
@ -112,6 +115,9 @@ RLAPI double GetTime(void); // Get elapsed
RLAPI int GetFPS ( void ) ; / / Get current FPS
/ / Custom frame control functions
/ / NOTE : Those functions are intended for advanced users that want full control over the frame processing
/ / By default EndDrawing ( ) does this job : draws everything + SwapScreenBuffer ( ) + manage frame timing + PollInputEvents ( )
/ / To avoid that behaviour and control frame processes manually , enable in config . h : SUPPORT_CUSTOM_FRAME_CONTROL
RLAPI void SwapScreenBuffer ( void ) ; / / Swap back buffer with front buffer ( screen drawing )
RLAPI void PollInputEvents ( void ) ; / / Register all input events
RLAPI void WaitTime ( double seconds ) ; / / Wait for some time ( halt program execution )
@ -127,6 +133,8 @@ RLAPI void TakeScreenshot(const char *fileName); // Takes a scr
RLAPI void SetConfigFlags ( unsigned int flags ) ; / / Setup init configuration flags ( view FLAGS )
RLAPI void OpenURL ( const char * url ) ; / / Open URL with default system browser ( if available )
/ / NOTE : Following functions implemented in module [ utils ]
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RLAPI void TraceLog ( int logLevel , const char * text , . . . ) ; / / Show trace log messages ( LOG_DEBUG , LOG_INFO , LOG_WARNING , LOG_ERROR . . . )
RLAPI void SetTraceLogLevel ( int logLevel ) ; / / Set the current threshold ( minimum ) log level
RLAPI void * MemAlloc ( unsigned int size ) ; / / Internal memory allocator
@ -149,6 +157,7 @@ RLAPI bool ExportDataAsCode(const unsigned char *data, int dataSize, const char
RLAPI char * LoadFileText ( const char * fileName ) ; / / Load text data from file ( read ) , returns a ' \0 ' terminated string
RLAPI void UnloadFileText ( char * text ) ; / / Unload file text data allocated by LoadFileText ( )
RLAPI bool SaveFileText ( const char * fileName , char * text ) ; / / Save text data to file ( write ) , string must be ' \0 ' terminated , returns true on success
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ / File system functions
RLAPI bool FileExists ( const char * fileName ) ; / / Check if file exists
@ -162,10 +171,12 @@ RLAPI const char *GetDirectoryPath(const char *filePath); // Get full pa
RLAPI const char * GetPrevDirectoryPath ( const char * dirPath ) ; / / Get previous directory path for a given path ( uses static string )
RLAPI const char * GetWorkingDirectory ( void ) ; / / Get current working directory ( uses static string )
RLAPI const char * GetApplicationDirectory ( void ) ; / / Get the directory of the running application ( uses static string )
RLAPI int MakeDirectory ( const char * dirPath ) ; / / Create directories ( including full path requested ) , returns 0 on success
RLAPI bool ChangeDirectory ( const char * dir ) ; / / Change working directory , return true on success
RLAPI bool IsPathFile ( const char * path ) ; / / Check if a given path is a file or a directory
RLAPI bool IsFileNameValid ( const char * fileName ) ; / / Check if fileName is valid for the platform / OS
RLAPI FilePathList LoadDirectoryFiles ( const char * dirPath ) ; / / Load directory filepaths
RLAPI FilePathList LoadDirectoryFilesEx ( const char * basePath , const char * filter , bool scanSubdirs ) ; / / Load directory filepaths with extension filtering and recursive directory scan
RLAPI FilePathList LoadDirectoryFilesEx ( const char * basePath , const char * filter , bool scanSubdirs ) ; / / Load directory filepaths with extension filtering and recursive directory scan . Use ' DIR ' in the filter string to include directories in the result
RLAPI void UnloadDirectoryFiles ( FilePathList files ) ; / / Unload filepaths
RLAPI bool IsFileDropped ( void ) ; / / Check if a file has been dropped into window
RLAPI FilePathList LoadDroppedFiles ( void ) ; / / Load dropped filepaths
@ -177,10 +188,14 @@ RLAPI unsigned char *CompressData(const unsigned char *data, int dataSize, int *
RLAPI unsigned char * DecompressData ( const unsigned char * compData , int compDataSize , int * dataSize ) ; / / Decompress data ( DEFLATE algorithm ) , memory must be MemFree ( )
RLAPI char * EncodeDataBase64 ( const unsigned char * data , int dataSize , int * outputSize ) ; / / Encode data to Base64 string , memory must be MemFree ( )
RLAPI unsigned char * DecodeDataBase64 ( const unsigned char * data , int * outputSize ) ; / / Decode Base64 string data , memory must be MemFree ( )
RLAPI unsigned int ComputeCRC32 ( unsigned char * data , int dataSize ) ; / / Compute CRC32 hash code
RLAPI unsigned int * ComputeMD5 ( unsigned char * data , int dataSize ) ; / / Compute MD5 hash code , returns static int [ 4 ] ( 16 bytes )
RLAPI unsigned int * ComputeSHA1 ( unsigned char * data , int dataSize ) ; / / Compute SHA1 hash code , returns static int [ 5 ] ( 20 bytes )
/ / Automation events functionality
RLAPI AutomationEventList LoadAutomationEventList ( const char * fileName ) ; / / Load automation events list from file , NULL for empty list , capacity = MAX_AUTOMATION_EVENTS
RLAPI void UnloadAutomationEventList ( AutomationEventList * list ) ; / / Unload automation events list from file
RLAPI void UnloadAutomationEventList ( AutomationEventList list ) ; / / Unload automation events list from file
RLAPI bool ExportAutomationEventList ( AutomationEventList list , const char * fileName ) ; / / Export automation events list as text file
RLAPI void SetAutomationEventList ( AutomationEventList * list ) ; / / Set automation event list to record to
RLAPI void SetAutomationEventBaseFrame ( int frame ) ; / / Set automation event internal base frame to start recording
@ -194,7 +209,7 @@ RLAPI void PlayAutomationEvent(AutomationEvent event);
/ / Input - related functions : keyboard
RLAPI bool IsKeyPressed ( int key ) ; / / Check if a key has been pressed once
RLAPI bool IsKeyPressedRepeat ( int key ) ; / / Check if a key has been pressed again ( Only PLATFORM_DESKTOP )
RLAPI bool IsKeyPressedRepeat ( int key ) ; / / Check if a key has been pressed again
RLAPI bool IsKeyDown ( int key ) ; / / Check if a key is being pressed
RLAPI bool IsKeyReleased ( int key ) ; / / Check if a key has been released once
RLAPI bool IsKeyUp ( int key ) ; / / Check if a key is NOT being pressed
@ -203,16 +218,17 @@ RLAPI int GetCharPressed(void); // Get char presse
RLAPI void SetExitKey ( int key ) ; / / Set a custom key to exit program ( default is ESC )
/ / Input - related functions : gamepads
RLAPI bool IsGamepadAvailable ( int gamepad ) ; / / Check if a gamepad is available
RLAPI const char * GetGamepadName ( int gamepad ) ; / / Get gamepad internal name id
RLAPI bool IsGamepadButtonPressed ( int gamepad , int button ) ; / / Check if a gamepad button has been pressed once
RLAPI bool IsGamepadButtonDown ( int gamepad , int button ) ; / / Check if a gamepad button is being pressed
RLAPI bool IsGamepadButtonReleased ( int gamepad , int button ) ; / / Check if a gamepad button has been released once
RLAPI bool IsGamepadButtonUp ( int gamepad , int button ) ; / / Check if a gamepad button is NOT being pressed
RLAPI int GetGamepadButtonPressed ( void ) ; / / Get the last gamepad button pressed
RLAPI int GetGamepadAxisCount ( int gamepad ) ; / / Get gamepad axis count for a gamepad
RLAPI float GetGamepadAxisMovement ( int gamepad , int axis ) ; / / Get axis movement value for a gamepad axis
RLAPI int SetGamepadMappings ( const char * mappings ) ; / / Set internal gamepad mappings ( SDL_GameControllerDB )
RLAPI bool IsGamepadAvailable ( int gamepad ) ; / / Check if a gamepad is available
RLAPI const char * GetGamepadName ( int gamepad ) ; / / Get gamepad internal name id
RLAPI bool IsGamepadButtonPressed ( int gamepad , int button ) ; / / Check if a gamepad button has been pressed once
RLAPI bool IsGamepadButtonDown ( int gamepad , int button ) ; / / Check if a gamepad button is being pressed
RLAPI bool IsGamepadButtonReleased ( int gamepad , int button ) ; / / Check if a gamepad button has been released once
RLAPI bool IsGamepadButtonUp ( int gamepad , int button ) ; / / Check if a gamepad button is NOT being pressed
RLAPI int GetGamepadButtonPressed ( void ) ; / / Get the last gamepad button pressed
RLAPI int GetGamepadAxisCount ( int gamepad ) ; / / Get gamepad axis count for a gamepad
RLAPI float GetGamepadAxisMovement ( int gamepad , int axis ) ; / / Get axis movement value for a gamepad axis
RLAPI int SetGamepadMappings ( const char * mappings ) ; / / Set internal gamepad mappings ( SDL_GameControllerDB )
RLAPI void SetGamepadVibration ( int gamepad , float leftMotor , float rightMotor , float duration ) ; / / Set gamepad vibration for both motors ( duration in seconds )
/ / Input - related functions : mouse
RLAPI bool IsMouseButtonPressed ( int button ) ; / / Check if a mouse button has been pressed once
@ -243,7 +259,7 @@ RLAPI int GetTouchPointCount(void); // Get number of t
RLAPI void SetGesturesEnabled ( unsigned int flags ) ; / / Enable a set of gestures using flags
RLAPI bool IsGestureDetected ( unsigned int gesture ) ; / / Check if a gesture have been detected
RLAPI int GetGestureDetected ( void ) ; / / Get latest detected gesture
RLAPI float GetGestureHoldDuration ( void ) ; / / Get gesture hold time in milli seconds
RLAPI float GetGestureHoldDuration ( void ) ; / / Get gesture hold time in seconds
RLAPI Vector2 GetGestureDragVector ( void ) ; / / Get gesture drag vector
RLAPI float GetGestureDragAngle ( void ) ; / / Get gesture drag angle
RLAPI Vector2 GetGesturePinchVector ( void ) ; / / Get gesture pinch delta
@ -262,19 +278,21 @@ RLAPI void UpdateCameraPro(Camera *camera, Vector3 movement, Vector3 rotation, f
/ / 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
RLAPI void SetShapesTexture ( Texture2D texture , Rectangle source ) ; / / Set texture and rectangle to be used on shapes drawing
RLAPI Texture2D GetShapesTexture ( void ) ; / / Get texture that is used for shapes drawing
RLAPI Rectangle GetShapesTextureRectangle ( void ) ; / / Get texture source rectangle that is used for shapes drawing
/ / Basic shapes drawing functions
RLAPI void DrawPixel ( int posX , int posY , Color color ) ; / / Draw a pixel
RLAPI void DrawPixelV ( Vector2 position , Color color ) ; / / Draw a pixel ( Vector version )
RLAPI void DrawPixel ( int posX , int posY , Color color ) ; / / Draw a pixel using geometry [ Can be slow , use with care ]
RLAPI void DrawPixelV ( Vector2 position , Color color ) ; / / Draw a pixel n">using geometry ( Vector version ) [ Can be slow , use with care ]
RLAPI void DrawLine ( int startPosX , int startPosY , int endPosX , int endPosY , Color color ) ; / / Draw a line
RLAPI void DrawLineV ( Vector2 startPos , Vector2 endPos , Color color ) ; / / Draw a line ( using gl lines )
RLAPI void DrawLineEx ( Vector2 startPos , Vector2 endPos , float thick , Color color ) ; / / Draw a line ( using triangles / quads )
RLAPI void DrawLineStrip ( Vector2 * points , int pointCount , Color color ) ; / / Draw lines sequence ( using gl lines )
RLAPI void DrawLineStrip ( k">const Vector2 * points , int pointCount , Color color ) ; / / Draw lines sequence ( using gl lines )
RLAPI void DrawLineBezier ( Vector2 startPos , Vector2 endPos , float thick , Color color ) ; / / Draw line segment cubic - bezier in - out interpolation
RLAPI void DrawCircle ( int centerX , int centerY , float radius , Color color ) ; / / Draw a color - filled circle
RLAPI void DrawCircleSector ( Vector2 center , float radius , float startAngle , float endAngle , int segments , Color color ) ; / / Draw a piece of a circle
RLAPI void DrawCircleSectorLines ( Vector2 center , float radius , float startAngle , float endAngle , int segments , Color color ) ; / / Draw circle sector outline
RLAPI void DrawCircleGradient ( int centerX , int centerY , float radius , Color color1 , Color color2 ) ; / / Draw a gradient - filled circle
RLAPI void DrawCircleGradient ( int centerX , int centerY , float radius , Color inner , Color outer ) ; / / Draw a gradient - filled circle
RLAPI void DrawCircleV ( Vector2 center , float radius , Color color ) ; / / Draw a color - filled circle ( Vector version )
RLAPI void DrawCircleLines ( int centerX , int centerY , float radius , Color color ) ; / / Draw circle outline
RLAPI void DrawCircleLinesV ( Vector2 center , float radius , Color color ) ; / / Draw circle outline ( Vector version )
@ -286,27 +304,28 @@ RLAPI void DrawRectangle(int posX, int posY, int width, int height, Color color)
RLAPI void DrawRectangleV ( Vector2 position , Vector2 size , Color color ) ; / / Draw a color - filled rectangle ( Vector version )
RLAPI void DrawRectangleRec ( Rectangle rec , Color color ) ; / / Draw a color - filled rectangle
RLAPI void DrawRectanglePro ( Rectangle rec , Vector2 origin , float rotation , Color color ) ; / / Draw a color - filled rectangle with pro parameters
RLAPI void DrawRectangleGradientV ( int posX , int posY , int width , int height , Color color1 , Color color2 ) ; / / Draw a vertical - gradient - filled rectangle
RLAPI void DrawRectangleGradientH ( int posX , int posY , int width , int height , Color color1 , Color color2 ) ; / / Draw a horizontal - gradient - filled rectangle
RLAPI void DrawRectangleGradientEx ( Rectangle rec , Color col1 , Color col2 , Color col3 , Color col4 ) ; / / Draw a gradient - filled rectangle with custom vertex colors
RLAPI void DrawRectangleGradientV ( int posX , int posY , int width , int height , Color top , Color bottom ) ; / / Draw a vertical - gradient - filled rectangle
RLAPI void DrawRectangleGradientH ( int posX , int posY , int width , int height , Color left , Color right ) ; / / Draw a horizontal - gradient - filled rectangle
RLAPI void DrawRectangleGradientEx ( Rectangle rec , Color topLeft , Color bottomLeft , Color topRight , Color bottomRight ) ; / / Draw a gradient - filled rectangle with custom vertex colors
RLAPI void DrawRectangleLines ( int posX , int posY , int width , int height , Color color ) ; / / Draw rectangle outline
RLAPI void DrawRectangleLinesEx ( Rectangle rec , float lineThick , Color color ) ; / / Draw rectangle outline with extended parameters
RLAPI void DrawRectangleRounded ( Rectangle rec , float roundness , int segments , Color color ) ; / / Draw rectangle with rounded edges
RLAPI void DrawRectangleRoundedLines ( Rectangle rec , float roundness , int segments , float lineThick , Color color ) ; / / Draw rectangle with rounded edges outline
RLAPI void DrawRectangleRoundedLines ( Rectangle rec , float roundness , int segments , Color color ) ; / / Draw rectangle lines with rounded edges
RLAPI void DrawRectangleRoundedLinesEx ( Rectangle rec , float roundness , int segments , float lineThick , Color color ) ; / / Draw rectangle with rounded edges outline
RLAPI void DrawTriangle ( Vector2 v1 , Vector2 v2 , Vector2 v3 , Color color ) ; / / Draw a color - filled triangle ( vertex in counter - clockwise order ! )
RLAPI void DrawTriangleLines ( Vector2 v1 , Vector2 v2 , Vector2 v3 , Color color ) ; / / Draw triangle outline ( vertex in counter - clockwise order ! )
RLAPI void DrawTriangleFan ( Vector2 * points , int pointCount , Color color ) ; / / Draw a triangle fan defined by points ( first vertex is the center )
RLAPI void DrawTriangleStrip ( Vector2 * points , int pointCount , Color color ) ; / / Draw a triangle strip defined by points
RLAPI void DrawTriangleFan ( k">const Vector2 * points , int pointCount , Color color ) ; / / Draw a triangle fan defined by points ( first vertex is the center )
RLAPI void DrawTriangleStrip ( k">const Vector2 * points , int pointCount , Color color ) ; / / Draw a triangle strip defined by points
RLAPI void DrawPoly ( Vector2 center , int sides , float radius , float rotation , Color color ) ; / / Draw a regular polygon ( Vector version )
RLAPI void DrawPolyLines ( Vector2 center , int sides , float radius , float rotation , Color color ) ; / / Draw a polygon outline of n sides
RLAPI void DrawPolyLinesEx ( Vector2 center , int sides , float radius , float rotation , float lineThick , Color color ) ; / / Draw a polygon outline of n sides with extended parameters
/ / Splines drawing functions
RLAPI void DrawSplineLinear ( Vector2 * points , int pointCount , float thick , Color color ) ; / / Draw spline : Linear , minimum 2 points
RLAPI void DrawSplineBasis ( Vector2 * points , int pointCount , float thick , Color color ) ; / / Draw spline : B - Spline , minimum 4 points
RLAPI void DrawSplineCatmullRom ( Vector2 * points , int pointCount , float thick , Color color ) ; / / Draw spline : Catmull - Rom , minimum 4 points
RLAPI void DrawSplineBezierQuadratic ( Vector2 * points , int pointCount , float thick , Color color ) ; / / Draw spline : Quadratic Bezier , minimum 3 points ( 1 control point ) : [ p1 , c2 , p3 , c4 . . . ]
RLAPI void DrawSplineBezierCubic ( Vector2 * points , int pointCount , float thick , Color color ) ; / / Draw spline : Cubic Bezier , minimum 4 points ( 2 control points ) : [ p1 , c2 , c3 , p4 , c5 , c6 . . . ]
RLAPI void DrawSplineLinear ( k">const Vector2 * points , int pointCount , float thick , Color color ) ; / / Draw spline : Linear , minimum 2 points
RLAPI void DrawSplineBasis ( k">const Vector2 * points , int pointCount , float thick , Color color ) ; / / Draw spline : B - Spline , minimum 4 points
RLAPI void DrawSplineCatmullRom ( k">const Vector2 * points , int pointCount , float thick , Color color ) ; / / Draw spline : Catmull - Rom , minimum 4 points
RLAPI void DrawSplineBezierQuadratic ( k">const Vector2 * points , int pointCount , float thick , Color color ) ; / / Draw spline : Quadratic Bezier , minimum 3 points ( 1 control point ) : [ p1 , c2 , p3 , c4 . . . ]
RLAPI void DrawSplineBezierCubic ( k">const Vector2 * points , int pointCount , float thick , Color color ) ; / / Draw spline : Cubic Bezier , minimum 4 points ( 2 control points ) : [ p1 , c2 , c3 , p4 , c5 , c6 . . . ]
RLAPI void DrawSplineSegmentLinear ( Vector2 p1 , Vector2 p2 , float thick , Color color ) ; / / Draw spline segment : Linear , 2 points
RLAPI void DrawSplineSegmentBasis ( Vector2 p1 , Vector2 p2 , Vector2 p3 , Vector2 p4 , float thick , Color color ) ; / / Draw spline segment : B - Spline , 4 points
RLAPI void DrawSplineSegmentCatmullRom ( Vector2 p1 , Vector2 p2 , Vector2 p3 , Vector2 p4 , float thick , Color color ) ; / / Draw spline segment : Catmull - Rom , 4 points
@ -324,12 +343,13 @@ RLAPI Vector2 GetSplinePointBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vect
RLAPI bool CheckCollisionRecs ( Rectangle rec1 , Rectangle rec2 ) ; / / Check collision between two rectangles
RLAPI bool CheckCollisionCircles ( Vector2 center1 , float radius1 , Vector2 center2 , float radius2 ) ; / / Check collision between two circles
RLAPI bool CheckCollisionCircleRec ( Vector2 center , float radius , Rectangle rec ) ; / / Check collision between circle and rectangle
RLAPI bool CheckCollisionCircleLine ( Vector2 center , float radius , Vector2 p1 , Vector2 p2 ) ; / / Check if circle collides with a line created betweeen two points [ p1 ] and [ p2 ]
RLAPI bool CheckCollisionPointRec ( Vector2 point , Rectangle rec ) ; / / Check if point is inside rectangle
RLAPI bool CheckCollisionPointCircle ( Vector2 point , Vector2 center , float radius ) ; / / Check if point is inside circle
RLAPI bool CheckCollisionPointTriangle ( Vector2 point , Vector2 p1 , Vector2 p2 , Vector2 p3 ) ; / / Check if point is inside a triangle
RLAPI bool CheckCollisionPointPoly ( Vector2 point , Vector2 * points , int pointCount ) ; / / Check if point is within a polygon described by array of vertices
RLAPI 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
RLAPI 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 ]
RLAPI bool CheckCollisionPointPoly ( Vector2 point , const Vector2 * points , int pointCount ) ; / / Check if point is within a polygon described by array of vertices
RLAPI 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
RLAPI Rectangle GetCollisionRec ( Rectangle rec1 , Rectangle rec2 ) ; / / Get collision rectangle for two rectangles collision
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -340,12 +360,12 @@ RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2);
/ / NOTE : These functions do not require GPU access
RLAPI Image LoadImage ( const char * fileName ) ; / / Load image from file into CPU memory ( RAM )
RLAPI Image LoadImageRaw ( const char * fileName , int width , int height , int format , int headerSize ) ; / / Load image from RAW file data
RLAPI Image LoadImageSvg ( const char * fileNameOrString , int width , int height ) ; / / Load image from SVG file data or string with specified size
RLAPI Image LoadImageAnim ( const char * fileName , int * frames ) ; / / Load image sequence from file ( frames appended to image . data )
RLAPI Image LoadImageAnimFromMemory ( const char * fileType , const unsigned char * fileData , int dataSize , int * frames ) ; / / Load image sequence from memory buffer
RLAPI Image LoadImageFromMemory ( const char * fileType , const unsigned char * fileData , int dataSize ) ; / / Load image from memory buffer , fileType refers to extension : i . e . ' . png '
RLAPI Image LoadImageFromTexture ( Texture2D texture ) ; / / Load image from GPU texture data
RLAPI Image LoadImageFromScreen ( void ) ; / / Load image from screen buffer and ( screenshot )
RLAPI bool IsImageReady ( Image image ) ; / / Check if an image is ready
RLAPI bool IsImageValid ( Image image ) ; / / Check if an image is valid ( data and parameters )
RLAPI void UnloadImage ( Image image ) ; / / Unload image from CPU memory ( RAM )
RLAPI bool ExportImage ( Image image , const char * fileName ) ; / / Export image data to file , returns true on success
RLAPI unsigned char * ExportImageToMemory ( Image image , const char * fileType , int * fileSize ) ; / / Export image to memory buffer
@ -365,6 +385,7 @@ RLAPI Image GenImageText(int width, int height, const char *text);
/ / Image manipulation functions
RLAPI Image ImageCopy ( Image image ) ; / / Create an image duplicate ( useful for transformations )
RLAPI Image ImageFromImage ( Image image , Rectangle rec ) ; / / Create an image from another image piece
RLAPI Image ImageFromChannel ( Image image , int selectedChannel ) ; / / Create an image from a selected channel of another image ( GRAYSCALE )
RLAPI Image ImageText ( const char * text , int fontSize , Color color ) ; / / Create an image from text ( default font )
RLAPI Image ImageTextEx ( Font font , const char * text , float fontSize , float spacing , Color tint ) ; / / Create an image from text ( custom sprite font )
RLAPI void ImageFormat ( Image * image , int newFormat ) ; / / Convert image data to desired format
@ -375,10 +396,10 @@ RLAPI void ImageAlphaClear(Image *image, Color color, float threshold);
RLAPI void ImageAlphaMask ( Image * image , Image alphaMask ) ; / / Apply alpha mask to image
RLAPI void ImageAlphaPremultiply ( Image * image ) ; / / Premultiply alpha channel
RLAPI void ImageBlurGaussian ( Image * image , int blurSize ) ; / / Apply Gaussian blur using a box blur approximation
RLAPI void ImageKernelConvolution ( Image * image , float * kernel , int kernelSize ) ; / / Apply Custom Square image convolution kernel
RLAPI void ImageKernelConvolution ( Image * image , ">const float * kernel , int kernelSize ) ; / / Apply custom square convolution kernel to image
RLAPI void ImageResize ( Image * image , int newWidth , int newHeight ) ; / / Resize image ( Bicubic scaling algorithm )
RLAPI void ImageResizeNN ( Image * image , int newWidth , int newHeight ) ; / / Resize image ( Nearest - Neighbor scaling algorithm )
RLAPI void ImageResizeCanvas ( Image * image , int newWidth , int newHeight , int offsetX , int offsetY , Color fill ) ; / / Resize canvas and fill with color
RLAPI void ImageResizeCanvas ( Image * image , int newWidth , int newHeight , int offsetX , int offsetY , Color fill ) ; / / Resize canvas and fill with color
RLAPI void ImageMipmaps ( Image * image ) ; / / Compute all mipmap levels for a provided image
RLAPI void ImageDither ( Image * image , int rBpp , int gBpp , int bBpp , int aBpp ) ; / / Dither image data to 16 bpp or lower ( Floyd - Steinberg dithering )
RLAPI void ImageFlipVertical ( Image * image ) ; / / Flip image vertically
@ -406,6 +427,7 @@ RLAPI void ImageDrawPixel(Image *dst, int posX, int posY, Color color);
RLAPI void ImageDrawPixelV ( Image * dst , Vector2 position , Color color ) ; / / Draw pixel within an image ( Vector version )
RLAPI void ImageDrawLine ( Image * dst , int startPosX , int startPosY , int endPosX , int endPosY , Color color ) ; / / Draw line within an image
RLAPI void ImageDrawLineV ( Image * dst , Vector2 start , Vector2 end , Color color ) ; / / Draw line within an image ( Vector version )
RLAPI void ImageDrawLineEx ( Image * dst , Vector2 start , Vector2 end , int thick , Color color ) ; / / Draw a line defining thickness within an image
RLAPI void ImageDrawCircle ( Image * dst , int centerX , int centerY , int radius , Color color ) ; / / Draw a filled circle within an image
RLAPI void ImageDrawCircleV ( Image * dst , Vector2 center , int radius , Color color ) ; / / Draw a filled circle within an image ( Vector version )
RLAPI void ImageDrawCircleLines ( Image * dst , int centerX , int centerY , int radius , Color color ) ; / / Draw circle outline within an image
@ -414,6 +436,11 @@ RLAPI void ImageDrawRectangle(Image *dst, int posX, int posY, int width, int hei
RLAPI void ImageDrawRectangleV ( Image * dst , Vector2 position , Vector2 size , Color color ) ; / / Draw rectangle within an image ( Vector version )
RLAPI void ImageDrawRectangleRec ( Image * dst , Rectangle rec , Color color ) ; / / Draw rectangle within an image
RLAPI void ImageDrawRectangleLines ( Image * dst , Rectangle rec , int thick , Color color ) ; / / Draw rectangle lines within an image
RLAPI void ImageDrawTriangle ( Image * dst , Vector2 v1 , Vector2 v2 , Vector2 v3 , Color color ) ; / / Draw triangle within an image
RLAPI void ImageDrawTriangleEx ( Image * dst , Vector2 v1 , Vector2 v2 , Vector2 v3 , Color c1 , Color c2 , Color c3 ) ; / / Draw triangle with interpolated colors within an image
RLAPI void ImageDrawTriangleLines ( Image * dst , Vector2 v1 , Vector2 v2 , Vector2 v3 , Color color ) ; / / Draw triangle outline within an image
RLAPI void ImageDrawTriangleFan ( Image * dst , Vector2 * points , int pointCount , Color color ) ; / / Draw a triangle fan defined by points within an image ( first vertex is the center )
RLAPI void ImageDrawTriangleStrip ( Image * dst , Vector2 * points , int pointCount , Color color ) ; / / Draw a triangle strip defined by points within an image
RLAPI void ImageDraw ( Image * dst , Image src , Rectangle srcRec , Rectangle dstRec , Color tint ) ; / / Draw a source image within a destination image ( tint applied to source )
RLAPI void ImageDrawText ( Image * dst , const char * text , int posX , int posY , int fontSize , Color color ) ; / / Draw text ( using default font ) within an image ( destination )
RLAPI 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 )
@ -424,9 +451,9 @@ RLAPI Texture2D LoadTexture(const char *fileName);
RLAPI Texture2D LoadTextureFromImage ( Image image ) ; / / Load texture from image data
RLAPI TextureCubemap LoadTextureCubemap ( Image image , int layout ) ; / / Load cubemap from image , multiple image cubemap layouts supported
RLAPI RenderTexture2D LoadRenderTexture ( int width , int height ) ; / / Load texture for rendering ( framebuffer )
RLAPI bool IsTextureReady ( Texture2D texture ) ; / / Check if a texture is ready
RLAPI bool IsTextureValid ( Texture2D texture ) ; / / Check if a texture is valid ( loaded in GPU )
RLAPI void UnloadTexture ( Texture2D texture ) ; / / Unload texture from GPU memory ( VRAM )
RLAPI bool IsRenderTextureReady ( RenderTexture2D target ) ; / / Check if a render texture is ready
RLAPI bool IsRenderTextureValid ( RenderTexture2D target ) ; / / Check if a render texture is valid ( loaded in GPU )
RLAPI void UnloadRenderTexture ( RenderTexture2D target ) ; / / Unload render texture from GPU memory ( VRAM )
RLAPI void UpdateTexture ( Texture2D texture , const void * pixels ) ; / / Update GPU texture with new data
RLAPI void UpdateTextureRec ( Texture2D texture , Rectangle rec , const void * pixels ) ; / / Update GPU texture rectangle with new data
@ -445,8 +472,9 @@ RLAPI void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, V
RLAPI 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
/ / Color / pixel related functions
RLAPI bool ColorIsEqual ( Color col1 , Color col2 ) ; / / Check if two colors are equal
RLAPI Color Fade ( Color color , float alpha ) ; / / Get color with alpha applied , alpha goes from 0.0f to 1.0f
RLAPI int ColorToInt ( Color color ) ; / / Get hexadecimal value for a Color
RLAPI int ColorToInt ( Color color ) ; / / Get hexadecimal value for a Color ( 0 xRRGGBBAA )
RLAPI Vector4 ColorNormalize ( Color color ) ; / / Get Color normalized as float [ 0. .1 ]
RLAPI Color ColorFromNormalized ( Vector4 normalized ) ; / / Get Color from normalized values [ 0. .1 ]
RLAPI Vector3 ColorToHSV ( Color color ) ; / / Get HSV values for a Color , hue [ 0. .360 ] , saturation / value [ 0. .1 ]
@ -456,6 +484,7 @@ RLAPI Color ColorBrightness(Color color, float factor); // G
RLAPI Color ColorContrast ( Color color , float contrast ) ; / / Get color with contrast correction , contrast values between - 1.0f and 1.0f
RLAPI Color ColorAlpha ( Color color , float alpha ) ; / / Get color with alpha applied , alpha goes from 0.0f to 1.0f
RLAPI Color ColorAlphaBlend ( Color dst , Color src , Color tint ) ; / / Get src alpha - blended into dst color with tint
RLAPI Color ColorLerp ( Color color1 , Color color2 , float factor ) ; / / Get color lerp interpolation between two colors , factor [ 0.0f . .1 .0f ]
RLAPI Color GetColor ( unsigned int hexValue ) ; / / Get Color structure from hexadecimal value
RLAPI Color GetPixelColor ( void * srcPtr , int format ) ; / / Get Color from a source pixel pointer of certain format
RLAPI void SetPixelColor ( void * dstPtr , Color color , int format ) ; / / Set color formatted into destination pixel pointer
@ -468,10 +497,10 @@ RLAPI int GetPixelDataSize(int width, int height, int format); // G
/ / Font loading / unloading functions
RLAPI Font GetFontDefault ( void ) ; / / Get the default Font
RLAPI Font LoadFont ( const char * fileName ) ; / / Load font from file into GPU memory ( VRAM )
RLAPI Font LoadFontEx ( const char * fileName , int fontSize , int * codepoints , int codepointCount ) ; / / Load font from file with extended parameters , use NULL for codepoints and 0 for codepointCount to load the default character set
RLAPI Font LoadFontEx ( const char * fileName , int fontSize , int * codepoints , int codepointCount ) ; / / Load font from file with extended parameters , use NULL for codepoints and 0 for codepointCount to load the default character set , font size is provided in pixels height
RLAPI Font LoadFontFromImage ( Image image , Color key , int firstChar ) ; / / Load font from Image ( XNA style )
RLAPI Font LoadFontFromMemory ( const char * fileType , const unsigned char * fileData , int dataSize , int fontSize , int * codepoints , int codepointCount ) ; / / Load font from memory buffer , fileType refers to extension : i . e . ' . ttf '
RLAPI bool IsFontReady ( Font font ) ; / / Check if a font is ready
RLAPI bool IsFontValid ( Font font ) ; / / Check if a font is valid ( font data loaded , WARNING : GPU texture not checked )
RLAPI GlyphInfo * LoadFontData ( const unsigned char * fileData , int dataSize , int fontSize , int * codepoints , int codepointCount , int type ) ; / / Load font data for further use
RLAPI Image GenImageFontAtlas ( const GlyphInfo * glyphs , Rectangle * * glyphRecs , int glyphCount , int fontSize , int padding , int packMethod ) ; / / Generate image font atlas using chars info
RLAPI void UnloadFontData ( GlyphInfo * glyphs , int glyphCount ) ; / / Unload font chars info data ( RAM )
@ -512,7 +541,7 @@ RLAPI bool TextIsEqual(const char *text1, const char *text2);
RLAPI unsigned int TextLength ( const char * text ) ; / / Get text length , checks for ' \0 ' ending
RLAPI const char * TextFormat ( const char * text , . . . ) ; / / Text formatting with variables ( sprintf ( ) style )
RLAPI const char * TextSubtext ( const char * text , int position , int length ) ; / / Get a piece of a text string
RLAPI char * TextReplace ( char * text , const char * replace , const char * by ) ; / / Replace text string ( WARNING : memory must be freed ! )
RLAPI char * TextReplace ( ">const char * text , const char * replace , const char * by ) ; / / Replace text string ( WARNING : memory must be freed ! )
RLAPI char * TextInsert ( const char * text , const char * insert , int position ) ; / / Insert text in a position ( WARNING : memory must be freed ! )
RLAPI const char * TextJoin ( const char * * textList , int count , const char * delimiter ) ; / / Join text strings with delimiter
RLAPI const char * * TextSplit ( const char * text , char delimiter , int * count ) ; / / Split text into multiple strings
@ -521,7 +550,11 @@ RLAPI int TextFindIndex(const char *text, const char *find);
RLAPI const char * TextToUpper ( const char * text ) ; / / Get upper case version of provided string
RLAPI const char * TextToLower ( const char * text ) ; / / Get lower case version of provided string
RLAPI const char * TextToPascal ( const char * text ) ; / / Get Pascal case notation version of provided string
RLAPI const char * TextToSnake ( const char * text ) ; / / Get Snake case notation version of provided string
RLAPI const char * TextToCamel ( const char * text ) ; / / Get Camel case notation version of provided string
RLAPI int TextToInteger ( const char * text ) ; / / Get integer value from text ( negative values not supported )
RLAPI float TextToFloat ( const char * text ) ; / / Get float value from text ( negative values not supported )
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ / Basic 3 d Shapes Drawing Functions ( Module : models )
@ -532,7 +565,7 @@ RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color);
RLAPI void DrawPoint3D ( Vector3 position , Color color ) ; / / Draw a point in 3 D space , actually a small line
RLAPI void DrawCircle3D ( Vector3 center , float radius , Vector3 rotationAxis , float rotationAngle , Color color ) ; / / Draw a circle in 3 D world space
RLAPI void DrawTriangle3D ( Vector3 v1 , Vector3 v2 , Vector3 v3 , Color color ) ; / / Draw a color - filled triangle ( vertex in counter - clockwise order ! )
RLAPI void DrawTriangleStrip3D ( Vector3 * points , int pointCount , Color color ) ; / / Draw a triangle strip defined by points
RLAPI void DrawTriangleStrip3D ( k">const Vector3 * points , int pointCount , Color color ) ; / / Draw a triangle strip defined by points
RLAPI void DrawCube ( Vector3 position , float width , float height , float length , Color color ) ; / / Draw cube
RLAPI void DrawCubeV ( Vector3 position , Vector3 size , Color color ) ; / / Draw cube ( Vector version )
RLAPI void DrawCubeWires ( Vector3 position , float width , float height , float length , Color color ) ; / / Draw cube wires
@ -557,7 +590,7 @@ RLAPI void DrawGrid(int slices, float spacing);
/ / Model management functions
RLAPI Model LoadModel ( const char * fileName ) ; / / Load model from files ( meshes and materials )
RLAPI Model LoadModelFromMesh ( Mesh mesh ) ; / / Load model from generated mesh ( default material )
RLAPI bool IsModelReady ( Model model ) ; / / Check if a model is ready
RLAPI bool IsModelValid ( Model model ) ; / / Check if a model is valid ( loaded in GPU , VAO / VBOs )
RLAPI void UnloadModel ( Model model ) ; / / Unload model ( including meshes ) from memory ( RAM and / or VRAM )
RLAPI BoundingBox GetModelBoundingBox ( Model model ) ; / / Compute model bounding box limits ( considers all meshes )
@ -566,8 +599,10 @@ RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint);
RLAPI void DrawModelEx ( Model model , Vector3 position , Vector3 rotationAxis , float rotationAngle , Vector3 scale , Color tint ) ; / / Draw a model with extended parameters
RLAPI void DrawModelWires ( Model model , Vector3 position , float scale , Color tint ) ; / / Draw a model wires ( with texture if set )
RLAPI 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
RLAPI void DrawModelPoints ( Model model , Vector3 position , float scale , Color tint ) ; / / Draw a model as points
RLAPI void DrawModelPointsEx ( Model model , Vector3 position , Vector3 rotationAxis , float rotationAngle , Vector3 scale , Color tint ) ; / / Draw a model as points with extended parameters
RLAPI void DrawBoundingBox ( BoundingBox box , Color color ) ; / / Draw bounding box ( wires )
RLAPI void DrawBillboard ( Camera camera , Texture2D texture , Vector3 position , float size , Color tint ) ; / / Draw a billboard texture
RLAPI void DrawBillboard ( Camera camera , Texture2D texture , Vector3 position , float scal e , Color tint ) ; / / Draw a billboard texture
RLAPI void DrawBillboardRec ( Camera camera , Texture2D texture , Rectangle source , Vector3 position , Vector2 size , Color tint ) ; / / Draw a billboard texture defined by source
RLAPI 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
@ -577,9 +612,10 @@ RLAPI void UpdateMeshBuffer(Mesh mesh, int index, const void *data, int dataSize
RLAPI void UnloadMesh ( Mesh mesh ) ; / / Unload mesh data from CPU and GPU
RLAPI void DrawMesh ( Mesh mesh , Material material , Matrix transform ) ; / / Draw a 3 d mesh with material and transform
RLAPI void DrawMeshInstanced ( Mesh mesh , Material material , const Matrix * transforms , int instances ) ; / / Draw multiple mesh instances with material and different transforms
RLAPI bool ExportMesh ( Mesh mesh , const char * fileName ) ; / / Export mesh data to file , returns true on success
RLAPI BoundingBox GetMeshBoundingBox ( Mesh mesh ) ; / / Compute mesh bounding box limits
RLAPI void GenMeshTangents ( Mesh * mesh ) ; / / Compute mesh tangents
RLAPI bool ExportMesh ( Mesh mesh , const char * fileName ) ; / / Export mesh data to file , returns true on success
RLAPI bool ExportMeshAsCode ( Mesh mesh , const char * fileName ) ; / / Export mesh as code file ( . h ) defining multiple arrays of vertex attributes
/ / Mesh generation functions
RLAPI Mesh GenMeshPoly ( int sides , float radius ) ; / / Generate polygonal mesh
@ -597,14 +633,15 @@ RLAPI Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize);
/ / Material loading / unloading functions
RLAPI Material * LoadMaterials ( const char * fileName , int * materialCount ) ; / / Load materials from model file
RLAPI Material LoadMaterialDefault ( void ) ; / / Load default material ( Supports : DIFFUSE , SPECULAR , NORMAL maps )
RLAPI bool IsMaterialReady ( Material material ) ; / / Check if a material is ready
RLAPI bool IsMaterialValid ( Material material ) ; / / Check if a material is valid ( shader assigned , map textures loaded in GPU )
RLAPI void UnloadMaterial ( Material material ) ; / / Unload material from GPU memory ( VRAM )
RLAPI void SetMaterialTexture ( Material * material , int mapType , Texture2D texture ) ; / / Set texture for a material map type ( MATERIAL_MAP_DIFFUSE , MATERIAL_MAP_SPECULAR . . . )
RLAPI void SetModelMeshMaterial ( Model * model , int meshId , int materialId ) ; / / Set material for a mesh
/ / Model animations loading / unloading functions
RLAPI ModelAnimation * LoadModelAnimations ( const char * fileName , int * animCount ) ; / / Load model animations from file
RLAPI void UpdateModelAnimation ( Model model , ModelAnimation anim , int frame ) ; / / Update model animation pose
RLAPI void UpdateModelAnimation ( Model model , ModelAnimation anim , int frame ) ; / / Update model animation pose ( CPU )
RLAPI void UpdateModelAnimationBones ( Model model , ModelAnimation anim , int frame ) ; / / Update model animation mesh bone matrices ( GPU skinning )
RLAPI void UnloadModelAnimation ( ModelAnimation anim ) ; / / Unload animation data
RLAPI void UnloadModelAnimations ( ModelAnimation * animations , int animCount ) ; / / Unload animation array data
RLAPI bool IsModelAnimationValid ( Model model , ModelAnimation anim ) ; / / Check model animation skeleton match
@ -634,11 +671,11 @@ RLAPI float GetMasterVolume(void); // Get mas
/ / Wave / Sound loading / unloading functions
RLAPI Wave LoadWave ( const char * fileName ) ; / / Load wave data from file
RLAPI Wave LoadWaveFromMemory ( const char * fileType , const unsigned char * fileData , int dataSize ) ; / / Load wave from memory buffer , fileType refers to extension : i . e . ' . wav '
RLAPI bool IsWaveReady ( Wave wave ) ; / / Checks if wave data is ready
RLAPI bool IsWaveValid ( Wave wave ) ; / / Checks if wave data is valid ( data loaded and parameters )
RLAPI Sound LoadSound ( const char * fileName ) ; / / Load sound from file
RLAPI Sound LoadSoundFromWave ( Wave wave ) ; / / Load sound from wave data
RLAPI Sound LoadSoundAlias ( Sound source ) ; / / Create a new sound that shares the same sample data as the source sound , does not own the sound data
RLAPI bool IsSoundReady ( Sound sound ) ; / / Checks if a sound is ready
RLAPI bool IsSoundValid ( Sound sound ) ; / / Checks if a sound is valid ( data loaded and buffers initialized )
RLAPI void UpdateSound ( Sound sound , const void * data , int sampleCount ) ; / / Update sound buffer with new data
RLAPI void UnloadWave ( Wave wave ) ; / / Unload wave data
RLAPI void UnloadSound ( Sound sound ) ; / / Unload sound
@ -656,7 +693,7 @@ RLAPI void SetSoundVolume(Sound sound, float volume); // Set vol
RLAPI void SetSoundPitch ( Sound sound , float pitch ) ; / / Set pitch for a sound ( 1.0 is base level )
RLAPI void SetSoundPan ( Sound sound , float pan ) ; / / Set pan for a sound ( 0.5 is center )
RLAPI Wave WaveCopy ( Wave wave ) ; / / Copy a wave to a new wave
RLAPI void WaveCrop ( Wave * wave , int initSample , int finalSampl e ) ; / / Crop a wave to defined sampl es range
RLAPI void WaveCrop ( Wave * wave , int initFrame , int finalFram e ) ; / / Crop a wave to defined fram es range
RLAPI void WaveFormat ( Wave * wave , int sampleRate , int sampleSize , int channels ) ; / / Convert wave data to desired format
RLAPI float * LoadWaveSamples ( Wave wave ) ; / / Load samples data from wave as a 32 bit float data array
RLAPI void UnloadWaveSamples ( float * samples ) ; / / Unload samples data loaded with LoadWaveSamples ( )
@ -664,7 +701,7 @@ RLAPI void UnloadWaveSamples(float *samples); // Unload
/ / Music management functions
RLAPI Music LoadMusicStream ( const char * fileName ) ; / / Load music stream from file
RLAPI Music LoadMusicStreamFromMemory ( const char * fileType , const unsigned char * data , int dataSize ) ; / / Load music stream from data
RLAPI bool IsMusicReady ( Music music ) ; / / Checks if a music stream is ready
RLAPI bool IsMusicValid ( Music music ) ; / / Checks if a music stream is valid ( context and buffers initialized )
RLAPI void UnloadMusicStream ( Music music ) ; / / Unload music stream
RLAPI void PlayMusicStream ( Music music ) ; / / Start music playing
RLAPI bool IsMusicStreamPlaying ( Music music ) ; / / Check if music is playing
@ -681,7 +718,7 @@ RLAPI float GetMusicTimePlayed(Music music); // Get cur
/ / AudioStream management functions
RLAPI AudioStream LoadAudioStream ( unsigned int sampleRate , unsigned int sampleSize , unsigned int channels ) ; / / Load audio stream ( to stream raw audio pcm data )
RLAPI bool IsAudioStreamReady ( AudioStream stream ) ; / / Checks if an audio stream is ready
RLAPI bool IsAudioStreamValid ( AudioStream stream ) ; / / Checks if an audio stream is valid ( buffers initialized )
RLAPI void UnloadAudioStream ( AudioStream stream ) ; / / Unload audio stream and free memory
RLAPI void UpdateAudioStream ( AudioStream stream , const void * data , int frameCount ) ; / / Update audio stream buffers with data
RLAPI bool IsAudioStreamProcessed ( AudioStream stream ) ; / / Check if any audio stream buffers requires refill
@ -696,9 +733,9 @@ RLAPI void SetAudioStreamPan(AudioStream stream, float pan); // Set pan
RLAPI void SetAudioStreamBufferSizeDefault ( int size ) ; / / Default size for new audio streams
RLAPI void SetAudioStreamCallback ( AudioStream stream , AudioCallback callback ) ; / / Audio thread callback to request new data
RLAPI void AttachAudioStreamProcessor ( AudioStream stream , AudioCallback processor ) ; / / Attach audio stream processor to stream , receives the samples as o">< float > s
RLAPI void AttachAudioStreamProcessor ( AudioStream stream , AudioCallback processor ) ; / / Attach audio stream processor to stream , receives the samples as err">' float '
RLAPI void DetachAudioStreamProcessor ( AudioStream stream , AudioCallback processor ) ; / / Detach audio stream processor from stream
RLAPI void AttachAudioMixedProcessor ( AudioCallback processor ) ; / / Attach audio stream processor to the entire audio pipeline , receives the samples as o">< float > s
RLAPI void AttachAudioMixedProcessor ( AudioCallback processor ) ; / / Attach audio stream processor to the entire audio pipeline , receives the samples as err">' float '
RLAPI void DetachAudioMixedProcessor ( AudioCallback processor ) ; / / Detach audio stream processor from the entire audio pipeline