mirror of
https://github.com/ocornut/imgui.git
synced 2026-01-09 23:54:20 +00:00
Merge f59da1956e into 922a11f084
This commit is contained in:
commit
5c3d7550b9
1 changed files with 24 additions and 2 deletions
|
|
@ -9651,11 +9651,33 @@ static void ShowExampleAppConstrainedResize(bool* p_open)
|
||||||
static void AspectRatio(ImGuiSizeCallbackData* data)
|
static void AspectRatio(ImGuiSizeCallbackData* data)
|
||||||
{
|
{
|
||||||
float aspect_ratio = *(float*)data->UserData;
|
float aspect_ratio = *(float*)data->UserData;
|
||||||
data->DesiredSize.y = (float)(int)(data->DesiredSize.x / aspect_ratio);
|
int current_cursor = ImGui::GetMouseCursor();
|
||||||
|
if(current_cursor == ImGuiMouseCursor_ResizeNWSE || current_cursor == ImGuiMouseCursor_ResizeNESW)
|
||||||
|
{
|
||||||
|
if(aspect_ratio > data->DesiredSize.x / data->DesiredSize.y)
|
||||||
|
data->DesiredSize.x = aspect_ratio * data->DesiredSize.y;
|
||||||
|
else
|
||||||
|
data->DesiredSize.y = data->DesiredSize.x / aspect_ratio;
|
||||||
|
}
|
||||||
|
else if(current_cursor == ImGuiMouseCursor_ResizeNS)
|
||||||
|
data->DesiredSize.x = aspect_ratio * data->DesiredSize.y;
|
||||||
|
else if(current_cursor == ImGuiMouseCursor_ResizeEW)
|
||||||
|
data->DesiredSize.y = data->DesiredSize.x / aspect_ratio;
|
||||||
}
|
}
|
||||||
static void Square(ImGuiSizeCallbackData* data)
|
static void Square(ImGuiSizeCallbackData* data)
|
||||||
{
|
{
|
||||||
data->DesiredSize.x = data->DesiredSize.y = IM_MAX(data->DesiredSize.x, data->DesiredSize.y);
|
int current_cursor = ImGui::GetMouseCursor();
|
||||||
|
if(current_cursor == ImGuiMouseCursor_ResizeNWSE || current_cursor == ImGuiMouseCursor_ResizeNESW)
|
||||||
|
{
|
||||||
|
if(1.f > data->DesiredSize.x / data->DesiredSize.y)
|
||||||
|
data->DesiredSize.x = data->DesiredSize.y;
|
||||||
|
else
|
||||||
|
data->DesiredSize.y = data->DesiredSize.x;
|
||||||
|
}
|
||||||
|
else if(current_cursor == ImGuiMouseCursor_ResizeNS)
|
||||||
|
data->DesiredSize.x = data->DesiredSize.y;
|
||||||
|
else if(current_cursor == ImGuiMouseCursor_ResizeEW)
|
||||||
|
data->DesiredSize.y = data->DesiredSize.x;
|
||||||
}
|
}
|
||||||
static void Step(ImGuiSizeCallbackData* data)
|
static void Step(ImGuiSizeCallbackData* data)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue