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
- DataGridColumnFloatingHeader.cs
- _OverlappedAsyncResult.cs
- XhtmlBasicImageAdapter.cs
- MediaEntryAttribute.cs
- GridView.cs
- ISO2022Encoding.cs
- BrowserDefinition.cs
- SQLBytes.cs
- PropertyDescriptorCollection.cs
- IdentityModelStringsVersion1.cs
- InvokeHandlers.cs
- HtmlTableRowCollection.cs
- StringValidatorAttribute.cs
- DisplayMemberTemplateSelector.cs
- NavigateEvent.cs
- WS2007HttpBinding.cs
- BitConverter.cs
- ReadOnlyHierarchicalDataSource.cs
- XMLUtil.cs
- _SecureChannel.cs
- WebPartDisplayModeEventArgs.cs
- DatePickerTextBox.cs
- DataViewSetting.cs
- uribuilder.cs
- ProtectedConfiguration.cs
- OutputCacheModule.cs
- SpellerError.cs
- WrappedIUnknown.cs
- AuthenticationService.cs
- SkewTransform.cs
- SendMailErrorEventArgs.cs
- HostUtils.cs
- PrintDialog.cs
- CompilerResults.cs
- Base64Encoder.cs
- EventProperty.cs
- QueryContinueDragEventArgs.cs
- EncoderFallback.cs
- RelationshipFixer.cs
- Classification.cs
- CodeCastExpression.cs
- QueryOutputWriterV1.cs
- CuspData.cs
- DataList.cs
- SqlDataAdapter.cs
- CompoundFileReference.cs
- ViewSimplifier.cs
- XamlSerializationHelper.cs
- TCPClient.cs
- XhtmlStyleClass.cs
- MDIWindowDialog.cs
- CodeSubDirectory.cs
- LogLogRecord.cs
- Point4DConverter.cs
- TreeViewImageGenerator.cs
- ExpressionBinding.cs
- TableRowCollection.cs
- ResourceDisplayNameAttribute.cs
- CaseInsensitiveHashCodeProvider.cs
- FailedToStartupUIException.cs
- BidPrivateBase.cs
- SqlCacheDependency.cs
- SqlDataReader.cs
- ParagraphResult.cs
- QuaternionAnimation.cs
- Accessors.cs
- InvalidPrinterException.cs
- BaseTemplateBuildProvider.cs
- ApplicationHost.cs
- RepeatInfo.cs
- FixedTextView.cs
- mediaeventshelper.cs
- SafeNativeMethods.cs
- TypeConverterAttribute.cs
- HttpServerUtilityBase.cs
- DataMisalignedException.cs
- DynamicMethod.cs
- FtpWebResponse.cs
- ListDependantCardsRequest.cs
- UserInitiatedNavigationPermission.cs
- ColorConvertedBitmap.cs
- SqlStatistics.cs
- Int64AnimationUsingKeyFrames.cs
- TcpProcessProtocolHandler.cs
- WinFormsUtils.cs
- DataGridViewColumnCollection.cs
- TextRangeBase.cs
- EnumDataContract.cs
- BounceEase.cs
- NotConverter.cs
- glyphs.cs
- ColorMap.cs
- ResourceDictionary.cs
- ModifiableIteratorCollection.cs
- KeyValueInternalCollection.cs
- AlternateViewCollection.cs
- JsonGlobals.cs
- _Events.cs
- ZipPackagePart.cs
- BrowserCapabilitiesFactoryBase.cs