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
- ServiceHostingEnvironment.cs
- FilteredReadOnlyMetadataCollection.cs
- ReadOnlyNameValueCollection.cs
- OracleInfoMessageEventArgs.cs
- HtmlObjectListAdapter.cs
- Aggregates.cs
- EnvelopedSignatureTransform.cs
- connectionpool.cs
- CompoundFileStorageReference.cs
- VisualBrush.cs
- DataGridTable.cs
- PathFigure.cs
- ConcurrentBag.cs
- WindowsFormsSynchronizationContext.cs
- XhtmlMobileTextWriter.cs
- DocumentOrderQuery.cs
- XamlUtilities.cs
- Visitors.cs
- TransportBindingElement.cs
- DateTimeFormat.cs
- WorkflowPersistenceService.cs
- HtmlInputImage.cs
- WebUtil.cs
- PackageProperties.cs
- Point3DAnimationBase.cs
- EntityDataSourceDataSelection.cs
- HostingEnvironmentWrapper.cs
- DesignerDataRelationship.cs
- Dispatcher.cs
- LineSegment.cs
- EventLog.cs
- SettingsPropertyIsReadOnlyException.cs
- GuidelineSet.cs
- GroupQuery.cs
- SQLDoubleStorage.cs
- ColumnWidthChangingEvent.cs
- CommonProperties.cs
- FunctionGenerator.cs
- StrokeRenderer.cs
- sqlnorm.cs
- BufferedOutputStream.cs
- DataKeyArray.cs
- DSASignatureFormatter.cs
- HtmlTernaryTree.cs
- SqlReorderer.cs
- ScaleTransform.cs
- XPathBinder.cs
- ToolboxItemCollection.cs
- ReflectionPermission.cs
- ToolZone.cs
- ProxyWebPart.cs
- WaitForChangedResult.cs
- XamlGridLengthSerializer.cs
- IntSumAggregationOperator.cs
- WindowsSysHeader.cs
- CannotUnloadAppDomainException.cs
- DataControlFieldCell.cs
- ValidatingReaderNodeData.cs
- WindowPattern.cs
- InternalDispatchObject.cs
- VSDExceptions.cs
- LambdaCompiler.Logical.cs
- TimeSpanValidatorAttribute.cs
- GrammarBuilder.cs
- StrongNamePublicKeyBlob.cs
- ProfileEventArgs.cs
- QuadraticBezierSegment.cs
- MD5CryptoServiceProvider.cs
- OptionUsage.cs
- StrokeNodeOperations2.cs
- QueryInterceptorAttribute.cs
- TrackBarRenderer.cs
- Tag.cs
- DataGridViewRowConverter.cs
- ManipulationLogic.cs
- FaultHandlingFilter.cs
- WinEventQueueItem.cs
- ScaleTransform3D.cs
- GridViewSelectEventArgs.cs
- UriExt.cs
- ExceptionHandlersDesigner.cs
- TdsEnums.cs
- ImageDrawing.cs
- WebPartCatalogCloseVerb.cs
- DataKeyCollection.cs
- ConnectionPointCookie.cs
- ContainerControlDesigner.cs
- CollectionType.cs
- Int64AnimationUsingKeyFrames.cs
- SecurityRequiresReviewAttribute.cs
- CustomTypeDescriptor.cs
- DateTimeUtil.cs
- XmlNode.cs
- WorkerRequest.cs
- ByteAnimationUsingKeyFrames.cs
- SqlConnection.cs
- HijriCalendar.cs
- Currency.cs
- SaveFileDialog.cs
- XPathMultyIterator.cs