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
- SchemaLookupTable.cs
- GenerateScriptTypeAttribute.cs
- RectangleConverter.cs
- SizeValueSerializer.cs
- ServerType.cs
- FunctionQuery.cs
- OleDbPropertySetGuid.cs
- FontUnit.cs
- DataReceivedEventArgs.cs
- Underline.cs
- CultureSpecificCharacterBufferRange.cs
- InstanceDescriptor.cs
- __ComObject.cs
- StaticDataManager.cs
- TabControlCancelEvent.cs
- __TransparentProxy.cs
- AnnotationResourceCollection.cs
- OleDbRowUpdatedEvent.cs
- X500Name.cs
- DesignerTransactionCloseEvent.cs
- FontFamily.cs
- DecimalMinMaxAggregationOperator.cs
- codemethodreferenceexpression.cs
- GetWinFXPath.cs
- Simplifier.cs
- MoveSizeWinEventHandler.cs
- DataDocumentXPathNavigator.cs
- _NTAuthentication.cs
- SqlConnectionPoolGroupProviderInfo.cs
- _ContextAwareResult.cs
- WindowsFormsEditorServiceHelper.cs
- ToolStripSplitStackLayout.cs
- handlecollector.cs
- PropertyGridEditorPart.cs
- SafeRightsManagementHandle.cs
- DtdParser.cs
- FormClosedEvent.cs
- HwndKeyboardInputProvider.cs
- XPathDocumentNavigator.cs
- FlowLayout.cs
- HtmlTernaryTree.cs
- MetadataFile.cs
- AdRotator.cs
- BrowserDefinition.cs
- StaticFileHandler.cs
- WinEventWrap.cs
- Stack.cs
- SmtpReplyReaderFactory.cs
- NamespaceEmitter.cs
- ViewCellRelation.cs
- GroupItem.cs
- EventLogHandle.cs
- LinkButton.cs
- ExtendedPropertyCollection.cs
- SystemInfo.cs
- RangeContentEnumerator.cs
- ObjectDataProvider.cs
- DesignerInterfaces.cs
- DateTimeOffsetConverter.cs
- MarkupWriter.cs
- CodeTypeDeclaration.cs
- Point.cs
- HttpPostedFile.cs
- IdentityModelDictionary.cs
- LambdaCompiler.Logical.cs
- Italic.cs
- BamlLocalizationDictionary.cs
- X509Utils.cs
- TargetFrameworkAttribute.cs
- Style.cs
- MenuItemStyleCollectionEditor.cs
- WpfKnownType.cs
- XmlSchemaFacet.cs
- ListViewItemEventArgs.cs
- TransformProviderWrapper.cs
- DataPager.cs
- Screen.cs
- WizardPanelChangingEventArgs.cs
- SafeSecurityHelper.cs
- DependencyPropertyKind.cs
- XmlSchemaFacet.cs
- BinaryMessageFormatter.cs
- DataRowExtensions.cs
- LockingPersistenceProvider.cs
- TextTreeInsertUndoUnit.cs
- RoleGroup.cs
- DateTimeConverter2.cs
- CompositeCollection.cs
- MimeTypeAttribute.cs
- RightNameExpirationInfoPair.cs
- CriticalHandle.cs
- ClickablePoint.cs
- GPStream.cs
- SelectionRangeConverter.cs
- WebScriptEndpointElement.cs
- SqlTypeSystemProvider.cs
- PaperSource.cs
- SqlAliaser.cs
- ProgressBar.cs
- PropertyInfoSet.cs