Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- PatternMatcher.cs
- Guid.cs
- Volatile.cs
- GradientStopCollection.cs
- XmlSchemaIdentityConstraint.cs
- PropertyItemInternal.cs
- DrawListViewItemEventArgs.cs
- ExpressionBuilder.cs
- RNGCryptoServiceProvider.cs
- DiscoveryMessageSequenceGenerator.cs
- Synchronization.cs
- ParseHttpDate.cs
- DataRecordObjectView.cs
- ISAPIRuntime.cs
- OLEDB_Enum.cs
- ApplicationActivator.cs
- SettingsProperty.cs
- MetadataUtil.cs
- COM2ExtendedTypeConverter.cs
- KeyProperty.cs
- ListViewTableRow.cs
- XslNumber.cs
- PointUtil.cs
- MailWriter.cs
- AssemblyGen.cs
- ReturnType.cs
- FrameworkContentElement.cs
- ObjectDataSourceFilteringEventArgs.cs
- KnownColorTable.cs
- GroupBoxAutomationPeer.cs
- AssertSection.cs
- BaseValidator.cs
- Font.cs
- ReferencedAssembly.cs
- AgileSafeNativeMemoryHandle.cs
- DbConnectionStringBuilder.cs
- OrderedParallelQuery.cs
- Formatter.cs
- XmlSchemaException.cs
- QilLiteral.cs
- HandlerBase.cs
- CompressedStack.cs
- Rotation3DAnimationBase.cs
- IndicFontClient.cs
- KnownBoxes.cs
- AttributeCollection.cs
- InstanceDataCollectionCollection.cs
- SafeNativeMethods.cs
- DefaultPrintController.cs
- SoapSchemaMember.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- NativeRecognizer.cs
- NoClickablePointException.cs
- TypeTypeConverter.cs
- ListViewSortEventArgs.cs
- EntitySqlQueryState.cs
- RubberbandSelector.cs
- DataBindingExpressionBuilder.cs
- fixedPageContentExtractor.cs
- InfoCardProofToken.cs
- ImmutableObjectAttribute.cs
- ToolStripSeparator.cs
- ManifestBasedResourceGroveler.cs
- AsyncMethodInvoker.cs
- TemplateManager.cs
- MetadataArtifactLoaderFile.cs
- ExpandCollapseProviderWrapper.cs
- AssociatedControlConverter.cs
- NativeCompoundFileAPIs.cs
- Misc.cs
- GridEntry.cs
- securitymgrsite.cs
- UserPersonalizationStateInfo.cs
- SessionState.cs
- PropertyGridView.cs
- COM2TypeInfoProcessor.cs
- ConfigurationElementProperty.cs
- HyperLinkField.cs
- ConfigXmlSignificantWhitespace.cs
- ResourcesBuildProvider.cs
- X509ChainPolicy.cs
- LinqDataSourceContextEventArgs.cs
- ToolboxDataAttribute.cs
- counter.cs
- columnmapkeybuilder.cs
- FixedHyperLink.cs
- DataGridTable.cs
- QueryContinueDragEvent.cs
- AliasExpr.cs
- parserscommon.cs
- OdbcCommandBuilder.cs
- IListConverters.cs
- FieldBuilder.cs
- ReferentialConstraint.cs
- PropertyMappingExceptionEventArgs.cs
- CSharpCodeProvider.cs
- WebColorConverter.cs
- GroupByExpressionRewriter.cs
- AssemblyHash.cs
- Funcletizer.cs