Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Documents / FixedSOMImage.cs / 1 / FixedSOMImage.cs
/*++ File: FixedSOMImage.cs Copyright (C) 2005 Microsoft Corporation. All rights reserved. Description: SOM object that wraps an image on the page. The corresponding markup element can be either an image or a Path with an ImageBrush History: 05/17/2005: agurcan - Created --*/ namespace System.Windows.Documents { using System.Windows.Automation; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Globalization; using System.Diagnostics; internal sealed class FixedSOMImage : FixedSOMElement { //-------------------------------------------------------------------- // // Constructors // //--------------------------------------------------------------------- #region Constructors private FixedSOMImage(Rect imageRect, GeneralTransform trans, Uri sourceUri, FixedNode node, DependencyObject o) : base(node, trans) { _boundingRect = trans.TransformBounds(imageRect); _source = sourceUri; _startIndex = 0; _endIndex = 1; _name = AutomationProperties.GetName(o); _helpText = AutomationProperties.GetHelpText(o); } #endregion Constructors //------------------------------------------------------------------- // // Public Methods // //--------------------------------------------------------------------- #region Public Methods public static FixedSOMImage Create(FixedPage page, Image image, FixedNode fixedNode) { Uri imageUri = null; if (image.Source is BitmapImage) { BitmapImage imageSource = image.Source as BitmapImage; imageUri = imageSource.UriSource; } else if (image.Source is BitmapFrame) { BitmapFrame imageSource = image.Source as BitmapFrame; imageUri = new Uri(imageSource.ToString(), UriKind.RelativeOrAbsolute); } Rect sourceRect = new Rect(image.RenderSize); GeneralTransform transform = image.TransformToAncestor(page); return new FixedSOMImage(sourceRect, transform, imageUri, fixedNode, image); } public static FixedSOMImage Create(FixedPage page, Path path, FixedNode fixedNode) { Debug.Assert(path.Fill is ImageBrush); ImageSource source = ((ImageBrush)(path.Fill)).ImageSource; Uri imageUri = null; if (source is BitmapImage) { BitmapImage imageSource = source as BitmapImage; imageUri = imageSource.UriSource; } else if (source is BitmapFrame) { BitmapFrame imageSource = source as BitmapFrame; imageUri = new Uri(imageSource.ToString(), UriKind.RelativeOrAbsolute); } Rect sourceRect = path.Data.Bounds; GeneralTransform trans = path.TransformToAncestor(page); return new FixedSOMImage(sourceRect, trans, imageUri, fixedNode, path); } #if DEBUG public override void Render(DrawingContext dc, string label, DrawDebugVisual debugVisual) { Pen pen = new Pen(Brushes.Yellow, 1); Rect rect = _boundingRect; rect.Inflate(5,5); dc.DrawRectangle(null, pen , rect); if (label != null && debugVisual == DrawDebugVisual.Paragraphs) { base.RenderLabel(dc, label); } } #endif #endregion Public Methods //-------------------------------------------------------------------- // // Internal Properties // //--------------------------------------------------------------------- #region Internal Properties internal Uri Source { get { return _source; } } internal String Name { get { return _name; } } internal String HelpText { get { return _helpText; } } #endregion Internal Properties //-------------------------------------------------------------------- // // Private Fields // //---------------------------------------------------------------------- #region Private Fields private Uri _source; private String _name; private String _helpText; #endregion Interanl Fields } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. /*++ File: FixedSOMImage.cs Copyright (C) 2005 Microsoft Corporation. All rights reserved. Description: SOM object that wraps an image on the page. The corresponding markup element can be either an image or a Path with an ImageBrush History: 05/17/2005: agurcan - Created --*/ namespace System.Windows.Documents { using System.Windows.Automation; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Globalization; using System.Diagnostics; internal sealed class FixedSOMImage : FixedSOMElement { //-------------------------------------------------------------------- // // Constructors // //--------------------------------------------------------------------- #region Constructors private FixedSOMImage(Rect imageRect, GeneralTransform trans, Uri sourceUri, FixedNode node, DependencyObject o) : base(node, trans) { _boundingRect = trans.TransformBounds(imageRect); _source = sourceUri; _startIndex = 0; _endIndex = 1; _name = AutomationProperties.GetName(o); _helpText = AutomationProperties.GetHelpText(o); } #endregion Constructors //------------------------------------------------------------------- // // Public Methods // //--------------------------------------------------------------------- #region Public Methods public static FixedSOMImage Create(FixedPage page, Image image, FixedNode fixedNode) { Uri imageUri = null; if (image.Source is BitmapImage) { BitmapImage imageSource = image.Source as BitmapImage; imageUri = imageSource.UriSource; } else if (image.Source is BitmapFrame) { BitmapFrame imageSource = image.Source as BitmapFrame; imageUri = new Uri(imageSource.ToString(), UriKind.RelativeOrAbsolute); } Rect sourceRect = new Rect(image.RenderSize); GeneralTransform transform = image.TransformToAncestor(page); return new FixedSOMImage(sourceRect, transform, imageUri, fixedNode, image); } public static FixedSOMImage Create(FixedPage page, Path path, FixedNode fixedNode) { Debug.Assert(path.Fill is ImageBrush); ImageSource source = ((ImageBrush)(path.Fill)).ImageSource; Uri imageUri = null; if (source is BitmapImage) { BitmapImage imageSource = source as BitmapImage; imageUri = imageSource.UriSource; } else if (source is BitmapFrame) { BitmapFrame imageSource = source as BitmapFrame; imageUri = new Uri(imageSource.ToString(), UriKind.RelativeOrAbsolute); } Rect sourceRect = path.Data.Bounds; GeneralTransform trans = path.TransformToAncestor(page); return new FixedSOMImage(sourceRect, trans, imageUri, fixedNode, path); } #if DEBUG public override void Render(DrawingContext dc, string label, DrawDebugVisual debugVisual) { Pen pen = new Pen(Brushes.Yellow, 1); Rect rect = _boundingRect; rect.Inflate(5,5); dc.DrawRectangle(null, pen , rect); if (label != null && debugVisual == DrawDebugVisual.Paragraphs) { base.RenderLabel(dc, label); } } #endif #endregion Public Methods //-------------------------------------------------------------------- // // Internal Properties // //--------------------------------------------------------------------- #region Internal Properties internal Uri Source { get { return _source; } } internal String Name { get { return _name; } } internal String HelpText { get { return _helpText; } } #endregion Internal Properties //-------------------------------------------------------------------- // // Private Fields // //---------------------------------------------------------------------- #region Private Fields private Uri _source; private String _name; private String _helpText; #endregion Interanl Fields } } // 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
- SQLInt32Storage.cs
- PermissionSet.cs
- ErrorView.xaml.cs
- SelectionProcessor.cs
- NetNamedPipeSecurityMode.cs
- ToolStripDropDownClosingEventArgs.cs
- XmlTextEncoder.cs
- TreeIterators.cs
- ByteStack.cs
- ToolStripDropDownClosingEventArgs.cs
- XmlResolver.cs
- LoginCancelEventArgs.cs
- AsymmetricKeyExchangeDeformatter.cs
- XmlNamespaceManager.cs
- SiteMapPath.cs
- PackWebRequestFactory.cs
- ThemeDirectoryCompiler.cs
- SignatureDescription.cs
- ParenthesizePropertyNameAttribute.cs
- CanonicalizationDriver.cs
- RequiredAttributeAttribute.cs
- DesignerProperties.cs
- StringComparer.cs
- SocketException.cs
- StickyNoteContentControl.cs
- WebPartTransformerAttribute.cs
- TcpWorkerProcess.cs
- VectorAnimationBase.cs
- LinqDataSource.cs
- RedirectionProxy.cs
- StringStorage.cs
- UniqueEventHelper.cs
- __ComObject.cs
- DelayedRegex.cs
- Timer.cs
- InkCanvasSelection.cs
- OleDbPermission.cs
- QilStrConcatenator.cs
- SecurityManager.cs
- ValidationSummary.cs
- ServiceModelPerformanceCounters.cs
- TextViewBase.cs
- FutureFactory.cs
- TransportDefaults.cs
- DataTemplateKey.cs
- KeyProperty.cs
- WeakReferenceList.cs
- TextBox.cs
- NamespaceMapping.cs
- TransformBlockRequest.cs
- DictationGrammar.cs
- FileDialog.cs
- SchemaNotation.cs
- StreamWithDictionary.cs
- Roles.cs
- StringComparer.cs
- ADMembershipProvider.cs
- AppDomainFactory.cs
- Point3D.cs
- ListMarkerSourceInfo.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- StringArrayConverter.cs
- DrawingCollection.cs
- ParameterBuilder.cs
- DirectionalLight.cs
- TextStore.cs
- AutomationPattern.cs
- Converter.cs
- CookieProtection.cs
- EntityViewGenerationConstants.cs
- KeyedHashAlgorithm.cs
- Int64Storage.cs
- BufferedReceiveElement.cs
- ResourcesBuildProvider.cs
- TriggerAction.cs
- MetafileHeaderWmf.cs
- TransactionsSectionGroup.cs
- StateInitialization.cs
- ActivityTypeResolver.xaml.cs
- TextTreeNode.cs
- Point4D.cs
- DataGridViewCellStateChangedEventArgs.cs
- SqlCommandBuilder.cs
- FunctionQuery.cs
- ApplicationInfo.cs
- ManagedFilter.cs
- MatrixKeyFrameCollection.cs
- BitmapCodecInfo.cs
- ObjectList.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- DynamicPropertyHolder.cs
- AlternateView.cs
- wgx_sdk_version.cs
- EmptyEnumerator.cs
- ReadOnlyCollectionBase.cs
- SessionEndedEventArgs.cs
- LazyTextWriterCreator.cs
- RecognitionResult.cs
- TextEmbeddedObject.cs
- TextTabProperties.cs