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
- Int64Converter.cs
- SoapMessage.cs
- SqlDependency.cs
- MarkerProperties.cs
- NonBatchDirectoryCompiler.cs
- CommandEventArgs.cs
- ItemTypeToolStripMenuItem.cs
- SQLInt32.cs
- TreeViewImageIndexConverter.cs
- ExpressionNode.cs
- PersonalizationProviderHelper.cs
- MetadataUtil.cs
- SliderAutomationPeer.cs
- XmlDigitalSignatureProcessor.cs
- AutomationElementCollection.cs
- Assert.cs
- XPathQilFactory.cs
- HtmlSelect.cs
- StringWriter.cs
- X509Utils.cs
- NumberFormatInfo.cs
- EtwTrace.cs
- XmlDocument.cs
- COM2ExtendedTypeConverter.cs
- Propagator.JoinPropagator.cs
- ComboBox.cs
- BufferCache.cs
- PropertyIDSet.cs
- ContentValidator.cs
- FloaterParagraph.cs
- ParserContext.cs
- BindingCollection.cs
- GeneralTransformCollection.cs
- SessionStateModule.cs
- Literal.cs
- RadioButtonFlatAdapter.cs
- PageFunction.cs
- CodeDomLocalizationProvider.cs
- ServiceThrottle.cs
- MethodCallConverter.cs
- CompositeControl.cs
- GiveFeedbackEvent.cs
- SizeAnimationUsingKeyFrames.cs
- App.cs
- ResourcePart.cs
- EventBuilder.cs
- SocketAddress.cs
- Evaluator.cs
- NonBatchDirectoryCompiler.cs
- TrackingStringDictionary.cs
- FixedSchema.cs
- MenuItemBinding.cs
- mda.cs
- Number.cs
- WSFederationHttpSecurityElement.cs
- TcpClientChannel.cs
- SkewTransform.cs
- FamilyTypeface.cs
- LeafCellTreeNode.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- TypographyProperties.cs
- StreamInfo.cs
- StyleHelper.cs
- TdsParser.cs
- ClientOptions.cs
- TableRow.cs
- SQLInt32Storage.cs
- DetailsViewInsertEventArgs.cs
- CancellableEnumerable.cs
- DbMetaDataFactory.cs
- UrlUtility.cs
- HostingEnvironmentSection.cs
- _OSSOCK.cs
- webproxy.cs
- Function.cs
- SqlUtils.cs
- Triangle.cs
- xml.cs
- OverflowException.cs
- ServiceManager.cs
- ValidatorCompatibilityHelper.cs
- FontStretch.cs
- ByteStack.cs
- WinFormsUtils.cs
- CustomValidator.cs
- IgnoreFileBuildProvider.cs
- StyleModeStack.cs
- SqlDataSourceConfigureSortForm.cs
- XLinq.cs
- OrCondition.cs
- ObjectConverter.cs
- DataGridViewRowCollection.cs
- CalendarTable.cs
- GZipDecoder.cs
- FileDialog_Vista.cs
- WebDisplayNameAttribute.cs
- MetabaseServerConfig.cs
- SafeEventLogWriteHandle.cs
- HtmlFormWrapper.cs
- Empty.cs