Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CommonUI / System / Drawing / Advanced / HatchBrush.cs / 1305376 / HatchBrush.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Drawing.Drawing2D {
using System.Runtime.InteropServices;
using System.Diagnostics;
using System;
using System.Drawing;
using System.ComponentModel;
using Microsoft.Win32;
using System.Drawing.Internal;
using System.Runtime.Versioning;
/**
* Represent a HatchBrush brush object
*/
///
///
/// Defines a rectangular brush with a hatch
/// style, a foreground color, and a background color.
///
public sealed class HatchBrush : Brush
{
/**
* Create a new hatch brush object
*/
///
///
///
/// Initializes a new instance of the class with the specified and foreground color.
///
///
[ResourceExposure(ResourceScope.Process)]
[ResourceConsumption(ResourceScope.Process)]
public HatchBrush(HatchStyle hatchstyle, Color foreColor) :
this(hatchstyle, foreColor, Color.FromArgb( (int) unchecked( (int) 0xff000000) ) )
{
}
///
///
///
/// Initializes a new instance of the class with the specified ,
/// foreground color, and background color.
///
///
[ResourceExposure(ResourceScope.Process)]
[ResourceConsumption(ResourceScope.Process)]
public HatchBrush(HatchStyle hatchstyle, Color foreColor, Color backColor)
{
IntPtr brush = IntPtr.Zero;
int status = SafeNativeMethods.Gdip.GdipCreateHatchBrush((int) hatchstyle, foreColor.ToArgb(), backColor.ToArgb(), out brush);
if (status != SafeNativeMethods.Gdip.Ok)
throw SafeNativeMethods.Gdip.StatusException(status);
SetNativeBrushInternal(brush);
}
///
/// Constructor to initialize this object from a GDI+ native reference.
///
internal HatchBrush(IntPtr nativeBrush )
{
Debug.Assert( nativeBrush != IntPtr.Zero, "Initializing native brush with null." );
SetNativeBrushInternal( nativeBrush );
}
///
///
/// Creates an exact copy of this .
///
[ResourceExposure(ResourceScope.Process)]
[ResourceConsumption(ResourceScope.Process)]
public override object Clone()
{
IntPtr cloneBrush = IntPtr.Zero;
int status = SafeNativeMethods.Gdip.GdipCloneBrush(new HandleRef(this, this.NativeBrush), out cloneBrush);
if (status != SafeNativeMethods.Gdip.Ok)
throw SafeNativeMethods.Gdip.StatusException(status);
return new HatchBrush(cloneBrush);
}
/**
* Get hatch brush object attributes
*/
///
///
/// Gets the hatch style of this .
///
public HatchStyle HatchStyle
{
get {
int hatchStyle = 0;
int status = SafeNativeMethods.Gdip.GdipGetHatchStyle(new HandleRef(this, this.NativeBrush), out hatchStyle);
if (status != SafeNativeMethods.Gdip.Ok)
throw SafeNativeMethods.Gdip.StatusException(status);
return (HatchStyle) hatchStyle;
}
}
///
///
/// Gets the color of hatch lines drawn by this
/// .
///
public Color ForegroundColor
{
get {
int forecol;
int status = SafeNativeMethods.Gdip.GdipGetHatchForegroundColor(new HandleRef(this, this.NativeBrush), out forecol);
if (status != SafeNativeMethods.Gdip.Ok)
throw SafeNativeMethods.Gdip.StatusException(status);
return Color.FromArgb(forecol);
}
}
///
///
///
/// Gets the color of spaces between the hatch
/// lines drawn by this .
///
///
public Color BackgroundColor
{
get {
int backcol;
int status = SafeNativeMethods.Gdip.GdipGetHatchBackgroundColor(new HandleRef(this, this.NativeBrush), out backcol);
if (status != SafeNativeMethods.Gdip.Ok)
throw SafeNativeMethods.Gdip.StatusException(status);
return Color.FromArgb(backcol);
}
}
}
}
// 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
- Region.cs
- TypeResolver.cs
- Shape.cs
- ConfigurationStrings.cs
- OutOfProcStateClientManager.cs
- DSASignatureDeformatter.cs
- TableLayoutPanelCellPosition.cs
- BamlRecordHelper.cs
- SettingsContext.cs
- SoapAttributeAttribute.cs
- EntityCommandCompilationException.cs
- TemplateBindingExpressionConverter.cs
- MethodBuilderInstantiation.cs
- DataTableReader.cs
- SecureEnvironment.cs
- EntityRecordInfo.cs
- DataGridViewButtonColumn.cs
- CompModSwitches.cs
- EncodingDataItem.cs
- EventMemberCodeDomSerializer.cs
- Int32Storage.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- FontDriver.cs
- WebHttpBinding.cs
- XmlSchemaType.cs
- SiteOfOriginContainer.cs
- LineInfo.cs
- XPathParser.cs
- OneToOneMappingSerializer.cs
- XmlHierarchyData.cs
- _emptywebproxy.cs
- CommandTreeTypeHelper.cs
- CollectionDataContract.cs
- PrePrepareMethodAttribute.cs
- VScrollBar.cs
- WindowsImpersonationContext.cs
- FunctionNode.cs
- SecuritySessionFilter.cs
- ObjectComplexPropertyMapping.cs
- UnsafeNativeMethods.cs
- ChangesetResponse.cs
- ProtectedConfigurationSection.cs
- GenericTypeParameterBuilder.cs
- UTF32Encoding.cs
- Int64Animation.cs
- SignedXml.cs
- RoutedEvent.cs
- BooleanSwitch.cs
- XamlFxTrace.cs
- XmlBinaryWriter.cs
- Camera.cs
- MarkupWriter.cs
- HandleTable.cs
- DateTime.cs
- VisualStyleElement.cs
- activationcontext.cs
- Substitution.cs
- BamlLocalizationDictionary.cs
- DateBoldEvent.cs
- ListBoxItemWrapperAutomationPeer.cs
- GradientBrush.cs
- DoubleConverter.cs
- Parameter.cs
- DataGridViewCellValidatingEventArgs.cs
- TransformGroup.cs
- CodeTypeReference.cs
- ListControl.cs
- SolidBrush.cs
- HttpCookiesSection.cs
- UpdateManifestForBrowserApplication.cs
- SamlAssertion.cs
- IsolatedStoragePermission.cs
- DateTimeStorage.cs
- TypeInformation.cs
- EdgeProfileValidation.cs
- SystemInfo.cs
- CodeSnippetExpression.cs
- AssociationTypeEmitter.cs
- MatrixConverter.cs
- ModelUIElement3D.cs
- TextProviderWrapper.cs
- PointIndependentAnimationStorage.cs
- HttpModuleAction.cs
- WebPartTransformerAttribute.cs
- HTMLTextWriter.cs
- EnumCodeDomSerializer.cs
- TablePattern.cs
- AstTree.cs
- input.cs
- FreeFormDesigner.cs
- GeometryGroup.cs
- StickyNoteContentControl.cs
- DataGridViewCellLinkedList.cs
- ProcessHostMapPath.cs
- XmlUtf8RawTextWriter.cs
- WindowsAuthenticationModule.cs
- TrackBar.cs
- SqlUtil.cs
- IPEndPoint.cs
- DataServices.cs