Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- XmlNamespaceManager.cs
- BufferCache.cs
- ControlParser.cs
- Cursor.cs
- StateMachineSubscriptionManager.cs
- TextTreeUndoUnit.cs
- DocumentManager.cs
- TextLineBreak.cs
- RoleManagerModule.cs
- StringComparer.cs
- UnauthorizedWebPart.cs
- NetTcpBindingCollectionElement.cs
- DragEvent.cs
- Button.cs
- ScriptMethodAttribute.cs
- SchemaEntity.cs
- MessageFilterException.cs
- WebPart.cs
- CodeLabeledStatement.cs
- StylusCollection.cs
- SHA256.cs
- PropertyCondition.cs
- XPathNode.cs
- ContainerControl.cs
- ChangePassword.cs
- Literal.cs
- RegisteredArrayDeclaration.cs
- WpfXamlType.cs
- CodeConditionStatement.cs
- Sorting.cs
- TableStyle.cs
- ColorTranslator.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ColorAnimationUsingKeyFrames.cs
- BaseValidator.cs
- LoginUtil.cs
- HtmlShimManager.cs
- WizardPanel.cs
- IsolatedStoragePermission.cs
- CharacterHit.cs
- Sql8ConformanceChecker.cs
- InternalConfigConfigurationFactory.cs
- User.cs
- ConstructorNeedsTagAttribute.cs
- Binding.cs
- DbParameterCollectionHelper.cs
- RowVisual.cs
- DeferredBinaryDeserializerExtension.cs
- Rect3DConverter.cs
- SimpleLine.cs
- VisualBrush.cs
- DataStorage.cs
- ListBoxItem.cs
- Thumb.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- X509ChainPolicy.cs
- VisualTreeHelper.cs
- SimpleHandlerFactory.cs
- GlyphRunDrawing.cs
- TextBoxRenderer.cs
- FieldNameLookup.cs
- Help.cs
- _NegoState.cs
- HashMembershipCondition.cs
- URL.cs
- PopupEventArgs.cs
- ExpressionParser.cs
- RuntimeVariableList.cs
- mediapermission.cs
- InvalidOperationException.cs
- XmlWrappingWriter.cs
- QilInvokeEarlyBound.cs
- MessageLogger.cs
- iisPickupDirectory.cs
- ZipIOLocalFileBlock.cs
- XPathSelfQuery.cs
- TemplateApplicationHelper.cs
- DeferredSelectedIndexReference.cs
- Base64WriteStateInfo.cs
- GeometryCollection.cs
- IndexedSelectQueryOperator.cs
- ScriptControlManager.cs
- StateBag.cs
- RightsManagementPermission.cs
- XsdValidatingReader.cs
- EventManager.cs
- SqlErrorCollection.cs
- ApplicationActivator.cs
- InvokeMemberBinder.cs
- WeakRefEnumerator.cs
- ObjectQueryExecutionPlan.cs
- DrawingGroupDrawingContext.cs
- ServiceDeploymentInfo.cs
- TextureBrush.cs
- ConfigurationPropertyAttribute.cs
- ContextStack.cs
- OpenFileDialog.cs
- EventDescriptor.cs
- Bold.cs
- VideoDrawing.cs