Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / GeometryGroup.cs / 1305600 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ClassHandlersStore.cs
- CharStorage.cs
- KerberosSecurityTokenAuthenticator.cs
- FolderNameEditor.cs
- DbProviderSpecificTypePropertyAttribute.cs
- CatalogUtil.cs
- DataObjectCopyingEventArgs.cs
- DynamicPropertyHolder.cs
- StreamUpdate.cs
- CanonicalFormWriter.cs
- QilLoop.cs
- safelinkcollection.cs
- SecurityPermission.cs
- HScrollBar.cs
- _StreamFramer.cs
- WindowsAuthenticationEventArgs.cs
- ShimAsPublicXamlType.cs
- COM2ExtendedBrowsingHandler.cs
- SubpageParaClient.cs
- Boolean.cs
- TypefaceMap.cs
- AttachmentService.cs
- ItemList.cs
- XpsThumbnail.cs
- ISAPIApplicationHost.cs
- StylusTip.cs
- XmlEncoding.cs
- CacheChildrenQuery.cs
- XmlDomTextWriter.cs
- PolyLineSegmentFigureLogic.cs
- SqlFunctionAttribute.cs
- WindowAutomationPeer.cs
- XmlWriterTraceListener.cs
- AssemblySettingAttributes.cs
- NetMsmqSecurityElement.cs
- RelationshipNavigation.cs
- GeneratedContractType.cs
- OpenFileDialog.cs
- ImpersonateTokenRef.cs
- DocumentPageViewAutomationPeer.cs
- FormsAuthenticationUser.cs
- MenuItem.cs
- ProxyDataContractResolver.cs
- ProfilePropertyMetadata.cs
- CompilerError.cs
- HostProtectionPermission.cs
- precedingquery.cs
- CustomTrackingQuery.cs
- BinaryMethodMessage.cs
- TypeResolvingOptionsAttribute.cs
- DynamicMethod.cs
- ToolStripDropTargetManager.cs
- DbConnectionClosed.cs
- HostingMessageProperty.cs
- VectorCollectionConverter.cs
- SelectionEditingBehavior.cs
- GeneralTransform.cs
- LayoutDump.cs
- recordstatescratchpad.cs
- QuaternionRotation3D.cs
- CodeStatement.cs
- AsyncPostBackTrigger.cs
- ToolBar.cs
- SerialErrors.cs
- ElementsClipboardData.cs
- ToolStripScrollButton.cs
- LowerCaseStringConverter.cs
- HotSpotCollection.cs
- FactoryId.cs
- FormViewPageEventArgs.cs
- CodeTypeMember.cs
- DockingAttribute.cs
- DecimalConstantAttribute.cs
- WebResourceAttribute.cs
- Error.cs
- ValidatedControlConverter.cs
- EventWaitHandle.cs
- RenderData.cs
- _ContextAwareResult.cs
- BinaryUtilClasses.cs
- TwoPhaseCommit.cs
- WmlPanelAdapter.cs
- SqlTopReducer.cs
- HybridDictionary.cs
- ClientSettingsStore.cs
- TransformGroup.cs
- SqlBulkCopyColumnMappingCollection.cs
- PasswordTextContainer.cs
- AggregateNode.cs
- AdRotator.cs
- StatusBar.cs
- ZoneButton.cs
- SiteMapPath.cs
- ListBoxChrome.cs
- DataGridViewLinkCell.cs
- ClaimSet.cs
- PointConverter.cs
- MarkupExtensionParser.cs
- SchemaHelper.cs
- URLAttribute.cs