///////////////////////////////////////// protected override void OnRenderProgressBar(UIProgressBar control, CanvasRenderer renderer) { var rect = control.GetScreenRectangle(); renderer.AddQuad(rect, new ColorValue(0.05, 0.05, 0.3)); if (control.Maximum.Value != 0) { double progress = control.Value.Value / control.Maximum.Value; if (progress > 0) { var rect2 = rect; rect2.Expand(-control.GetScreenOffsetByValue(new UIMeasureValueVector2(UIMeasure.Units, 4, 4))); rect2.Right = MathEx.Lerp(rect2.Left, rect2.Right, progress); renderer.AddQuad(rect2, new ColorValue(1, 1, 1)); } } }