mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 01:59:43 +01:00
Overload font::print text argument for both std::string and const char*
Turns out I was overplaying my hand a little when changing font::print from std::string to const char*, so instead, I'll overload the function: it can take either a const char* (the main function) or a std::string (a wrapper). This means any C string that's printed everywhere else (which is common, especially because loc::gettext gives them) no longer needs to be converted to a std::string object each call. Commit 1/3: font::print_wrap -> Commit 2/3: font::print Commit 3/3: font::len
This commit is contained in:
parent
264b6474be
commit
5e3a4e69ce
2 changed files with 25 additions and 3 deletions
|
@ -1176,7 +1176,7 @@ void print(
|
||||||
const uint32_t flags,
|
const uint32_t flags,
|
||||||
int x,
|
int x,
|
||||||
int y,
|
int y,
|
||||||
const std::string& text,
|
const char* text,
|
||||||
const uint8_t r,
|
const uint8_t r,
|
||||||
const uint8_t g,
|
const uint8_t g,
|
||||||
const uint8_t b
|
const uint8_t b
|
||||||
|
@ -1239,9 +1239,8 @@ void print(
|
||||||
}
|
}
|
||||||
|
|
||||||
int position = 0;
|
int position = 0;
|
||||||
const char* str = text.c_str(); // TODO no std::string
|
|
||||||
uint32_t codepoint;
|
uint32_t codepoint;
|
||||||
while ((codepoint = UTF8_next(&str)))
|
while ((codepoint = UTF8_next(&text)))
|
||||||
{
|
{
|
||||||
position += font::print_char(
|
position += font::print_char(
|
||||||
pf.font_sel,
|
pf.font_sel,
|
||||||
|
@ -1257,6 +1256,20 @@ void print(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void print(
|
||||||
|
const uint32_t flags,
|
||||||
|
int x,
|
||||||
|
int y,
|
||||||
|
const std::string& text,
|
||||||
|
const uint8_t r,
|
||||||
|
const uint8_t g,
|
||||||
|
const uint8_t b
|
||||||
|
)
|
||||||
|
{
|
||||||
|
// Just a std::string overload for now because it's more .c_str() to add than I'm comfortable with...
|
||||||
|
print(flags, x, y, text.c_str(), r, g, b);
|
||||||
|
}
|
||||||
|
|
||||||
int print_wrap(
|
int print_wrap(
|
||||||
uint32_t flags,
|
uint32_t flags,
|
||||||
const int x,
|
const int x,
|
||||||
|
|
|
@ -84,6 +84,15 @@ bool glyph_dimensions(uint32_t flags, uint8_t* glyph_w, uint8_t* glyph_h);
|
||||||
int len(uint32_t flags, const std::string& t);
|
int len(uint32_t flags, const std::string& t);
|
||||||
int height(const uint32_t flags);
|
int height(const uint32_t flags);
|
||||||
|
|
||||||
|
void print(
|
||||||
|
uint32_t flags,
|
||||||
|
int x,
|
||||||
|
int y,
|
||||||
|
const char* text,
|
||||||
|
uint8_t r, uint8_t g, uint8_t b
|
||||||
|
);
|
||||||
|
|
||||||
|
// std::string overload for only font::print (use .c_str() for the others)
|
||||||
void print(
|
void print(
|
||||||
uint32_t flags,
|
uint32_t flags,
|
||||||
int x,
|
int x,
|
||||||
|
|
Loading…
Reference in a new issue