aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/GraphicObjects/ScrollingObject.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/GraphicObjects/ScrollingObject.cs')
-rw-r--r--src/GraphicObjects/ScrollingObject.cs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/GraphicObjects/ScrollingObject.cs b/src/GraphicObjects/ScrollingObject.cs
index 8b9bc58a..42acdbf9 100644
--- a/src/GraphicObjects/ScrollingObject.cs
+++ b/src/GraphicObjects/ScrollingObject.cs
@@ -43,6 +43,11 @@ namespace Crow
int scrollX, scrollY, maxScrollX, maxScrollY, mouseWheelSpeed;
+ /// <summary>
+ /// if true, key stroke are handled in derrived class
+ /// </summary>
+ protected bool KeyEventsOverrides = false;
+
/// <summary> Horizontal Scrolling Position </summary>
[XmlAttributeAttribute][DefaultValue(0)]
public virtual int ScrollX {
@@ -142,15 +147,18 @@ namespace Crow
{
base.onMouseWheel (sender, e);
if (currentInterface.Keyboard.IsKeyDown (Key.ShiftLeft))
- ScrollY += e.Delta * MouseWheelSpeed;
- else
ScrollX += e.Delta * MouseWheelSpeed;
+ else
+ ScrollY -= e.Delta * MouseWheelSpeed;
}
/// <summary> Process scrolling with arrow keys, home and end keys. </summary>
public override void onKeyDown (object sender, KeyboardKeyEventArgs e)
{
base.onKeyDown (sender, e);
+ if (KeyEventsOverrides)
+ return;
+
switch (e.Key) {
case Key.Up:
ScrollY--;