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
- NeutralResourcesLanguageAttribute.cs
- Win32MouseDevice.cs
- ToolStripArrowRenderEventArgs.cs
- RequestBringIntoViewEventArgs.cs
- Size3DValueSerializer.cs
- JsonXmlDataContract.cs
- FileUtil.cs
- ContextDataSourceContextData.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- MetadataUtil.cs
- QueryBranchOp.cs
- UnsafeNativeMethodsMilCoreApi.cs
- TerminatorSinks.cs
- SocketPermission.cs
- FileDialogCustomPlacesCollection.cs
- AdRotator.cs
- ProfileElement.cs
- ComponentSerializationService.cs
- ProfileService.cs
- WindowsScroll.cs
- UIElementIsland.cs
- Table.cs
- FileChangesMonitor.cs
- WebBrowser.cs
- AuthenticationModulesSection.cs
- FullTextBreakpoint.cs
- ComNativeDescriptor.cs
- WindowsListBox.cs
- InvokeProviderWrapper.cs
- Facet.cs
- RegexCompiler.cs
- TypeProvider.cs
- ListView.cs
- WebServiceErrorEvent.cs
- StackSpiller.cs
- MimeFormatter.cs
- Message.cs
- BinaryWriter.cs
- NameSpaceExtractor.cs
- DocumentPageTextView.cs
- XmlMessageFormatter.cs
- COAUTHINFO.cs
- DataGridViewCellValueEventArgs.cs
- ObjectDataSourceStatusEventArgs.cs
- RegexCharClass.cs
- CodeVariableDeclarationStatement.cs
- WorkflowApplicationUnhandledExceptionEventArgs.cs
- FieldTemplateUserControl.cs
- HostSecurityManager.cs
- CommonRemoteMemoryBlock.cs
- MatrixCamera.cs
- XmlSchemaFacet.cs
- SettingsSection.cs
- Triplet.cs
- ConfigXmlAttribute.cs
- Viewport3DAutomationPeer.cs
- Misc.cs
- AbstractDataSvcMapFileLoader.cs
- EventLogEntry.cs
- ConnectionOrientedTransportBindingElement.cs
- UrlAuthFailedErrorFormatter.cs
- PreloadedPackages.cs
- WebPartAuthorizationEventArgs.cs
- BuildProviderAppliesToAttribute.cs
- WorkflowIdleElement.cs
- ToolStripControlHost.cs
- ArcSegment.cs
- ItemContainerGenerator.cs
- LogEntryDeserializer.cs
- WaitHandle.cs
- AppDomainAttributes.cs
- TableLayoutSettingsTypeConverter.cs
- TemplateComponentConnector.cs
- WebPageTraceListener.cs
- HashRepartitionStream.cs
- XmlSchemaSimpleType.cs
- MouseEventArgs.cs
- Inline.cs
- IConvertible.cs
- StorageBasedPackageProperties.cs
- InputScopeManager.cs
- MobileControlsSectionHelper.cs
- QueryOperatorEnumerator.cs
- TCPListener.cs
- FileDialogCustomPlacesCollection.cs
- Type.cs
- AdPostCacheSubstitution.cs
- DataGridItemCollection.cs
- BitmapEffectInput.cs
- DesignerTransactionCloseEvent.cs
- MetadataAssemblyHelper.cs
- SmtpNegotiateAuthenticationModule.cs
- util.cs
- ProfileParameter.cs
- GradientSpreadMethodValidation.cs
- EventHandlerList.cs
- UIElement3D.cs
- ConnectionPoolManager.cs
- DataSourceDescriptorCollection.cs
- CookieParameter.cs