Code:
/ DotNET / DotNET / 8.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
- ArrangedElementCollection.cs
- HostedAspNetEnvironment.cs
- WebCategoryAttribute.cs
- ServiceChannelFactory.cs
- RadioButtonAutomationPeer.cs
- BulletedList.cs
- TextViewBase.cs
- XPathExpr.cs
- TdsParameterSetter.cs
- UriExt.cs
- SerializationAttributes.cs
- DynamicPhysicalDiscoSearcher.cs
- validationstate.cs
- FigureParaClient.cs
- DbProviderFactories.cs
- XmlNodeWriter.cs
- CachedRequestParams.cs
- TableDetailsCollection.cs
- TokenBasedSet.cs
- TraceContext.cs
- EnumBuilder.cs
- PageHandlerFactory.cs
- MenuItemBindingCollection.cs
- GridViewEditEventArgs.cs
- recordstatefactory.cs
- BamlRecordHelper.cs
- DPTypeDescriptorContext.cs
- RadioButtonAutomationPeer.cs
- SecondaryViewProvider.cs
- Misc.cs
- PageTheme.cs
- GraphicsState.cs
- CancelEventArgs.cs
- CannotUnloadAppDomainException.cs
- UpdateCommand.cs
- ApplicationDirectoryMembershipCondition.cs
- CorrelationManager.cs
- XmlAttributeAttribute.cs
- CssClassPropertyAttribute.cs
- HttpProfileGroupBase.cs
- Permission.cs
- Match.cs
- AnonymousIdentificationSection.cs
- DateTimeFormatInfoScanner.cs
- Variant.cs
- VirtualPathProvider.cs
- TimeStampChecker.cs
- ScrollPattern.cs
- MapPathBasedVirtualPathProvider.cs
- VisualTreeHelper.cs
- RegexMatchCollection.cs
- SourceLocation.cs
- Bezier.cs
- DebugController.cs
- UserControl.cs
- DelegateTypeInfo.cs
- CultureInfo.cs
- TextServicesCompartment.cs
- SqlProviderManifest.cs
- ProfileProvider.cs
- SecUtil.cs
- ExternalException.cs
- SoapSchemaImporter.cs
- DbInsertCommandTree.cs
- EntityDesignPluralizationHandler.cs
- GridViewUpdateEventArgs.cs
- FirewallWrapper.cs
- ViewStateException.cs
- KeysConverter.cs
- XsltOutput.cs
- SrgsRule.cs
- DrawingGroup.cs
- CodeTypeReferenceCollection.cs
- BaseTemplateParser.cs
- ContractNamespaceAttribute.cs
- StringFreezingAttribute.cs
- ArrayTypeMismatchException.cs
- ColorAnimation.cs
- Directory.cs
- EnumBuilder.cs
- dsa.cs
- ModelItem.cs
- mediaclock.cs
- MissingManifestResourceException.cs
- SafeNativeMethods.cs
- SpeakProgressEventArgs.cs
- Socket.cs
- X509RecipientCertificateServiceElement.cs
- SharedConnectionListener.cs
- ConstrainedDataObject.cs
- TextSegment.cs
- SqlDesignerDataSourceView.cs
- EventHandlersStore.cs
- UnsafeMethods.cs
- HtmlLabelAdapter.cs
- EventKeyword.cs
- PropertySet.cs
- CollectionViewProxy.cs
- InputManager.cs
- MsmqIntegrationBindingCollectionElement.cs