Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / DashStyle.cs / 1305600 / 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
- RegexFCD.cs
- ListBindableAttribute.cs
- DirectoryNotFoundException.cs
- SystemIPv6InterfaceProperties.cs
- UserControl.cs
- TemplateComponentConnector.cs
- AttributeEmitter.cs
- InputEventArgs.cs
- Profiler.cs
- WebRequestModulesSection.cs
- Monitor.cs
- FirstQueryOperator.cs
- EntryWrittenEventArgs.cs
- XamlHostingSectionGroup.cs
- DataGridLinkButton.cs
- BasicSecurityProfileVersion.cs
- AuthenticationConfig.cs
- AuthenticationModuleElement.cs
- DataGridViewCell.cs
- Delegate.cs
- mactripleDES.cs
- FrameworkElementFactory.cs
- WindowsUserNameCachingSecurityTokenAuthenticator.cs
- ViewStateException.cs
- Simplifier.cs
- WorkflowInstanceRecord.cs
- InteropDesigner.xaml.cs
- Socket.cs
- ButtonBaseAdapter.cs
- DateTimeStorage.cs
- SqlParameter.cs
- FormViewDeletedEventArgs.cs
- SqlFlattener.cs
- SharedPerformanceCounter.cs
- TreeNodeStyleCollection.cs
- AppSettingsExpressionBuilder.cs
- HScrollProperties.cs
- ExtractCollection.cs
- AnnotationStore.cs
- CategoryGridEntry.cs
- ParameterCollection.cs
- ContentIterators.cs
- FastEncoder.cs
- RemotingException.cs
- AffineTransform3D.cs
- AsyncContentLoadedEventArgs.cs
- XmlDocumentSerializer.cs
- Transaction.cs
- RankException.cs
- UrlMappingCollection.cs
- JsonReader.cs
- PropertyDescriptorGridEntry.cs
- DrawingCollection.cs
- ReadOnlyCollectionBase.cs
- DataSourceHelper.cs
- PagerSettings.cs
- Binding.cs
- ClientSponsor.cs
- SafeBitVector32.cs
- UnauthorizedAccessException.cs
- ReadOnlyDataSourceView.cs
- SchemaCollectionPreprocessor.cs
- ChangeDirector.cs
- PersonalizationProviderHelper.cs
- MarkupProperty.cs
- hwndwrapper.cs
- PersonalizablePropertyEntry.cs
- DefaultProxySection.cs
- ErrorView.xaml.cs
- AttributeEmitter.cs
- ButtonBase.cs
- SlotInfo.cs
- Inline.cs
- CommandBinding.cs
- ListBox.cs
- safelinkcollection.cs
- SwitchLevelAttribute.cs
- PhysicalOps.cs
- EntityClientCacheKey.cs
- ResourcePool.cs
- WmlPhoneCallAdapter.cs
- AnnotationAdorner.cs
- SoapIgnoreAttribute.cs
- MergeLocalizationDirectives.cs
- SerializerDescriptor.cs
- CachedFontFace.cs
- EntityProviderServices.cs
- TypeConverters.cs
- XmlSchemaSet.cs
- TextRangeSerialization.cs
- DeferredRunTextReference.cs
- EmbossBitmapEffect.cs
- SetIterators.cs
- Screen.cs
- ToolStripContextMenu.cs
- ApplicationTrust.cs
- Parameter.cs
- DataGridViewColumnStateChangedEventArgs.cs
- handlecollector.cs
- ResourceDictionary.cs