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
- SHA1.cs
- PagerStyle.cs
- SuppressMergeCheckAttribute.cs
- InstanceData.cs
- ProtectedConfigurationSection.cs
- QueryStringParameter.cs
- ISCIIEncoding.cs
- VirtualizingStackPanel.cs
- BitmapMetadataEnumerator.cs
- BitmapEffectInput.cs
- EncodingStreamWrapper.cs
- SingleResultAttribute.cs
- StateManagedCollection.cs
- DescendentsWalker.cs
- SqlCharStream.cs
- DataBoundControlAdapter.cs
- BlockCollection.cs
- HyperLink.cs
- DrawItemEvent.cs
- QuadraticBezierSegment.cs
- CompoundFileDeflateTransform.cs
- Oid.cs
- _BaseOverlappedAsyncResult.cs
- TripleDESCryptoServiceProvider.cs
- InvokeFunc.cs
- PersonalizationState.cs
- WsdlInspector.cs
- HttpRequestCacheValidator.cs
- ContextMenuService.cs
- SecurityRequiresReviewAttribute.cs
- SQLInt16.cs
- DBCommand.cs
- EditorPart.cs
- WindowsFormsSectionHandler.cs
- ValidatorCompatibilityHelper.cs
- Propagator.Evaluator.cs
- AudioFormatConverter.cs
- DrawingAttributes.cs
- TraceFilter.cs
- InitiatorSessionSymmetricMessageSecurityProtocol.cs
- AsymmetricCryptoHandle.cs
- RulePatternOps.cs
- FacetDescriptionElement.cs
- BitmapData.cs
- WorkflowDesignerMessageFilter.cs
- EventsTab.cs
- PersistChildrenAttribute.cs
- XmlAttributeOverrides.cs
- CqlIdentifiers.cs
- ElementHostAutomationPeer.cs
- TransformerInfo.cs
- EncoderReplacementFallback.cs
- MediaCommands.cs
- PointHitTestParameters.cs
- RandomDelayQueuedSendsAsyncResult.cs
- DataBindingHandlerAttribute.cs
- SiteMapPath.cs
- IpcClientManager.cs
- ListViewInsertEventArgs.cs
- ColorConvertedBitmapExtension.cs
- DocumentGrid.cs
- DataGridViewCell.cs
- DataBindingHandlerAttribute.cs
- Propagator.Evaluator.cs
- ConnectorEditor.cs
- CommandField.cs
- CreatingCookieEventArgs.cs
- InvokerUtil.cs
- GridEntry.cs
- DataRelation.cs
- ActivityInstanceReference.cs
- PerCallInstanceContextProvider.cs
- WebPartConnectionsConfigureVerb.cs
- MetadataUtilsSmi.cs
- XmlText.cs
- OrderByQueryOptionExpression.cs
- Dispatcher.cs
- WinFormsComponentEditor.cs
- ReadOnlyObservableCollection.cs
- AesCryptoServiceProvider.cs
- COM2ComponentEditor.cs
- DataProtection.cs
- RequestCacheManager.cs
- RuleSettingsCollection.cs
- ObjectListItemCollection.cs
- PathTooLongException.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- SmtpCommands.cs
- LineVisual.cs
- SelectionHighlightInfo.cs
- EdmScalarPropertyAttribute.cs
- Delegate.cs
- ControlHelper.cs
- InkCanvasAutomationPeer.cs
- RectangleGeometry.cs
- SmtpNegotiateAuthenticationModule.cs
- ToolboxDataAttribute.cs
- backend.cs
- ParameterCollection.cs
- DesignerToolboxInfo.cs