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
- XPathNavigator.cs
- AttachedPropertyMethodSelector.cs
- DataContractSerializerSection.cs
- ProfileGroupSettingsCollection.cs
- ScriptIgnoreAttribute.cs
- MailAddressCollection.cs
- SafeNativeMethods.cs
- CodeTypeParameter.cs
- ListItemParagraph.cs
- DoubleLinkListEnumerator.cs
- DuplexSecurityProtocolFactory.cs
- PrimarySelectionGlyph.cs
- xmlfixedPageInfo.cs
- ManagedCodeMarkers.cs
- StatusBarItemAutomationPeer.cs
- InfoCardArgumentException.cs
- VersionConverter.cs
- RoutedEvent.cs
- GeometryConverter.cs
- View.cs
- Graphics.cs
- TrackingMemoryStream.cs
- DataTemplateKey.cs
- XmlDataSourceView.cs
- ValueTypeFieldReference.cs
- DefaultWorkflowLoaderService.cs
- ProxyWebPartManager.cs
- NamespaceImport.cs
- ImageSourceConverter.cs
- UnionExpr.cs
- TimeZoneInfo.cs
- GridViewRowEventArgs.cs
- COM2ExtendedUITypeEditor.cs
- SqlConnectionFactory.cs
- CompoundFileStorageReference.cs
- Literal.cs
- SqlClientWrapperSmiStream.cs
- TraceHandler.cs
- TextComposition.cs
- SystemWebSectionGroup.cs
- ColorComboBox.cs
- EndpointAddress.cs
- StandardCommands.cs
- EditorPartDesigner.cs
- DecimalStorage.cs
- GregorianCalendar.cs
- PropertyInfo.cs
- Model3DGroup.cs
- DataSpaceManager.cs
- SimpleColumnProvider.cs
- BitmapSizeOptions.cs
- EventMap.cs
- OperationCanceledException.cs
- ConfigXmlAttribute.cs
- FontResourceCache.cs
- APCustomTypeDescriptor.cs
- ListBoxItemAutomationPeer.cs
- WebMessageFormatHelper.cs
- DecimalStorage.cs
- HitTestWithPointDrawingContextWalker.cs
- OutKeywords.cs
- HttpProfileBase.cs
- LinearKeyFrames.cs
- assertwrapper.cs
- ScopelessEnumAttribute.cs
- TreeNode.cs
- ErrorTableItemStyle.cs
- TimerElapsedEvenArgs.cs
- ClientTarget.cs
- EventPropertyMap.cs
- NamedPipeAppDomainProtocolHandler.cs
- PageParserFilter.cs
- BackStopAuthenticationModule.cs
- CompressStream.cs
- WindowsTokenRoleProvider.cs
- HostedHttpRequestAsyncResult.cs
- MemberExpressionHelper.cs
- OrderedDictionary.cs
- XmlChildNodes.cs
- FilterableAttribute.cs
- BindStream.cs
- UpdateProgress.cs
- SpeakInfo.cs
- HiddenField.cs
- Utils.cs
- ToolStripArrowRenderEventArgs.cs
- CustomError.cs
- EdmType.cs
- TableLayoutColumnStyleCollection.cs
- ListControlConvertEventArgs.cs
- DataSetViewSchema.cs
- activationcontext.cs
- Table.cs
- QueryOperatorEnumerator.cs
- LinkArea.cs
- MenuBase.cs
- ParserContext.cs
- TextEditorMouse.cs
- QuaternionAnimation.cs
- Span.cs