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
- FieldToken.cs
- ThreadStartException.cs
- BufferedStream.cs
- XmlSchemaSequence.cs
- SqlErrorCollection.cs
- ClrPerspective.cs
- TargetFrameworkUtil.cs
- ListBindingHelper.cs
- UserValidatedEventArgs.cs
- XmlNamespaceDeclarationsAttribute.cs
- StandardBindingElementCollection.cs
- NonSerializedAttribute.cs
- XmlWrappingReader.cs
- IsolatedStoragePermission.cs
- GZipStream.cs
- MeasurementDCInfo.cs
- TemplateParser.cs
- BatchWriter.cs
- AuthenticationSection.cs
- SearchForVirtualItemEventArgs.cs
- Formatter.cs
- xamlnodes.cs
- CqlParser.cs
- EventLog.cs
- DataExpression.cs
- HttpCacheVary.cs
- MetadataArtifactLoaderCompositeResource.cs
- MouseGesture.cs
- TreeNodeCollection.cs
- ExtentKey.cs
- DataGrid.cs
- DeriveBytes.cs
- BindUriHelper.cs
- Object.cs
- ETagAttribute.cs
- SolidBrush.cs
- MetafileHeaderEmf.cs
- CryptoStream.cs
- GZipStream.cs
- XpsSerializationManager.cs
- EntityDataSourceWrapperCollection.cs
- ReturnValue.cs
- ReadOnlyState.cs
- InternalControlCollection.cs
- SpellCheck.cs
- ExceptionUtil.cs
- TextCollapsingProperties.cs
- DependencyProperty.cs
- HostedTransportConfigurationManager.cs
- StandardToolWindows.cs
- TextBoxBase.cs
- MonikerHelper.cs
- WebControlsSection.cs
- Column.cs
- InkCollectionBehavior.cs
- TextServicesContext.cs
- User.cs
- CommonProperties.cs
- ResourcesChangeInfo.cs
- Membership.cs
- FreeFormDesigner.cs
- securitycriticaldataformultiplegetandset.cs
- Module.cs
- EntityContainerEntitySet.cs
- ThrowHelper.cs
- SqlBulkCopy.cs
- DataServiceRequestOfT.cs
- ConnectionProviderAttribute.cs
- DefaultBinder.cs
- TreeViewImageIndexConverter.cs
- Int32Rect.cs
- HeaderUtility.cs
- FolderBrowserDialog.cs
- HttpHandlerAction.cs
- XamlFilter.cs
- StatusBar.cs
- MetadataArtifactLoaderResource.cs
- DataGridViewTopLeftHeaderCell.cs
- Clock.cs
- ImmutableObjectAttribute.cs
- COM2IProvidePropertyBuilderHandler.cs
- RuleSettings.cs
- SettingsPropertyNotFoundException.cs
- SelectorItemAutomationPeer.cs
- ActivityWithResultWrapper.cs
- Util.cs
- XmlNamespaceManager.cs
- ListViewGroupConverter.cs
- MessageHeaderException.cs
- ZipIOModeEnforcingStream.cs
- GenericQueueSurrogate.cs
- DataGridViewRowPrePaintEventArgs.cs
- tibetanshape.cs
- EventMap.cs
- OdbcEnvironmentHandle.cs
- WebServiceTypeData.cs
- ForeignKeyConstraint.cs
- TreeIterator.cs
- TreeWalker.cs
- SmtpClient.cs