mirror of
https://github.com/raysan5/raylib.git
synced 2025-12-25 10:22:33 -05:00
ADDED: [rtext] LoadTextLines()/UnloadTextLines()
This commit is contained in:
@ -148,11 +148,6 @@ static int UpdateRequiredFiles(void);
|
||||
static rlExampleInfo *LoadExamplesData(const char *fileName, const char *category, bool sort, int *exCount);
|
||||
static void UnloadExamplesData(rlExampleInfo *exInfo);
|
||||
|
||||
// Get text lines (by line-breaks '\n')
|
||||
// WARNING: It does not copy text data, just returns line pointers
|
||||
static char **LoadTextLines(const char *text, int *count);
|
||||
static void UnloadTextLines(char **text);
|
||||
|
||||
// Load example info from file header
|
||||
static rlExampleInfo *LoadExampleInfo(const char *exFileName);
|
||||
static void UnloadExampleInfo(rlExampleInfo *exInfo);
|
||||
@ -1775,39 +1770,6 @@ static int FileMove(const char *srcPath, const char *dstPath)
|
||||
return result;
|
||||
}
|
||||
|
||||
// Load text lines
|
||||
static char **LoadTextLines(const char *text, int *count)
|
||||
{
|
||||
#define MAX_TEXT_LINES 512
|
||||
#define MAX_TEXT_LINE_LEN 512
|
||||
|
||||
char **lines = (char **)RL_CALLOC(MAX_TEXT_LINES, sizeof(char *));
|
||||
for (int i = 0; i < MAX_TEXT_LINES; i++) lines[i] = (char *)RL_CALLOC(MAX_TEXT_LINE_LEN, 1);
|
||||
int textSize = (int)strlen(text);
|
||||
int k = 0;
|
||||
|
||||
for (int i = 0, len = 0; (i < textSize) && (k < MAX_TEXT_LINES); i++)
|
||||
{
|
||||
if ((text[i] == '\n') || (len == (MAX_TEXT_LINE_LEN - 1)))
|
||||
{
|
||||
strncpy(lines[k], &text[i - len], len);
|
||||
len = 0;
|
||||
k++;
|
||||
}
|
||||
else len++;
|
||||
}
|
||||
|
||||
*count += k;
|
||||
return lines;
|
||||
}
|
||||
|
||||
// Unload text lines
|
||||
static void UnloadTextLines(char **lines)
|
||||
{
|
||||
for (int i = 0; i < MAX_TEXT_LINES; i++) RL_FREE(lines[i]);
|
||||
RL_FREE(lines);
|
||||
}
|
||||
|
||||
// Get example info from example file header
|
||||
// NOTE: Expecting the example to follow raylib_example_template.c
|
||||
rlExampleInfo *LoadExampleInfo(const char *exFileName)
|
||||
|
||||
Reference in New Issue
Block a user