Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / CommonUI / System / Drawing / Advanced / AdjustableArrowCap.cs / 1 / AdjustableArrowCap.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /*************************************************************************\ * * Copyright (c) 1998-2000, Microsoft Corp. All Rights Reserved. * * Module Name: * * AdjustableArrowCap.cs * * Abstract: * * Native GDI+ AdjustableArrowCap structure. * * Revision History: * * 3/14/2k [....] * Created it. * \**************************************************************************/ namespace System.Drawing.Drawing2D { using Microsoft.Win32; using System; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Drawing.Internal; using System.Runtime.InteropServices; ////// /// Represents an adjustable arrow-shaped line /// cap. /// public sealed class AdjustableArrowCap : CustomLineCap { internal AdjustableArrowCap(IntPtr nativeCap) : base(nativeCap) {} ////// /// Initializes a new instance of the public AdjustableArrowCap(float width, float height) : this(width, height, true) {} ///class with the specified width and /// height. /// /// /// public AdjustableArrowCap(float width, float height, bool isFilled) { IntPtr nativeCap = IntPtr.Zero; int status = SafeNativeMethods.Gdip.GdipCreateAdjustableArrowCap( height, width, isFilled, out nativeCap); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); SetNativeLineCap(nativeCap); } private void _SetHeight(float height) { int status = SafeNativeMethods.Gdip.GdipSetAdjustableArrowCapHeight(new HandleRef(this, nativeCap), height); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); } private float _GetHeight() { float height; int status = SafeNativeMethods.Gdip.GdipGetAdjustableArrowCapHeight(new HandleRef(this, nativeCap), out height); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); return height; } ////// Initializes a new instance of the ///class with the specified width, /// height, and fill property. /// /// /// Gets or sets the height of the arrow cap. /// public float Height { get { return _GetHeight(); } set { _SetHeight(value); } } private void _SetWidth(float width) { int status = SafeNativeMethods.Gdip.GdipSetAdjustableArrowCapWidth(new HandleRef(this, nativeCap), width); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); } private float _GetWidth() { float width; int status = SafeNativeMethods.Gdip.GdipGetAdjustableArrowCapWidth(new HandleRef(this, nativeCap), out width); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); return width; } ////// /// Gets or sets the width of the arrow cap. /// public float Width { get { return _GetWidth(); } set { _SetWidth(value); } } private void _SetMiddleInset(float middleInset) { int status = SafeNativeMethods.Gdip.GdipSetAdjustableArrowCapMiddleInset(new HandleRef(this, nativeCap), middleInset); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); } private float _GetMiddleInset() { float middleInset; int status = SafeNativeMethods.Gdip.GdipGetAdjustableArrowCapMiddleInset(new HandleRef(this, nativeCap), out middleInset); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); return middleInset; } ////// /// public float MiddleInset { get { return _GetMiddleInset(); } set { _SetMiddleInset(value); } } private void _SetFillState(bool isFilled) { int status = SafeNativeMethods.Gdip.GdipSetAdjustableArrowCapFillState(new HandleRef(this, nativeCap), isFilled); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); } private bool _IsFilled() { bool isFilled = false; int status = SafeNativeMethods.Gdip.GdipGetAdjustableArrowCapFillState(new HandleRef(this, nativeCap), out isFilled); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); return isFilled; } ////// Gets or set the number of pixels between the outline of the arrow cap and the fill. /// ////// /// Gets or sets a value indicating whether the /// arrow cap is filled. /// public bool Filled { get { return _IsFilled(); } set { _SetFillState(value); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PropertyValueChangedEvent.cs
- COM2ExtendedUITypeEditor.cs
- XmlDocumentType.cs
- ListItemCollection.cs
- ValidationVisibilityAttribute.cs
- ExtensionDataObject.cs
- XPathDocumentIterator.cs
- OperatingSystem.cs
- InfiniteTimeSpanConverter.cs
- ValidationManager.cs
- DataContractSerializerSection.cs
- _Rfc2616CacheValidators.cs
- ComplexPropertyEntry.cs
- DateRangeEvent.cs
- LinqDataView.cs
- HtmlUtf8RawTextWriter.cs
- CompatibleComparer.cs
- ProfilePropertySettingsCollection.cs
- XmlReflectionMember.cs
- WindowAutomationPeer.cs
- XPathAxisIterator.cs
- URL.cs
- SafeWaitHandle.cs
- RelatedPropertyManager.cs
- DrawingAttributes.cs
- WebServiceResponse.cs
- PageRanges.cs
- AuthenticationServiceManager.cs
- ParserOptions.cs
- HyperlinkAutomationPeer.cs
- MimeImporter.cs
- XmlMembersMapping.cs
- Simplifier.cs
- DesignerSerializationOptionsAttribute.cs
- ObjectQueryProvider.cs
- HitTestDrawingContextWalker.cs
- WebPartConnectionCollection.cs
- HtmlInputText.cs
- DragDrop.cs
- AssertSection.cs
- MailAddress.cs
- BoundPropertyEntry.cs
- RelatedImageListAttribute.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- SmtpNetworkElement.cs
- CodeSubDirectory.cs
- FlowPosition.cs
- FrameworkObject.cs
- _emptywebproxy.cs
- MenuStrip.cs
- DataGridViewColumnStateChangedEventArgs.cs
- MatrixTransform.cs
- ControlBuilderAttribute.cs
- _WinHttpWebProxyDataBuilder.cs
- Glyph.cs
- TraceFilter.cs
- SelectionEditingBehavior.cs
- BinHexDecoder.cs
- TdsParserSessionPool.cs
- StickyNoteAnnotations.cs
- ReadOnlyDictionary.cs
- Accessible.cs
- IsolationInterop.cs
- InitializationEventAttribute.cs
- DCSafeHandle.cs
- Literal.cs
- ObjectDesignerDataSourceView.cs
- TagMapCollection.cs
- ParserExtension.cs
- ZipIOLocalFileBlock.cs
- JoinElimination.cs
- ContentPresenter.cs
- MemberHolder.cs
- HostedElements.cs
- AudioFormatConverter.cs
- DataGridCommandEventArgs.cs
- ReadOnlyCollection.cs
- HandleCollector.cs
- DrawingAttributeSerializer.cs
- ResourcePool.cs
- XmlSchemaObjectTable.cs
- HGlobalSafeHandle.cs
- LogRestartAreaEnumerator.cs
- ActiveDocumentEvent.cs
- Types.cs
- XPathBinder.cs
- XPathPatternBuilder.cs
- PropertyGridDesigner.cs
- SelectionPatternIdentifiers.cs
- ValidationVisibilityAttribute.cs
- AssemblyHash.cs
- CacheSection.cs
- DataGridViewTopRowAccessibleObject.cs
- SqlExpressionNullability.cs
- TextAdaptor.cs
- ViewStateException.cs
- XhtmlBasicLabelAdapter.cs
- DataTableMapping.cs
- SingleObjectCollection.cs
- EditorZone.cs