Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / Figure.cs / 1305600 / Figure.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // Description: Figure element. // //--------------------------------------------------------------------------- using System.ComponentModel; // TypeConverter using System.Windows.Controls; // TextBlock using MS.Internal; using MS.Internal.PtsHost.UnsafeNativeMethods; // PTS restrictions namespace System.Windows.Documents { ////// Figure element. /// public class Figure : AnchoredBlock { //------------------------------------------------------------------- // // Constructors // //------------------------------------------------------------------- #region Constructors ////// Initialized the new instance of a Figure /// public Figure() : this(null) { } ////// Initialized the new instance of a Figure specifying a Block added /// to a Figure as its first child. /// /// /// Block added as a first initial child of the Figure. /// public Figure(Block childBlock) : this(childBlock, null) { } ////// Creates a new Figure instance. /// /// /// Optional child of the new Figure, may be null. /// /// /// Optional position at which to insert the new Figure. May /// be null. /// public Figure(Block childBlock, TextPointer insertionPosition) : base(childBlock, insertionPosition) { } #endregion Constructors //-------------------------------------------------------------------- // // Public Properties // //------------------------------------------------------------------- #region Public Properties ////// DependencyProperty for public static readonly DependencyProperty HorizontalAnchorProperty = DependencyProperty.Register( "HorizontalAnchor", typeof(FigureHorizontalAnchor), typeof(Figure), new FrameworkPropertyMetadata( FigureHorizontalAnchor.ColumnRight, FrameworkPropertyMetadataOptions.AffectsParentMeasure), new ValidateValueCallback(IsValidHorizontalAnchor)); ///property. /// /// /// public FigureHorizontalAnchor HorizontalAnchor { get { return (FigureHorizontalAnchor)GetValue(HorizontalAnchorProperty); } set { SetValue(HorizontalAnchorProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty VerticalAnchorProperty = DependencyProperty.Register( "VerticalAnchor", typeof(FigureVerticalAnchor), typeof(Figure), new FrameworkPropertyMetadata( FigureVerticalAnchor.ParagraphTop, FrameworkPropertyMetadataOptions.AffectsParentMeasure), new ValidateValueCallback(IsValidVerticalAnchor)); ///property. /// /// /// public FigureVerticalAnchor VerticalAnchor { get { return (FigureVerticalAnchor)GetValue(VerticalAnchorProperty); } set { SetValue(VerticalAnchorProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty HorizontalOffsetProperty = DependencyProperty.Register( "HorizontalOffset", typeof(double), typeof(Figure), new FrameworkPropertyMetadata( 0.0, FrameworkPropertyMetadataOptions.AffectsParentMeasure), new ValidateValueCallback(IsValidOffset)); ///property. /// /// /// [TypeConverter(typeof(LengthConverter))] public double HorizontalOffset { get { return (double)GetValue(HorizontalOffsetProperty); } set { SetValue(HorizontalOffsetProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty VerticalOffsetProperty = DependencyProperty.Register( "VerticalOffset", typeof(double), typeof(Figure), new FrameworkPropertyMetadata( 0.0, FrameworkPropertyMetadataOptions.AffectsParentMeasure), new ValidateValueCallback(IsValidOffset)); ///property. /// /// /// [TypeConverter(typeof(LengthConverter))] public double VerticalOffset { get { return (double)GetValue(VerticalOffsetProperty); } set { SetValue(VerticalOffsetProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty CanDelayPlacementProperty = DependencyProperty.Register( "CanDelayPlacement", typeof(bool), typeof(Figure), new FrameworkPropertyMetadata( true, FrameworkPropertyMetadataOptions.AffectsParentMeasure)); ///property. /// /// /// public bool CanDelayPlacement { get { return (bool)GetValue(CanDelayPlacementProperty); } set { SetValue(CanDelayPlacementProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty WrapDirectionProperty = DependencyProperty.Register( "WrapDirection", typeof(WrapDirection), typeof(Figure), new FrameworkPropertyMetadata( WrapDirection.Both, FrameworkPropertyMetadataOptions.AffectsParentMeasure), new ValidateValueCallback(IsValidWrapDirection)); ///property. /// /// /// public WrapDirection WrapDirection { get { return (WrapDirection)GetValue(WrapDirectionProperty); } set { SetValue(WrapDirectionProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty WidthProperty = DependencyProperty.Register( "Width", typeof(FigureLength), typeof(Figure), new FrameworkPropertyMetadata( new FigureLength(1.0, FigureUnitType.Auto), FrameworkPropertyMetadataOptions.AffectsMeasure)); ///property. /// /// The Width property specifies the width of the element. /// public FigureLength Width { get { return (FigureLength)GetValue(WidthProperty); } set { SetValue(WidthProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty HeightProperty = DependencyProperty.Register( "Height", typeof(FigureLength), typeof(Figure), new FrameworkPropertyMetadata( new FigureLength(1.0, FigureUnitType.Auto), FrameworkPropertyMetadataOptions.AffectsMeasure)); ///property. /// /// The Height property specifies the height of the element. /// public FigureLength Height { get { return (FigureLength)GetValue(HeightProperty); } set { SetValue(HeightProperty, value); } } #endregion Public Properties //-------------------------------------------------------------------- // // Private Methods // //-------------------------------------------------------------------- #region Private Methods private static bool IsValidHorizontalAnchor(object o) { FigureHorizontalAnchor value = (FigureHorizontalAnchor)o; return value == FigureHorizontalAnchor.ContentCenter || value == FigureHorizontalAnchor.ContentLeft || value == FigureHorizontalAnchor.ContentRight || value == FigureHorizontalAnchor.PageCenter || value == FigureHorizontalAnchor.PageLeft || value == FigureHorizontalAnchor.PageRight || value == FigureHorizontalAnchor.ColumnCenter || value == FigureHorizontalAnchor.ColumnLeft || value == FigureHorizontalAnchor.ColumnRight; // || value == FigureHorizontalAnchor.CharacterCenter // || value == FigureHorizontalAnchor.CharacterLeft // || value == FigureHorizontalAnchor.CharacterRight; } private static bool IsValidVerticalAnchor(object o) { FigureVerticalAnchor value = (FigureVerticalAnchor)o; return value == FigureVerticalAnchor.ContentBottom || value == FigureVerticalAnchor.ContentCenter || value == FigureVerticalAnchor.ContentTop || value == FigureVerticalAnchor.PageBottom || value == FigureVerticalAnchor.PageCenter || value == FigureVerticalAnchor.PageTop || value == FigureVerticalAnchor.ParagraphTop; // || value == FigureVerticalAnchor.CharacterBottom // || value == FigureVerticalAnchor.CharacterCenter // || value == FigureVerticalAnchor.CharacterTop; } private static bool IsValidWrapDirection(object o) { WrapDirection value = (WrapDirection)o; return value == WrapDirection.Both || value == WrapDirection.None || value == WrapDirection.Left || value == WrapDirection.Right; } private static bool IsValidOffset(object o) { double offset = (double)o; double maxOffset = Math.Min(1000000, PTS.MaxPageSize); double minOffset = -maxOffset; if (Double.IsNaN(offset)) { return false; } if (offset < minOffset || offset > maxOffset) { return false; } return true; } #endregion Private Methods } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WindowsListViewItemCheckBox.cs
- RuntimeArgument.cs
- HtmlControlPersistable.cs
- TdsParameterSetter.cs
- UserControlBuildProvider.cs
- SetStateEventArgs.cs
- HttpHostedTransportConfiguration.cs
- SqlCacheDependency.cs
- SqlWorkflowInstanceStore.cs
- EditorPartCollection.cs
- XmlDocumentFragment.cs
- DataGridViewTextBoxColumn.cs
- WorkflowPageSetupDialog.cs
- SafeBitVector32.cs
- QilBinary.cs
- WsdlBuildProvider.cs
- ClientScriptItem.cs
- DataControlFieldTypeEditor.cs
- TagNameToTypeMapper.cs
- ConfigXmlWhitespace.cs
- OracleSqlParser.cs
- EqualityArray.cs
- CloudCollection.cs
- EventProxy.cs
- Size.cs
- ColumnClickEvent.cs
- WebBrowserHelper.cs
- BasicDesignerLoader.cs
- UnknownBitmapEncoder.cs
- M3DUtil.cs
- CodeGotoStatement.cs
- ExtractedStateEntry.cs
- CharStorage.cs
- BulletChrome.cs
- CacheMode.cs
- QuaternionAnimationBase.cs
- CodeRemoveEventStatement.cs
- PackageDigitalSignatureManager.cs
- Tool.cs
- ControlUtil.cs
- AttributeSetAction.cs
- WorkflowApplicationEventArgs.cs
- COAUTHIDENTITY.cs
- ContentPropertyAttribute.cs
- ModelItemCollection.cs
- PTProvider.cs
- unitconverter.cs
- DesignerTransaction.cs
- ReliableMessagingVersionConverter.cs
- AsyncCompletedEventArgs.cs
- SoapCodeExporter.cs
- ColumnClickEvent.cs
- HttpRequestWrapper.cs
- StreamGeometryContext.cs
- DependencyPropertyKind.cs
- DocumentPaginator.cs
- GradientStopCollection.cs
- OutArgumentConverter.cs
- ManagementClass.cs
- ServiceSecurityContext.cs
- CategoryAttribute.cs
- ExtentKey.cs
- BindingExpressionUncommonField.cs
- XmlDictionaryReaderQuotas.cs
- DependencyObjectProvider.cs
- ChameleonKey.cs
- EventLogTraceListener.cs
- DataTemplateKey.cs
- ClientProxyGenerator.cs
- AppSettingsReader.cs
- TypeBrowser.xaml.cs
- assertwrapper.cs
- CmsInterop.cs
- AppDomainProtocolHandler.cs
- Token.cs
- TypeContext.cs
- PerfCounterSection.cs
- clipboard.cs
- XsltArgumentList.cs
- DataBindingCollection.cs
- FamilyMap.cs
- Propagator.JoinPropagator.cs
- ServerIdentity.cs
- OracleRowUpdatingEventArgs.cs
- Ppl.cs
- ExtenderControl.cs
- LockCookie.cs
- TcpProcessProtocolHandler.cs
- SamlAction.cs
- SqlMethodTransformer.cs
- Unit.cs
- DocumentViewerHelper.cs
- ExpressionBindingCollection.cs
- WebHttpBinding.cs
- ImageInfo.cs
- EntityDataSourceChangedEventArgs.cs
- TreeView.cs
- UnsafeNativeMethods.cs
- Empty.cs
- SqlParameterCollection.cs