Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- AssemblyAttributesGoHere.cs
- HttpWriter.cs
- LinkConverter.cs
- DeferredTextReference.cs
- TextElementEnumerator.cs
- ComEventsSink.cs
- PeerPresenceInfo.cs
- OptimizedTemplateContent.cs
- DiagnosticStrings.cs
- InvalidDataContractException.cs
- RijndaelManaged.cs
- XpsViewerException.cs
- ProcessHostConfigUtils.cs
- sqlstateclientmanager.cs
- FamilyTypefaceCollection.cs
- ObjectSet.cs
- FlowNode.cs
- WaitHandle.cs
- EntityClassGenerator.cs
- XmlNodeReader.cs
- Timer.cs
- ValidationPropertyAttribute.cs
- DoWorkEventArgs.cs
- CancellationHandlerDesigner.cs
- CryptoConfig.cs
- Base64Encoder.cs
- WindowsIdentity.cs
- DocumentViewerHelper.cs
- GetReadStreamResult.cs
- HttpWebRequest.cs
- ResourceDisplayNameAttribute.cs
- ContentPlaceHolder.cs
- XmlAttributeCollection.cs
- ButtonChrome.cs
- PathStreamGeometryContext.cs
- ProbeDuplex11AsyncResult.cs
- PointCollectionConverter.cs
- DragDropHelper.cs
- ConditionedDesigner.cs
- TextAdaptor.cs
- MetadataProperty.cs
- OdbcStatementHandle.cs
- WSFederationHttpSecurity.cs
- ScaleTransform3D.cs
- DataRecord.cs
- DelegatingChannelListener.cs
- XmlQuerySequence.cs
- TypeLoadException.cs
- BufferModeSettings.cs
- OdbcReferenceCollection.cs
- GroupItem.cs
- MetafileHeaderEmf.cs
- OLEDB_Enum.cs
- SiteMapHierarchicalDataSourceView.cs
- DrawingAttributeSerializer.cs
- BevelBitmapEffect.cs
- MruCache.cs
- BinaryOperationBinder.cs
- COM2ComponentEditor.cs
- DictionaryManager.cs
- ActivityInstanceReference.cs
- ImageClickEventArgs.cs
- EncoderBestFitFallback.cs
- ProjectionPruner.cs
- ListControlConvertEventArgs.cs
- MimeMultiPart.cs
- CancellationTokenRegistration.cs
- _FixedSizeReader.cs
- ProfessionalColorTable.cs
- NativeMethods.cs
- ValueConversionAttribute.cs
- ResourceDescriptionAttribute.cs
- ZipFileInfo.cs
- GeneralTransform3D.cs
- TypeKeyValue.cs
- QualifierSet.cs
- DataFormats.cs
- WorkItem.cs
- CombinedGeometry.cs
- PropertyValidationContext.cs
- BeginStoryboard.cs
- XmlSchemaSequence.cs
- ProvidersHelper.cs
- PropagatorResult.cs
- Properties.cs
- AttributeTableBuilder.cs
- LassoSelectionBehavior.cs
- CallTemplateAction.cs
- WorkflowInstanceAbortedRecord.cs
- MenuItem.cs
- GradientStop.cs
- LineMetrics.cs
- XmlArrayAttribute.cs
- DataGridLength.cs
- XmlWrappingReader.cs
- EUCJPEncoding.cs
- RangeValidator.cs
- PagePropertiesChangingEventArgs.cs
- VarInfo.cs
- SqlRecordBuffer.cs