Fix curve editor showing whole curve in a view

This commit is contained in:
Wojtek Figat
2024-11-28 18:27:09 +01:00
parent e2ed618056
commit 6f0a2c0288
3 changed files with 19 additions and 6 deletions

View File

@@ -671,8 +671,20 @@ namespace FlaxEditor.GUI
/// <inheritdoc />
public override void ShowWholeCurve()
{
ViewScale = ApplyUseModeMask(EnableZoom, _mainPanel.Size / _contents.Size, ViewScale);
ViewOffset = ApplyUseModeMask(EnablePanning, -_mainPanel.ControlsBounds.Location, ViewOffset);
_mainPanel.GetDesireClientArea(out var mainPanelArea);
ViewScale = ApplyUseModeMask(EnableZoom, mainPanelArea.Size / _contents.Size, ViewScale);
Float2 minPos = Float2.Maximum;
foreach (var point in _points)
{
var pos = point.PointToParent(point.Location);
Float2.Min(ref minPos, ref pos, out minPos);
}
var minPosPoint = _contents.PointToParent(ref minPos);
var scroll = new Float2(_mainPanel.HScrollBar.TargetValue, _mainPanel.VScrollBar.TargetValue);
scroll = ApplyUseModeMask(EnablePanning, minPosPoint, scroll);
_mainPanel.HScrollBar.TargetValue = scroll.X;
_mainPanel.VScrollBar.TargetValue = scroll.Y;
UpdateKeyframes();
}