Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Media / DashStyle.cs / 1 / DashStyle.cs
//----------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// Description: Implementation of the class DashStyle
//
// History: 11\15\2004: 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.Collections.Generic;
using System.Globalization;
using System.Windows.Media;
using System.Windows.Media.Composition;
using System.Windows;
using System.Text.RegularExpressions;
using System.Windows.Media.Animation;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using SR=MS.Internal.PresentationCore.SR;
using SRID=MS.Internal.PresentationCore.SRID;
namespace System.Windows.Media
{
#region DashStyle
///
/// This class captures the array of dashe and gap lengths and the dash offset.
///
[Localizability(LocalizationCategory.None, Readability = Readability.Unreadable)]
public partial class DashStyle : Animatable, DUCE.IResource
{
#region Constructors
///
/// Default constructor
///
public DashStyle()
{
}
///
/// Constructor from an array and offset
///
/// The array of lengths of dashes and gaps, measured in Thickness units.
/// If the value of dashes is null then the style will be solid
///
///
/// Determines where in the dash sequence the stroke will start
///
///
public DashStyle(IEnumerable dashes, Double offset)
{
Offset = offset;
if (dashes != null)
{
Dashes = new DoubleCollection(dashes);
}
}
#endregion Constructors
#region Internal Methods
///
/// Returns the dashes information.
///
///
/// Critical: Returns a pointer and manipulates unsafe code.This data
/// is safe to expose, it is the pointer manipulation that makes it risky.
///
[SecurityCritical]
internal unsafe void GetDashData(MIL_PEN_DATA* pData, out double[] dashArray)
{
DoubleCollection vDashes = Dashes;
int count = 0;
if (vDashes != null)
{
count = vDashes.Count;
}
unsafe
{
pData->DashArraySize = (UInt32)count * sizeof(double);
pData->DashOffset = Offset;
}
if (count > 0)
{
dashArray = vDashes._collection.ToArray();
}
else
{
dashArray = null;
}
}
#endregion Internal Methods
}
#endregion
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// Description: Implementation of the class DashStyle
//
// History: 11\15\2004: 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.Collections.Generic;
using System.Globalization;
using System.Windows.Media;
using System.Windows.Media.Composition;
using System.Windows;
using System.Text.RegularExpressions;
using System.Windows.Media.Animation;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using SR=MS.Internal.PresentationCore.SR;
using SRID=MS.Internal.PresentationCore.SRID;
namespace System.Windows.Media
{
#region DashStyle
///
/// This class captures the array of dashe and gap lengths and the dash offset.
///
[Localizability(LocalizationCategory.None, Readability = Readability.Unreadable)]
public partial class DashStyle : Animatable, DUCE.IResource
{
#region Constructors
///
/// Default constructor
///
public DashStyle()
{
}
///
/// Constructor from an array and offset
///
/// The array of lengths of dashes and gaps, measured in Thickness units.
/// If the value of dashes is null then the style will be solid
///
///
/// Determines where in the dash sequence the stroke will start
///
///
public DashStyle(IEnumerable dashes, Double offset)
{
Offset = offset;
if (dashes != null)
{
Dashes = new DoubleCollection(dashes);
}
}
#endregion Constructors
#region Internal Methods
///
/// Returns the dashes information.
///
///
/// Critical: Returns a pointer and manipulates unsafe code.This data
/// is safe to expose, it is the pointer manipulation that makes it risky.
///
[SecurityCritical]
internal unsafe void GetDashData(MIL_PEN_DATA* pData, out double[] dashArray)
{
DoubleCollection vDashes = Dashes;
int count = 0;
if (vDashes != null)
{
count = vDashes.Count;
}
unsafe
{
pData->DashArraySize = (UInt32)count * sizeof(double);
pData->DashOffset = Offset;
}
if (count > 0)
{
dashArray = vDashes._collection.ToArray();
}
else
{
dashArray = null;
}
}
#endregion Internal Methods
}
#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
- Run.cs
- shaperfactoryquerycachekey.cs
- GeometryModel3D.cs
- DocumentPage.cs
- ImportException.cs
- ToolStripDropDownMenu.cs
- EntryWrittenEventArgs.cs
- DataGridViewDataErrorEventArgs.cs
- ChtmlPageAdapter.cs
- PeoplePickerWrapper.cs
- TransactionInformation.cs
- SystemFonts.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SystemTcpConnection.cs
- BamlBinaryWriter.cs
- FillErrorEventArgs.cs
- UnsafeNativeMethods.cs
- NumberFormatInfo.cs
- RelatedCurrencyManager.cs
- RoleService.cs
- Primitive.cs
- PropertyEmitter.cs
- RegisteredScript.cs
- LocalizationComments.cs
- ContainerUIElement3D.cs
- PropertyIdentifier.cs
- XPathSelfQuery.cs
- UIElementHelper.cs
- CommandBindingCollection.cs
- CommandDevice.cs
- EdgeModeValidation.cs
- BitmapEffectInputData.cs
- SeparatorAutomationPeer.cs
- XmlSchemaExternal.cs
- ProtocolsSection.cs
- FrameworkContextData.cs
- ValueProviderWrapper.cs
- DataBoundControlActionList.cs
- ProgressChangedEventArgs.cs
- PagerSettings.cs
- PrinterResolution.cs
- StringValueConverter.cs
- EventLogTraceListener.cs
- IChannel.cs
- DataGridHeaderBorder.cs
- StreamingContext.cs
- Odbc32.cs
- IListConverters.cs
- WebConfigurationManager.cs
- ListControlActionList.cs
- OperatorExpressions.cs
- HttpMethodAttribute.cs
- FileRecordSequenceHelper.cs
- RulePatternOps.cs
- FillBehavior.cs
- FtpWebResponse.cs
- SpeechUI.cs
- DataGridBoundColumn.cs
- WaitForChangedResult.cs
- ToolStripMenuItemDesigner.cs
- ContextMarshalException.cs
- LinqDataSourceDeleteEventArgs.cs
- CollectionConverter.cs
- SuppressMessageAttribute.cs
- CryptoHandle.cs
- WebServiceClientProxyGenerator.cs
- SecurityTokenSpecification.cs
- WindowsContainer.cs
- UrlAuthorizationModule.cs
- PenCursorManager.cs
- ToolZoneDesigner.cs
- ClientClassGenerator.cs
- BasePattern.cs
- FileDataSourceCache.cs
- CollectionsUtil.cs
- Queue.cs
- StrokeNodeData.cs
- EntityDesignerUtils.cs
- InterleavedZipPartStream.cs
- ListManagerBindingsCollection.cs
- StorageEntityTypeMapping.cs
- AnnotationResourceChangedEventArgs.cs
- ContextDataSource.cs
- WorkflowEnvironment.cs
- BCryptSafeHandles.cs
- MatrixUtil.cs
- CompositeFontParser.cs
- Renderer.cs
- DbConnectionFactory.cs
- FamilyTypefaceCollection.cs
- DSACryptoServiceProvider.cs
- ConfigXmlDocument.cs
- initElementDictionary.cs
- EntityDataSourceUtil.cs
- Keyboard.cs
- NavigationProgressEventArgs.cs
- ParameterCollection.cs
- SmtpFailedRecipientsException.cs
- CultureTable.cs
- ProfileBuildProvider.cs