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
- UpdatableWrapper.cs
- DataGridViewTextBoxEditingControl.cs
- ParseNumbers.cs
- BrowserCapabilitiesCompiler.cs
- SqlAliasesReferenced.cs
- MarshalDirectiveException.cs
- StringArrayEditor.cs
- SourceItem.cs
- InfiniteTimeSpanConverter.cs
- SecurityDescriptor.cs
- WindowProviderWrapper.cs
- SafePEFileHandle.cs
- invalidudtexception.cs
- GCHandleCookieTable.cs
- SqlDataRecord.cs
- BooleanProjectedSlot.cs
- ScriptResourceAttribute.cs
- HttpModuleAction.cs
- Timeline.cs
- SecureStringHasher.cs
- EventHandlersStore.cs
- CollectionView.cs
- PluggableProtocol.cs
- WebPartDescription.cs
- RegexCompiler.cs
- MaskDescriptors.cs
- OleDbPropertySetGuid.cs
- InvalidPrinterException.cs
- PriorityBindingExpression.cs
- InsufficientMemoryException.cs
- SqlTypeSystemProvider.cs
- BindingSource.cs
- CodeConditionStatement.cs
- SystemEvents.cs
- IisTraceListener.cs
- TableLayoutCellPaintEventArgs.cs
- RequestDescription.cs
- WebResponse.cs
- IISUnsafeMethods.cs
- ToolStripItemTextRenderEventArgs.cs
- CommandConverter.cs
- MachineKeyConverter.cs
- TargetConverter.cs
- CompressionTransform.cs
- SymmetricSecurityBindingElement.cs
- FlowDocumentFormatter.cs
- Point3DCollection.cs
- SchemaConstraints.cs
- UIElement.cs
- IntPtr.cs
- FontStretches.cs
- GPRECTF.cs
- ControlBindingsCollection.cs
- DispatchWrapper.cs
- XhtmlBasicControlAdapter.cs
- StyleHelper.cs
- AssemblyBuilder.cs
- WorkflowMarkupSerializationException.cs
- MultiView.cs
- WindowsAltTab.cs
- XmlSchemaImport.cs
- NameValueFileSectionHandler.cs
- CellQuery.cs
- SelectionListDesigner.cs
- PeerContact.cs
- ProgressBarBrushConverter.cs
- PresentationSource.cs
- updateconfighost.cs
- ComponentSerializationService.cs
- GuidelineSet.cs
- OrderedDictionaryStateHelper.cs
- DbParameterHelper.cs
- SessionStateContainer.cs
- EntityFunctions.cs
- HostingMessageProperty.cs
- ColorTransformHelper.cs
- RuntimeResourceSet.cs
- ETagAttribute.cs
- XmlQualifiedName.cs
- ExtentCqlBlock.cs
- TargetPerspective.cs
- SchemaImporterExtensionsSection.cs
- SqlSupersetValidator.cs
- Attributes.cs
- SoapConverter.cs
- C14NUtil.cs
- DirectionalLight.cs
- ActiveXSite.cs
- PreservationFileWriter.cs
- ProgressBarAutomationPeer.cs
- ShimAsPublicXamlType.cs
- DataTableReaderListener.cs
- RandomNumberGenerator.cs
- MgmtResManager.cs
- SqlDataSourceFilteringEventArgs.cs
- Int16AnimationUsingKeyFrames.cs
- GridItemCollection.cs
- PDBReader.cs
- SystemEvents.cs
- HtmlInputControl.cs