Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ LeftMouseDown()

override void Terraria.GameContent.UI.Elements.UIScrollbar.LeftMouseDown ( UIMouseEvent evt)
inlinevirtual

Reimplemented from Terraria.UI.UIElement.

Definition at line 108 of file UIScrollbar.cs.

109 {
110 base.LeftMouseDown(evt);
111 if (evt.Target == this)
112 {
113 Rectangle handleRectangle = GetHandleRectangle();
114 if (handleRectangle.Contains(new Point((int)evt.MousePosition.X, (int)evt.MousePosition.Y)))
115 {
116 _isDragging = true;
117 _dragYOffset = evt.MousePosition.Y - (float)handleRectangle.Y;
118 }
119 else
120 {
121 CalculatedStyle innerDimensions = GetInnerDimensions();
122 float num = UserInterface.ActiveInstance.MousePosition.Y - innerDimensions.Y - (float)(handleRectangle.Height >> 1);
123 _viewPosition = MathHelper.Clamp(num / innerDimensions.Height * _maxViewSize, 0f, _maxViewSize - _viewSize);
124 }
125 }
126 }
static float Clamp(float value, float min, float max)
Definition MathHelper.cs:46
CalculatedStyle GetInnerDimensions()
Definition UIElement.cs:377
readonly UIElement Target
Definition UIEvent.cs:5
readonly Vector2 MousePosition
bool Contains(int x, int y)
Definition Rectangle.cs:92

References Terraria.GameContent.UI.Elements.UIScrollbar._dragYOffset, Terraria.GameContent.UI.Elements.UIScrollbar._isDragging, Terraria.GameContent.UI.Elements.UIScrollbar._maxViewSize, Terraria.GameContent.UI.Elements.UIScrollbar._viewPosition, Terraria.GameContent.UI.Elements.UIScrollbar._viewSize, Microsoft.Xna.Framework.MathHelper.Clamp(), Microsoft.Xna.Framework.Rectangle.Contains(), Terraria.GameContent.UI.Elements.UIScrollbar.GetHandleRectangle(), Terraria.UI.UIElement.GetInnerDimensions(), Microsoft.Xna.Framework.Rectangle.Height, Terraria.UI.CalculatedStyle.Height, Terraria.UI.UIMouseEvent.MousePosition, Terraria.UI.UIEvent.Target, Microsoft.Xna.Framework.Vector2.X, Microsoft.Xna.Framework.Rectangle.Y, and Microsoft.Xna.Framework.Vector2.Y.