Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / DashStyle.cs / 1305600 / 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(IEnumerabledashes, 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(IEnumerabledashes, 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
- ToolboxComponentsCreatedEventArgs.cs
- SoapFaultCodes.cs
- FontCacheLogic.cs
- ReferenceService.cs
- IconBitmapDecoder.cs
- UserControlAutomationPeer.cs
- SuppressMessageAttribute.cs
- HostingEnvironmentSection.cs
- ScrollItemProviderWrapper.cs
- WebDescriptionAttribute.cs
- MultiBindingExpression.cs
- SafeNativeMethods.cs
- PropertyInformationCollection.cs
- StreamResourceInfo.cs
- Action.cs
- DeobfuscatingStream.cs
- GPStream.cs
- PointValueSerializer.cs
- RowCache.cs
- SynchronizedDispatch.cs
- Margins.cs
- FormParameter.cs
- DesignerVerbCollection.cs
- LineMetrics.cs
- PseudoWebRequest.cs
- RemotingSurrogateSelector.cs
- TreeBuilderXamlTranslator.cs
- ProtocolViolationException.cs
- PropertyMapper.cs
- XmlDataImplementation.cs
- EditingCoordinator.cs
- Directory.cs
- CachedFontFamily.cs
- OleDbErrorCollection.cs
- ToolStripRendererSwitcher.cs
- CompositionCommandSet.cs
- RunClient.cs
- TableLayoutSettings.cs
- AuthenticationSchemesHelper.cs
- KeyProperty.cs
- HttpResponseWrapper.cs
- DocumentOrderQuery.cs
- SqlUtils.cs
- ResourceAssociationType.cs
- Semaphore.cs
- CodeGenerationManager.cs
- CmsUtils.cs
- AttachInfo.cs
- QuaternionIndependentAnimationStorage.cs
- NameSpaceEvent.cs
- CodeNamespaceImportCollection.cs
- FieldAccessException.cs
- PrintControllerWithStatusDialog.cs
- DesignerRegion.cs
- CheckBoxList.cs
- StdValidatorsAndConverters.cs
- SafeRegistryKey.cs
- EventMap.cs
- RulePatternOps.cs
- UnmanagedMemoryAccessor.cs
- SignatureToken.cs
- OrderingQueryOperator.cs
- NetSectionGroup.cs
- ToolStripOverflowButton.cs
- NodeLabelEditEvent.cs
- TextTreeText.cs
- SelectionProviderWrapper.cs
- DataGridItemCollection.cs
- ConfigurationSectionCollection.cs
- Slider.cs
- glyphs.cs
- NodeInfo.cs
- EntityModelBuildProvider.cs
- HelpProvider.cs
- EffectiveValueEntry.cs
- CryptoApi.cs
- TracingConnectionListener.cs
- ToolBarButtonDesigner.cs
- HandleValueEditor.cs
- FrameworkObject.cs
- codemethodreferenceexpression.cs
- RegistrationProxy.cs
- streamingZipPartStream.cs
- SqlProviderManifest.cs
- IntPtr.cs
- RelationshipEndMember.cs
- BulletChrome.cs
- Column.cs
- PrintDocument.cs
- ConfigsHelper.cs
- StoryFragments.cs
- ControlParameter.cs
- CompiledRegexRunnerFactory.cs
- SqlTriggerContext.cs
- TextAutomationPeer.cs
- ContextMenuStrip.cs
- NetTcpBindingElement.cs
- DesignerCatalogPartChrome.cs
- WinFormsUtils.cs
- LineGeometry.cs