Inverse Drag Scrolling
This commit is contained in:
committed by
Chris Forbes
parent
f6a880e524
commit
228852a55d
5
OpenRA.Game/GameRules/UserSettings.cs
Normal file → Executable file
5
OpenRA.Game/GameRules/UserSettings.cs
Normal file → Executable file
@@ -19,8 +19,9 @@ namespace OpenRA.GameRules
|
|||||||
{
|
{
|
||||||
public class UserSettings
|
public class UserSettings
|
||||||
{
|
{
|
||||||
// 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;
|
||||||
|
|||||||
24
OpenRA.Game/Widgets/Delegates/SettingsMenuDelegate.cs
Normal file → Executable file
24
OpenRA.Game/Widgets/Delegates/SettingsMenuDelegate.cs
Normal file → Executable file
@@ -44,15 +44,23 @@ namespace OpenRA.Widgets.Delegates
|
|||||||
else
|
else
|
||||||
Game.Settings.PlayerName = name.Text;
|
Game.Settings.PlayerName = name.Text;
|
||||||
};
|
};
|
||||||
name.OnEnterKey = () => { name.LoseFocus(); return true; };
|
name.OnEnterKey = () => { name.LoseFocus(); return true; };
|
||||||
|
|
||||||
var edgeScroll = general.GetWidget<CheckboxWidget>("EDGE_SCROLL");
|
var edgeScroll = general.GetWidget<CheckboxWidget>("EDGE_SCROLL");
|
||||||
edgeScroll.Checked = () => Game.Settings.ViewportEdgeScroll;
|
edgeScroll.Checked = () => Game.Settings.ViewportEdgeScroll;
|
||||||
edgeScroll.OnMouseDown = mi =>
|
edgeScroll.OnMouseDown = mi =>
|
||||||
{
|
{
|
||||||
Game.Settings.ViewportEdgeScroll ^= true;
|
Game.Settings.ViewportEdgeScroll ^= true;
|
||||||
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
3
OpenRA.Game/Widgets/ViewportScrollControllerWidget.cs
Normal file → Executable 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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user