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
- TimeZone.cs
- DataSetMappper.cs
- Geometry.cs
- SafeProcessHandle.cs
- Converter.cs
- LoginName.cs
- NonParentingControl.cs
- PasswordRecovery.cs
- XsdSchemaFileEditor.cs
- EntityCommandExecutionException.cs
- ToolStripComboBox.cs
- FrameworkObject.cs
- IndexerNameAttribute.cs
- PtsHost.cs
- PieceDirectory.cs
- DocumentXPathNavigator.cs
- InvokeBinder.cs
- GridViewItemAutomationPeer.cs
- RegexCompilationInfo.cs
- StringExpressionSet.cs
- ValidationPropertyAttribute.cs
- Rectangle.cs
- SourceFileBuildProvider.cs
- IsolatedStorageException.cs
- EntityDesignerDataSourceView.cs
- KeyValueConfigurationCollection.cs
- _SpnDictionary.cs
- Drawing.cs
- AnimatedTypeHelpers.cs
- HandledEventArgs.cs
- NetCodeGroup.cs
- DataGridViewColumnEventArgs.cs
- ToolStripItemEventArgs.cs
- MemberMemberBinding.cs
- Filter.cs
- GrammarBuilderPhrase.cs
- Unit.cs
- HttpProfileGroupBase.cs
- DataGridViewSelectedColumnCollection.cs
- AssemblySettingAttributes.cs
- SafeLibraryHandle.cs
- PartialList.cs
- BitmapSourceSafeMILHandle.cs
- XPathArrayIterator.cs
- SelectiveScrollingGrid.cs
- ContractMethodInfo.cs
- HighlightVisual.cs
- WebUtil.cs
- ThreadExceptionDialog.cs
- EnterpriseServicesHelper.cs
- RangeValuePattern.cs
- XmlSchema.cs
- ConfigurationElementProperty.cs
- WebContext.cs
- OpCodes.cs
- SystemDropShadowChrome.cs
- DetailsViewDeletedEventArgs.cs
- AssemblySettingAttributes.cs
- ArraySubsetEnumerator.cs
- TextTreeExtractElementUndoUnit.cs
- HttpResponseInternalWrapper.cs
- FontResourceCache.cs
- SiteMapProvider.cs
- CodePageUtils.cs
- ObjectTag.cs
- RequestCacheEntry.cs
- CleanUpVirtualizedItemEventArgs.cs
- DataGridViewLinkCell.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- CircleHotSpot.cs
- CalendarDay.cs
- DecimalMinMaxAggregationOperator.cs
- TabControlToolboxItem.cs
- BuildProviderCollection.cs
- NamedPipeDuplicateContext.cs
- ConfigurationSectionGroup.cs
- LinearGradientBrush.cs
- Menu.cs
- RuleSet.cs
- TreeNode.cs
- ConfigXmlCDataSection.cs
- ControlBindingsConverter.cs
- XmlLanguage.cs
- Ray3DHitTestResult.cs
- FrameworkTemplate.cs
- ProviderUtil.cs
- StateMachineSubscriptionManager.cs
- Span.cs
- PageRequestManager.cs
- SQLInt16Storage.cs
- ListDataHelper.cs
- ObjectContextServiceProvider.cs
- FileLoadException.cs
- PaperSize.cs
- Pens.cs
- ToolboxComponentsCreatingEventArgs.cs
- NestPullup.cs
- DataKeyCollection.cs
- SessionPageStatePersister.cs
- ToolboxBitmapAttribute.cs