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
- ResolvedKeyFrameEntry.cs
- Bitmap.cs
- StructuredType.cs
- CollectionBase.cs
- Dynamic.cs
- ClickablePoint.cs
- HtmlTableCell.cs
- CommandManager.cs
- TextUtf8RawTextWriter.cs
- SmiGettersStream.cs
- BindingCollection.cs
- DataServiceRequestException.cs
- MemberPathMap.cs
- InitializerFacet.cs
- SafeNativeMethods.cs
- TextRunProperties.cs
- TreeNodeBindingDepthConverter.cs
- CryptoStream.cs
- DataRowComparer.cs
- XmlAttributes.cs
- HostingPreferredMapPath.cs
- ConsumerConnectionPoint.cs
- RoleBoolean.cs
- XmlChildNodes.cs
- _KerberosClient.cs
- _NTAuthentication.cs
- WizardDesigner.cs
- RootContext.cs
- GPPOINTF.cs
- RoleService.cs
- PartialArray.cs
- EntityClassGenerator.cs
- FixedPosition.cs
- FloaterBaseParagraph.cs
- PassportAuthenticationModule.cs
- MenuBase.cs
- ScheduleChanges.cs
- HtmlControlPersistable.cs
- DataBinding.cs
- ServiceModelExtensionElement.cs
- CardSpacePolicyElement.cs
- VoiceChangeEventArgs.cs
- ImageSourceConverter.cs
- CodeParameterDeclarationExpression.cs
- MulticastOption.cs
- AsyncCompletedEventArgs.cs
- TextTreeExtractElementUndoUnit.cs
- SiteMapNodeItemEventArgs.cs
- DataGridSortCommandEventArgs.cs
- ThumbAutomationPeer.cs
- CurrentChangingEventManager.cs
- ProgressBarRenderer.cs
- DbResourceAllocator.cs
- HighContrastHelper.cs
- ContextStaticAttribute.cs
- NullableDecimalSumAggregationOperator.cs
- EventTrigger.cs
- SafeLibraryHandle.cs
- IPEndPointCollection.cs
- GenericRootAutomationPeer.cs
- ContentDesigner.cs
- DiagnosticEventProvider.cs
- ComboBoxItem.cs
- RegexCompilationInfo.cs
- XmlAttributeOverrides.cs
- FileInfo.cs
- AlternateView.cs
- ChannelDispatcher.cs
- SchemaImporterExtension.cs
- Html32TextWriter.cs
- ConfigXmlCDataSection.cs
- FormViewPageEventArgs.cs
- VisualCollection.cs
- FormsAuthenticationTicket.cs
- CompilationRelaxations.cs
- SectionVisual.cs
- CustomAttributeSerializer.cs
- JavascriptCallbackBehaviorAttribute.cs
- PropertyNames.cs
- TypeDescriptorFilterService.cs
- RichTextBoxConstants.cs
- GroupItem.cs
- Profiler.cs
- SHA1CryptoServiceProvider.cs
- SchemaImporterExtensionsSection.cs
- BamlReader.cs
- SqlInternalConnectionTds.cs
- RequestSecurityTokenResponse.cs
- TextEditorMouse.cs
- DefaultPrintController.cs
- LoginUtil.cs
- RawStylusInputReport.cs
- SafeArrayTypeMismatchException.cs
- QueryContinueDragEvent.cs
- Convert.cs
- X509CertificateChain.cs
- DataViewSetting.cs
- RC2CryptoServiceProvider.cs
- NullableLongSumAggregationOperator.cs
- CheckBoxField.cs