Mercurial > projects > dynamin
changeset 31:2a194d52fdb5
Implement MouseTurnedEventArgs.scrollScreen.
author | Jordan Miner <jminer7@gmail.com> |
---|---|
date | Sat, 25 Jul 2009 15:38:35 -0500 |
parents | 545af935f201 |
children | b48d3f2f570d |
files | dynamin/gui/events.d dynamin/gui/windows_window.d |
diffstat | 2 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/dynamin/gui/events.d Sat Jul 25 15:27:35 2009 -0500 +++ b/dynamin/gui/events.d Sat Jul 25 15:38:35 2009 -0500 @@ -80,9 +80,11 @@ /// class MouseTurnedEventArgs : StopEventArgs { double _scrollAmount; + bool _scrollScreen; public: - this(double scrollAmount) { + this(double scrollAmount, bool scrollScreen) { _scrollAmount = scrollAmount; + _scrollScreen = scrollScreen; } /** * The amount that a control should scroll in response to this event. @@ -104,11 +106,11 @@ * scrollScreen will return false. */ bool scrollScreen() { - return false; + return _scrollScreen; } string toString() { return format("MouseTurnedEventArgs [scrollAmount={}, scrollScreen={}]", - _scrollAmount, scrollScreen); + _scrollAmount, _scrollScreen); } } ///
--- a/dynamin/gui/windows_window.d Sat Jul 25 15:27:35 2009 -0500 +++ b/dynamin/gui/windows_window.d Sat Jul 25 15:38:35 2009 -0500 @@ -751,12 +751,13 @@ case WM_MOUSEWHEEL: int scrollLines; SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, &scrollLines, 0); - if(scrollLines == 0xFFFFFFFF) + bool sScreen = (scrollLines == 0xFFFFFFFF); + if(sScreen) scrollLines = 3; int delta = -cast(short)HIWORD(wParam); auto screenPt = Point(LOWORD(lParam), HIWORD(lParam)); auto des = c.getDescendantAtPoint(c.screenToContent(screenPt)); - scope args = new MouseTurnedEventArgs(delta*scrollLines/120.0); + scope args = new MouseTurnedEventArgs(delta*scrollLines/120.0, sScreen); des.mouseTurned(args); return 0; case WM_SYSKEYDOWN: