Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / Media / GeometryGroup.cs / 1 / GeometryGroup.cs
//---------------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // Description: Implementation of GeometryGroup // // History: // 2004/11/11-Michka // Created it // //--------------------------------------------------------------------------- using System; using MS.Internal; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.Reflection; using System.Collections; using System.Text; using System.Globalization; using System.Windows.Media; using System.Windows; using System.Windows.Media.Composition; using System.Text.RegularExpressions; using System.Windows.Media.Animation; using System.Windows.Markup; using System.Runtime.InteropServices; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Media { #region GeometryGroup ////// GeometryGroup /// [ContentProperty("Children")] public sealed partial class GeometryGroup : Geometry { #region Constructors ////// Default constructor /// public GeometryGroup() { } #endregion #region Overrides ////// GetPathGeometryData - returns a struct which contains this Geometry represented /// as a path geometry's serialized format. /// internal override PathGeometryData GetPathGeometryData() { PathGeometry pathGeometry = GetAsPathGeometry(); return pathGeometry.GetPathGeometryData(); } internal override PathGeometry GetAsPathGeometry() { PathGeometry pg = new PathGeometry(); pg.AddGeometry(this); pg.FillRule = FillRule; Debug.Assert(pg.CanFreeze); return pg; } #endregion #region GetPathFigureCollection internal override PathFigureCollection GetTransformedFigureCollection(Transform transform) { // Combine the transform argument with the internal transform Transform combined = new MatrixTransform(GetCombinedMatrix(transform)); PathFigureCollection result = new PathFigureCollection(); GeometryCollection children = Children; if (children != null) { for (int i = 0; i < children.Count; i++) { PathFigureCollection pathFigures = children.Internal_GetItem(i).GetTransformedFigureCollection(combined); if (pathFigures != null) { int count = pathFigures.Count; for (int j = 0; j < count; ++j) { result.Add(pathFigures[j]); } } } } return result; } #endregion #region IsEmpty ////// Returns true if this geometry is empty /// public override bool IsEmpty() { GeometryCollection children = Children; if (children == null) { return true; } for (int i=0; i/// Returns true if this geometry may have curved segments /// public override bool MayHaveCurves() { GeometryCollection children = Children; if (children == null) { return false; } for (int i = 0; i < children.Count; i++) { if (((Geometry)children[i]).MayHaveCurves()) { return true; } } return false; } } #endregion } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // Description: Implementation of GeometryGroup // // History: // 2004/11/11-Michka // Created it // //--------------------------------------------------------------------------- using System; using MS.Internal; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Diagnostics; using System.Reflection; using System.Collections; using System.Text; using System.Globalization; using System.Windows.Media; using System.Windows; using System.Windows.Media.Composition; using System.Text.RegularExpressions; using System.Windows.Media.Animation; using System.Windows.Markup; using System.Runtime.InteropServices; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Media { #region GeometryGroup /// /// GeometryGroup /// [ContentProperty("Children")] public sealed partial class GeometryGroup : Geometry { #region Constructors ////// Default constructor /// public GeometryGroup() { } #endregion #region Overrides ////// GetPathGeometryData - returns a struct which contains this Geometry represented /// as a path geometry's serialized format. /// internal override PathGeometryData GetPathGeometryData() { PathGeometry pathGeometry = GetAsPathGeometry(); return pathGeometry.GetPathGeometryData(); } internal override PathGeometry GetAsPathGeometry() { PathGeometry pg = new PathGeometry(); pg.AddGeometry(this); pg.FillRule = FillRule; Debug.Assert(pg.CanFreeze); return pg; } #endregion #region GetPathFigureCollection internal override PathFigureCollection GetTransformedFigureCollection(Transform transform) { // Combine the transform argument with the internal transform Transform combined = new MatrixTransform(GetCombinedMatrix(transform)); PathFigureCollection result = new PathFigureCollection(); GeometryCollection children = Children; if (children != null) { for (int i = 0; i < children.Count; i++) { PathFigureCollection pathFigures = children.Internal_GetItem(i).GetTransformedFigureCollection(combined); if (pathFigures != null) { int count = pathFigures.Count; for (int j = 0; j < count; ++j) { result.Add(pathFigures[j]); } } } } return result; } #endregion #region IsEmpty ////// Returns true if this geometry is empty /// public override bool IsEmpty() { GeometryCollection children = Children; if (children == null) { return true; } for (int i=0; i/// Returns true if this geometry may have curved segments /// public override bool MayHaveCurves() { GeometryCollection children = Children; if (children == null) { return false; } for (int i = 0; i < children.Count; i++) { if (((Geometry)children[i]).MayHaveCurves()) { return true; } } return false; } } #endregion } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DatePickerTextBox.cs
- DecoderReplacementFallback.cs
- ScrollProviderWrapper.cs
- XamlValidatingReader.cs
- CodeTypeMemberCollection.cs
- DataContractSerializerFaultFormatter.cs
- HitTestParameters.cs
- OutOfMemoryException.cs
- FtpCachePolicyElement.cs
- Collection.cs
- KnownBoxes.cs
- TreeNodeStyle.cs
- SimpleTypesSurrogate.cs
- AddInBase.cs
- DocumentPageHost.cs
- TextServicesProperty.cs
- EntityParameterCollection.cs
- WorkflowPageSetupDialog.cs
- CookieProtection.cs
- TypeInitializationException.cs
- DataContext.cs
- ToolboxItem.cs
- ServiceModelTimeSpanValidator.cs
- KeySpline.cs
- Fault.cs
- RepeatButtonAutomationPeer.cs
- OracleTimeSpan.cs
- RowSpanVector.cs
- ConstraintManager.cs
- SimpleTextLine.cs
- ActiveXHelper.cs
- DoubleAnimationClockResource.cs
- Header.cs
- Error.cs
- DataGridCell.cs
- RequestCacheEntry.cs
- Volatile.cs
- HttpListenerPrefixCollection.cs
- ForwardPositionQuery.cs
- EntryWrittenEventArgs.cs
- DocumentReference.cs
- HttpsTransportElement.cs
- ISessionStateStore.cs
- StateMachineAction.cs
- Signature.cs
- ExtensionSimplifierMarkupObject.cs
- ModelItemDictionary.cs
- XmlLoader.cs
- XmlSchemaDocumentation.cs
- ValidatingPropertiesEventArgs.cs
- SqlTypeConverter.cs
- AttributedMetaModel.cs
- SafeHandles.cs
- Point.cs
- XdrBuilder.cs
- ServicePointManagerElement.cs
- RtfControlWordInfo.cs
- PenCursorManager.cs
- RemoteWebConfigurationHostStream.cs
- ResolveMatchesCD1.cs
- ToolStripDropDownItem.cs
- ValidationErrorCollection.cs
- StorageScalarPropertyMapping.cs
- ProtocolsConfigurationEntry.cs
- AttributeUsageAttribute.cs
- PTUtility.cs
- ManifestBasedResourceGroveler.cs
- VisualCollection.cs
- clipboard.cs
- SerializationStore.cs
- BoundingRectTracker.cs
- WindowPattern.cs
- WindowsFormsDesignerOptionService.cs
- DataGridViewSelectedRowCollection.cs
- DirectoryObjectSecurity.cs
- OdbcParameterCollection.cs
- ImageBrush.cs
- HtmlElementEventArgs.cs
- ChtmlImageAdapter.cs
- XPathNodeList.cs
- XMLSchema.cs
- UseAttributeSetsAction.cs
- SqlGenerator.cs
- CookieParameter.cs
- WindowsNonControl.cs
- ScrollItemProviderWrapper.cs
- TripleDES.cs
- DataRowView.cs
- BitmapVisualManager.cs
- TextPatternIdentifiers.cs
- MediaElementAutomationPeer.cs
- TextEditor.cs
- UpDownEvent.cs
- SafeLocalAllocation.cs
- FunctionDescription.cs
- PassportPrincipal.cs
- TextEvent.cs
- CodeAttachEventStatement.cs
- FontUnitConverter.cs
- MLangCodePageEncoding.cs