aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Touch/Converters/ScrollViewerThumbSizeConverter.cs
blob: 5e3e3832f7d893bb75946facbf3483cee46bc41a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;

namespace Tango.Touch.Converters
{
    public class ScrollViewerThumbSizeConverter : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            double scroll_viewer_height = (double)values[0];
            double content_height = (double)values[1];

            var viewableRatio = scroll_viewer_height / content_height;
            var result = scroll_viewer_height * viewableRatio;

            if (double.IsPositiveInfinity(result) || double.IsNegativeInfinity(result)) return 0.0;

            return result;
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}