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
- SupportingTokenChannel.cs
- AudioStateChangedEventArgs.cs
- XPathChildIterator.cs
- SortedList.cs
- ShapeTypeface.cs
- UserControlDesigner.cs
- XmlDataSource.cs
- TableColumnCollectionInternal.cs
- MediaElement.cs
- MailDefinitionBodyFileNameEditor.cs
- DBCSCodePageEncoding.cs
- UnsupportedPolicyOptionsException.cs
- HtmlElementEventArgs.cs
- TTSEngineProxy.cs
- QueueException.cs
- StatusBarPanelClickEvent.cs
- StylusDownEventArgs.cs
- DataGridRow.cs
- DataControlPagerLinkButton.cs
- WebPartManagerInternals.cs
- TypeConverterValueSerializer.cs
- DataGridViewTextBoxCell.cs
- PeerNearMe.cs
- InvalidPrinterException.cs
- UserInitiatedNavigationPermission.cs
- DependencySource.cs
- EntryWrittenEventArgs.cs
- BaseTemplateBuildProvider.cs
- DataRelation.cs
- SortQuery.cs
- OverrideMode.cs
- Typeface.cs
- DiscoveryMessageProperty.cs
- GridViewPageEventArgs.cs
- ResourceReferenceExpression.cs
- ProviderBase.cs
- Decoder.cs
- ResolvedKeyFrameEntry.cs
- MessageEncodingBindingElementImporter.cs
- DateTimeValueSerializerContext.cs
- StylusCaptureWithinProperty.cs
- SecurityContextTokenCache.cs
- DetailsViewDeleteEventArgs.cs
- ImmutableObjectAttribute.cs
- WebPartPersonalization.cs
- EmbossBitmapEffect.cs
- DataGridViewColumnTypeEditor.cs
- EndEvent.cs
- FormViewModeEventArgs.cs
- AppSettingsExpressionBuilder.cs
- CommandEventArgs.cs
- ImportedNamespaceContextItem.cs
- ExpressionCopier.cs
- ExeContext.cs
- DesignerCalendarAdapter.cs
- FileCodeGroup.cs
- FormsAuthenticationCredentials.cs
- SafeFileHandle.cs
- TemplateManager.cs
- Int32CAMarshaler.cs
- WebConfigurationHostFileChange.cs
- Base64Stream.cs
- MetadataUtil.cs
- PromptBuilder.cs
- FormParameter.cs
- CreateUserErrorEventArgs.cs
- BinHexEncoding.cs
- SqlUtils.cs
- UserPreferenceChangingEventArgs.cs
- RectAnimationUsingKeyFrames.cs
- BasicExpressionVisitor.cs
- ToolBarOverflowPanel.cs
- GeometryDrawing.cs
- GAC.cs
- PersianCalendar.cs
- HtmlInputImage.cs
- TypeSemantics.cs
- AnnotationHelper.cs
- XamlBrushSerializer.cs
- Configuration.cs
- BamlLocalizer.cs
- Constants.cs
- SystemPens.cs
- Context.cs
- LinkDescriptor.cs
- SpecularMaterial.cs
- ExpressionNode.cs
- EnumMember.cs
- TimeSpanValidator.cs
- ProfileInfo.cs
- ButtonFlatAdapter.cs
- AttachmentCollection.cs
- EndpointDesigner.cs
- PageWrapper.cs
- VectorCollection.cs
- WeakReadOnlyCollection.cs
- XmlHelper.cs
- DBCommand.cs
- SecurityDescriptor.cs
- GeneralTransform3DGroup.cs