Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- FixedPageAutomationPeer.cs
- Point3DIndependentAnimationStorage.cs
- XmlSigningNodeWriter.cs
- DataSetMappper.cs
- ByteStreamMessageEncodingElement.cs
- MulticastIPAddressInformationCollection.cs
- Events.cs
- FloaterParaClient.cs
- FileUpload.cs
- NameValueConfigurationCollection.cs
- BinaryFormatter.cs
- AnyReturnReader.cs
- SQLDateTime.cs
- Light.cs
- SimpleType.cs
- TreeNodeStyle.cs
- DockProviderWrapper.cs
- DesignColumn.cs
- InputReport.cs
- XmlSchemaException.cs
- RtType.cs
- InitializerFacet.cs
- FloatMinMaxAggregationOperator.cs
- XPathItem.cs
- URLAttribute.cs
- CatalogPartChrome.cs
- VBCodeProvider.cs
- XmlNavigatorStack.cs
- XmlCountingReader.cs
- TimeSpan.cs
- WeakEventTable.cs
- PassportAuthentication.cs
- fixedPageContentExtractor.cs
- PassportIdentity.cs
- WindowsImpersonationContext.cs
- DebugViewWriter.cs
- XmlUnspecifiedAttribute.cs
- DesignerCategoryAttribute.cs
- ResourceManagerWrapper.cs
- BindUriHelper.cs
- InternalEnumValidator.cs
- XmlSchemaCompilationSettings.cs
- TextStore.cs
- QuaternionAnimation.cs
- KeyToListMap.cs
- BindableAttribute.cs
- QueryGenerator.cs
- ChtmlFormAdapter.cs
- ExpressionBuilderContext.cs
- HighContrastHelper.cs
- SourceLocationProvider.cs
- ListenerElementsCollection.cs
- RelationshipNavigation.cs
- CodeMethodReturnStatement.cs
- SqlGatherProducedAliases.cs
- NavigationPropertyEmitter.cs
- EntityContainerRelationshipSet.cs
- ICspAsymmetricAlgorithm.cs
- CapabilitiesAssignment.cs
- ConnectionPointConverter.cs
- Semaphore.cs
- WebRequestModulesSection.cs
- InputManager.cs
- GenericEnumerator.cs
- CommandLibraryHelper.cs
- ConnectionStringsSection.cs
- DebuggerAttributes.cs
- MemoryRecordBuffer.cs
- DataGridViewColumnHeaderCell.cs
- GeometryCombineModeValidation.cs
- Config.cs
- CodeTypeParameterCollection.cs
- SemaphoreFullException.cs
- XmlDomTextWriter.cs
- DragEventArgs.cs
- ControlDesigner.cs
- DBSchemaTable.cs
- TrackingStringDictionary.cs
- XmlNamespaceManager.cs
- MemberListBinding.cs
- SR.Designer.cs
- DesignerSerializationManager.cs
- TargetConverter.cs
- PassportAuthenticationModule.cs
- PageThemeBuildProvider.cs
- SchemaTableOptionalColumn.cs
- HwndPanningFeedback.cs
- WindowsSlider.cs
- Ref.cs
- DataComponentMethodGenerator.cs
- HtmlEncodedRawTextWriter.cs
- TextRunCache.cs
- DebugTrace.cs
- StandardOleMarshalObject.cs
- ListChangedEventArgs.cs
- EmissiveMaterial.cs
- TabRenderer.cs
- MailDefinition.cs
- Error.cs
- MessageQueueException.cs