Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / Behavior / Glyph.cs / 1 / Glyph.cs
namespace System.Windows.Forms.Design.Behavior {
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Design;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Drawing;
using System.Windows.Forms.Design;
///
///
/// A Glyph represents a single UI entity managed by an Adorner. A Glyph
/// does not have an HWnd - and is rendered on the BehaviorService's
/// AdornerWindow control. Each Glyph can have a Behavior associated with
/// it - the idea here is that a successfully Hit-Tested Glyph has the
/// opportunity to 'push' a new/different Behavior onto the BehaviorService's
/// BehaviorStack. Note that all Glyphs really do is paint and hit test.
///
public abstract class Glyph {
private Behavior behavior;//the Behaivor associated with the Glyph - can be null.
///
///
/// Glyph's default constructor takes a Behavior.
///
protected Glyph(Behavior behavior) {
this.behavior = behavior;
}
///
///
/// This read-only property will return the Behavior associated with
/// this Glyph. The Behavior can be null.
///
public virtual Behavior Behavior{
get {
return behavior;
}
}
///
///
/// This read-only property will return the Bounds associated with
/// this Glyph. The Bounds can be empty.
///
public virtual Rectangle Bounds {
get {
return Rectangle.Empty;
}
}
///
///
/// Abstract method that forces Glyph implementations to provide
/// hit test logic. Given any point - if the Glyph has decided to
/// be involved with that location, the Glyph will need to return
/// a valid Cursor. Otherwise, returning null will cause the
/// the BehaviorService to simply ignore it.
///
public abstract Cursor GetHitTest(Point p);
///
///
/// Abstract method that forces Glyph implementations to provide
/// paint logic. The PaintEventArgs object passed into this method
/// contains the Graphics object related to the BehaviorService's
/// AdornerWindow.
///
public abstract void Paint(PaintEventArgs pe);
///
///
/// This method is called by inheriting classes to change the
/// Behavior object associated with the Glyph.
///
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
protected void SetBehavior(Behavior behavior) {
this.behavior = behavior;
}
}
}
// 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
- ItemsControl.cs
- EntityDataSourceDesigner.cs
- Substitution.cs
- SwitchAttribute.cs
- XmlDataImplementation.cs
- CombinedGeometry.cs
- GacUtil.cs
- ContentFileHelper.cs
- XmlAttributeProperties.cs
- ExtendedProperty.cs
- DesignerMetadata.cs
- DrawingServices.cs
- SynchronizedInputHelper.cs
- Stack.cs
- KeyConverter.cs
- COAUTHIDENTITY.cs
- DynamicDocumentPaginator.cs
- ClockController.cs
- SystemColors.cs
- ToolTipAutomationPeer.cs
- ConnectionsZone.cs
- GenerateTemporaryTargetAssembly.cs
- OpenTypeLayout.cs
- AssemblyAttributesGoHere.cs
- DigestComparer.cs
- ActivityCodeGenerator.cs
- ZipIORawDataFileBlock.cs
- ExtractorMetadata.cs
- SapiRecoContext.cs
- IriParsingElement.cs
- MobileControlBuilder.cs
- TiffBitmapEncoder.cs
- WindowsListViewItemStartMenu.cs
- SQLBinary.cs
- EventLogPermissionEntryCollection.cs
- DataGrid.cs
- SqlStatistics.cs
- SplineKeyFrames.cs
- ExplicitDiscriminatorMap.cs
- PermissionAttributes.cs
- SQLDouble.cs
- TimeZone.cs
- DesignerSerializerAttribute.cs
- SmiContext.cs
- PersonalizationStateQuery.cs
- ColumnClickEvent.cs
- AnimationException.cs
- LinqExpressionNormalizer.cs
- _NetworkingPerfCounters.cs
- WebPart.cs
- translator.cs
- SpellerStatusTable.cs
- TimeoutTimer.cs
- MenuItemCollectionEditor.cs
- CreateParams.cs
- ExecutionScope.cs
- HostingEnvironmentException.cs
- ConnectorDragDropGlyph.cs
- X509Chain.cs
- ContainerUIElement3D.cs
- WmiEventSink.cs
- StateMachineWorkflowInstance.cs
- RootBrowserWindowProxy.cs
- SqlXmlStorage.cs
- StringReader.cs
- NamespaceQuery.cs
- Button.cs
- QualifiedId.cs
- AsyncSerializedWorker.cs
- XsltSettings.cs
- initElementDictionary.cs
- ImageDrawing.cs
- EntryIndex.cs
- CodeObject.cs
- AssociationTypeEmitter.cs
- XmlUnspecifiedAttribute.cs
- RNGCryptoServiceProvider.cs
- CodeTypeOfExpression.cs
- ProgramNode.cs
- DataRecordInternal.cs
- TypeDescriptor.cs
- HtmlInputSubmit.cs
- XappLauncher.cs
- SimpleRecyclingCache.cs
- IPPacketInformation.cs
- AnnotationDocumentPaginator.cs
- EntitySqlQueryCacheKey.cs
- SqlDataSourceQueryEditorForm.cs
- FontInfo.cs
- OraclePermission.cs
- DSASignatureDeformatter.cs
- TraceRecord.cs
- SendMailErrorEventArgs.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- StringToken.cs
- StandardTransformFactory.cs
- GraphicsContext.cs
- ProfileEventArgs.cs
- CompilerState.cs
- BlockingCollection.cs