From 63e77755b7264bccc610ad9ac5f96c4ca9796250 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 20 Jun 2011 14:38:59 +1200 Subject: [PATCH] Fix #864 - don't display the depressed state if the checkbox is disabled --- OpenRA.Game/Widgets/CheckboxWidget.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OpenRA.Game/Widgets/CheckboxWidget.cs b/OpenRA.Game/Widgets/CheckboxWidget.cs index 50ad65b0ef..e68d733705 100644 --- a/OpenRA.Game/Widgets/CheckboxWidget.cs +++ b/OpenRA.Game/Widgets/CheckboxWidget.cs @@ -33,10 +33,11 @@ namespace OpenRA.Widgets public override void DrawInner() { + var disabled = IsDisabled(); var font = Game.Renderer.Fonts[Font]; var rect = RenderBounds; var check = new Rectangle(rect.Location, new Size(Bounds.Height, Bounds.Height)); - var state = IsDisabled() ? "checkbox-disabled" : + var state = disabled ? "checkbox-disabled" : Depressed && HasPressedState ? "checkbox-pressed" : RenderBounds.Contains(Viewport.LastMousePos) ? "checkbox-hover" : "checkbox"; @@ -47,9 +48,9 @@ namespace OpenRA.Widgets font.DrawText(Text, new float2(rect.Left + rect.Height * 1.5f, RenderOrigin.Y - BaseLine + (Bounds.Height - textSize.Y)/2), Color.White); - if (IsChecked() || Depressed) + if (IsChecked() || (Depressed && HasPressedState && !disabled)) WidgetUtils.DrawRGBA( - ChromeProvider.GetImage("checkbox-bits", Depressed && HasPressedState ? "pressed" : "checked"), + ChromeProvider.GetImage("checkbox-bits", HasPressedState && (Depressed || disabled) ? "pressed" : "checked"), new float2(rect.Left + 2, rect.Top + 2)); }