Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CommonUI / System / Drawing / Advanced / AdjustableArrowCap.cs / 1305376 / AdjustableArrowCap.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
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;
using System.Runtime.Versioning;
///
///
/// Represents an adjustable arrow-shaped line
/// cap.
///
public sealed class AdjustableArrowCap : CustomLineCap {
internal AdjustableArrowCap(IntPtr nativeCap) :
base(nativeCap) {}
///
///
/// Initializes a new instance of the class with the specified width and
/// height.
///
[ResourceExposure(ResourceScope.Process)]
[ResourceConsumption(ResourceScope.Process)]
public AdjustableArrowCap(float width,
float height) :
this(width, height, true) {}
///
///
///
/// Initializes a new instance of the class with the specified width,
/// height, and fill property.
///
///
[ResourceExposure(ResourceScope.Process)]
[ResourceConsumption(ResourceScope.Process)]
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;
}
///
///
/// 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;
}
///
///
///
/// Gets or set the number of pixels between the outline of the arrow cap and the fill.
///
///
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 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.
//
//-----------------------------------------------------------------------------
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;
using System.Runtime.Versioning;
///
///
/// Represents an adjustable arrow-shaped line
/// cap.
///
public sealed class AdjustableArrowCap : CustomLineCap {
internal AdjustableArrowCap(IntPtr nativeCap) :
base(nativeCap) {}
///
///
/// Initializes a new instance of the class with the specified width and
/// height.
///
[ResourceExposure(ResourceScope.Process)]
[ResourceConsumption(ResourceScope.Process)]
public AdjustableArrowCap(float width,
float height) :
this(width, height, true) {}
///
///
///
/// Initializes a new instance of the class with the specified width,
/// height, and fill property.
///
///
[ResourceExposure(ResourceScope.Process)]
[ResourceConsumption(ResourceScope.Process)]
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;
}
///
///
/// 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;
}
///
///
///
/// Gets or set the number of pixels between the outline of the arrow cap and the fill.
///
///
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 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OracleRowUpdatingEventArgs.cs
- SafeWaitHandle.cs
- ColumnProvider.cs
- TraceSwitch.cs
- ClassImporter.cs
- XmlSchemaIdentityConstraint.cs
- SwitchElementsCollection.cs
- WindowsToolbarAsMenu.cs
- XPathArrayIterator.cs
- XmlReturnReader.cs
- Rules.cs
- codemethodreferenceexpression.cs
- DataMisalignedException.cs
- CursorInteropHelper.cs
- FormsAuthentication.cs
- XhtmlBasicPanelAdapter.cs
- MetadataPropertyvalue.cs
- UnsafeNativeMethods.cs
- PeerCustomResolverElement.cs
- EnumerableRowCollection.cs
- StorageModelBuildProvider.cs
- SourceSwitch.cs
- CheckBoxRenderer.cs
- ActivationServices.cs
- Rules.cs
- XmlTypeMapping.cs
- InvalidEnumArgumentException.cs
- NameNode.cs
- PasswordTextContainer.cs
- ReadOnlyActivityGlyph.cs
- _AutoWebProxyScriptWrapper.cs
- CustomAssemblyResolver.cs
- ContentHostHelper.cs
- ToolBarOverflowPanel.cs
- RecommendedAsConfigurableAttribute.cs
- Automation.cs
- DocumentPage.cs
- OdbcTransaction.cs
- GenerateDerivedKeyRequest.cs
- FlowDocumentFormatter.cs
- RelationshipEndMember.cs
- IMembershipProvider.cs
- CodeDefaultValueExpression.cs
- SizeAnimationUsingKeyFrames.cs
- Trigger.cs
- exports.cs
- DefaultParameterValueAttribute.cs
- EventSetter.cs
- StylusPointProperties.cs
- SQLGuid.cs
- AuthenticationConfig.cs
- XmlReaderSettings.cs
- CounterSetInstanceCounterDataSet.cs
- FocusManager.cs
- WindowsGraphicsCacheManager.cs
- ObjectSecurity.cs
- BaseCodeDomTreeGenerator.cs
- SiteMap.cs
- BuilderPropertyEntry.cs
- ProfileGroupSettings.cs
- QueryConverter.cs
- RadialGradientBrush.cs
- ModifierKeysConverter.cs
- XpsS0ValidatingLoader.cs
- BaseComponentEditor.cs
- ColumnMapTranslator.cs
- WrappedIUnknown.cs
- EntityTemplateUserControl.cs
- PersistenceMetadataNamespace.cs
- TrackingLocation.cs
- VariableValue.cs
- EnumDataContract.cs
- localization.cs
- Error.cs
- Collection.cs
- ShutDownListener.cs
- TextEditorSpelling.cs
- MarkupCompilePass1.cs
- QilPatternVisitor.cs
- ControlLocalizer.cs
- EDesignUtil.cs
- InstanceLockTracking.cs
- XmlChoiceIdentifierAttribute.cs
- PageAsyncTaskManager.cs
- DataGrid.cs
- SymbolTable.cs
- StringPropertyBuilder.cs
- MruCache.cs
- XPathItem.cs
- DeferredSelectedIndexReference.cs
- EncryptedKey.cs
- DataBoundControlHelper.cs
- Splitter.cs
- CrossContextChannel.cs
- XPathScanner.cs
- ProjectionPathSegment.cs
- Positioning.cs
- FaultContractAttribute.cs
- CodeConstructor.cs
- InkPresenter.cs