Example #1
0
        protected override void DrawWidgetStateOverlay(IBatchedDrawingService drawingService)
        {
            var borderRect   = BorderRect;
            var reservedSize = FrameTexture?.CornerArea.Horizontal ?? 0;
            var usableWidth  = Math.Max(0, borderRect.Width - reservedSize);
            var range        = Math.Max(Max, Min) - Math.Min(Max, Min);

            var effectiveValue = MathHelper.Clamp(lerpValue.CurrentValue, Min, Max) - Min;
            var width          = usableWidth * effectiveValue / range;

            if (width > 0)
            {
                Rectangle progressRect;
                if (Direction == ProgressBarDirection.LeftToRight)
                {
                    progressRect = new Rectangle(borderRect.X, borderRect.Y,
                                                 (int)(width + reservedSize), borderRect.Height);
                }
                else
                {
                    progressRect = new Rectangle((int)(borderRect.X + (usableWidth - width)), borderRect.Y,
                                                 (int)(width + reservedSize), borderRect.Height);
                }
                drawingService.DrawBox(WidgetStateOverlayTexture, progressRect, WidgetStateOverlayColor);
            }
        }
Example #2
0
 protected override void DrawMouseState(IBatchedDrawingService drawingService)
 {
     if (!IsPressed)
     {
         base.DrawMouseState(drawingService);
     }
     else
     {
         drawingService.DrawBox(DownOverlayTexture, BorderRect, DownOverlayColor * PressedAnimationValue);
     }
 }