Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Media / DrawingBrush.cs / 1 / DrawingBrush.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: DrawingBrush.cs // // Description: This file contains the implementation of DrawingBrush. // The DrawingBrush is a TileBrush which defines its tile content // by use of a Drawing. // // History: // 2003/07/17 : [....] - Created it. // 2003/07/28 : [....] - Renamed it and hooked it up to the unmanaged code. // //--------------------------------------------------------------------------- using MS.Internal; using System; using System.ComponentModel; using System.Diagnostics; using System.Runtime.InteropServices; using System.Windows; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Media.Composition; namespace System.Windows.Media { ////// DrawingBrush - This TileBrush defines its content as a Drawing /// public sealed partial class DrawingBrush : TileBrush { #region Constructors ////// Default constructor for DrawingBrush. The resulting Brush has no content. /// public DrawingBrush() { } ////// DrawingBrush Constructor where the image is set to the parameter's value /// /// The Drawing representing the contents of this Brush. public DrawingBrush(Drawing drawing) { Drawing = drawing; } #endregion Constructors ////// This node can introduce graphness /// internal override bool CanIntroduceGraphness() { return true; } ////// Obtains the current bounds of the brush's content /// /// Output bounds of content protected override void GetContentBounds(out Rect contentBounds) { contentBounds = Drawing.GetBounds(); } #region Realization Support ////// A drawing brush requires realizations if the drawing assigned to it requires realizations. /// Note that Precompute is best called only once per managed frame. /// internal override void Precompute() { // Drawing drawing = Drawing; if (drawing != null) { drawing.PrecomputeCore(); _requiresRealizationUpdates = drawing.RequiresRealizationUpdates; } else { _requiresRealizationUpdates = false; } } ////// Checks if realization updates are requried for this resource. /// Before querying this property Precompute must be called to validate the property /// value. /// internal override bool RequiresRealizationUpdates { get { return _requiresRealizationUpdates; } } ////// Updates realizations for all dependant resources that might require realization updates. /// internal override void UpdateRealizations(Rect fillShapeBounds, RealizationContext ctx) { if (_requiresRealizationUpdates) { Matrix m; Drawing drawing = Drawing; Debug.Assert(drawing != null); // RequiresRealizationUpdates sets the _requiresRealizationUpdates member to false if drawing == null. GetTileBrushMapping(fillShapeBounds, out m); ctx.TransformStack.Push(ref m, true); drawing.UpdateRealizations(ctx); ctx.TransformStack.Pop(); } } #endregion private bool _requiresRealizationUpdates; } } // 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
- EntityWrapperFactory.cs
- GridViewDeleteEventArgs.cs
- ImageFormat.cs
- TraceListener.cs
- ConfigXmlText.cs
- WindowsFormsSynchronizationContext.cs
- VScrollProperties.cs
- GroupBox.cs
- ComponentResourceKeyConverter.cs
- DataControlImageButton.cs
- Win32.cs
- XmlWellformedWriter.cs
- HostedElements.cs
- UnsafeNativeMethods.cs
- NameTable.cs
- ConfigXmlDocument.cs
- WindowsFormsHostPropertyMap.cs
- EventSourceCreationData.cs
- StringReader.cs
- WebServiceData.cs
- RemotingConfigParser.cs
- ArrayWithOffset.cs
- ManifestSignedXml.cs
- XmlCharCheckingWriter.cs
- HtmlGenericControl.cs
- TypefaceMetricsCache.cs
- METAHEADER.cs
- DbProviderServices.cs
- FieldToken.cs
- GroupBoxRenderer.cs
- EntityCollectionChangedParams.cs
- PageResolution.cs
- HyperLinkField.cs
- Timeline.cs
- ImageInfo.cs
- DbDataAdapter.cs
- nulltextnavigator.cs
- ApplicationDirectory.cs
- WebReference.cs
- TypeConverterValueSerializer.cs
- assertwrapper.cs
- TakeQueryOptionExpression.cs
- X509Utils.cs
- ProfessionalColors.cs
- DataSourceControlBuilder.cs
- CommandDevice.cs
- EventHandlerList.cs
- RotationValidation.cs
- RegexReplacement.cs
- MatrixUtil.cs
- _NetRes.cs
- LifetimeServices.cs
- SizeIndependentAnimationStorage.cs
- FormViewModeEventArgs.cs
- X509UI.cs
- LoggedException.cs
- ScriptResourceInfo.cs
- ImageCodecInfoPrivate.cs
- SqlDeflator.cs
- ThreadAbortException.cs
- FloaterBaseParaClient.cs
- SingleResultAttribute.cs
- SectionVisual.cs
- CommandValueSerializer.cs
- WebPartChrome.cs
- AttributeCollection.cs
- SchemaElementDecl.cs
- NetTcpSection.cs
- AbstractSvcMapFileLoader.cs
- CodeRegionDirective.cs
- LocatorGroup.cs
- AdornerHitTestResult.cs
- BinaryUtilClasses.cs
- OdbcParameterCollection.cs
- MemberHolder.cs
- util.cs
- RNGCryptoServiceProvider.cs
- FtpRequestCacheValidator.cs
- GuidelineSet.cs
- SafeHandles.cs
- BitVector32.cs
- DataKey.cs
- TabPanel.cs
- TimeSpanValidatorAttribute.cs
- MdImport.cs
- ipaddressinformationcollection.cs
- ListViewTableCell.cs
- StopStoryboard.cs
- DebugHandleTracker.cs
- x509utils.cs
- EntityDataSourceViewSchema.cs
- RectangleHotSpot.cs
- BlurEffect.cs
- SqlDataSourceCommandEventArgs.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- CountdownEvent.cs
- FormsAuthenticationUser.cs
- DataService.cs
- DataServiceQueryOfT.cs
- BamlMapTable.cs