Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ObjectManager.cs
- ContextMenuAutomationPeer.cs
- connectionpool.cs
- XamlToRtfWriter.cs
- RequestCachePolicy.cs
- TextServicesDisplayAttribute.cs
- RegexStringValidatorAttribute.cs
- DateTimeOffset.cs
- BasicKeyConstraint.cs
- HebrewCalendar.cs
- TypeBuilder.cs
- Error.cs
- StrokeNode.cs
- DataGridViewCellValueEventArgs.cs
- SqlComparer.cs
- MetadataPropertyCollection.cs
- TagPrefixInfo.cs
- PointLight.cs
- TextServicesCompartment.cs
- SafeProcessHandle.cs
- mediaeventargs.cs
- ClockController.cs
- ServiceRoute.cs
- Interlocked.cs
- CreateUserWizardStep.cs
- TreeNodeStyle.cs
- FileDialog_Vista.cs
- DataGridPageChangedEventArgs.cs
- DataSvcMapFile.cs
- HttpInputStream.cs
- DesignTimeTemplateParser.cs
- TokenizerHelper.cs
- Sequence.cs
- Calendar.cs
- CompressedStack.cs
- _DigestClient.cs
- UrlParameterReader.cs
- ConsoleTraceListener.cs
- SystemIcmpV6Statistics.cs
- DelegateSerializationHolder.cs
- Events.cs
- TableItemStyle.cs
- TreeNodeCollection.cs
- DelegateHelpers.Generated.cs
- CreatingCookieEventArgs.cs
- WebPartDisplayModeCancelEventArgs.cs
- XmlNamespaceManager.cs
- VisualStyleRenderer.cs
- ServiceChannel.cs
- LinqDataSourceDeleteEventArgs.cs
- FragmentQueryProcessor.cs
- ValidationHelper.cs
- LinearGradientBrush.cs
- DataKey.cs
- BindingList.cs
- ImportDesigner.xaml.cs
- XmlSerializationWriter.cs
- ResourceExpressionEditorSheet.cs
- MenuScrollingVisibilityConverter.cs
- _AcceptOverlappedAsyncResult.cs
- CodeAccessSecurityEngine.cs
- SoapTransportImporter.cs
- WeakReadOnlyCollection.cs
- DiffuseMaterial.cs
- EndpointInfoCollection.cs
- FixedSOMPageElement.cs
- StringCollectionMarkupSerializer.cs
- CompoundFileIOPermission.cs
- HitTestDrawingContextWalker.cs
- DynamicResourceExtension.cs
- StringWriter.cs
- MulticastDelegate.cs
- ExcludeFromCodeCoverageAttribute.cs
- Calendar.cs
- QuaternionAnimation.cs
- Viewport3DVisual.cs
- WebHostUnsafeNativeMethods.cs
- ClientSettingsStore.cs
- DomNameTable.cs
- Vector3D.cs
- DynamicControl.cs
- LoginCancelEventArgs.cs
- FormView.cs
- ContainerUIElement3D.cs
- GenericUI.cs
- BindingEntityInfo.cs
- KeyPressEvent.cs
- Stream.cs
- GridViewSelectEventArgs.cs
- GeneralTransform3DGroup.cs
- SiteMap.cs
- TraceSection.cs
- TakeQueryOptionExpression.cs
- ConfigXmlComment.cs
- TextDecorationCollectionConverter.cs
- ActivityExecutorSurrogate.cs
- PathSegment.cs
- CrossAppDomainChannel.cs
- QualificationDataItem.cs
- ZipFileInfo.cs