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
- XmlAttributeAttribute.cs
- DataRow.cs
- BitmapCodecInfoInternal.cs
- DockProviderWrapper.cs
- DataControlImageButton.cs
- DecoratedNameAttribute.cs
- ArrayWithOffset.cs
- ReferencedType.cs
- SpAudioStreamWrapper.cs
- HtmlTextViewAdapter.cs
- FocusChangedEventArgs.cs
- HyperLinkStyle.cs
- TextWriterEngine.cs
- CurrentChangedEventManager.cs
- DiffuseMaterial.cs
- XmlEncodedRawTextWriter.cs
- InvalidOperationException.cs
- MessageUtil.cs
- XamlPathDataSerializer.cs
- OrderPreservingSpoolingTask.cs
- MissingFieldException.cs
- SqlDependency.cs
- ExtensionWindowResizeGrip.cs
- PackageDigitalSignature.cs
- XmlDataSourceView.cs
- SubpageParagraph.cs
- ToolboxItemCollection.cs
- LocationFactory.cs
- GcSettings.cs
- OleDbStruct.cs
- UInt16.cs
- AspNetCompatibilityRequirementsAttribute.cs
- _AutoWebProxyScriptEngine.cs
- MessagingActivityHelper.cs
- DocumentCollection.cs
- SQLChars.cs
- VBCodeProvider.cs
- VectorCollectionConverter.cs
- ValidationErrorCollection.cs
- SapiAttributeParser.cs
- CalloutQueueItem.cs
- ExecutedRoutedEventArgs.cs
- DockingAttribute.cs
- RecognitionEventArgs.cs
- ResourceContainer.cs
- Behavior.cs
- CodeTypeConstructor.cs
- WebEvents.cs
- SymbolTable.cs
- sqlstateclientmanager.cs
- CqlBlock.cs
- OrderPreservingSpoolingTask.cs
- FilteredReadOnlyMetadataCollection.cs
- ReadOnlyObservableCollection.cs
- ErrorRuntimeConfig.cs
- SmiEventSink.cs
- AnonymousIdentificationSection.cs
- InputScopeNameConverter.cs
- StandardCommands.cs
- entityreference_tresulttype.cs
- WebException.cs
- BaseParaClient.cs
- CategoryAttribute.cs
- RijndaelManaged.cs
- _AutoWebProxyScriptEngine.cs
- ExtenderControl.cs
- Tokenizer.cs
- BamlResourceContent.cs
- ImageFormat.cs
- CmsInterop.cs
- BevelBitmapEffect.cs
- MemberDomainMap.cs
- Transform.cs
- UpdateExpressionVisitor.cs
- Point.cs
- TextEditorParagraphs.cs
- VirtualDirectoryMapping.cs
- UDPClient.cs
- SoapReflectionImporter.cs
- VBIdentifierNameEditor.cs
- BaseCodeDomTreeGenerator.cs
- RegexCapture.cs
- TriggerBase.cs
- SharedPerformanceCounter.cs
- ClickablePoint.cs
- TreeView.cs
- fixedPageContentExtractor.cs
- Point3DAnimationUsingKeyFrames.cs
- ValueHandle.cs
- hwndwrapper.cs
- TableLayoutSettings.cs
- EmptyEnumerator.cs
- CompatibleIComparer.cs
- FontFamilyValueSerializer.cs
- VisualBasicExpressionConverter.cs
- FreezableOperations.cs
- EventLogPermissionAttribute.cs
- SinglePhaseEnlistment.cs
- LiteralDesigner.cs
- MailMessageEventArgs.cs