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
- BevelBitmapEffect.cs
- SHA512.cs
- XmlNullResolver.cs
- ZipFileInfo.cs
- DashStyles.cs
- WriteLineDesigner.xaml.cs
- ResourcePermissionBase.cs
- WebUtil.cs
- MSAAWinEventWrap.cs
- DrawTreeNodeEventArgs.cs
- Visitors.cs
- _KerberosClient.cs
- Baml6ConstructorInfo.cs
- ResolveCriteria11.cs
- XmlSchemaAppInfo.cs
- BitmapCacheBrush.cs
- printdlgexmarshaler.cs
- StatusBar.cs
- InteropAutomationProvider.cs
- SoapAttributes.cs
- RegexGroup.cs
- TextPenaltyModule.cs
- ExpressionEditorSheet.cs
- SqlServices.cs
- Trigger.cs
- IpcServerChannel.cs
- SourceFileInfo.cs
- NumberFormatInfo.cs
- TitleStyle.cs
- ContainerVisual.cs
- _LazyAsyncResult.cs
- Stackframe.cs
- MouseBinding.cs
- BulletedListEventArgs.cs
- SpellCheck.cs
- QuaternionAnimation.cs
- WebPartZoneBase.cs
- ContextMarshalException.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- ToolStripItemClickedEventArgs.cs
- remotingproxy.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- DataTableReaderListener.cs
- TextElementCollectionHelper.cs
- NumberSubstitution.cs
- AttachedPropertyMethodSelector.cs
- CodeTypeDeclaration.cs
- DropShadowBitmapEffect.cs
- webclient.cs
- FindResponse.cs
- XamlDesignerSerializationManager.cs
- Button.cs
- IPAddressCollection.cs
- FileSystemWatcher.cs
- OleDbDataAdapter.cs
- Mapping.cs
- AddInAdapter.cs
- DataControlFieldCell.cs
- CounterSample.cs
- View.cs
- CopyNamespacesAction.cs
- XmlSerializerAssemblyAttribute.cs
- PriorityBindingExpression.cs
- Schema.cs
- FormatSettings.cs
- MenuCommand.cs
- Int16Storage.cs
- CoTaskMemHandle.cs
- QueryIntervalOp.cs
- SpeechDetectedEventArgs.cs
- AnnotationComponentManager.cs
- ReachSerializationCacheItems.cs
- ActivityPreviewDesigner.cs
- ScrollViewer.cs
- X509CertificateClaimSet.cs
- RequestQueue.cs
- DataGridViewIntLinkedList.cs
- RangeValidator.cs
- DataPagerCommandEventArgs.cs
- DefaultCommandExtensionCallback.cs
- HyperLink.cs
- StaticSiteMapProvider.cs
- DeferredSelectedIndexReference.cs
- SeekableReadStream.cs
- SqlUnionizer.cs
- List.cs
- LineBreak.cs
- XPathScanner.cs
- ReadOnlyDictionary.cs
- ISFClipboardData.cs
- WindowsSolidBrush.cs
- CacheForPrimitiveTypes.cs
- Button.cs
- AnimationStorage.cs
- TabletDevice.cs
- ToolboxComponentsCreatedEventArgs.cs
- SpnEndpointIdentityExtension.cs
- StreamDocument.cs
- ExtensionCollection.cs
- Attributes.cs