Merge branch 'ui-resize-update' of https://github.com/Swiggies/FlaxEngine into Swiggies-ui-resize-update
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
|
||||
|
||||
using System;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
|
||||
namespace FlaxEngine.GUI
|
||||
{
|
||||
@@ -169,6 +170,16 @@ namespace FlaxEngine.GUI
|
||||
set => Bounds = new Rectangle(value + (_parent != null ? _parent.Bounds.Size * (_anchorMax + _anchorMin) * 0.5f : Float2.Zero) - _bounds.Size * _pivot, _bounds.Size);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Whether to resize the UI Control based on where the pivot is rather than just the top-left.
|
||||
/// </summary>
|
||||
[NoSerialize, HideInEditor]
|
||||
public bool PivotRelative
|
||||
{
|
||||
get => _pivotRelativeSizing;
|
||||
set => _pivotRelativeSizing = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets width of the control.
|
||||
/// </summary>
|
||||
@@ -180,7 +191,13 @@ namespace FlaxEngine.GUI
|
||||
{
|
||||
if (Mathf.NearEqual(_bounds.Size.X, value))
|
||||
return;
|
||||
var bounds = new Rectangle(_bounds.Location, value, _bounds.Size.Y);
|
||||
var rectLocation = _bounds.Location;
|
||||
if (PivotRelative)
|
||||
{
|
||||
var delta = _bounds.Size.X - value;
|
||||
rectLocation.X += delta * Pivot.X;
|
||||
}
|
||||
var bounds = new Rectangle(rectLocation, value, _bounds.Size.Y);
|
||||
SetBounds(ref bounds);
|
||||
}
|
||||
}
|
||||
@@ -196,7 +213,13 @@ namespace FlaxEngine.GUI
|
||||
{
|
||||
if (Mathf.NearEqual(_bounds.Size.Y, value))
|
||||
return;
|
||||
var bounds = new Rectangle(_bounds.Location, _bounds.Size.X, value);
|
||||
var rectLocation = _bounds.Location;
|
||||
if (PivotRelative)
|
||||
{
|
||||
var delta = _bounds.Size.Y - value;
|
||||
rectLocation.Y += delta * Pivot.Y;
|
||||
}
|
||||
var bounds = new Rectangle(rectLocation, _bounds.Size.X, value);
|
||||
SetBounds(ref bounds);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ namespace FlaxEngine.GUI
|
||||
private float _rotation;
|
||||
internal Matrix3x3 _cachedTransform;
|
||||
internal Matrix3x3 _cachedTransformInv;
|
||||
private bool _pivotRelativeSizing = false;
|
||||
|
||||
// Style
|
||||
|
||||
|
||||
Reference in New Issue
Block a user