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
- DatatypeImplementation.cs
- NameObjectCollectionBase.cs
- LazyTextWriterCreator.cs
- WebSysDescriptionAttribute.cs
- ToolStripSeparatorRenderEventArgs.cs
- WinInetCache.cs
- RegexWorker.cs
- InfoCardTraceRecord.cs
- AuthenticationModuleElementCollection.cs
- ImageDrawing.cs
- NumericUpDownAccelerationCollection.cs
- ColumnReorderedEventArgs.cs
- Sequence.cs
- DetailsViewDeletedEventArgs.cs
- RegionInfo.cs
- AbstractExpressions.cs
- DocumentCollection.cs
- SafeTimerHandle.cs
- ProvideValueServiceProvider.cs
- GPRECTF.cs
- Camera.cs
- XsltCompileContext.cs
- MenuItem.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- PublishLicense.cs
- UserInitiatedNavigationPermission.cs
- XmlSchemaAny.cs
- UiaCoreTypesApi.cs
- Clock.cs
- QueryCacheKey.cs
- UnsafeNativeMethods.cs
- SizeIndependentAnimationStorage.cs
- SafeLibraryHandle.cs
- HttpPostedFile.cs
- CriticalHandle.cs
- DocumentPageTextView.cs
- HierarchicalDataSourceControl.cs
- BindingManagerDataErrorEventArgs.cs
- DispatchChannelSink.cs
- DateTimeValueSerializer.cs
- ToolBarButtonClickEvent.cs
- EmptyEnumerator.cs
- ScriptingAuthenticationServiceSection.cs
- WindowsNonControl.cs
- PeerServiceMessageContracts.cs
- DataObject.cs
- DBSqlParserColumn.cs
- AnnotationStore.cs
- WebBrowsableAttribute.cs
- RuleRef.cs
- MatrixUtil.cs
- ToggleProviderWrapper.cs
- XmlSchemaAttribute.cs
- FixedLineResult.cs
- TabletDevice.cs
- Button.cs
- DataListCommandEventArgs.cs
- DesignOnlyAttribute.cs
- CodeLinePragma.cs
- CounterSet.cs
- Transform.cs
- RefreshPropertiesAttribute.cs
- NativeObjectSecurity.cs
- ObjectReaderCompiler.cs
- FilterEventArgs.cs
- Content.cs
- CharacterString.cs
- ComponentResourceKeyConverter.cs
- DocComment.cs
- FactoryMaker.cs
- BuildResultCache.cs
- EmptyCollection.cs
- UrlAuthFailedErrorFormatter.cs
- RequestStatusBarUpdateEventArgs.cs
- CodeArrayIndexerExpression.cs
- ReadContentAsBinaryHelper.cs
- InputReportEventArgs.cs
- Range.cs
- MsmqInputSessionChannel.cs
- HttpListenerContext.cs
- OdbcConnectionPoolProviderInfo.cs
- AxWrapperGen.cs
- StoreItemCollection.Loader.cs
- Point3DAnimation.cs
- BindingList.cs
- Scene3D.cs
- WebPartAuthorizationEventArgs.cs
- BooleanConverter.cs
- EntityTypeEmitter.cs
- XmlWellformedWriter.cs
- ProvidersHelper.cs
- HtmlTitle.cs
- Rfc2898DeriveBytes.cs
- Typography.cs
- WmlValidationSummaryAdapter.cs
- CodeNamespaceImportCollection.cs
- XmlDataProvider.cs
- XmlElementList.cs
- Size3DConverter.cs
- Camera.cs