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
- Mutex.cs
- TdsParameterSetter.cs
- GridEntry.cs
- LassoSelectionBehavior.cs
- ObjectHandle.cs
- UnsafeCollabNativeMethods.cs
- SupportingTokenProviderSpecification.cs
- XmlSerializerAssemblyAttribute.cs
- TextShapeableCharacters.cs
- GridViewColumnHeader.cs
- ClaimTypeElementCollection.cs
- StickyNote.cs
- SqlConnectionManager.cs
- SurrogateSelector.cs
- StructuredType.cs
- HtmlDocument.cs
- SqlDataSourceCommandParser.cs
- Trustee.cs
- Wizard.cs
- BufferedConnection.cs
- Rect3D.cs
- HtmlInputRadioButton.cs
- SecurityKeyIdentifierClause.cs
- ButtonBaseAdapter.cs
- UIElement3D.cs
- PagedControl.cs
- RestClientProxyHandler.cs
- Int64Animation.cs
- NextPreviousPagerField.cs
- XamlDebuggerXmlReader.cs
- TabControlCancelEvent.cs
- filewebresponse.cs
- TablePattern.cs
- HttpProtocolReflector.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- WebPartTransformer.cs
- WebUtil.cs
- TypeInitializationException.cs
- StrongNameKeyPair.cs
- QilSortKey.cs
- TargetControlTypeAttribute.cs
- InternalTypeHelper.cs
- DecoderExceptionFallback.cs
- AbsoluteQuery.cs
- AnnotationHelper.cs
- EntityKey.cs
- DataRowComparer.cs
- XmlCharCheckingReader.cs
- LinkedResource.cs
- MdbDataFileEditor.cs
- FormViewInsertEventArgs.cs
- TdsParserHelperClasses.cs
- PropertyPath.cs
- StatusBarPanelClickEvent.cs
- DataGridView.cs
- SqlCacheDependency.cs
- SQLDecimalStorage.cs
- TemplateKey.cs
- RijndaelCryptoServiceProvider.cs
- MimeTypeAttribute.cs
- SequentialOutput.cs
- ClassicBorderDecorator.cs
- PageBreakRecord.cs
- RepeatEnumerable.cs
- TrackingExtract.cs
- BindingManagerDataErrorEventArgs.cs
- QueryOutputWriter.cs
- ErrorFormatter.cs
- ValidationError.cs
- SessionStateContainer.cs
- ErrorFormatter.cs
- ConfigXmlDocument.cs
- AxisAngleRotation3D.cs
- XmlSchemaObjectTable.cs
- HyperLinkField.cs
- QueryResults.cs
- ListManagerBindingsCollection.cs
- TaiwanLunisolarCalendar.cs
- SAPIEngineTypes.cs
- TextEditor.cs
- XmlSigningNodeWriter.cs
- Stroke2.cs
- Rect3DValueSerializer.cs
- TextFormatter.cs
- listitem.cs
- Span.cs
- InstancePersistenceCommand.cs
- RtfFormatStack.cs
- DebuggerAttributes.cs
- SiblingIterators.cs
- ServerValidateEventArgs.cs
- MailSettingsSection.cs
- ApplicationDirectory.cs
- ImageBrush.cs
- XhtmlBasicTextViewAdapter.cs
- SqlParameter.cs
- DispatcherFrame.cs
- AlignmentXValidation.cs
- Util.cs
- DecoderNLS.cs