Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / GeometryGroup.cs / 1305600 / 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
- CodeTypeReferenceCollection.cs
- EditorZoneBase.cs
- cryptoapiTransform.cs
- GcHandle.cs
- MsmqInputChannelListener.cs
- LabelDesigner.cs
- MsmqSecureHashAlgorithm.cs
- ComplexBindingPropertiesAttribute.cs
- IriParsingElement.cs
- xmlsaver.cs
- DBConnection.cs
- TemplatedWizardStep.cs
- TypeInfo.cs
- SessionIDManager.cs
- CharAnimationUsingKeyFrames.cs
- StyleSheetRefUrlEditor.cs
- TypeSystem.cs
- HttpPostedFileWrapper.cs
- QilCloneVisitor.cs
- ButtonChrome.cs
- ObjectMaterializedEventArgs.cs
- Int16AnimationUsingKeyFrames.cs
- BamlResourceSerializer.cs
- NamedPipeAppDomainProtocolHandler.cs
- TextPointerBase.cs
- MetadataArtifactLoader.cs
- ActivityCollectionMarkupSerializer.cs
- WindowsFont.cs
- StringUtil.cs
- DockPanel.cs
- Event.cs
- FtpWebRequest.cs
- Button.cs
- PageWrapper.cs
- CharacterHit.cs
- SqlDataSourceSelectingEventArgs.cs
- RepeatBehavior.cs
- EnumConverter.cs
- PieceNameHelper.cs
- BaseValidator.cs
- AlignmentXValidation.cs
- FrameworkReadOnlyPropertyMetadata.cs
- RightsManagementPermission.cs
- SocketCache.cs
- DeleteMemberBinder.cs
- DocumentGrid.cs
- ThreadExceptionDialog.cs
- CssClassPropertyAttribute.cs
- ClientScriptManager.cs
- SharedHttpsTransportManager.cs
- WebServiceHandler.cs
- ConfigXmlElement.cs
- BuildProviderAppliesToAttribute.cs
- CodeArrayCreateExpression.cs
- SimplePropertyEntry.cs
- TabItemWrapperAutomationPeer.cs
- ByteAnimationUsingKeyFrames.cs
- OracleBinary.cs
- XPathAncestorQuery.cs
- EntityParameterCollection.cs
- ResourcesBuildProvider.cs
- XmlElementList.cs
- HttpRawResponse.cs
- WebPartsPersonalizationAuthorization.cs
- CommonRemoteMemoryBlock.cs
- MultiDataTrigger.cs
- IArgumentProvider.cs
- XmlSchemaImport.cs
- HttpModuleActionCollection.cs
- WebUtil.cs
- RoleBoolean.cs
- AttachedAnnotationChangedEventArgs.cs
- FormClosingEvent.cs
- XpsTokenContext.cs
- ApplicationContext.cs
- SqlDesignerDataSourceView.cs
- StringFunctions.cs
- StyleCollectionEditor.cs
- ContentPathSegment.cs
- Win32Native.cs
- ContentDefinition.cs
- ExtractCollection.cs
- DesignerOptionService.cs
- BaseTemplateBuildProvider.cs
- SystemFonts.cs
- WebPartsSection.cs
- VerificationException.cs
- AsyncWaitHandle.cs
- CodeAttributeDeclaration.cs
- Triplet.cs
- AsyncDataRequest.cs
- HatchBrush.cs
- OLEDB_Util.cs
- Token.cs
- GrowingArray.cs
- GenericPrincipal.cs
- FragmentQueryKB.cs
- DatasetMethodGenerator.cs
- EventHandlerService.cs
- DataViewListener.cs