diff --git a/src/text.c b/src/text.c index d24ff972..0930b779 100644 --- a/src/text.c +++ b/src/text.c @@ -44,6 +44,7 @@ #define FONT_FIRST_CHAR 32 #define MAX_FONTCHARS 128 #define MAX_FORMATTEXT_LENGTH 64 +#define MAX_SUBTEXT_LENGTH 64 #define BIT_CHECK(a,b) ((a) & (1<<(b))) @@ -360,6 +361,31 @@ const char *FormatText(const char *text, ...) return buffer; } +// Get a piece of a text string +const char *SubText(const char *text, int position, int length) +{ + static char buffer[MAX_SUBTEXT_LENGTH]; + int textLength = strlen(text); + + if (position >= textLength) + { + position = textLength - 1; + length = 0; + } + + if (length >= textLength) length = textLength; + + for (int c = 0 ; c < length ; c++) + { + *(buffer+c) = *(text+position); + text++; + } + + *(buffer+length) = '\0'; + + return buffer; +} + // Measure string width for default font int MeasureText(const char *text, int fontSize) {