Inverse Drag Scrolling

This commit is contained in:
Caleb Anderson
2010-08-15 16:00:38 -05:00
committed by Chris Forbes
parent f6a880e524
commit 228852a55d
5 changed files with 37 additions and 13 deletions

1
OpenRA.Game/GameRules/UserSettings.cs Normal file → Executable file
View File

@@ -21,6 +21,7 @@ namespace OpenRA.GameRules
{ {
// Behaviour settings // Behaviour settings
public bool ViewportEdgeScroll = true; public bool ViewportEdgeScroll = true;
public bool InverseDragScroll = false;
// Debug settings // Debug settings
public bool PerfDebug = false; public bool PerfDebug = false;

8
OpenRA.Game/Widgets/Delegates/SettingsMenuDelegate.cs Normal file → Executable file
View File

@@ -54,6 +54,14 @@ namespace OpenRA.Widgets.Delegates
return true; return true;
}; };
var inverseScroll = general.GetWidget<CheckboxWidget>("INVERSE_SCROLL");
inverseScroll.Checked = () => Game.Settings.InverseDragScroll;
inverseScroll.OnMouseDown = mi =>
{
Game.Settings.InverseDragScroll ^= true;
return true;
};
// Audio // Audio
var audio = bg.GetWidget("AUDIO_PANE"); var audio = bg.GetWidget("AUDIO_PANE");

3
OpenRA.Game/Widgets/ViewportScrollControllerWidget.cs Normal file → Executable file
View File

@@ -39,7 +39,8 @@ namespace OpenRA.Widgets
if (mi.Event == MouseInputEvent.Move && if (mi.Event == MouseInputEvent.Move &&
(mi.Button == MouseButton.Middle || mi.Button == (MouseButton.Left | MouseButton.Right))) (mi.Button == MouseButton.Middle || mi.Button == (MouseButton.Left | MouseButton.Right)))
{ {
Game.viewport.Scroll(Viewport.LastMousePos - mi.Location); int InverseScroll = Game.Settings.InverseDragScroll ? -1 : 1;
Game.viewport.Scroll((Viewport.LastMousePos - mi.Location) * InverseScroll);
return true; return true;
} }
return false; return false;

View File

@@ -93,6 +93,13 @@ Container@ROOT:
Width:200 Width:200
Height:20 Height:20
Text: Enable Edge Scrolling Text: Enable Edge Scrolling
Checkbox@INVERSE_SCROLL:
Id:INVERSE_SCROLL
X:0
Y:60
Width:200
Height:20
Text: Invert Mouse Drag Scrolling
Container@AUDIO_PANE: Container@AUDIO_PANE:
Id:AUDIO_PANE Id:AUDIO_PANE
X:37 X:37

View File

@@ -91,6 +91,13 @@ Background@SETTINGS_MENU:
Width:200 Width:200
Height:20 Height:20
Text: Enable Edge Scrolling Text: Enable Edge Scrolling
Checkbox@INVERSE_SCROLL:
Id:INVERSE_SCROLL
X:0
Y:60
Width:200
Height:20
Text: Invert Mouse Drag Scrolling
Container@AUDIO_PANE: Container@AUDIO_PANE:
Id:AUDIO_PANE Id:AUDIO_PANE
X:37 X:37