Вопрос Render 2 text 1 with color and 2

С++
Начинающий
Статус
Оффлайн
Регистрация
18 Янв 2021
Сообщения
88
Реакции[?]
8
Поинты[?]
0
Как зарендерить в лв 2 текста но нужно чтобы 1 текст был допустим красного цвета а 2 часть допустим белого чтобы не мучиться в x y вот пример

draw->AddText(ImVec2(pos.x + 53, pos.y + 33), ImColor(255, 255, 255), "Cheat");
draw->AddText(ImVec2(pos.x + 93, pos.y + 33), ImColor(0, 150, 255), "Name");
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
У ImFont есть метод CalcTextSizeA, он выдает тебе размер в пикселях (ширину по x, и высоту по y) для заданного текста.
Код:
ImVec2 text_size = font->CalcTextSizeA(font_size, FLT_MAX, 0, u8"Твой текст");
Затем прибавляй этот размер к pos.x + 53 + text_size.x в твоем случае.
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
Код:
std::vector<std::string> text = { "First", "Second" };
d->AddText(p + ImVec2(5, 20), ImColor(first color), text.at(0).c_str());
d->AddText(p + ImVec2(5 + ImGui::CalcTextSize(text[0].c_str()).x, 20), ImColor(second color), text.at(1).c_str());
 
Сверху Снизу