Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- ObjectCloneHelper.cs
- SqlCacheDependency.cs
- TimeSpanStorage.cs
- ContainerParaClient.cs
- UIAgentRequest.cs
- InputLanguageEventArgs.cs
- SqlMethodTransformer.cs
- HealthMonitoringSection.cs
- DispatcherSynchronizationContext.cs
- SiteMapNode.cs
- DesignerActionListCollection.cs
- Action.cs
- CompressionTransform.cs
- BuilderPropertyEntry.cs
- BaseProcessProtocolHandler.cs
- XmlHelper.cs
- ScaleTransform3D.cs
- DesignBindingPropertyDescriptor.cs
- SchemaLookupTable.cs
- Funcletizer.cs
- XmlSubtreeReader.cs
- Perspective.cs
- BindingCollectionElement.cs
- RectAnimationBase.cs
- SqlInfoMessageEvent.cs
- DataGridSortCommandEventArgs.cs
- BoundsDrawingContextWalker.cs
- TextDpi.cs
- Interlocked.cs
- BaseWebProxyFinder.cs
- ComponentDispatcher.cs
- WebServiceHandlerFactory.cs
- ImageAnimator.cs
- ProtectedProviderSettings.cs
- SystemIcmpV4Statistics.cs
- SqlServices.cs
- Accessors.cs
- BaseTreeIterator.cs
- BaseProcessor.cs
- ReferencedCollectionType.cs
- TextServicesManager.cs
- XmlMemberMapping.cs
- AttachedPropertyMethodSelector.cs
- TreeViewEvent.cs
- DocumentSequence.cs
- XmlCompatibilityReader.cs
- ListBox.cs
- AutoCompleteStringCollection.cs
- Size.cs
- ColumnReorderedEventArgs.cs
- ProfilePropertyNameValidator.cs
- PixelFormat.cs
- CustomExpression.cs
- CheckBoxField.cs
- wgx_sdk_version.cs
- MonitoringDescriptionAttribute.cs
- SimpleBitVector32.cs
- ProtocolReflector.cs
- NameTable.cs
- ColumnProvider.cs
- SmiEventSink_Default.cs
- ContextMenuService.cs
- ScriptModule.cs
- TiffBitmapDecoder.cs
- EdmProviderManifest.cs
- TransformCollection.cs
- HotSpot.cs
- BrowserDefinitionCollection.cs
- TabControlCancelEvent.cs
- Application.cs
- ImageClickEventArgs.cs
- ProvidePropertyAttribute.cs
- GeneralTransform.cs
- WithParamAction.cs
- DataBinding.cs
- RadioButtonPopupAdapter.cs
- UmAlQuraCalendar.cs
- SqlDataRecord.cs
- QilVisitor.cs
- SurrogateEncoder.cs
- ContainerFilterService.cs
- WizardPanelChangingEventArgs.cs
- ICspAsymmetricAlgorithm.cs
- QueryInterceptorAttribute.cs
- SmtpReplyReader.cs
- _SpnDictionary.cs
- XmlEventCache.cs
- XMLSyntaxException.cs
- PropertyFilterAttribute.cs
- SafeNativeMethods.cs
- FontWeightConverter.cs
- NullRuntimeConfig.cs
- Perspective.cs
- DrawingCollection.cs
- EntityAdapter.cs
- PackWebRequest.cs
- GeneralTransform2DTo3DTo2D.cs
- Crc32.cs
- ParallelSeparator.xaml.cs
- PeerUnsafeNativeMethods.cs