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
- PointCollectionConverter.cs
- WorkflowPersistenceService.cs
- GridViewColumn.cs
- FlowLayoutSettings.cs
- CommandLibraryHelper.cs
- HelpExampleGenerator.cs
- XmlSchemaNotation.cs
- AlignmentYValidation.cs
- AnchoredBlock.cs
- SelectingProviderEventArgs.cs
- SymbolDocumentInfo.cs
- ProfileBuildProvider.cs
- SafeWaitHandle.cs
- SystemNetHelpers.cs
- UpdateManifestForBrowserApplication.cs
- WebRequestModuleElementCollection.cs
- DataServiceException.cs
- BoolExpressionVisitors.cs
- Privilege.cs
- SecurityResources.cs
- XmlDocumentSerializer.cs
- RequestCacheValidator.cs
- DataGridViewComboBoxColumn.cs
- Visual.cs
- ProcessRequestArgs.cs
- HostDesigntimeLicenseContext.cs
- StructureChangedEventArgs.cs
- ObjectParameter.cs
- FileLogRecord.cs
- FaultCallbackWrapper.cs
- input.cs
- DataGridViewCellLinkedList.cs
- PlatformCulture.cs
- FontFamily.cs
- WebPartCancelEventArgs.cs
- WebPartDeleteVerb.cs
- cookiecontainer.cs
- WriteableBitmap.cs
- DerivedKeySecurityTokenStub.cs
- FixedSOMGroup.cs
- DynamicILGenerator.cs
- WebPartsSection.cs
- XmlQueryRuntime.cs
- SqlMethodCallConverter.cs
- ImageDrawing.cs
- DBCSCodePageEncoding.cs
- EntityTypeEmitter.cs
- ManualResetEventSlim.cs
- WizardStepCollectionEditor.cs
- BinaryEditor.cs
- TaiwanCalendar.cs
- LineServicesRun.cs
- DesignOnlyAttribute.cs
- QueueProcessor.cs
- HandleCollector.cs
- SafeLibraryHandle.cs
- LoginUtil.cs
- DCSafeHandle.cs
- SystemIPInterfaceStatistics.cs
- ListViewTableRow.cs
- Sentence.cs
- TreeNode.cs
- EventListenerClientSide.cs
- CharacterShapingProperties.cs
- ForeignKeyConstraint.cs
- DoubleCollection.cs
- TypeConverterHelper.cs
- ContentFilePart.cs
- PageRequestManager.cs
- LassoHelper.cs
- FormViewInsertedEventArgs.cs
- RightNameExpirationInfoPair.cs
- RNGCryptoServiceProvider.cs
- WindowsFormsLinkLabel.cs
- XmlParserContext.cs
- SafeBitVector32.cs
- XmlCodeExporter.cs
- MultiTargetingUtil.cs
- WebPartExportVerb.cs
- Page.cs
- UInt32Storage.cs
- HtmlMeta.cs
- InvalidateEvent.cs
- CustomErrorsSection.cs
- PartBasedPackageProperties.cs
- NotImplementedException.cs
- TypeDescriptionProviderAttribute.cs
- EventDescriptor.cs
- Lasso.cs
- BreakSafeBase.cs
- TextTrailingCharacterEllipsis.cs
- MailWebEventProvider.cs
- WindowsGrip.cs
- ChangeInterceptorAttribute.cs
- PrintDialog.cs
- ContentValidator.cs
- BitmapCacheBrush.cs
- SqlMethodCallConverter.cs
- Int16Converter.cs
- QuaternionValueSerializer.cs