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

◆ DrawSelf()

override void Terraria.GameContent.UI.Elements.UIScrollbar.DrawSelf ( SpriteBatch spriteBatch)
inlineprotectedvirtual

Reimplemented from Terraria.UI.UIElement.

Definition at line 87 of file UIScrollbar.cs.

88 {
89 CalculatedStyle dimensions = GetDimensions();
90 CalculatedStyle innerDimensions = GetInnerDimensions();
91 if (_isDragging)
92 {
93 float num = UserInterface.ActiveInstance.MousePosition.Y - innerDimensions.Y - _dragYOffset;
94 _viewPosition = MathHelper.Clamp(num / innerDimensions.Height * _maxViewSize, 0f, _maxViewSize - _viewSize);
95 }
96 Rectangle handleRectangle = GetHandleRectangle();
97 Vector2 mousePosition = UserInterface.ActiveInstance.MousePosition;
98 bool isHoveringOverHandle = _isHoveringOverHandle;
99 _isHoveringOverHandle = handleRectangle.Contains(new Point((int)mousePosition.X, (int)mousePosition.Y));
100 if (!isHoveringOverHandle && _isHoveringOverHandle && Main.hasFocus)
101 {
103 }
104 DrawBar(spriteBatch, _texture.Value, dimensions.ToRectangle(), Color.White);
105 DrawBar(spriteBatch, _innerTexture.Value, handleRectangle, Color.White * ((_isDragging || _isHoveringOverHandle) ? 1f : 0.85f));
106 }
static float Clamp(float value, float min, float max)
Definition MathHelper.cs:46
static void PlaySound(int type, Vector2 position, int style=1)
void DrawBar(SpriteBatch spriteBatch, Texture2D texture, Rectangle dimensions, Color color)
CalculatedStyle GetInnerDimensions()
Definition UIElement.cs:377
CalculatedStyle GetDimensions()
Definition UIElement.cs:382
static UserInterface ActiveInstance
bool Contains(int x, int y)
Definition Rectangle.cs:92

References Terraria.GameContent.UI.Elements.UIScrollbar._dragYOffset, Terraria.GameContent.UI.Elements.UIScrollbar._innerTexture, Terraria.GameContent.UI.Elements.UIScrollbar._isDragging, Terraria.GameContent.UI.Elements.UIScrollbar._isHoveringOverHandle, Terraria.GameContent.UI.Elements.UIScrollbar._maxViewSize, Terraria.GameContent.UI.Elements.UIScrollbar._texture, Terraria.GameContent.UI.Elements.UIScrollbar._viewPosition, Terraria.GameContent.UI.Elements.UIScrollbar._viewSize, Terraria.UI.UserInterface.ActiveInstance, Microsoft.Xna.Framework.MathHelper.Clamp(), Microsoft.Xna.Framework.Rectangle.Contains(), Terraria.GameContent.UI.Elements.UIScrollbar.DrawBar(), Terraria.UI.UIElement.GetDimensions(), Terraria.GameContent.UI.Elements.UIScrollbar.GetHandleRectangle(), Terraria.UI.UIElement.GetInnerDimensions(), Terraria.Main.hasFocus, Terraria.UI.CalculatedStyle.Height, Terraria.Audio.SoundEngine.PlaySound(), Microsoft.Xna.Framework.Graphics.Point, Terraria.UI.CalculatedStyle.ToRectangle(), ReLogic.Content.Asset< T >.Value, Microsoft.Xna.Framework.Color.White, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.