TextOptions.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Media / TextOptions.cs / 1305600 / TextOptions.cs

                            //---------------------------------------------------------------------------- 
//
// Copyright(C) Microsoft Corporation.  All rights reserved.
//
// File: TextOptions.cs 
//
// Description: TextOptions groups attached properties that affect the way 
//              WPF displays text such as TextFormattingMode 
//              and TextRenderingMode.
// 
// History:
//              05/05/2009 : [....] - created.
//
//--------------------------------------------------------------------------- 

using System.Windows; 
using MS.Internal.Media; 
namespace System.Windows.Media
{ 
    /// 
    /// Provide access to text options of element in syntax of TextOptions.xxx = yyy;
    /// Actual data is stored in the owner.
    ///  
    public static class TextOptions
    { 
        #region Dependency Properties 

        ///  Text formatting mode Property  
        public static readonly DependencyProperty TextFormattingModeProperty =
                DependencyProperty.RegisterAttached(
                        "TextFormattingMode",
                        typeof(TextFormattingMode), 
                        typeof(TextOptions),
                        new FrameworkPropertyMetadata( 
                                TextFormattingMode.Ideal, 
                                FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.Inherits),
                        new ValidateValueCallback(IsTextFormattingModeValid)); 

        internal static bool IsTextFormattingModeValid(object valueObject)
        {
            TextFormattingMode value = (TextFormattingMode) valueObject; 

            return (value == TextFormattingMode.Ideal) || 
                   (value == TextFormattingMode.Display); 
        }
 
        ///  Text rendering Property 
        public static readonly DependencyProperty TextRenderingModeProperty =
                DependencyProperty.RegisterAttached(
                        "TextRenderingMode", 
                        typeof(TextRenderingMode),
                        typeof(TextOptions), 
                        new FrameworkPropertyMetadata( 
                                TextRenderingMode.Auto,
                                FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.Inherits), 
                        new ValidateValueCallback(System.Windows.Media.ValidateEnums.IsTextRenderingModeValid));

        ///  Text hinting property 
        public static readonly DependencyProperty TextHintingModeProperty = 
                TextOptionsInternal.TextHintingModeProperty.AddOwner(
                        typeof(TextOptions)); 
 
        #endregion Dependency Properties
 

        #region Attached Properties Setters

        public static void SetTextFormattingMode(DependencyObject element, TextFormattingMode value) 
        {
            if (element == null) 
            { 
                throw new ArgumentNullException("element");
            } 

            element.SetValue(TextFormattingModeProperty, value);
        }
 
        public static TextFormattingMode GetTextFormattingMode(DependencyObject element)
        { 
            if (element == null) 
            {
                throw new ArgumentNullException("element"); 
            }

            return (TextFormattingMode)element.GetValue(TextFormattingModeProperty);
        } 

        public static void SetTextRenderingMode(DependencyObject element, TextRenderingMode value) 
        { 
            if (element == null)
            { 
                throw new ArgumentNullException("element");
            }

            element.SetValue(TextRenderingModeProperty, value); 
        }
 
        public static TextRenderingMode GetTextRenderingMode(DependencyObject element) 
        {
            if (element == null) 
            {
                throw new ArgumentNullException("element");
            }
 
            return (TextRenderingMode)element.GetValue(TextRenderingModeProperty);
        } 
 

        public static void SetTextHintingMode(DependencyObject element, TextHintingMode value) 
        {
            if (element == null)
            {
                throw new ArgumentNullException("element"); 
            }
 
            element.SetValue(TextHintingModeProperty, value); 
        }
 
        public static TextHintingMode GetTextHintingMode(DependencyObject element)
        {
            if (element == null)
            { 
                throw new ArgumentNullException("element");
            } 
 
            return (TextHintingMode)element.GetValue(TextHintingModeProperty);
        } 


        #endregion Attached Properties Getters and Setters
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------------------- 
//
// Copyright(C) Microsoft Corporation.  All rights reserved.
//
// File: TextOptions.cs 
//
// Description: TextOptions groups attached properties that affect the way 
//              WPF displays text such as TextFormattingMode 
//              and TextRenderingMode.
// 
// History:
//              05/05/2009 : [....] - created.
//
//--------------------------------------------------------------------------- 

using System.Windows; 
using MS.Internal.Media; 
namespace System.Windows.Media
{ 
    /// 
    /// Provide access to text options of element in syntax of TextOptions.xxx = yyy;
    /// Actual data is stored in the owner.
    ///  
    public static class TextOptions
    { 
        #region Dependency Properties 

        ///  Text formatting mode Property  
        public static readonly DependencyProperty TextFormattingModeProperty =
                DependencyProperty.RegisterAttached(
                        "TextFormattingMode",
                        typeof(TextFormattingMode), 
                        typeof(TextOptions),
                        new FrameworkPropertyMetadata( 
                                TextFormattingMode.Ideal, 
                                FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.Inherits),
                        new ValidateValueCallback(IsTextFormattingModeValid)); 

        internal static bool IsTextFormattingModeValid(object valueObject)
        {
            TextFormattingMode value = (TextFormattingMode) valueObject; 

            return (value == TextFormattingMode.Ideal) || 
                   (value == TextFormattingMode.Display); 
        }
 
        ///  Text rendering Property 
        public static readonly DependencyProperty TextRenderingModeProperty =
                DependencyProperty.RegisterAttached(
                        "TextRenderingMode", 
                        typeof(TextRenderingMode),
                        typeof(TextOptions), 
                        new FrameworkPropertyMetadata( 
                                TextRenderingMode.Auto,
                                FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.Inherits), 
                        new ValidateValueCallback(System.Windows.Media.ValidateEnums.IsTextRenderingModeValid));

        ///  Text hinting property 
        public static readonly DependencyProperty TextHintingModeProperty = 
                TextOptionsInternal.TextHintingModeProperty.AddOwner(
                        typeof(TextOptions)); 
 
        #endregion Dependency Properties
 

        #region Attached Properties Setters

        public static void SetTextFormattingMode(DependencyObject element, TextFormattingMode value) 
        {
            if (element == null) 
            { 
                throw new ArgumentNullException("element");
            } 

            element.SetValue(TextFormattingModeProperty, value);
        }
 
        public static TextFormattingMode GetTextFormattingMode(DependencyObject element)
        { 
            if (element == null) 
            {
                throw new ArgumentNullException("element"); 
            }

            return (TextFormattingMode)element.GetValue(TextFormattingModeProperty);
        } 

        public static void SetTextRenderingMode(DependencyObject element, TextRenderingMode value) 
        { 
            if (element == null)
            { 
                throw new ArgumentNullException("element");
            }

            element.SetValue(TextRenderingModeProperty, value); 
        }
 
        public static TextRenderingMode GetTextRenderingMode(DependencyObject element) 
        {
            if (element == null) 
            {
                throw new ArgumentNullException("element");
            }
 
            return (TextRenderingMode)element.GetValue(TextRenderingModeProperty);
        } 
 

        public static void SetTextHintingMode(DependencyObject element, TextHintingMode value) 
        {
            if (element == null)
            {
                throw new ArgumentNullException("element"); 
            }
 
            element.SetValue(TextHintingModeProperty, value); 
        }
 
        public static TextHintingMode GetTextHintingMode(DependencyObject element)
        {
            if (element == null)
            { 
                throw new ArgumentNullException("element");
            } 
 
            return (TextHintingMode)element.GetValue(TextHintingModeProperty);
        } 


        #endregion Attached Properties Getters and Setters
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

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