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
- InputBindingCollection.cs
- ScriptRegistrationManager.cs
- Filter.cs
- basenumberconverter.cs
- LicenseManager.cs
- NullableBoolConverter.cs
- PaintValueEventArgs.cs
- Speller.cs
- SafeNativeMethodsMilCoreApi.cs
- MailMessageEventArgs.cs
- OutputCacheSection.cs
- ByteBufferPool.cs
- CompoundFileReference.cs
- X509ScopedServiceCertificateElement.cs
- DatagridviewDisplayedBandsData.cs
- Pkcs7Signer.cs
- SmiEventSink_Default.cs
- TableItemPatternIdentifiers.cs
- ContractAdapter.cs
- InternalSafeNativeMethods.cs
- HyperLinkColumn.cs
- RegexGroupCollection.cs
- PathTooLongException.cs
- DiagnosticsConfiguration.cs
- StringTraceRecord.cs
- ImageMapEventArgs.cs
- AnnotationResourceCollection.cs
- Int16Storage.cs
- LicenseManager.cs
- FixedStringLookup.cs
- ResourceReferenceExpressionConverter.cs
- SecureStringHasher.cs
- MultiDataTrigger.cs
- TextRunCache.cs
- TextChange.cs
- SmtpLoginAuthenticationModule.cs
- Util.cs
- Claim.cs
- LambdaCompiler.ControlFlow.cs
- RpcCryptoContext.cs
- ClientScriptItemCollection.cs
- ListSortDescriptionCollection.cs
- SpecialNameAttribute.cs
- InfoCardSymmetricAlgorithm.cs
- DBCSCodePageEncoding.cs
- SimpleBitVector32.cs
- ResXResourceSet.cs
- COM2ComponentEditor.cs
- DefaultSection.cs
- BindingBase.cs
- ProfilePropertyNameValidator.cs
- RawStylusSystemGestureInputReport.cs
- NavigationHelper.cs
- Win32SafeHandles.cs
- SoapElementAttribute.cs
- Relationship.cs
- InstallerTypeAttribute.cs
- StylusCaptureWithinProperty.cs
- TransformGroup.cs
- MaskedTextProvider.cs
- NativeMsmqMessage.cs
- FileSystemInfo.cs
- TraceLevelHelper.cs
- AttributeExtensions.cs
- RectValueSerializer.cs
- Assert.cs
- WorkflowLayouts.cs
- EditableRegion.cs
- TraceHandlerErrorFormatter.cs
- AssociationSet.cs
- SerialPinChanges.cs
- DecimalMinMaxAggregationOperator.cs
- Point3DConverter.cs
- SerializationInfoEnumerator.cs
- ReadOnlyDataSource.cs
- COMException.cs
- TextServicesManager.cs
- LineServicesRun.cs
- UsernameTokenFactoryCredential.cs
- XmlSiteMapProvider.cs
- remotingproxy.cs
- contentDescriptor.cs
- DiscriminatorMap.cs
- X509SecurityTokenParameters.cs
- OdbcHandle.cs
- UnhandledExceptionEventArgs.cs
- DataTableMapping.cs
- HttpStaticObjectsCollectionWrapper.cs
- InstanceKeyView.cs
- SchemaNames.cs
- SafeNativeMethods.cs
- MetadataItem_Static.cs
- ParserExtension.cs
- ToolStripContentPanel.cs
- AdPostCacheSubstitution.cs
- TranslateTransform.cs
- Typography.cs
- MemberAssignmentAnalysis.cs
- MULTI_QI.cs
- BufferedWebEventProvider.cs