diff --git a/OpenRA.Game/Widgets/CheckboxWidget.cs b/OpenRA.Game/Widgets/CheckboxWidget.cs index beddc6ff75..9ad55f83f8 100644 --- a/OpenRA.Game/Widgets/CheckboxWidget.cs +++ b/OpenRA.Game/Widgets/CheckboxWidget.cs @@ -15,40 +15,32 @@ using System.Reflection; namespace OpenRA.Widgets { - public class CheckboxWidget : Widget + public class CheckboxWidget : ButtonWidget { - public string Text = ""; - public int baseLine = 1; - public bool Bold = false; public Func IsChecked = () => false; - public event Action OnChange = _ => {}; + public int BaseLine = 1; object boundObject; bool boundReadOnly; FieldInfo boundField; + [Obsolete] public event Action OnChange = _ => {}; - public override void DrawInner() + public CheckboxWidget() + : base() { - var font = Bold ? Game.Renderer.Fonts["Bold"] : Game.Renderer.Fonts["Regular"]; - var pos = RenderOrigin; - var rect = RenderBounds; - var check = new Rectangle(rect.Location, - new Size(Bounds.Height, Bounds.Height)); - WidgetUtils.DrawPanel("dialog3", check); - - var textSize = font.Measure(Text); - font.DrawText(Text, - new float2(rect.Left + rect.Height * 1.5f, - pos.Y - baseLine + (Bounds.Height - textSize.Y)/2), Color.White); - - if ((boundObject != null && (bool)boundField.GetValue(boundObject)) || IsChecked()) - WidgetUtils.DrawRGBA( - ChromeProvider.GetImage("checkbox", "checked"), - new float2(rect.Left + 2, rect.Top + 2)); + OnClick = OldClickBehavior; + IsChecked = () => (boundObject != null && (bool)boundField.GetValue(boundObject)); } - public void Bind(object obj, string field) { Bind(obj, field, false); } - public void BindReadOnly(object obj, string field) { Bind(obj, field, true); } + protected CheckboxWidget(CheckboxWidget widget) + : base(widget) + { + OnClick = OldClickBehavior; + IsChecked = () => (boundObject != null && (bool)boundField.GetValue(boundObject)); + } + + [Obsolete] public void Bind(object obj, string field) { Bind(obj, field, false); } + [Obsolete] public void BindReadOnly(object obj, string field) { Bind(obj, field, true); } void Bind(object obj, string field, bool readOnly) { @@ -56,14 +48,9 @@ namespace OpenRA.Widgets boundReadOnly = readOnly; boundField = obj.GetType().GetField(field); } - - // TODO: CheckboxWidget doesn't support raising events for mouse input - public override bool HandleMouseInput(MouseInput mi) + + void OldClickBehavior() { - // Checkboxes require lmb - if (mi.Button != MouseButton.Left || mi.Event != MouseInputEvent.Down) - return false; - bool newVal = !IsChecked(); if (boundObject != null && !boundReadOnly) { @@ -72,15 +59,31 @@ namespace OpenRA.Widgets } OnChange(newVal); - return true; } - - public CheckboxWidget() : base() { } - - protected CheckboxWidget(CheckboxWidget other) - : base(other) + + public override void DrawInner() { - Text = other.Text; + if (Font == "Regular" && Bold) + Font = "Bold"; + + 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" : + Depressed ? "checkbox-pressed" : + RenderBounds.Contains(Viewport.LastMousePos) ? "checkbox-hover" : + "checkbox"; + + WidgetUtils.DrawPanel(state, check); + + var textSize = font.Measure(Text); + font.DrawText(Text, + new float2(rect.Left + rect.Height * 1.5f, RenderOrigin.Y - BaseLine + (Bounds.Height - textSize.Y)/2), Color.White); + + if (IsChecked() || Depressed) + WidgetUtils.DrawRGBA( + ChromeProvider.GetImage("checkbox-bits", Depressed ? "pressed" : "checked"), + new float2(rect.Left + 2, rect.Top + 2)); } public override Widget Clone() { return new CheckboxWidget(this); } diff --git a/OpenRA.Mods.Cnc/Widgets/CncCheatsLogic.cs b/OpenRA.Mods.Cnc/Widgets/CncCheatsLogic.cs index 6969da9f14..0b7d6a4f2f 100644 --- a/OpenRA.Mods.Cnc/Widgets/CncCheatsLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/CncCheatsLogic.cs @@ -32,11 +32,11 @@ namespace OpenRA.Mods.Cnc.Widgets var panel = widget.GetWidget("CHEATS_PANEL"); var devTrait = world.LocalPlayer.PlayerActor.Trait(); - var shroudCheckbox = panel.GetWidget("SHROUD_CHECKBOX"); + var shroudCheckbox = panel.GetWidget("SHROUD_CHECKBOX"); shroudCheckbox.IsChecked = () => devTrait.DisableShroud; shroudCheckbox.OnClick = () => Order(world, "DevShroud"); - var pathCheckbox = panel.GetWidget("PATHDEBUG_CHECKBOX"); + var pathCheckbox = panel.GetWidget("PATHDEBUG_CHECKBOX"); pathCheckbox.IsChecked = () => devTrait.PathDebug; pathCheckbox.OnClick = () => Order(world, "DevPathDebug"); @@ -44,23 +44,23 @@ namespace OpenRA.Mods.Cnc.Widgets panel.GetWidget("GIVE_CASH_BUTTON").OnClick = () => world.IssueOrder(new Order("DevGiveCash", world.LocalPlayer.PlayerActor, false)); - var fastBuildCheckbox = panel.GetWidget("INSTANT_BUILD_CHECKBOX"); + var fastBuildCheckbox = panel.GetWidget("INSTANT_BUILD_CHECKBOX"); fastBuildCheckbox.IsChecked = () => devTrait.FastBuild; fastBuildCheckbox.OnClick = () => Order(world, "DevFastBuild"); - var fastChargeCheckbox = panel.GetWidget("INSTANT_CHARGE_CHECKBOX"); + var fastChargeCheckbox = panel.GetWidget("INSTANT_CHARGE_CHECKBOX"); fastChargeCheckbox.IsChecked = () => devTrait.FastCharge; fastChargeCheckbox.OnClick = () => Order(world, "DevFastCharge"); - var allTechCheckbox = panel.GetWidget("ENABLE_TECH_CHECKBOX"); + var allTechCheckbox = panel.GetWidget("ENABLE_TECH_CHECKBOX"); allTechCheckbox.IsChecked = () => devTrait.AllTech; allTechCheckbox.OnClick = () => Order(world, "DevEnableTech"); - var powerCheckbox = panel.GetWidget("UNLIMITED_POWER_CHECKBOX"); + var powerCheckbox = panel.GetWidget("UNLIMITED_POWER_CHECKBOX"); powerCheckbox.IsChecked = () => devTrait.UnlimitedPower; powerCheckbox.OnClick = () => Order(world, "DevUnlimitedPower"); - var buildAnywhereCheckbox = panel.GetWidget("BUILD_ANYWHERE_CHECKBOX"); + var buildAnywhereCheckbox = panel.GetWidget("BUILD_ANYWHERE_CHECKBOX"); buildAnywhereCheckbox.IsChecked = () => devTrait.BuildAnywhere; buildAnywhereCheckbox.OnClick = () => Order(world, "DevBuildAnywhere"); diff --git a/OpenRA.Mods.Cnc/Widgets/CncLobbyLogic.cs b/OpenRA.Mods.Cnc/Widgets/CncLobbyLogic.cs index f0a06307f5..2797439b7a 100755 --- a/OpenRA.Mods.Cnc/Widgets/CncLobbyLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/CncLobbyLogic.cs @@ -209,13 +209,13 @@ namespace OpenRA.Mods.Cnc.Widgets disconnectButton.OnClick = () => { Widget.CloseWindow(); onExit(); }; var gameStarting = false; - var lockTeamsCheckbox = lobby.GetWidget("LOCKTEAMS_CHECKBOX"); + var lockTeamsCheckbox = lobby.GetWidget("LOCKTEAMS_CHECKBOX"); lockTeamsCheckbox.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.LockTeams; lockTeamsCheckbox.IsDisabled = () => !Game.IsHost || gameStarting; lockTeamsCheckbox.OnClick = () => orderManager.IssueOrder(Order.Command( "lockteams {0}".F(!orderManager.LobbyInfo.GlobalSettings.LockTeams))); - var allowCheats = lobby.GetWidget("ALLOWCHEATS_CHECKBOX"); + var allowCheats = lobby.GetWidget("ALLOWCHEATS_CHECKBOX"); allowCheats.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllowCheats; allowCheats.IsDisabled = () => !Game.IsHost || gameStarting; allowCheats.OnClick = () => orderManager.IssueOrder(Order.Command( @@ -521,7 +521,7 @@ namespace OpenRA.Mods.Cnc.Widgets team.OnMouseDown = _ => ShowTeamDropDown(team); team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString(); - var status = template.GetWidget("STATUS"); + var status = template.GetWidget("STATUS"); status.IsChecked = () => c.State == Session.ClientState.Ready; status.OnClick += CycleReady; @@ -553,7 +553,7 @@ namespace OpenRA.Mods.Cnc.Widgets var team = template.GetWidget("TEAM"); team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString(); - var status = template.GetWidget("STATUS"); + var status = template.GetWidget("STATUS"); status.IsChecked = () => c.State == Session.ClientState.Ready; if (c.Index == orderManager.LocalClient.Index) status.OnClick += CycleReady; diff --git a/OpenRA.Mods.Cnc/Widgets/CncMenuButton.cs b/OpenRA.Mods.Cnc/Widgets/CncMenuButton.cs index f7b9c21e40..62191d2930 100644 --- a/OpenRA.Mods.Cnc/Widgets/CncMenuButton.cs +++ b/OpenRA.Mods.Cnc/Widgets/CncMenuButton.cs @@ -13,39 +13,10 @@ using System.Collections.Generic; using System.Drawing; using OpenRA.Graphics; using OpenRA.Widgets; +using System.Reflection; namespace OpenRA.Mods.Cnc.Widgets { - public class CncCheckboxWidget : ButtonWidget - { - public CncCheckboxWidget() - : base() { } - protected CncCheckboxWidget(CncCheckboxWidget widget) - : base(widget) { } - - public Func IsChecked = () => false; - public int baseLine = 1; - - public override void DrawInner() - { - var font = Game.Renderer.Fonts[Font]; - var rect = RenderBounds; - ButtonWidget.DrawBackground(new Rectangle(rect.Location, new Size(Bounds.Height, Bounds.Height)), - IsDisabled(), Depressed, RenderBounds.Contains(Viewport.LastMousePos)); - - var textSize = font.Measure(Text); - font.DrawText(Text, - new float2(rect.Left + rect.Height * 1.5f, RenderOrigin.Y - baseLine + (Bounds.Height - textSize.Y)/2), Color.White); - - if (IsChecked()) - WidgetUtils.DrawRGBA( - ChromeProvider.GetImage("checkbox", "checked"), - new float2(rect.Left + 2, rect.Top + 2)); - } - - public override Widget Clone() { return new CncCheckboxWidget(this); } - } - public class CncDropDownButtonWidget : DropDownButtonWidget { public CncDropDownButtonWidget() : base() { } diff --git a/OpenRA.Mods.Cnc/Widgets/CncMusicPlayerLogic.cs b/OpenRA.Mods.Cnc/Widgets/CncMusicPlayerLogic.cs index 079a30a8b8..8874a06c04 100644 --- a/OpenRA.Mods.Cnc/Widgets/CncMusicPlayerLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/CncMusicPlayerLogic.cs @@ -81,11 +81,11 @@ namespace OpenRA.Mods.Cnc.Widgets prevButton.OnClick = () => { currentSong = GetPrevSong(); Play(); }; prevButton.IsDisabled = noMusic; - var shuffleCheckbox = panel.GetWidget("SHUFFLE"); + var shuffleCheckbox = panel.GetWidget("SHUFFLE"); shuffleCheckbox.IsChecked = () => Game.Settings.Sound.Shuffle; shuffleCheckbox.OnClick = () => Game.Settings.Sound.Shuffle ^= true; - var repeatCheckbox = panel.GetWidget("REPEAT"); + var repeatCheckbox = panel.GetWidget("REPEAT"); repeatCheckbox.IsChecked = () => Game.Settings.Sound.Repeat; repeatCheckbox.OnClick = () => Game.Settings.Sound.Repeat ^= true; diff --git a/OpenRA.Mods.Cnc/Widgets/CncServerCreationLogic.cs b/OpenRA.Mods.Cnc/Widgets/CncServerCreationLogic.cs index 7e3fa2fa5f..1eced5335d 100644 --- a/OpenRA.Mods.Cnc/Widgets/CncServerCreationLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/CncServerCreationLogic.cs @@ -62,7 +62,7 @@ namespace OpenRA.Mods.Cnc.Widgets externalPort.Text = settings.Server.ExternalPort.ToString(); externalPort.IsDisabled = () => !advertiseOnline; - var advertiseCheckbox = panel.GetWidget("ADVERTISE_CHECKBOX"); + var advertiseCheckbox = panel.GetWidget("ADVERTISE_CHECKBOX"); advertiseCheckbox.IsChecked = () => advertiseOnline; advertiseCheckbox.OnClick = () => advertiseOnline ^= true; diff --git a/OpenRA.Mods.Cnc/Widgets/CncSettingsLogic.cs b/OpenRA.Mods.Cnc/Widgets/CncSettingsLogic.cs index 107d41b221..88bf984d86 100755 --- a/OpenRA.Mods.Cnc/Widgets/CncSettingsLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/CncSettingsLogic.cs @@ -64,22 +64,22 @@ namespace OpenRA.Mods.Cnc.Widgets // Debug var perftext = Game.Settings.Debug.PerfText; - var perftextCheckbox = generalPane.GetWidget("PERFTEXT_CHECKBOX"); + var perftextCheckbox = generalPane.GetWidget("PERFTEXT_CHECKBOX"); perftextCheckbox.IsChecked = () => perftext; perftextCheckbox.OnClick = () => perftext ^= true; var perfgraph = Game.Settings.Debug.PerfGraph; - var perfgraphCheckbox = generalPane.GetWidget("PERFGRAPH_CHECKBOX"); + var perfgraphCheckbox = generalPane.GetWidget("PERFGRAPH_CHECKBOX"); perfgraphCheckbox.IsChecked = () => perfgraph; perfgraphCheckbox.OnClick = () => perfgraph ^= true; var matchtimer = Game.Settings.Game.MatchTimer; - var matchtimerCheckbox = generalPane.GetWidget("MATCHTIME_CHECKBOX"); + var matchtimerCheckbox = generalPane.GetWidget("MATCHTIME_CHECKBOX"); matchtimerCheckbox.IsChecked = () => matchtimer; matchtimerCheckbox.OnClick = () => matchtimer ^= true; var checkunsynced = Game.Settings.Debug.SanityCheckUnsyncedCode; - var checkunsyncedCheckbox = generalPane.GetWidget("CHECKUNSYNCED_CHECKBOX"); + var checkunsyncedCheckbox = generalPane.GetWidget("CHECKUNSYNCED_CHECKBOX"); checkunsyncedCheckbox.IsChecked = () => checkunsynced; checkunsyncedCheckbox.OnClick = () => checkunsynced ^= true; @@ -110,7 +110,7 @@ namespace OpenRA.Mods.Cnc.Widgets musicSlider.SetOffset(musicVolume); var shellmapMusic = Game.Settings.Game.ShellmapMusic; - var shellmapMusicCheckbox = generalPane.GetWidget("SHELLMAP_MUSIC"); + var shellmapMusicCheckbox = generalPane.GetWidget("SHELLMAP_MUSIC"); shellmapMusicCheckbox.IsChecked = () => shellmapMusic; shellmapMusicCheckbox.OnClick = () => shellmapMusic ^= true; @@ -122,8 +122,8 @@ namespace OpenRA.Mods.Cnc.Widgets var inputButton = panel.GetWidget("INPUT_BUTTON"); inputButton.OnClick = () => Settings = PanelType.Input; inputButton.IsDisabled = () => Settings == PanelType.Input; - - inputPane.GetWidget("CLASSICORDERS_CHECKBOX").IsDisabled = () => true; + + inputPane.GetWidget("CLASSICORDERS_CHECKBOX").IsDisabled = () => true; var scrollStrength = Game.Settings.Game.ViewportEdgeScrollStep; var scrollSlider = inputPane.GetWidget("SCROLLSPEED_SLIDER"); @@ -131,7 +131,7 @@ namespace OpenRA.Mods.Cnc.Widgets scrollSlider.SetOffset(scrollStrength); var edgescroll = Game.Settings.Game.ViewportEdgeScroll; - var edgescrollCheckbox = inputPane.GetWidget("EDGESCROLL_CHECKBOX"); + var edgescrollCheckbox = inputPane.GetWidget("EDGESCROLL_CHECKBOX"); edgescrollCheckbox.IsChecked = () => edgescroll; edgescrollCheckbox.OnClick = () => edgescroll ^= true; @@ -141,7 +141,7 @@ namespace OpenRA.Mods.Cnc.Widgets mouseScrollDropdown.GetText = () => mouseScroll.ToString(); var teamchat = Game.Settings.Game.TeamChatToggle; - var teamchatCheckbox = inputPane.GetWidget("TEAMCHAT_CHECKBOX"); + var teamchatCheckbox = inputPane.GetWidget("TEAMCHAT_CHECKBOX"); teamchatCheckbox.IsChecked = () => teamchat; teamchatCheckbox.OnClick = () => teamchat ^= true; diff --git a/mods/cnc/chrome.yaml b/mods/cnc/chrome.yaml index a668ea97e7..e181ebfd22 100644 --- a/mods/cnc/chrome.yaml +++ b/mods/cnc/chrome.yaml @@ -181,6 +181,59 @@ slider-track: chrome.png corner-bl: 64,126,2,2 corner-br: 126,126,2,2 + +# A copy of button +checkbox: chrome.png + background: 2,194,60,60 + border-r: 62,194,2,60 + border-l: 0,194,2,60 + border-b: 2,254,60,2 + border-t: 2,192,60,2 + corner-tl: 0,192,2,2 + corner-tr: 62,192,2,2 + corner-bl: 0,254,2,2 + corner-br: 62,254,2,2 + +# A copy of button-hover +checkbox-hover: chrome.png + background: 2,130,60,60 + border-r: 62,132,2,60 + border-l: 0,130,2,60 + border-b: 2,190,60,2 + border-t: 2,128,60,2 + corner-tl: 0,128,2,2 + corner-tr: 62,128,2,2 + corner-bl: 0,190,2,2 + corner-br: 62,190,2,2 + +# A copy of button-disabled +checkbox-disabled: chrome.png + background: 66,130,60,60 + border-r: 126,130,2,60 + border-l: 64,130,2,60 + border-b: 66,190,60,2 + border-t: 66,128,60,2 + corner-tl: 64,128,2,2 + corner-tr: 126,128,2,2 + corner-bl: 64,190,2,2 + corner-br: 126,190,2,2 + +# A copy of button-pressed +checkbox-pressed: chrome.png + background: 66,194,60,60 + border-r: 126,194,2,60 + border-l: 64,194,2,60 + border-b: 66,254,60,2 + border-t: 66,192,60,2 + corner-tl: 64,192,2,2 + corner-tr: 126,192,2,2 + corner-bl: 64,254,2,2 + corner-br: 126,254,2,2 + +checkbox-bits: buttons.png + checked: 0,112,16,16 + pressed: 0,128,16,16 + panel-black: chrome.png background: 66,2,60,60 border-r: 126,2,2,60 @@ -258,9 +311,6 @@ scrollbar: buttons.png down_arrow: 16,112,16,16 up_arrow: 32,112,16,16 -checkbox: buttons.png - checked: 0,112,16,16 - strategic: strategic.png unowned: 0,0,32,32 critical_unowned: 0,32,32,32 diff --git a/mods/cnc/chrome/cheats.yaml b/mods/cnc/chrome/cheats.yaml index 281d57cf9a..de8d2d69af 100644 --- a/mods/cnc/chrome/cheats.yaml +++ b/mods/cnc/chrome/cheats.yaml @@ -18,49 +18,49 @@ Container@CHEATS_PANEL: Height:110 Background:panel-black Children: - CncCheckbox@INSTANT_BUILD: + Checkbox@INSTANT_BUILD: Id:INSTANT_BUILD_CHECKBOX X:15 Y:15 Width:200 Height:20 Text:Instant Build Speed - CncCheckbox@ENABLE_TECH: + Checkbox@ENABLE_TECH: Id:ENABLE_TECH_CHECKBOX X:15 Y:45 Width:200 Height:20 Text:Build Everything - CncCheckbox@BUILD_ANYWHERE: + Checkbox@BUILD_ANYWHERE: Id:BUILD_ANYWHERE_CHECKBOX X:15 Y:75 Width:200 Height:20 Text:Build Anywhere - CncCheckbox@UNLIMITED_POWER: + Checkbox@UNLIMITED_POWER: Id:UNLIMITED_POWER_CHECKBOX X:200 Y:15 Width:200 Height:20 Text:Unlimited Power - CncCheckbox@INSTANT_CHARGE: + Checkbox@INSTANT_CHARGE: Id:INSTANT_CHARGE_CHECKBOX X:200 Y:45 Width:200 Height:20 Text:Instant Charge Time - CncCheckbox@CHECKBOX_SHROUD: + Checkbox@CHECKBOX_SHROUD: Id:SHROUD_CHECKBOX X:400 Y:15 Height:20 Width:200 Text:Disable Shroud - CncCheckbox@CHECKBOX_PATHDEBUG: + Checkbox@CHECKBOX_PATHDEBUG: Id:PATHDEBUG_CHECKBOX X:400 Y:45 diff --git a/mods/cnc/chrome/createserver.yaml b/mods/cnc/chrome/createserver.yaml index 263b0309ca..f01e8c0d58 100644 --- a/mods/cnc/chrome/createserver.yaml +++ b/mods/cnc/chrome/createserver.yaml @@ -100,7 +100,7 @@ Container@CREATESERVER_PANEL: MaxLength:5 Height:25 Text:1234 - CncCheckbox@ADVERTISE_CHECKBOX: + Checkbox@ADVERTISE_CHECKBOX: Id:ADVERTISE_CHECKBOX X:110 Y:155 diff --git a/mods/cnc/chrome/lobby.yaml b/mods/cnc/chrome/lobby.yaml index 1359d5d115..0324f3da8b 100644 --- a/mods/cnc/chrome/lobby.yaml +++ b/mods/cnc/chrome/lobby.yaml @@ -31,14 +31,14 @@ Container@SERVER_LOBBY: Y:1 Width:192 Height:192 - CncCheckbox@LOCKTEAMS_CHECKBOX: + Checkbox@LOCKTEAMS_CHECKBOX: Id:LOCKTEAMS_CHECKBOX X:PARENT_RIGHT-209 Y:230 Width:130 Height:20 Text: Lock Teams - CncCheckbox@ALLOWCHEATS_CHECKBOX: + Checkbox@ALLOWCHEATS_CHECKBOX: Id:ALLOWCHEATS_CHECKBOX X:PARENT_RIGHT-209 Y:255 @@ -107,7 +107,7 @@ Container@SERVER_LOBBY: Height:25 X:390 Font:Regular - CncCheckbox@STATUS: + Checkbox@STATUS: Id:STATUS X:448 Y:2 @@ -179,7 +179,7 @@ Container@SERVER_LOBBY: Align:Center X:390 Y:0 - CncCheckbox@STATUS: + Checkbox@STATUS: Id:STATUS X:448 Y:2 diff --git a/mods/cnc/chrome/music.yaml b/mods/cnc/chrome/music.yaml index b08b0ad24a..b81ab588c1 100644 --- a/mods/cnc/chrome/music.yaml +++ b/mods/cnc/chrome/music.yaml @@ -155,14 +155,14 @@ Container@MUSIC_PANEL: Height:25 Align:Center Font:Bold - CncCheckbox@SHUFFLE: + Checkbox@SHUFFLE: Id:SHUFFLE X:15 Y:PARENT_BOTTOM-15-HEIGHT Width:85 Height:20 Text:Shuffle - CncCheckbox@REPEAT: + Checkbox@REPEAT: Id:REPEAT X:PARENT_RIGHT-15-WIDTH Y:PARENT_BOTTOM-15-HEIGHT diff --git a/mods/cnc/chrome/preferences.yaml b/mods/cnc/chrome/preferences.yaml index 29693f3ec8..3d5ed96c8f 100644 --- a/mods/cnc/chrome/preferences.yaml +++ b/mods/cnc/chrome/preferences.yaml @@ -60,7 +60,7 @@ Container@SETTINGS_PANEL: Font:Bold Text:Debug Align:Center - CncCheckbox@PERFINFO_CHECKBOX: + Checkbox@PERFINFO_CHECKBOX: Id:PERFTEXT_CHECKBOX X:15 Y:120 @@ -68,7 +68,7 @@ Container@SETTINGS_PANEL: Height:20 Font:Regular Text:Show Performance Text - CncCheckbox@PERFGRAPH_CHECKBOX: + Checkbox@PERFGRAPH_CHECKBOX: Id:PERFGRAPH_CHECKBOX X:15 Y:150 @@ -76,7 +76,7 @@ Container@SETTINGS_PANEL: Height:20 Font:Regular Text:Show Performance Graph - CncCheckbox@MATCHTIME_CHECKBOX: + Checkbox@MATCHTIME_CHECKBOX: Id:MATCHTIME_CHECKBOX X:15 Y:180 @@ -84,7 +84,7 @@ Container@SETTINGS_PANEL: Height:20 Font:Regular Text:Show Match Timer - CncCheckbox@CHECKUNSYNCED_CHECKBOX: + Checkbox@CHECKUNSYNCED_CHECKBOX: Id:CHECKUNSYNCED_CHECKBOX X:15 Y:210 @@ -190,7 +190,7 @@ Container@SETTINGS_PANEL: Width:240 Height:20 Ticks:5 - CncCheckbox@SHELLMAP_MUSIC: + Checkbox@SHELLMAP_MUSIC: Id:SHELLMAP_MUSIC X:375 Y:200 @@ -212,7 +212,7 @@ Container@SETTINGS_PANEL: X:15 Y:20 Width:340 - CncCheckbox@CLASSICORDERS_CHECKBOX: + Checkbox@CLASSICORDERS_CHECKBOX: Id:CLASSICORDERS_CHECKBOX X:15 Y:35 @@ -241,7 +241,7 @@ Container@SETTINGS_PANEL: Height:20 Ticks:5 Range:10,50 - CncCheckbox@EDGESCROLL_CHECKBOX: + Checkbox@EDGESCROLL_CHECKBOX: Id:EDGESCROLL_CHECKBOX X:15 Y:150 @@ -288,7 +288,7 @@ Container@SETTINGS_PANEL: Font:Bold Text:Keyboard Input Align:Center - CncCheckbox@TEAMCHAT_CHECKBOX: + Checkbox@TEAMCHAT_CHECKBOX: Id:TEAMCHAT_CHECKBOX X:375 Y:35 diff --git a/mods/cnc/uibits/buttons.png b/mods/cnc/uibits/buttons.png index 9efcfbc8a1..db1b273c02 100644 Binary files a/mods/cnc/uibits/buttons.png and b/mods/cnc/uibits/buttons.png differ diff --git a/mods/ra/chrome.yaml b/mods/ra/chrome.yaml index 98cd35924f..3e997d85e4 100644 --- a/mods/ra/chrome.yaml +++ b/mods/ra/chrome.yaml @@ -211,9 +211,6 @@ scrollbar: buttons.png down_arrow: 16,112,16,16 up_arrow: 32,112,16,16 -checkbox: buttons.png - checked: 0,112,16,16 - # A copy of dialog3 progressbar-bg: dialog.png background: 641,1,126,126 @@ -361,6 +358,58 @@ slider-tick: dialog.png # A copy of dialog3 slider-track: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +checkbox: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +checkbox-bits: buttons.png + checked: 0,112,16,16 + pressed: 0,128,16,16 + +# A copy of dialog3 +checkbox-hover: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +checkbox-disabled: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +checkbox-pressed: dialog.png background: 641,1,126,126 border-r: 767,1,1,126 border-l: 640,1,1,126