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
- FileClassifier.cs
- ZipFileInfo.cs
- DynamicQueryStringParameter.cs
- TextProviderWrapper.cs
- StateRuntime.cs
- DoubleLinkList.cs
- Geometry3D.cs
- ModuleConfigurationInfo.cs
- CodeObjectCreateExpression.cs
- FieldToken.cs
- RangeValuePattern.cs
- TrackingStringDictionary.cs
- RoutedEventArgs.cs
- BitmapEffectGroup.cs
- _SslStream.cs
- DynamicResourceExtensionConverter.cs
- FigureParaClient.cs
- DocumentPage.cs
- PtsCache.cs
- ProgramNode.cs
- DataBoundControl.cs
- CryptoSession.cs
- FolderLevelBuildProvider.cs
- AttributeUsageAttribute.cs
- SortableBindingList.cs
- ApplicationManager.cs
- CodeBlockBuilder.cs
- RtfToken.cs
- AutomationTextAttribute.cs
- HttpHandlerAction.cs
- XpsTokenContext.cs
- TimeStampChecker.cs
- LineBreakRecord.cs
- SinglePageViewer.cs
- FontNameEditor.cs
- InternalCache.cs
- RadioButtonFlatAdapter.cs
- Button.cs
- CustomErrorCollection.cs
- BamlRecordHelper.cs
- InvokeBase.cs
- GlobalAclOperationRequirement.cs
- XmlTextReaderImpl.cs
- ShortcutKeysEditor.cs
- CatalogZoneBase.cs
- XmlSchemaRedefine.cs
- HTMLTextWriter.cs
- HttpRuntime.cs
- ReflectionPermission.cs
- ClickablePoint.cs
- FormsAuthenticationModule.cs
- CodeDomLocalizationProvider.cs
- Expression.cs
- WebReferencesBuildProvider.cs
- ViewStateException.cs
- WebPartUserCapability.cs
- FormViewUpdateEventArgs.cs
- ClientOptions.cs
- Rotation3D.cs
- DocobjHost.cs
- CollectionViewProxy.cs
- ArgumentOutOfRangeException.cs
- DateTimeConstantAttribute.cs
- ChtmlTextBoxAdapter.cs
- TimeZone.cs
- SmtpNegotiateAuthenticationModule.cs
- BamlLocalizer.cs
- XmlSchemaAnyAttribute.cs
- CryptoStream.cs
- MsmqAppDomainProtocolHandler.cs
- AddInSegmentDirectoryNotFoundException.cs
- Delay.cs
- PartManifestEntry.cs
- GenericTextProperties.cs
- EditorPartChrome.cs
- OracleColumn.cs
- SHA384.cs
- PictureBox.cs
- TextWriter.cs
- FixedFindEngine.cs
- MenuItemCollection.cs
- CommandBinding.cs
- XslNumber.cs
- ThreadStartException.cs
- RepeaterItem.cs
- _ServiceNameStore.cs
- DataConnectionHelper.cs
- DataGridViewColumnHeaderCell.cs
- ConnectionInterfaceCollection.cs
- GridViewDeleteEventArgs.cs
- BasicHttpSecurity.cs
- GridViewColumnCollection.cs
- ScrollProperties.cs
- RoutedEvent.cs
- OleDbCommand.cs
- CheckBox.cs
- ToolStripGrip.cs
- FormsAuthenticationTicket.cs
- CultureSpecificStringDictionary.cs
- odbcmetadatacollectionnames.cs