-//
-// Scroller.cs
+// Copyright (c) 2013-2020 Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
+// This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
using System;
-using System.Xml.Serialization;
using System.ComponentModel;
-using System.Diagnostics;
using Crow.Cairo;
namespace Crow
if (newS == scrollX)
return;
- scrollX = value;
+ scrollX = newS;
NotifyValueChanged ("ScrollX", scrollX);
RegisterForGraphicUpdate ();
if (newS == scrollY)
return;
- scrollY = value;
+ scrollY = newS;
NotifyValueChanged ("ScrollY", scrollY);
RegisterForGraphicUpdate ();
if (maxScrollX == value)
return;
- maxScrollX = value;
+ if (value < 0)
+ maxScrollX = 0;
+ else
+ maxScrollX = value;
if (scrollX > maxScrollX)
ScrollX = maxScrollX;
if (maxScrollY == value)
return;
- maxScrollY = value;
+ if (value < 0)
+ maxScrollY = 0;
+ else
+ maxScrollY = value;
+
if (scrollY > maxScrollY)
ScrollY = maxScrollY;