Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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: [....] - 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
- _UriTypeConverter.cs
- ReflectionUtil.cs
- PackageFilter.cs
- SafeNativeMethods.cs
- DynamicPropertyReader.cs
- AssemblyBuilder.cs
- TabOrder.cs
- BitmapEffectvisualstate.cs
- DataSourceXmlSubItemAttribute.cs
- PersonalizationEntry.cs
- DbResourceAllocator.cs
- FrameDimension.cs
- DbProviderSpecificTypePropertyAttribute.cs
- SqlCachedBuffer.cs
- DirtyTextRange.cs
- AsymmetricSecurityProtocol.cs
- PrintingPermission.cs
- TableLayoutSettings.cs
- StrongNameUtility.cs
- OpCellTreeNode.cs
- View.cs
- DataViewSetting.cs
- RichTextBoxContextMenu.cs
- Rect3D.cs
- __FastResourceComparer.cs
- ConfigurationStrings.cs
- RequestCacheManager.cs
- LinkedList.cs
- DecoratedNameAttribute.cs
- ControlCachePolicy.cs
- BindingsCollection.cs
- safelink.cs
- RemotingClientProxy.cs
- Speller.cs
- ELinqQueryState.cs
- XmlSerializationReader.cs
- ToolStripItem.cs
- XmlLanguageConverter.cs
- DBCommand.cs
- ToolStripItemTextRenderEventArgs.cs
- EdmToObjectNamespaceMap.cs
- DependencyPropertyConverter.cs
- SqlCommandSet.cs
- Mapping.cs
- CaseExpr.cs
- XmlFormatMapping.cs
- InputProcessorProfiles.cs
- DeclarativeCatalogPart.cs
- UserControlCodeDomTreeGenerator.cs
- ListViewEditEventArgs.cs
- Grant.cs
- StreamReader.cs
- StringFreezingAttribute.cs
- DBSqlParser.cs
- PopOutPanel.cs
- BuildManagerHost.cs
- ObjectHelper.cs
- RepeaterItem.cs
- GridItemProviderWrapper.cs
- DataObjectCopyingEventArgs.cs
- FilterInvalidBodyAccessException.cs
- Console.cs
- TextDecorationCollection.cs
- RegexStringValidator.cs
- ExtensionWindowHeader.cs
- OdbcReferenceCollection.cs
- ColumnResult.cs
- DataServiceException.cs
- SourceLocationProvider.cs
- RenderDataDrawingContext.cs
- AnyReturnReader.cs
- TextMetrics.cs
- StylusPointPropertyUnit.cs
- HttpTransportBindingElement.cs
- BrushValueSerializer.cs
- Imaging.cs
- Matrix3DValueSerializer.cs
- Menu.cs
- XPathDescendantIterator.cs
- QilLiteral.cs
- XmlNodeChangedEventManager.cs
- WCFServiceClientProxyGenerator.cs
- GeneralTransform3DTo2D.cs
- XmlUtf8RawTextWriter.cs
- StructuralCache.cs
- Mutex.cs
- EnumType.cs
- Point3D.cs
- StyleHelper.cs
- securitycriticaldataClass.cs
- MarkupObject.cs
- brushes.cs
- CodeTypeMember.cs
- SiblingIterators.cs
- ConfigurationErrorsException.cs
- CompatibleIComparer.cs
- EntityDataSourceDesignerHelper.cs
- metadatamappinghashervisitor.cs
- DataGridViewIntLinkedList.cs
- HeaderedItemsControl.cs