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
- GregorianCalendar.cs
- XmlAttributeAttribute.cs
- GZipStream.cs
- safex509handles.cs
- Package.cs
- MenuTracker.cs
- SqlDataAdapter.cs
- PackagingUtilities.cs
- AsynchronousChannel.cs
- BaseTemplateParser.cs
- MdImport.cs
- dataobject.cs
- ExecutedRoutedEventArgs.cs
- SHA1Managed.cs
- Point3DCollection.cs
- _SpnDictionary.cs
- CollectionView.cs
- ColumnResult.cs
- GridViewHeaderRowPresenter.cs
- HtmlLink.cs
- HttpPostLocalhostServerProtocol.cs
- RelatedImageListAttribute.cs
- ComboBox.cs
- TdsEnums.cs
- DataRecordObjectView.cs
- initElementDictionary.cs
- AnnotationAuthorChangedEventArgs.cs
- FontUnit.cs
- PopupRootAutomationPeer.cs
- DispatchWrapper.cs
- TimeManager.cs
- UnknownBitmapDecoder.cs
- ModelPropertyCollectionImpl.cs
- PageCodeDomTreeGenerator.cs
- UserControl.cs
- DetailsViewModeEventArgs.cs
- UrlRoutingModule.cs
- LeafCellTreeNode.cs
- GetPageNumberCompletedEventArgs.cs
- ButtonFlatAdapter.cs
- DbDataReader.cs
- METAHEADER.cs
- BeginStoryboard.cs
- ListItemParagraph.cs
- VarRefManager.cs
- HttpChannelBindingToken.cs
- CompositeFontFamily.cs
- DaylightTime.cs
- ConditionalAttribute.cs
- AuthorizationSection.cs
- GridItemProviderWrapper.cs
- BorderGapMaskConverter.cs
- ControlPaint.cs
- SoapElementAttribute.cs
- DependencyObjectType.cs
- ListDictionary.cs
- MailAddress.cs
- MsdtcClusterUtils.cs
- SoapExtensionImporter.cs
- FixedSOMElement.cs
- OSFeature.cs
- _Semaphore.cs
- XPathDocumentBuilder.cs
- SrgsOneOf.cs
- OdbcTransaction.cs
- DtrList.cs
- MergablePropertyAttribute.cs
- GuidelineSet.cs
- XmlIlVisitor.cs
- BinaryReader.cs
- PageWrapper.cs
- DynamicPropertyReader.cs
- ContextProperty.cs
- CatchBlock.cs
- WindowsUpDown.cs
- DrawingVisual.cs
- ObjectHelper.cs
- CompiledQueryCacheEntry.cs
- CompiledWorkflowDefinitionContext.cs
- CodeStatementCollection.cs
- LinqDataSourceContextEventArgs.cs
- TextEditorCopyPaste.cs
- SecurityUniqueId.cs
- PresentationAppDomainManager.cs
- CurrentTimeZone.cs
- MediaPlayerState.cs
- NativeMethods.cs
- DBConnectionString.cs
- WrapPanel.cs
- TextTreeRootNode.cs
- MarkerProperties.cs
- HttpMethodAttribute.cs
- ServerIdentity.cs
- StyleSelector.cs
- PagerSettings.cs
- SocketElement.cs
- ColumnMapTranslator.cs
- TimerEventSubscription.cs
- HttpApplicationFactory.cs
- BufferedGraphics.cs