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
- RadioButton.cs
- TemplatePagerField.cs
- XmlDocumentType.cs
- XslAst.cs
- EventMappingSettingsCollection.cs
- CompilerGeneratedAttribute.cs
- SerializationSectionGroup.cs
- SiteMapPath.cs
- recordstate.cs
- FunctionUpdateCommand.cs
- BufferedGraphicsManager.cs
- XmlArrayItemAttribute.cs
- CollectionViewGroup.cs
- ConfigUtil.cs
- XhtmlTextWriter.cs
- SqlStream.cs
- DateTimeConverter2.cs
- MailHeaderInfo.cs
- RangeBaseAutomationPeer.cs
- IgnorePropertiesAttribute.cs
- FixedSOMTableRow.cs
- sqlstateclientmanager.cs
- WmiInstallComponent.cs
- MemberJoinTreeNode.cs
- FormViewPagerRow.cs
- smtppermission.cs
- VideoDrawing.cs
- NavigatorOutput.cs
- ContextMenuStrip.cs
- TraceXPathNavigator.cs
- ServiceHttpHandlerFactory.cs
- Types.cs
- SystemInformation.cs
- DbException.cs
- WorkflowFormatterBehavior.cs
- EntityDataSourceStatementEditorForm.cs
- ScrollableControl.cs
- CultureTable.cs
- SystemInfo.cs
- StylusPointPropertyInfoDefaults.cs
- OracleTransaction.cs
- ToolStripRendererSwitcher.cs
- SystemDiagnosticsSection.cs
- ButtonStandardAdapter.cs
- Region.cs
- SerializationSectionGroup.cs
- FutureFactory.cs
- ClientSettings.cs
- TraceHwndHost.cs
- TextParagraph.cs
- StringKeyFrameCollection.cs
- Transform3D.cs
- XmlTextReader.cs
- basemetadatamappingvisitor.cs
- CustomTypeDescriptor.cs
- MetadataResolver.cs
- IISMapPath.cs
- GeometryValueSerializer.cs
- FormsAuthenticationCredentials.cs
- SiteMapDataSource.cs
- ZipIOLocalFileDataDescriptor.cs
- FunctionImportElement.cs
- SecuritySessionFilter.cs
- SafeLocalAllocation.cs
- PropertyRef.cs
- DesignBindingPicker.cs
- EndGetFileNameFromUserRequest.cs
- Model3DGroup.cs
- GregorianCalendar.cs
- bindurihelper.cs
- PreloadedPackages.cs
- WebRequestModuleElementCollection.cs
- StreamGeometryContext.cs
- BufferedWebEventProvider.cs
- ClientUrlResolverWrapper.cs
- BaseDataList.cs
- ControlValuePropertyAttribute.cs
- List.cs
- DictionaryBase.cs
- WebReferenceCollection.cs
- InvokeBase.cs
- SystemUdpStatistics.cs
- DataGridCellsPanel.cs
- BaseDataListComponentEditor.cs
- BitArray.cs
- PassportPrincipal.cs
- HostedElements.cs
- ProviderUtil.cs
- DataGridViewRowCollection.cs
- MenuBase.cs
- GridViewColumnCollection.cs
- DotExpr.cs
- WmlCalendarAdapter.cs
- SamlAdvice.cs
- TextEditorParagraphs.cs
- PersianCalendar.cs
- OleDbInfoMessageEvent.cs
- DockAndAnchorLayout.cs
- RestHandlerFactory.cs
- SymbolUsageManager.cs