StylusPointPropertyInfo.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Input / Stylus / StylusPointPropertyInfo.cs / 1 / StylusPointPropertyInfo.cs

                            //------------------------------------------------------------------------ 
// 
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//----------------------------------------------------------------------- 

using System; 
using System.Windows; 
using System.Windows.Input;
using System.Windows.Media; 
using System.Collections.Generic;
using System.Diagnostics;
using System.ComponentModel;
using MS.Utility; 
using SR = MS.Internal.PresentationCore.SR;
using SRID = MS.Internal.PresentationCore.SRID; 
 
namespace System.Windows.Input
{ 
    /// 
    /// StylusPointPropertyInfo
    /// 
    public class StylusPointPropertyInfo : StylusPointProperty 
    {
        ///  
        /// Instance data 
        /// 
        private int                     _min; 
        private int                     _max;
        private float                   _resolution;
        private StylusPointPropertyUnit _unit;
 
        /// 
        /// For a given StylusPointProperty, instantiates a StylusPointPropertyInfo with default values 
        ///  
        /// 
        public StylusPointPropertyInfo(StylusPointProperty stylusPointProperty) 
            : base (stylusPointProperty) //base checks for null
        {
            StylusPointPropertyInfo info =
                StylusPointPropertyInfoDefaults.GetStylusPointPropertyInfoDefault(stylusPointProperty); 
            _min = info.Minimum;
            _max = info.Maximum; 
            _resolution = info.Resolution; 
            _unit = info.Unit;
 
        }

        /// 
        /// StylusPointProperty 
        /// 
        ///  
        /// minimum 
        /// maximum
        /// unit 
        /// resolution
        public StylusPointPropertyInfo(StylusPointProperty stylusPointProperty, int minimum, int maximum, StylusPointPropertyUnit unit, float resolution)
            : base(stylusPointProperty) //base checks for null
        { 
            // validate unit
            if (!StylusPointPropertyUnitHelper.IsDefined(unit)) 
            { 
                throw new InvalidEnumArgumentException("StylusPointPropertyUnit", (int)unit, typeof(StylusPointPropertyUnit));
            } 

            // validate min/max
            if (maximum < minimum)
            { 
                throw new ArgumentException(SR.Get(SRID.Stylus_InvalidMax), "maximum");
            } 
 
            // validate resolution
            if (resolution < 0.0f) 
            {
                throw new ArgumentException(SR.Get(SRID.InvalidStylusPointPropertyInfoResolution), "resolution");
            }
 
            _min = minimum;
            _max = maximum; 
            _resolution = resolution; 
            _unit = unit;
        } 

        /// 
        /// Minimum
        ///  
        public int Minimum
        { 
            get { return _min; } 
        }
 
        /// 
        /// Maximum
        /// 
        public int Maximum 
        {
            get { return _max; } 
        } 

        ///  
        /// Resolution
        /// 
        public float Resolution
        { 
            get { return _resolution; }
        } 
 
        /// 
        /// Unit 
        /// 
        public StylusPointPropertyUnit Unit
        {
            get { return _unit; } 
        }
 
        ///  
        /// Internal helper method for comparing compat for two StylusPointPropertyInfos
        ///  
        internal static bool AreCompatible(StylusPointPropertyInfo stylusPointPropertyInfo1, StylusPointPropertyInfo stylusPointPropertyInfo2)
        {
            if (stylusPointPropertyInfo1 == null || stylusPointPropertyInfo2 == null)
            { 
                throw new ArgumentNullException("stylusPointPropertyInfo");
            } 
 
            Debug.Assert((  stylusPointPropertyInfo1.Id != StylusPointPropertyIds.X &&
                            stylusPointPropertyInfo1.Id != StylusPointPropertyIds.Y && 
                            stylusPointPropertyInfo2.Id != StylusPointPropertyIds.X &&
                            stylusPointPropertyInfo2.Id != StylusPointPropertyIds.Y),
                            "Why are you checking X, Y for compatibility?  They're always compatible");
            // 
            // we only take ID and IsButton into account, we don't take metrics into account
            // 
            return (stylusPointPropertyInfo1.Id == stylusPointPropertyInfo2.Id && 
                    stylusPointPropertyInfo1.IsButton == stylusPointPropertyInfo2.IsButton);
        } 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK