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
- WaitHandle.cs
- Queue.cs
- ConfigXmlCDataSection.cs
- JournalEntry.cs
- ListCollectionView.cs
- ErrorTolerantObjectWriter.cs
- PreservationFileWriter.cs
- BooleanAnimationBase.cs
- PromptStyle.cs
- XmlIncludeAttribute.cs
- Block.cs
- DesignerVerbToolStripMenuItem.cs
- Nodes.cs
- DbSourceParameterCollection.cs
- Int64AnimationUsingKeyFrames.cs
- LocalizableResourceBuilder.cs
- WebPartDeleteVerb.cs
- UrlRoutingModule.cs
- OleDbConnectionFactory.cs
- ModelItemDictionary.cs
- CorePropertiesFilter.cs
- SchemaImporterExtensionsSection.cs
- ProfileServiceManager.cs
- SeekStoryboard.cs
- HostingEnvironmentException.cs
- StringUtil.cs
- ClientSideQueueItem.cs
- CancellationHandler.cs
- PointLightBase.cs
- TranslateTransform.cs
- Size3DValueSerializer.cs
- DataGridViewRowHeaderCell.cs
- AutomationPropertyInfo.cs
- SmtpTransport.cs
- DataTableCollection.cs
- SourceSwitch.cs
- ErrorsHelper.cs
- BinaryMethodMessage.cs
- ProxyWebPartConnectionCollection.cs
- HtmlImage.cs
- ButtonBase.cs
- URI.cs
- WsdlImporterElement.cs
- TwoPhaseCommit.cs
- AbandonedMutexException.cs
- FormsIdentity.cs
- SqlLiftWhereClauses.cs
- Executor.cs
- FtpRequestCacheValidator.cs
- LabelEditEvent.cs
- XmlDataImplementation.cs
- VerificationAttribute.cs
- DrawingContextWalker.cs
- PageBuildProvider.cs
- AsyncCodeActivity.cs
- HtmlTernaryTree.cs
- ConfigXmlCDataSection.cs
- ReferenceConverter.cs
- InputManager.cs
- DataBoundLiteralControl.cs
- brushes.cs
- BamlResourceSerializer.cs
- PhoneCall.cs
- CompilerTypeWithParams.cs
- Utils.cs
- CallbackValidatorAttribute.cs
- dbdatarecord.cs
- BrowserCapabilitiesFactoryBase.cs
- ApplicationHost.cs
- RowUpdatedEventArgs.cs
- DecimalKeyFrameCollection.cs
- TrackBar.cs
- SystemIcons.cs
- PersistencePipeline.cs
- Reference.cs
- DataGridColumnFloatingHeader.cs
- WebRequest.cs
- PageThemeBuildProvider.cs
- TheQuery.cs
- SelectionProviderWrapper.cs
- ExpressionBuilderContext.cs
- BindingContext.cs
- CodeExporter.cs
- DataMisalignedException.cs
- TraceEventCache.cs
- DockPanel.cs
- SystemResources.cs
- CollectionTraceRecord.cs
- FontFamilyValueSerializer.cs
- CustomError.cs
- ReadOnlyObservableCollection.cs
- TextElementEnumerator.cs
- FloatUtil.cs
- ContentTextAutomationPeer.cs
- SqlProviderServices.cs
- WorkflowInstance.cs
- InfoCardTrace.cs
- shaperfactoryquerycacheentry.cs
- AsnEncodedData.cs
- ParseNumbers.cs