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
- GeneralTransform3DGroup.cs
- WebControlAdapter.cs
- ApplicationException.cs
- ValidatingCollection.cs
- ExceptionUtility.cs
- BitmapPalettes.cs
- DynamicContractTypeBuilder.cs
- LocatorBase.cs
- SQLConvert.cs
- CodeTypeReferenceExpression.cs
- CollectionBuilder.cs
- XhtmlConformanceSection.cs
- CodeTypeDelegate.cs
- EntityDataSourceWrapperCollection.cs
- XmlSchemaCompilationSettings.cs
- ServiceOperationInfoTypeConverter.cs
- _HeaderInfoTable.cs
- GridViewUpdatedEventArgs.cs
- SystemThemeKey.cs
- SmiMetaData.cs
- SQLConvert.cs
- _AuthenticationState.cs
- OrderByBuilder.cs
- DetailsViewCommandEventArgs.cs
- TickBar.cs
- ObjectViewFactory.cs
- XmlNodeComparer.cs
- FixedTextContainer.cs
- TimeoutValidationAttribute.cs
- MemberInitExpression.cs
- DetailsViewDesigner.cs
- PixelFormatConverter.cs
- DataControlField.cs
- DefaultHttpHandler.cs
- UIElementCollection.cs
- PropertyTabAttribute.cs
- CodeEntryPointMethod.cs
- UInt16.cs
- ForeignKeyFactory.cs
- QueryAsyncResult.cs
- X509Extension.cs
- LinqToSqlWrapper.cs
- HttpConfigurationSystem.cs
- WCFBuildProvider.cs
- JsonReaderWriterFactory.cs
- PropertyOverridesDialog.cs
- updatecommandorderer.cs
- TripleDES.cs
- DataView.cs
- _ServiceNameStore.cs
- SystemEvents.cs
- IssuanceLicense.cs
- Attributes.cs
- NoneExcludedImageIndexConverter.cs
- Overlapped.cs
- SiteMap.cs
- BaseTemplateCodeDomTreeGenerator.cs
- BinaryFormatterWriter.cs
- TextDocumentView.cs
- UnSafeCharBuffer.cs
- NetworkInformationPermission.cs
- CreateSequenceResponse.cs
- TextRenderer.cs
- WebPartConnectionsEventArgs.cs
- GridViewSortEventArgs.cs
- ImmutablePropertyDescriptorGridEntry.cs
- ScrollChangedEventArgs.cs
- ValueUtilsSmi.cs
- CollectionViewGroupInternal.cs
- ExpressionUtilities.cs
- ProtectedConfiguration.cs
- Rules.cs
- CompilerGeneratedAttribute.cs
- LiteralControl.cs
- XmlSchemaSimpleContent.cs
- WindowsIdentity.cs
- SafeNativeMethodsCLR.cs
- EditorPartCollection.cs
- ProvidePropertyAttribute.cs
- SqlHelper.cs
- DelimitedListTraceListener.cs
- StoreContentChangedEventArgs.cs
- SubstitutionDesigner.cs
- StringArrayConverter.cs
- PreservationFileWriter.cs
- ComponentConverter.cs
- InputLanguageManager.cs
- IssuedTokenClientBehaviorsElement.cs
- Attributes.cs
- DataGridViewCellStyleChangedEventArgs.cs
- OracleMonthSpan.cs
- XmlEntity.cs
- ClusterUtils.cs
- ProcessModelInfo.cs
- CodeMemberField.cs
- DesignerRegionCollection.cs
- UDPClient.cs
- DesignerVerbToolStripMenuItem.cs
- DocumentXmlWriter.cs
- SafeEventLogWriteHandle.cs