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
- WindowsSecurityToken.cs
- exports.cs
- OpacityConverter.cs
- VarRefManager.cs
- DataObjectFieldAttribute.cs
- Queue.cs
- RuleDefinitions.cs
- MediaTimeline.cs
- sqlser.cs
- SerializationTrace.cs
- ObjectSet.cs
- DependencySource.cs
- HostingEnvironmentSection.cs
- DataGridRow.cs
- CollectionContainer.cs
- WebExceptionStatus.cs
- TypeGeneratedEventArgs.cs
- EventDescriptor.cs
- DataGridComponentEditor.cs
- CqlIdentifiers.cs
- FunctionImportElement.cs
- SecurityHelper.cs
- DoubleAverageAggregationOperator.cs
- ContentFilePart.cs
- WeakReference.cs
- CallSiteBinder.cs
- WebConfigManager.cs
- BasicDesignerLoader.cs
- HttpValueCollection.cs
- RTLAwareMessageBox.cs
- DBSqlParserColumn.cs
- ImageUrlEditor.cs
- AppSettingsExpressionEditor.cs
- ModifiableIteratorCollection.cs
- DataBindingCollectionConverter.cs
- HTTPNotFoundHandler.cs
- HostingEnvironmentSection.cs
- XmlnsCompatibleWithAttribute.cs
- URLIdentityPermission.cs
- ErrorView.xaml.cs
- CodePageEncoding.cs
- TimeStampChecker.cs
- PreviousTrackingServiceAttribute.cs
- AccessControlList.cs
- IMembershipProvider.cs
- UpDownBaseDesigner.cs
- DataContractSerializerMessageContractImporter.cs
- GraphicsContainer.cs
- ContainerControl.cs
- SHA1CryptoServiceProvider.cs
- WebHeaderCollection.cs
- MatrixKeyFrameCollection.cs
- RoleService.cs
- FreezableDefaultValueFactory.cs
- RepeatBehavior.cs
- PixelFormats.cs
- BrushMappingModeValidation.cs
- ConfigXmlAttribute.cs
- ProtocolsSection.cs
- SatelliteContractVersionAttribute.cs
- VectorCollectionValueSerializer.cs
- Span.cs
- WindowsRichEdit.cs
- DataGridViewRowStateChangedEventArgs.cs
- FtpWebRequest.cs
- VerbConverter.cs
- DesignerWidgets.cs
- SecurityDescriptor.cs
- DataRowCollection.cs
- GeneralTransformGroup.cs
- AudioLevelUpdatedEventArgs.cs
- ControlValuePropertyAttribute.cs
- PropertyCondition.cs
- TemplatePartAttribute.cs
- CacheMemory.cs
- VisualBrush.cs
- coordinatorfactory.cs
- PartialTrustVisibleAssemblyCollection.cs
- FileLevelControlBuilderAttribute.cs
- ServiceReference.cs
- PinnedBufferMemoryStream.cs
- RegexFCD.cs
- BrowserCapabilitiesCodeGenerator.cs
- WebMessageFormatHelper.cs
- PublisherIdentityPermission.cs
- ExtendedProtectionPolicy.cs
- ActiveDocumentEvent.cs
- InternalConfigConfigurationFactory.cs
- MachineKey.cs
- log.cs
- CipherData.cs
- PolyBezierSegment.cs
- ToolboxDataAttribute.cs
- FragmentNavigationEventArgs.cs
- Journal.cs
- CallContext.cs
- WindowsToolbar.cs
- GeometryCombineModeValidation.cs
- TypeName.cs
- GroupItem.cs