Вопрос Imgui drawlist items don't cover full window

Начинающий
Статус
Оффлайн
Регистрация
23 Дек 2020
Сообщения
11
Реакции[?]
4
Поинты[?]
4K
hey sorry for shit posting, but this drives me insane, help is appreciated :)

ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.


code block:
auto draw = ImGui::GetWindowDrawList();
ImVec2 pos = ImGui::GetWindowPos();
ImVec2 size = ImGui::GetWindowSize();
        
draw->AddRectFilled(ImVec2(pos.x + 1, pos.y + 1), ImVec2(pos.x + size.x - 1, pos.y + 2), ImColor(224, 153, 54));[ /code]
 
Начинающий
Статус
Оффлайн
Регистрация
8 Июн 2019
Сообщения
174
Реакции[?]
22
Поинты[?]
3K
use foreground drawlist instead of window drawlist

currently u are using this
C++:
auto draw = ImGui::GetWindowDrawList();
instead of that use that
C++:
auto draw = ImGui::GetForegroundDrawList();
 
VirtualAllocEx
Пользователь
Статус
Оффлайн
Регистрация
30 Дек 2021
Сообщения
358
Реакции[?]
83
Поинты[?]
5K
hey sorry for shit posting, but this drives me insane, help is appreciated :)

ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.


code block:
auto draw = ImGui::GetWindowDrawList();
ImVec2 pos = ImGui::GetWindowPos();
ImVec2 size = ImGui::GetWindowSize();
      
draw->AddRectFilled(ImVec2(pos.x + 1, pos.y + 1), ImVec2(pos.x + size.x - 1, pos.y + 2), ImColor(224, 153, 54));[ /code]
C++:
auto padding = ImGui::GetStyle().WindowPadding;
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(0, 0));
ImGui::Begin(...);
// Here your render decoration
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, padding);
// draw->AddRectFilled(ImVec2(pos.x + 1, pos.y + 1), ImVec2(pos.x + size.x - 1, pos.y + 2), ImColor(224, 153, 54))
ImGui::PopStyleVar();
ImGui::End();
ImGui::PopStyleVar();
This is the most optimal solution, but you can also use ForegroundDrawlist or OverlayDrawlist instead
 
Сверху Снизу