Feature #986 ยป 0056-sdl3-Replace-TTF_SizeUTF8-calls-by-TTF_GetStringSize.patch
client/gui-sdl3/gui_string.c | ||
---|---|---|
bool new_line = FALSE;
|
||
int w, h;
|
||
/* find '\n' */
|
||
/* Find '\n' */
|
||
while (c != '\0') {
|
||
if (c == '\n') {
|
||
new_line = TRUE;
|
||
... | ... | |
w = 0;
|
||
h = 0;
|
||
while (utf8_texts[count]) {
|
||
if (!TTF_SizeUTF8(pstr->font, utf8_texts[count], &ww, &hh)) {
|
||
if (!TTF_GetStringSize(pstr->font, utf8_texts[count], 0,
|
||
&ww, &hh)) {
|
||
do {
|
||
FC_FREE(utf8_texts[count]);
|
||
count++;
|
||
} while (utf8_texts[count]);
|
||
log_error("TTF_SizeUTF8() return ERROR!");
|
||
log_error("TTF_GetStringSize() return ERROR!");
|
||
}
|
||
w = MAX(w, ww);
|
||
h += hh;
|
||
... | ... | |
count++;
|
||
}
|
||
} else {
|
||
if (!TTF_SizeUTF8(pstr->font, pstr->text, &w, &h)) {
|
||
log_error("TTF_SizeUTF8() return ERROR!");
|
||
if (!TTF_GetStringSize(pstr->font, pstr->text, 0,
|
||
&w, &h)) {
|
||
log_error("TTF_GetStringSize() return ERROR!");
|
||
}
|
||
}
|
||
... | ... | |
n = (strlen(pchars) + 1);
|
||
if (n > pstr->n_alloc) {
|
||
/* allocated more if this is only a small increase on before: */
|
||
/* Allocated more if this is only a small increase on before: */
|
||
size_t n1 = (3 * pstr->n_alloc) / 2;
|
||
pstr->n_alloc = (n > n1) ? n : n1;
|
||
... | ... | |
char *current = pstr->text;
|
||
char c = *(pstr->text);
|
||
/* find '\n' */
|
||
/* Find '\n' */
|
||
while (c != '\0') {
|
||
if (c == '\n') {
|
||
return create_utf8_multi_surf(pstr);
|
||
... | ... | |
utf8_str_size(pstr, &size);
|
||
if (size.w > width) {
|
||
/* cut string length to w length by replacing space " " with new line "\n" */
|
||
/* Cut string length to w length by replacing space " " with new line "\n" */
|
||
bool resize = FALSE;
|
||
int len = 0;
|
||
char *ptr_rev, *ptr = pstr->text;
|
||
... | ... | |
if (!((pstr->style & 0x0F) & TTF_STYLE_NORMAL)) {
|
||
TTF_SetFontStyle(pstr->font, (pstr->style & 0x0F));
|
||
}
|
||
TTF_SizeUTF8(pstr->font, utf8char, &fw, &fh);
|
||
TTF_GetStringSize(pstr->font, utf8char, 0, &fw, &fh);
|
||
if (!((pstr->style & 0x0F) & TTF_STYLE_NORMAL)) {
|
||
TTF_SetFontStyle(pstr->font, TTF_STYLE_NORMAL);
|
||
}
|