Вопрос ImGui Выравнивание

Пользователь
Статус
Оффлайн
Регистрация
26 Авг 2017
Сообщения
386
Реакции[?]
32
Поинты[?]
8K
Как сделать вот такое выравнивание кей-биндов по правой стороне?
1628962964359.png
 
Участник
Статус
Оффлайн
Регистрация
6 Сен 2020
Сообщения
749
Реакции[?]
364
Поинты[?]
8K
Сначала получаешь максимальную ширину - GetContentRegionAvailWidth();
Потом от неё минусуешь размер твоей коробочки кейбнидов

к примеру:
C++:
void btn_float_right() {
    float max_width = ImGui::GetContentRegionAvailWidth(); // получаем максимальную ширину области
    ImVec2 btn_size = ImVec2(50, 25); // размер кнопки
  
    ImGui::SetCursorPosX(max_width - btn_size); // ставим позицию кнопки по X (ширина области минус размер кнопки)
    ImGui::Button("text", btn_size); // кнопка
}
 
Пользователь
Статус
Оффлайн
Регистрация
26 Авг 2017
Сообщения
386
Реакции[?]
32
Поинты[?]
8K
Сначала получаешь максимальную ширину - GetContentRegionAvailWidth();
Потом от неё минусуешь размер твоей коробочки кейбнидов

к примеру:
C++:
void btn_float_right() {
    float max_width = ImGui::GetContentRegionAvailWidth(); // получаем максимальную ширину области
    ImVec2 btn_size = ImVec2(50, 25); // размер кнопки
 
    ImGui::SetCursorPosX(max_width - btn_size); // ставим позицию кнопки по X (ширина области минус размер кнопки)
    ImGui::Button("text", btn_size); // кнопка
}
ох спасибо огромное тебе, очень помог
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
Сверху Снизу