diff options
Diffstat (limited to 'src/GraphicObjects/ScrollingObject.cs')
| -rw-r--r-- | src/GraphicObjects/ScrollingObject.cs | 12 |
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--; |