Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / FixedSOMImage.cs / 1305600 / 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
- Atom10ItemFormatter.cs
- HwndTarget.cs
- _OSSOCK.cs
- WindowsButton.cs
- AdCreatedEventArgs.cs
- ReflectionTypeLoadException.cs
- RegistryExceptionHelper.cs
- NavigationHelper.cs
- ChildrenQuery.cs
- DisableDpiAwarenessAttribute.cs
- DataRow.cs
- SiteMembershipCondition.cs
- wgx_render.cs
- ScaleTransform3D.cs
- AnonymousIdentificationSection.cs
- GenericUriParser.cs
- ItemsPanelTemplate.cs
- WebBrowserPermission.cs
- FileClassifier.cs
- CustomError.cs
- ControlBuilderAttribute.cs
- UTF7Encoding.cs
- EndpointAddressMessageFilterTable.cs
- DictionaryChange.cs
- AsyncDataRequest.cs
- ExtenderProviderService.cs
- MetadataImporter.cs
- CodeTypeMemberCollection.cs
- Deflater.cs
- BinaryObjectReader.cs
- RealizationDrawingContextWalker.cs
- StringUtil.cs
- MimeTypeMapper.cs
- ProviderSettingsCollection.cs
- ClientOptions.cs
- DirectoryObjectSecurity.cs
- SqlDataSourceCustomCommandPanel.cs
- ExtendedPropertyDescriptor.cs
- TargetFrameworkAttribute.cs
- CompositeFontFamily.cs
- SimpleRecyclingCache.cs
- TemplateEditingService.cs
- MiniAssembly.cs
- DBCSCodePageEncoding.cs
- StickyNoteHelper.cs
- AssemblyName.cs
- HtmlLink.cs
- StackOverflowException.cs
- TabControlCancelEvent.cs
- ResourceProviderFactory.cs
- UserControl.cs
- GridViewRowPresenter.cs
- CharEnumerator.cs
- SymDocumentType.cs
- SelectionList.cs
- HttpRequest.cs
- MappingItemCollection.cs
- MemberBinding.cs
- EdmPropertyAttribute.cs
- TimeSpanOrInfiniteValidator.cs
- fixedPageContentExtractor.cs
- KeyValueSerializer.cs
- BypassElement.cs
- SkipStoryboardToFill.cs
- SystemKeyConverter.cs
- UIAgentAsyncEndRequest.cs
- HttpWebRequestElement.cs
- SamlNameIdentifierClaimResource.cs
- CachedCompositeFamily.cs
- ConditionCollection.cs
- TableChangeProcessor.cs
- ModuleBuilderData.cs
- CryptoHelper.cs
- VideoDrawing.cs
- propertyentry.cs
- DecimalConverter.cs
- MenuBindingsEditor.cs
- SqlErrorCollection.cs
- CheckBox.cs
- NetworkAddressChange.cs
- StackSpiller.Bindings.cs
- CallbackValidatorAttribute.cs
- DecimalConstantAttribute.cs
- PointF.cs
- EventLogPermissionEntryCollection.cs
- CompositeTypefaceMetrics.cs
- GridViewActionList.cs
- SelectedDatesCollection.cs
- DataGridViewRowsRemovedEventArgs.cs
- HtmlInputButton.cs
- HtmlShimManager.cs
- ColumnTypeConverter.cs
- SettingsContext.cs
- WebMessageFormatHelper.cs
- Base64Decoder.cs
- SaveFileDialog.cs
- BuildProviderAppliesToAttribute.cs
- SymLanguageVendor.cs
- NumberFormatter.cs
- FactoryMaker.cs