Вопрос ImGui Слои

Трахов
Пользователь
Статус
Оффлайн
Регистрация
6 Фев 2020
Сообщения
490
Реакции[?]
87
Поинты[?]
2K
как можно один круг вывести на другой слой?
 
Последнее редактирование:
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
Геометрия накладывается друг на друга, то что отрисовывается последним будет наверху.
Если есть проблема с порядком выполнения, т.е. добавить круг не получается в конце, то заведи отдельный ImDrawList для оверлея и записывай геометрию туда, затем отрисовываешь оба списка, сперва основной и затем верхний.
 
Трахов
Пользователь
Статус
Оффлайн
Регистрация
6 Фев 2020
Сообщения
490
Реакции[?]
87
Поинты[?]
2K
Геометрия накладывается друг на друга, то что отрисовывается последним будет наверху.
Если есть проблема с порядком выполнения, т.е. добавить круг не получается в конце, то заведи отдельный ImDrawList для оверлея и записывай геометрию туда, затем отрисовываешь оба списка, сперва основной и затем верхний.
Ладно понял спасибо, еще такой вопросик.
в Surface есть такая вещь как FONT-CENTER которая делает так чтобы шрифт отображался не с лево на права а от центра. Как такое можно сделать?
пытался найти флаг но не нашел.
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
пытался найти флаг но не нашел.
В imgui такого флага по умолчанию нет, ты можешь его только симулировать его сам.
Для этого тебе сперва нужно рассчитать размеры текста который ты хочешь отрисовать, для этого юзай ImFont::CalcTextSize.
И наконец изменяй координату x:
слева => лево прямоугольника
по центру горизонтально = лево прямоугольника + (ширина прямоугольника / 2) - (ширина текста / 2)
справа => лево прямоугольника + ширина прямоугольника - ширина текста
Тоже самое для y:
справа => верх прямоугольника
по центру вертикально = верх прямоугольника + (высота прямоугольника / 2) - (высота текста / 2)
снизу => верх прямоугольника + высота прямоугольника - высота текста
 
Сверху Снизу