From: Jean-Philippe Bruyère Date: Wed, 1 Nov 2017 10:34:41 +0000 (+0100) Subject: change scroller value from double to int, drawings has to be keept aligned on pixel X-Git-Tag: 0.6.0~21 X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=3cd590bb92c7bf2d00646907a582399c73d84634;p=jp%2Fcrow.git change scroller value from double to int, drawings has to be keept aligned on pixel --- diff --git a/Crow.csproj b/Crow.csproj index 29bcd8e0..f6d78c1a 100644 --- a/Crow.csproj +++ b/Crow.csproj @@ -25,12 +25,13 @@ crow.key 8.0.30703 2.0 + 0.5 true full true - DEBUG_FOCUS0;DEBUG_LAYOUTING0;TRACE;DEBUG;__linux__;MEASURE_TIME;DEBUG_LOAD0;DEBUG_BINDING0;DEBUG_CLIP_RECTANGLE0 + DEBUG_UPDATE0;DEBUG_FOCUS0;DEBUG_LAYOUTING0;TRACE0;DEBUG;__linux__;MEASURE_TIME0;DEBUG_LOAD0;DEBUG_BINDING0;DEBUG_CLIP_RECTANGLE0 false diff --git a/src/GraphicObjects/Scroller.cs b/src/GraphicObjects/Scroller.cs index 640fcfe8..e38b2205 100644 --- a/src/GraphicObjects/Scroller.cs +++ b/src/GraphicObjects/Scroller.cs @@ -37,8 +37,8 @@ namespace Crow bool _verticalScrolling; bool _horizontalScrolling; bool _scrollbarVisible; - double _scrollX = 0.0; - double _scrollY = 0.0; + int _scrollX = 0; + int _scrollY = 0; int scrollSpeed; public event EventHandler Scrolled; @@ -60,18 +60,18 @@ namespace Crow get { return _scrollbarVisible; } set { _scrollbarVisible = value; } } - [XmlAttributeAttribute][DefaultValue(0.0)] - public double ScrollX { + [XmlAttributeAttribute][DefaultValue(0)] + public int ScrollX { get { return _scrollX; } set { if (_scrollX == value) return; - if (value < 0.0) - _scrollX = 0.0; + if (value < 0) + _scrollX = 0; else if (value > Child.Slot.Width - ClientRectangle.Width) - _scrollX = Math.Max(0.0, Child.Slot.Width - ClientRectangle.Width); + _scrollX = Math.Max(0, Child.Slot.Width - ClientRectangle.Width); else _scrollX = value; NotifyValueChanged("ScrollX", _scrollX); @@ -79,18 +79,18 @@ namespace Crow Scrolled.Raise (this, new ScrollingEventArgs (Orientation.Horizontal)); } } - [XmlAttributeAttribute][DefaultValue(0.0)] - public double ScrollY { + [XmlAttributeAttribute][DefaultValue(0)] + public int ScrollY { get { return _scrollY; } set { if (_scrollY == value) return; - if (value < 0.0) - _scrollY = 0.0; + if (value < 0) + _scrollY = 0; else if (value > Child.Slot.Height - ClientRectangle.Height) - _scrollY = Math.Max(0.0,Child.Slot.Height - ClientRectangle.Height); + _scrollY = Math.Max(0,Child.Slot.Height - ClientRectangle.Height); else _scrollY = value; NotifyValueChanged("ScrollY", _scrollY); @@ -209,7 +209,7 @@ namespace Crow public override void checkHoverWidget (MouseMoveEventArgs e) { savedMousePos = e.Position; - Point m = e.Position - new Point ((int)ScrollX, (int)ScrollY); + Point m = e.Position - new Point (ScrollX, ScrollY); base.checkHoverWidget (new MouseMoveEventArgs(m.X,m.Y,e.XDelta,e.YDelta)); } public override void onMouseWheel (object sender, MouseWheelEventArgs e) @@ -230,7 +230,7 @@ namespace Crow } public override void RegisterClip (Rectangle clip) { - base.RegisterClip (clip - new Point((int)ScrollX,(int)ScrollY)); + base.RegisterClip (clip - new Point(ScrollX,ScrollY)); } #endregion