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
- AggregateNode.cs
- SqlColumnizer.cs
- TaskSchedulerException.cs
- CodeObjectCreateExpression.cs
- ClientOperationFormatterProvider.cs
- Formatter.cs
- MainMenu.cs
- KnownBoxes.cs
- PageBuildProvider.cs
- keycontainerpermission.cs
- ITextView.cs
- SymbolTable.cs
- HtmlProps.cs
- CompiledRegexRunnerFactory.cs
- WebConfigurationManager.cs
- CryptoApi.cs
- BindingMemberInfo.cs
- xdrvalidator.cs
- XmlAttributeProperties.cs
- TypedTableBase.cs
- WebBrowserNavigatingEventHandler.cs
- _RegBlobWebProxyDataBuilder.cs
- SignHashRequest.cs
- LineServicesCallbacks.cs
- IgnorePropertiesAttribute.cs
- MaskedTextBoxDesigner.cs
- CreationContext.cs
- CryptoKeySecurity.cs
- AttachmentCollection.cs
- FormViewUpdatedEventArgs.cs
- MobileErrorInfo.cs
- EndpointNotFoundException.cs
- IImplicitResourceProvider.cs
- RelOps.cs
- SchemaType.cs
- SharedPerformanceCounter.cs
- ProfileProvider.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- Literal.cs
- LinearGradientBrush.cs
- RoleService.cs
- UIElementParagraph.cs
- ResXResourceWriter.cs
- TextBoxAutoCompleteSourceConverter.cs
- AnimationTimeline.cs
- ReplacementText.cs
- SymbolType.cs
- SoapFormatter.cs
- DefaultValidator.cs
- XmlAttributeOverrides.cs
- EtwTrace.cs
- WebPartDescription.cs
- InstanceDataCollection.cs
- ContextActivityUtils.cs
- MissingSatelliteAssemblyException.cs
- WhitespaceReader.cs
- Facet.cs
- DesignParameter.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- FtpCachePolicyElement.cs
- ProviderBase.cs
- PropertyPathWorker.cs
- FontCacheLogic.cs
- TitleStyle.cs
- DataView.cs
- Renderer.cs
- TextServicesCompartmentEventSink.cs
- XmlCharCheckingReader.cs
- NamespaceInfo.cs
- TripleDES.cs
- DecimalConstantAttribute.cs
- IDReferencePropertyAttribute.cs
- TypeSource.cs
- DefaultBindingPropertyAttribute.cs
- ComponentChangedEvent.cs
- dataprotectionpermissionattribute.cs
- CodeTypeParameterCollection.cs
- LinqDataView.cs
- CatalogPartChrome.cs
- InputReportEventArgs.cs
- UnitySerializationHolder.cs
- JpegBitmapDecoder.cs
- DeviceOverridableAttribute.cs
- XPathAncestorQuery.cs
- UnsafeNativeMethods.cs
- LinearGradientBrush.cs
- References.cs
- XXXInfos.cs
- DataGridBoolColumn.cs
- IgnoreFlushAndCloseStream.cs
- DataTableTypeConverter.cs
- MediaElementAutomationPeer.cs
- SubstitutionResponseElement.cs
- SortFieldComparer.cs
- CompositeClientFormatter.cs
- InputReport.cs
- VisualBrush.cs
- ValueUtilsSmi.cs
- RecordBuilder.cs
- FrameworkElementFactoryMarkupObject.cs