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
- SqlDeflator.cs
- ExtensibleClassFactory.cs
- KnownIds.cs
- AuthenticationModuleElementCollection.cs
- BuildManager.cs
- Vector3DValueSerializer.cs
- SchemaTableColumn.cs
- BindingContext.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- LineMetrics.cs
- SqlFacetAttribute.cs
- InternalRelationshipCollection.cs
- EmptyReadOnlyDictionaryInternal.cs
- WithParamAction.cs
- WindowPattern.cs
- JavaScriptSerializer.cs
- TableNameAttribute.cs
- DisplayMemberTemplateSelector.cs
- EntityDataSourceDataSelection.cs
- TextShapeableCharacters.cs
- ADConnectionHelper.cs
- WebPartDescriptionCollection.cs
- MediaEntryAttribute.cs
- MessageDecoder.cs
- HtmlFormWrapper.cs
- EntityConnection.cs
- MessageEnumerator.cs
- ClientOperationFormatterProvider.cs
- SQLBytesStorage.cs
- WorkflowOperationAsyncResult.cs
- PerformanceCounterPermissionEntryCollection.cs
- HMACSHA256.cs
- SvcMapFileLoader.cs
- TraceUtility.cs
- PageAdapter.cs
- UIElementParagraph.cs
- LinkedResource.cs
- MarkerProperties.cs
- DiscoveryReference.cs
- SocketElement.cs
- FormattedText.cs
- CookieHandler.cs
- ADMembershipUser.cs
- PropertyDescriptors.cs
- StorageComplexPropertyMapping.cs
- StrokeSerializer.cs
- TableLayoutStyle.cs
- EqualityComparer.cs
- WebPartConnectionsCancelVerb.cs
- IPGlobalProperties.cs
- PrinterSettings.cs
- VoiceInfo.cs
- ToolStripItemRenderEventArgs.cs
- CodeArrayCreateExpression.cs
- FileFormatException.cs
- HtmlLiteralTextAdapter.cs
- RelationshipConverter.cs
- AddIn.cs
- DesignerVerb.cs
- Point4D.cs
- ResourceContainer.cs
- ObjectConverter.cs
- AndMessageFilter.cs
- UIElementAutomationPeer.cs
- ReflectPropertyDescriptor.cs
- LocalizationParserHooks.cs
- HiddenField.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- EdmItemCollection.cs
- SystemUnicastIPAddressInformation.cs
- XmlSerializableServices.cs
- AdapterUtil.cs
- FixedSOMElement.cs
- BrowserCapabilitiesFactoryBase.cs
- CellParaClient.cs
- SessionSwitchEventArgs.cs
- DeclaredTypeValidator.cs
- WorkflowLayouts.cs
- TypeExtension.cs
- DeferredSelectedIndexReference.cs
- login.cs
- DES.cs
- ServerValidateEventArgs.cs
- SessionIDManager.cs
- WebBrowserBase.cs
- SendMessageChannelCache.cs
- InheritanceContextHelper.cs
- ClientType.cs
- RawStylusInputReport.cs
- CAGDesigner.cs
- DeclarationUpdate.cs
- XsdDataContractImporter.cs
- AuthenticationModulesSection.cs
- DATA_BLOB.cs
- Pair.cs
- CapabilitiesPattern.cs
- SecUtil.cs
- CompiledQueryCacheEntry.cs
- ExpressionWriter.cs
- SourceFileBuildProvider.cs