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
- DropSource.cs
- FormattedTextSymbols.cs
- SqlExpander.cs
- Permission.cs
- ScopedKnownTypes.cs
- RegexCompiler.cs
- DataGridCellEditEndingEventArgs.cs
- unsafeIndexingFilterStream.cs
- SecurityState.cs
- PeerValidationBehavior.cs
- ClaimTypeElement.cs
- PenContexts.cs
- BookmarkEventArgs.cs
- ContainerParagraph.cs
- UInt16Converter.cs
- EmulateRecognizeCompletedEventArgs.cs
- SourceFileInfo.cs
- nulltextnavigator.cs
- ExceptionHelpers.cs
- PolyLineSegment.cs
- AppDomainFactory.cs
- LinkLabel.cs
- TextTreePropertyUndoUnit.cs
- SymbolEqualComparer.cs
- HtmlContainerControl.cs
- LambdaCompiler.Address.cs
- LessThan.cs
- Visitors.cs
- CodeVariableReferenceExpression.cs
- CollectionEditor.cs
- MetadataItemCollectionFactory.cs
- ExpressionWriter.cs
- DbCommandDefinition.cs
- AnnotationAuthorChangedEventArgs.cs
- MultipartContentParser.cs
- DelegateSerializationHolder.cs
- DecimalAverageAggregationOperator.cs
- TemplateControlParser.cs
- LiteralLink.cs
- HttpListenerRequestUriBuilder.cs
- FtpRequestCacheValidator.cs
- TemplateBindingExtensionConverter.cs
- FixedBufferAttribute.cs
- SignedXml.cs
- BitmapEffectInput.cs
- HandleCollector.cs
- ErrorStyle.cs
- QueryStringHandler.cs
- DataRowExtensions.cs
- MemberAssignmentAnalysis.cs
- ContextMarshalException.cs
- httpapplicationstate.cs
- RelationshipConstraintValidator.cs
- XmlSchemaSimpleContentRestriction.cs
- DecoderFallback.cs
- PropertyTab.cs
- HwndHostAutomationPeer.cs
- ComponentEditorForm.cs
- EdmProviderManifest.cs
- BaseAutoFormat.cs
- EntityModelBuildProvider.cs
- PathFigure.cs
- ServicePoint.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- ClientFormsAuthenticationCredentials.cs
- BrushMappingModeValidation.cs
- BitmapFrameEncode.cs
- CacheMemory.cs
- XmlTextReaderImplHelpers.cs
- Helpers.cs
- TextElementEnumerator.cs
- ContentWrapperAttribute.cs
- GreenMethods.cs
- WebPartManagerInternals.cs
- _LocalDataStoreMgr.cs
- XmlElementList.cs
- WindowsToolbarAsMenu.cs
- BindingBase.cs
- Math.cs
- QueryInterceptorAttribute.cs
- XmlSchemaSimpleContentExtension.cs
- Atom10FormatterFactory.cs
- ToolboxComponentsCreatingEventArgs.cs
- DrawItemEvent.cs
- ListControlConvertEventArgs.cs
- XPathNodeHelper.cs
- ErrorWrapper.cs
- ToolStripItemCollection.cs
- HMACRIPEMD160.cs
- DelegateInArgument.cs
- NameNode.cs
- SafeRightsManagementQueryHandle.cs
- SessionStateContainer.cs
- BuildProviderAppliesToAttribute.cs
- DataSourceXmlElementAttribute.cs
- ExpandCollapsePattern.cs
- AggregateNode.cs
- ScrollItemPatternIdentifiers.cs
- HttpCacheVary.cs
- GlyphingCache.cs