fixed problem with adjusting panel borders after they've been created

This commit is contained in:
PS 2020-11-15 17:33:55 -08:00
parent aac3ce5f00
commit e6f34d17ad
1 changed files with 14 additions and 14 deletions

View File

@ -98,38 +98,38 @@ FOLDHAUS_INPUT_COMMAND_PROC(EndDragPanelBorderOperation)
if (OpState->PanelEditMode == PanelEdit_Modify) if (OpState->PanelEditMode == PanelEdit_Modify)
{ {
if (Panel->SplitDirection == PanelSplit_Horizontal) if (OpState->Panel->SplitDirection == PanelSplit_Horizontal)
{ {
r32 NewSplitY = Mouse.Pos.y; r32 NewSplitY = Mouse.Pos.y;
if (NewSplitY <= PanelBounds.Min.y) if (NewSplitY <= PanelBounds.Min.y)
{ {
ConsolidatePanelsKeepOne(Panel, Panel->Top, &State->PanelSystem); ConsolidatePanelsKeepOne(OpState->Panel, OpState->Panel->Top, &State->PanelSystem);
} }
else if (NewSplitY >= PanelBounds.Max.y) else if (NewSplitY >= PanelBounds.Max.y)
{ {
ConsolidatePanelsKeepOne(Panel, Panel->Bottom, &State->PanelSystem); ConsolidatePanelsKeepOne(OpState->Panel, OpState->Panel->Bottom, &State->PanelSystem);
} }
else else
{ {
Panel->SplitPercent = (NewSplitY - PanelBounds.Min.y) / Rect2Height(PanelBounds); OpState->Panel->SplitPercent = (NewSplitY - PanelBounds.Min.y) / Rect2Height(PanelBounds);
Panel_UpdateLayout(Panel, PanelBounds); Panel_UpdateLayout(OpState->Panel, PanelBounds);
} }
} }
else if (Panel->SplitDirection == PanelSplit_Vertical) else if (OpState->Panel->SplitDirection == PanelSplit_Vertical)
{ {
r32 NewSplitX = Mouse.Pos.x; r32 NewSplitX = Mouse.Pos.x;
if (NewSplitX <= PanelBounds.Min.x) if (NewSplitX <= PanelBounds.Min.x)
{ {
ConsolidatePanelsKeepOne(Panel, Panel->Right, &State->PanelSystem); ConsolidatePanelsKeepOne(OpState->Panel, OpState->Panel->Right, &State->PanelSystem);
} }
else if (NewSplitX >= PanelBounds.Max.x) else if (NewSplitX >= PanelBounds.Max.x)
{ {
ConsolidatePanelsKeepOne(Panel, Panel->Left, &State->PanelSystem); ConsolidatePanelsKeepOne(OpState->Panel, OpState->Panel->Left, &State->PanelSystem);
} }
else else
{ {
Panel->SplitPercent = (NewSplitX - PanelBounds.Min.x) / Rect2Width(PanelBounds); OpState->Panel->SplitPercent = (NewSplitX - PanelBounds.Min.x) / Rect2Width(PanelBounds);
Panel_UpdateLayout(Panel, PanelBounds); Panel_UpdateLayout(OpState->Panel, PanelBounds);
} }
} }
} }
@ -140,11 +140,11 @@ FOLDHAUS_INPUT_COMMAND_PROC(EndDragPanelBorderOperation)
r32 SplitY = LerpR32(OpState->Panel->SplitPercent, PanelBounds.Min.y, PanelBounds.Max.y); r32 SplitY = LerpR32(OpState->Panel->SplitPercent, PanelBounds.Min.y, PanelBounds.Max.y);
if (Mouse.Pos.y > SplitY) if (Mouse.Pos.y > SplitY)
{ {
ConsolidatePanelsKeepOne(Panel, Panel->Bottom, &State->PanelSystem); ConsolidatePanelsKeepOne(OpState->Panel, OpState->Panel->Bottom, &State->PanelSystem);
} }
else else
{ {
ConsolidatePanelsKeepOne(Panel, Panel->Top, &State->PanelSystem); ConsolidatePanelsKeepOne(OpState->Panel, OpState->Panel->Top, &State->PanelSystem);
} }
} }
else if (OpState->PanelEdgeDirection == PanelSplit_Vertical) else if (OpState->PanelEdgeDirection == PanelSplit_Vertical)
@ -152,11 +152,11 @@ FOLDHAUS_INPUT_COMMAND_PROC(EndDragPanelBorderOperation)
r32 SplitX = LerpR32(OpState->Panel->SplitPercent, PanelBounds.Min.x, PanelBounds.Max.x); r32 SplitX = LerpR32(OpState->Panel->SplitPercent, PanelBounds.Min.x, PanelBounds.Max.x);
if (Mouse.Pos.x > SplitX) if (Mouse.Pos.x > SplitX)
{ {
ConsolidatePanelsKeepOne(Panel, Panel->Left, &State->PanelSystem); ConsolidatePanelsKeepOne(OpState->Panel, OpState->Panel->Left, &State->PanelSystem);
} }
else else
{ {
ConsolidatePanelsKeepOne(Panel, Panel->Right, &State->PanelSystem); ConsolidatePanelsKeepOne(OpState->Panel, OpState->Panel->Right, &State->PanelSystem);
} }
} }
} }