fixed problem with adjusting panel borders after they've been created
This commit is contained in:
parent
aac3ce5f00
commit
e6f34d17ad
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue