Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using SAS.Core.CommonObjects;
- namespace SAS.Core.UtilityClasses {
- public class ZoomSliderHelper {
- private Range<double> m_ValueRange = new Range<double>(0, 100);
- public Range<double> ValueRange {
- get {
- return m_ValueRange;
- }
- set {
- m_ValueRange = value;
- }
- }
- private Range<double> m_ZoomRange = new Range<double>(0.1, 4);
- public Range<double> ZoomRange {
- get {
- return m_ZoomRange;
- }
- set {
- m_ZoomRange = value;
- }
- }
- public double ValStepSize {
- get {
- return m_ValueRange.Size / (m_NumSteps - 1);
- }
- }
- public double ZoomStepSize {
- get {
- return Math.Pow(m_ZoomRange.Max / m_ZoomRange.Min, ValStepSize / m_ValueRange.Max) - 1;
- }
- }
- private double m_NumSteps = 40;
- public double NumSteps {
- get {
- return m_NumSteps;
- }
- set {
- m_NumSteps = value;
- }
- }
- public double SliderToZoom(double val) {
- return m_ZoomRange.Min * Math.Pow(1 + ZoomStepSize, val / ValStepSize);
- }
- public double ZoomToSlider(double val) {
- return ValStepSize * Math.Log(val / m_ZoomRange.Min) / Math.Log(1 + ZoomStepSize);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment