Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- SystemSounds.cs
- FixedSchema.cs
- formatter.cs
- DeferredElementTreeState.cs
- IArgumentProvider.cs
- TableLayoutRowStyleCollection.cs
- WebPartVerb.cs
- ErrorActivity.cs
- GeometryGroup.cs
- ScriptManagerProxy.cs
- RuntimeHelpers.cs
- TypeDescriptionProvider.cs
- MsmqBindingFilter.cs
- OleStrCAMarshaler.cs
- WebPartCloseVerb.cs
- SqlDependency.cs
- RegexReplacement.cs
- TimeoutValidationAttribute.cs
- CancelEventArgs.cs
- EventHandlingScope.cs
- CharUnicodeInfo.cs
- BitStream.cs
- DesignerOptions.cs
- FolderBrowserDialog.cs
- GridViewEditEventArgs.cs
- ApplicationManager.cs
- QuaternionKeyFrameCollection.cs
- CodeSubDirectoriesCollection.cs
- Comparer.cs
- ComponentChangedEvent.cs
- EndpointPerformanceCounters.cs
- Bidi.cs
- RsaSecurityTokenAuthenticator.cs
- FolderBrowserDialog.cs
- RegisteredScript.cs
- AttachedAnnotation.cs
- HttpCacheVary.cs
- DynamicRendererThreadManager.cs
- TextEditorMouse.cs
- ProtocolElement.cs
- Soap12FormatExtensions.cs
- IdleTimeoutMonitor.cs
- ComplexType.cs
- Utils.cs
- DataControlFieldCell.cs
- _AutoWebProxyScriptHelper.cs
- WindowsRegion.cs
- FolderBrowserDialogDesigner.cs
- MethodAccessException.cs
- SortedDictionary.cs
- SymDocumentType.cs
- TrackingMemoryStream.cs
- CompoundFileStorageReference.cs
- SimpleWebHandlerParser.cs
- BridgeDataRecord.cs
- CallContext.cs
- SerializationException.cs
- HttpFileCollectionBase.cs
- TextCompositionManager.cs
- IfElseDesigner.xaml.cs
- OSFeature.cs
- Scene3D.cs
- OptimizerPatterns.cs
- HostProtectionPermission.cs
- JobDuplex.cs
- Events.cs
- CategoryList.cs
- MSHTMLHost.cs
- QueryExtender.cs
- PageCodeDomTreeGenerator.cs
- StringFunctions.cs
- TableNameAttribute.cs
- _WinHttpWebProxyDataBuilder.cs
- DataError.cs
- Panel.cs
- SolidBrush.cs
- UserUseLicenseDictionaryLoader.cs
- ServerIdentity.cs
- OTFRasterizer.cs
- LinqTreeNodeEvaluator.cs
- XmlResolver.cs
- RuleRefElement.cs
- ToolBar.cs
- FontResourceCache.cs
- PeerUnsafeNativeCryptMethods.cs
- FileDetails.cs
- FilterEventArgs.cs
- SamlSecurityTokenAuthenticator.cs
- WebPartRestoreVerb.cs
- DoubleConverter.cs
- DockEditor.cs
- PageCatalogPart.cs
- MbpInfo.cs
- PieceDirectory.cs
- ElementHostAutomationPeer.cs
- PageAsyncTaskManager.cs
- ListSourceHelper.cs
- RouteTable.cs
- GeneralTransform3DTo2DTo3D.cs
- ReferencedType.cs