Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- SQLMembershipProvider.cs
- BindingMAnagerBase.cs
- DocumentPageHost.cs
- Zone.cs
- Int32AnimationBase.cs
- DataGridViewRowsRemovedEventArgs.cs
- DataKeyArray.cs
- Mapping.cs
- CurrencyManager.cs
- NullableDecimalAverageAggregationOperator.cs
- BevelBitmapEffect.cs
- tibetanshape.cs
- Polygon.cs
- RequestCacheValidator.cs
- FrameworkElementFactoryMarkupObject.cs
- Brushes.cs
- DataControlImageButton.cs
- InvalidDataException.cs
- InputLanguageManager.cs
- BindingsCollection.cs
- XPathDocumentBuilder.cs
- IChannel.cs
- ReachFixedPageSerializerAsync.cs
- ComEventsHelper.cs
- QuaternionIndependentAnimationStorage.cs
- ImageIndexConverter.cs
- TreeWalker.cs
- RectangleF.cs
- PartialArray.cs
- ApplicationActivator.cs
- FaultPropagationQuery.cs
- ProtocolsConfigurationHandler.cs
- ChildrenQuery.cs
- TreeViewImageIndexConverter.cs
- UDPClient.cs
- StringWriter.cs
- AutomationTextAttribute.cs
- CollectionViewGroup.cs
- LightweightEntityWrapper.cs
- MimeTypeMapper.cs
- TableLayoutCellPaintEventArgs.cs
- DataGridViewButtonColumn.cs
- XPSSignatureDefinition.cs
- InvalidFilterCriteriaException.cs
- ArgumentOutOfRangeException.cs
- __FastResourceComparer.cs
- EnvironmentPermission.cs
- BooleanKeyFrameCollection.cs
- OdbcErrorCollection.cs
- IList.cs
- ComponentEditorForm.cs
- RawStylusInput.cs
- EntityDataSourceDataSelection.cs
- printdlgexmarshaler.cs
- LinkClickEvent.cs
- SrgsGrammar.cs
- CommonXSendMessage.cs
- TargetFrameworkAttribute.cs
- ReachPageContentCollectionSerializer.cs
- CodeDelegateCreateExpression.cs
- TextWriterEngine.cs
- PublisherIdentityPermission.cs
- TreeNode.cs
- PageCache.cs
- WorkflowStateRollbackService.cs
- ScrollBarRenderer.cs
- EntityRecordInfo.cs
- StackBuilderSink.cs
- GlobalizationSection.cs
- SystemWebSectionGroup.cs
- WebPartZoneBase.cs
- DataPagerField.cs
- PTUtility.cs
- SimpleWorkerRequest.cs
- DrawingVisual.cs
- WinEventQueueItem.cs
- PartialCachingControl.cs
- CustomWebEventKey.cs
- SeparatorAutomationPeer.cs
- _ListenerResponseStream.cs
- WebScriptEnablingBehavior.cs
- AssertSection.cs
- HttpException.cs
- MobileUserControl.cs
- SHA512CryptoServiceProvider.cs
- SessionEndingCancelEventArgs.cs
- ThrowHelper.cs
- BrowserCapabilitiesCompiler.cs
- ToolTip.cs
- PackageDigitalSignature.cs
- ClientSideProviderDescription.cs
- XmlSerializationGeneratedCode.cs
- RIPEMD160Managed.cs
- RectConverter.cs
- Bitmap.cs
- WindowAutomationPeer.cs
- XomlCompilerResults.cs
- DBDataPermission.cs
- SectionXmlInfo.cs
- AccessDataSourceView.cs