|
|
@ -1110,45 +1110,51 @@ RLAPI void MemFree(void *ptr); // Internal me |
|
|
|
|
|
|
|
// Set custom callbacks |
|
|
|
// WARNING: Callbacks setup is intended for advanced users |
|
|
|
RLAPI void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log |
|
|
|
RLAPI void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader |
|
|
|
RLAPI void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver |
|
|
|
RLAPI void SetLoadFileTextCallback(LoadFileTextCallback callback); // Set custom file text data loader |
|
|
|
RLAPI void SetSaveFileTextCallback(SaveFileTextCallback callback); // Set custom file text data saver |
|
|
|
RLAPI void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log |
|
|
|
RLAPI void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader |
|
|
|
RLAPI void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver |
|
|
|
RLAPI void SetLoadFileTextCallback(LoadFileTextCallback callback); // Set custom file text data loader |
|
|
|
RLAPI void SetSaveFileTextCallback(SaveFileTextCallback callback); // Set custom file text data saver |
|
|
|
|
|
|
|
// Files management functions |
|
|
|
RLAPI unsigned char *LoadFileData(const char *fileName, int *dataSize); // Load file data as byte array (read) |
|
|
|
RLAPI void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData() |
|
|
|
RLAPI void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData() |
|
|
|
RLAPI bool SaveFileData(const char *fileName, void *data, int dataSize); // Save data to file from byte array (write), returns true on success |
|
|
|
RLAPI bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileName); // Export data to code (.h), returns true on success |
|
|
|
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, const char *text); // Save text data to file (write), string must be '\0' terminated, returns true on success |
|
|
|
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, const 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 |
|
|
|
RLAPI bool DirectoryExists(const char *dirPath); // Check if a directory path exists |
|
|
|
RLAPI bool IsFileExtension(const char *fileName, const char *ext); // Check file extension (recommended include point: .png, .wav) |
|
|
|
RLAPI int GetFileLength(const char *fileName); // Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h) |
|
|
|
RLAPI const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes dot: '.png') |
|
|
|
RLAPI const char *GetFileName(const char *filePath); // Get pointer to filename for a path string |
|
|
|
RLAPI const char *GetFileNameWithoutExt(const char *filePath); // Get filename string without extension (uses static string) |
|
|
|
RLAPI const char *GetDirectoryPath(const char *filePath); // Get full path for a given fileName with path (uses static string) |
|
|
|
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 int FileRename(const char *fileName, const char *fileRename); // Rename file (if exists) |
|
|
|
RLAPI int FileRemove(const char *fileName); // Remove file (if exists) |
|
|
|
RLAPI int FileCopy(const char *srcPath, const char *dstPath); // Copy file from one path to another, dstPath created if it doesn't exist |
|
|
|
RLAPI int FileMove(const char *srcPath, const char *dstPath); // Move file from one directory to another, dstPath created if it doesn't exist |
|
|
|
RLAPI int FileTextReplace(const char *fileName, const char *search, const char *replacement); // Replace text in an existing file |
|
|
|
RLAPI int FileTextFindIndex(const char *fileName, const char *search); // Find text in existing file |
|
|
|
RLAPI bool FileExists(const char *fileName); // Check if file exists |
|
|
|
RLAPI bool DirectoryExists(const char *dirPath); // Check if a directory path exists |
|
|
|
RLAPI bool IsFileExtension(const char *fileName, const char *ext); // Check file extension (recommended include point: .png, .wav) |
|
|
|
RLAPI int GetFileLength(const char *fileName); // Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h) |
|
|
|
RLAPI long GetFileModTime(const char *fileName); // Get file modification time (last write time) |
|
|
|
RLAPI const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes dot: '.png') |
|
|
|
RLAPI const char *GetFileName(const char *filePath); // Get pointer to filename for a path string |
|
|
|
RLAPI const char *GetFileNameWithoutExt(const char *filePath); // Get filename string without extension (uses static string) |
|
|
|
RLAPI const char *GetDirectoryPath(const char *filePath); // Get full path for a given fileName with path (uses static string) |
|
|
|
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. 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 |
|
|
|
RLAPI void UnloadDroppedFiles(FilePathList files); // Unload dropped filepaths |
|
|
|
RLAPI long GetFileModTime(const char *fileName); // Get file modification time (last write time) |
|
|
|
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 |
|
|
|
RLAPI void UnloadDroppedFiles(FilePathList files); // Unload dropped filepaths |
|
|
|
|
|
|
|
// Compression/Encoding functionality |
|
|
|
RLAPI unsigned char *CompressData(const unsigned char *data, int dataSize, int *compDataSize); // Compress data (DEFLATE algorithm), memory must be MemFree() |
|
|
@ -1504,7 +1510,7 @@ RLAPI int GetCodepointPrevious(const char *text, int *codepointSize); |
|
|
|
RLAPI const char *CodepointToUTF8(int codepoint, int *utf8Size); // Encode one codepoint into UTF-8 byte array (array length returned as parameter) |
|
|
|
|
|
|
|
// Text strings management functions (no UTF-8 strings, only byte chars) |
|
|
|
// WARNING 1: Most of these functions use internal static buffers, it's recommended to store returned data on user-side for re-use |
|
|
|
// WARNING 1: Most of these functions use internal static buffers[], it's recommended to store returned data on user-side for re-use |
|
|
|
// WARNING 2: Some strings allocate memory internally for the returned strings, those strings must be free by user using MemFree() |
|
|
|
RLAPI char **LoadTextLines(const char *text, int *count); // Load text as separate lines ('\n') |
|
|
|
RLAPI void UnloadTextLines(char **text, int lineCount); // Unload text lines |
|
|
@ -1513,12 +1519,15 @@ 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(const char *text, const char *replace, const char *by); // Replace text string (WARNING: memory must be freed!) |
|
|
|
RLAPI const char *TextRemoveSpaces(const char *text); // Remove text spaces, concat words |
|
|
|
RLAPI char *GetTextBetween(const char *text, const char *begin, const char *end); // Get text between two strings |
|
|
|
RLAPI char *TextReplace(const char *text, const char *search, const char *replacement); // Replace text string (WARNING: memory must be freed!) |
|
|
|
RLAPI char *TextReplaceBetween(const char *text, const char *begin, const char *end, const char *replacement); // Replace text between two specific strings (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 char *TextJoin(char **textList, int count, const char *delimiter); // Join text strings with delimiter |
|
|
|
RLAPI char **TextSplit(const char *text, char delimiter, int *count); // Split text into multiple strings, using MAX_TEXTSPLIT_COUNT static strings |
|
|
|
RLAPI void TextAppend(char *text, const char *append, int *position); // Append text at specific position and move cursor! |
|
|
|
RLAPI int TextFindIndex(const char *text, const char *find); // Find first text occurrence within a string, -1 if not found |
|
|
|
RLAPI void TextAppend(char *text, const char *append, int *position); // Append text at specific position and move cursor |
|
|
|
RLAPI int TextFindIndex(const char *text, const char *search); // Find first text occurrence within a string, -1 if not found |
|
|
|
RLAPI char *TextToUpper(const char *text); // Get upper case version of provided string |
|
|
|
RLAPI char *TextToLower(const char *text); // Get lower case version of provided string |
|
|
|
RLAPI char *TextToPascal(const char *text); // Get Pascal case notation version of provided string |
|
|
|