Class
OverflowPrimitive

Represents a primitive element that renders directional overflow indicators, typically used to show that content extends beyond the visible area and can be scrolled or expanded in a specific direction.

Definition

Namespace:Telerik.WinControls.Primitives

Assembly:Telerik.WinControls.dll

Syntax:

cs-api-definition
public class OverflowPrimitive : BasePrimitive, IDisposable, INotifyPropertyChanged, ICustomTypeDescriptor, ISupportSystemSkin, IStylableNode, IPrimitive

Inheritance: objectDisposableObjectRadObjectRadElementVisualElementBasePrimitiveOverflowPrimitive

Implements: ICustomTypeDescriptorIDisposableINotifyPropertyChangedIPrimitiveIStylableNodeISupportSystemSkin

Inherited Members BasePrimitive.BoxCategoryBasePrimitive.PaintElement(IGraphics, float, SizeF)BasePrimitive.IsEmptyVisualElement.DefaultSizePropertyVisualElement.ForeColorPropertyVisualElement.BackColorPropertyVisualElement.FontPropertyVisualElement.SmoothingModePropertyVisualElement.OpacityPropertyVisualElement.CustomFontPropertyVisualElement.CustomFontSizePropertyVisualElement.CustomFontStylePropertyVisualElement.OnFontChanged(EventArgs)VisualElement.OnPropertyChanging(RadPropertyChangingEventArgs)VisualElement.PaintChildren(IGraphics, Rectangle, float, SizeF, bool)VisualElement.PrePaintElement(IGraphics)VisualElement.PostPaintElement(IGraphics)VisualElement.GetScaledFont(float)VisualElement.GetScaledFont(float, Font)VisualElement.DefaultSizeVisualElement.ForeColorVisualElement.BackColorVisualElement.FontVisualElement.CustomFontVisualElement.CustomFontSizeVisualElement.CustomFontStyleVisualElement.SmoothingModeVisualElement.OpacityVisualElement.FontChangedRadElement.BoundsPropertyRadElement.BorderThicknessPropertyRadElement.PaddingPropertyRadElement.MarginPropertyRadElement.AlignmentPropertyRadElement.AutoSizeModePropertyRadElement.FitToSizeModePropertyRadElement.MinSizePropertyRadElement.EnabledPropertyRadElement.CanFocusPropertyRadElement.IsItemFocusedPropertyRadElement.IsFocusedPropertyRadElement.IsMouseOverPropertyRadElement.IsMouseOverElementPropertyRadElement.IsMouseDownPropertyRadElement.ShouldPaintPropertyRadElement.VisibilityPropertyRadElement.NamePropertyRadElement.ClassPropertyRadElement.ClipDrawingPropertyRadElement.ShapePropertyRadElement.MouseClickedEventRadElement.MouseDoubleClickedEventRadElement.MouseDownEventRadElement.MouseUpEventRadElement.MouseWheelEventRadElement.ChildElementAddedEventRadElement.ParentChangedEventRadElement.BoundsChangedEventRadElement.VisibilityChangingEventRadElement.EnabledChangedEventRadElement.ControlChangedEventRadElement.BackgroundShapePropertyRadElement.BackgroundShapePaintModePropertyRadElement.ContainsFocusPropertyRadElement.ContainsMousePropertyRadElement.MaxSizePropertyRadElement.RightToLeftPropertyRadElement.AutoSizePropertyRadElement.ZIndexPropertyRadElement.AngleTransformPropertyRadElement.ScaleTransformPropertyRadElement.PositionOffsetPropertyRadElement.TagPropertyRadElement.StretchHorizontallyPropertyRadElement.StretchVerticallyPropertyRadElement.UseCompatibleTextRenderingPropertyRadElement.ClickModePropertyRadElement.styleVersionRadElement.paintSystemSkinRadElement.SetPropertyValueCommandRadElement.GetPropertyValueCommandRadElement.StylePropertyRadElement.CallCreateChildElements()RadElement.SuspendReferenceUpdate()RadElement.ResumeReferenceUpdate()RadElement.CreateChildElements()RadElement.OnLoad(bool)RadElement.LoadCore()RadElement.OnLoaded()RadElement.OnUnload(ComponentThemableElementTree, bool)RadElement.UnloadCore(ComponentThemableElementTree)RadElement.OnUnloaded(ComponentThemableElementTree)RadElement.OnElementTreeChanged(ComponentThemableElementTree)RadElement.OnBeginDispose()RadElement.SetParent(RadElement)RadElement.OnParentChanged(RadElement)RadElement.UpdateReferences(ComponentThemableElementTree, bool, bool)RadElement.ResetLayout(bool)RadElement.HasInvisibleAncestor()RadElement.ResetLayoutCore()RadElement.InvalidateArrange()RadElement.InvalidateArrange(bool)RadElement.InvalidateMeasure()RadElement.InvalidateMeasure(bool)RadElement.UpdateLayout()RadElement.SuspendLayout()RadElement.SuspendLayout(bool)RadElement.ResumeLayout(bool)RadElement.ResumeLayout(bool, bool)RadElement.Arrange(RectangleF)RadElement.Measure(SizeF)RadElement.SetBounds(Rectangle)RadElement.SetBounds(int, int, int, int)RadElement.GetBoundingRectangle(Size)RadElement.GetBoundingRectangle(Rectangle)RadElement.GetDesiredSize(bool)RadElement.PointToScreen(Point)RadElement.PointFromScreen(Point)RadElement.PointToControl(Point)RadElement.PointFromControl(Point)RadElement.LocationToControl()RadElement.RectangleToScreen(Rectangle)RadElement.HitTest(Point)RadElement.OnRenderSizeChanged(SizeChangedInfo)RadElement.OnChildDesiredSizeChanged(RadElement)RadElement.OnLayoutPropertyChanged(RadPropertyChangedEventArgs)RadElement.ArrangeCore(RectangleF)RadElement.MeasureCore(SizeF)RadElement.ShouldArrangeChild(RadElement)RadElement.ArrangeOverride(SizeF)RadElement.MeasureOverride(SizeF)RadElement.ShouldMeasureChild(RadElement)RadElement.MeasureChildren(SizeF)RadElement.GetArrangeRect(RectangleF)RadElement.CanExecuteLayoutOperation()RadElement.CalcLayoutOffset(PointF)RadElement.LockBounds()RadElement.UnlockBounds()RadElement.SetBoundsCore(Rectangle)RadElement.IsInValidState(bool)RadElement.Invalidate()RadElement.Invalidate(bool)RadElement.GetInvalidateBounds()RadElement.NotifyInvalidate(RadElement)RadElement.OnTransformationInvalidated()RadElement.PerformLayoutTransformation(ref RadMatrix)RadElement.PerformPaintTransformation(ref RadMatrix)RadElement.IsInGetAsBitmap()RadElement.PaintElementSkin(IGraphics)RadElement.PaintOverride(IGraphics, Rectangle, float, SizeF, bool)RadElement.PaintBackgroundShape(IGraphics)RadElement.PostPaintChildren(IGraphics, Rectangle, float, SizeF)RadElement.PaintChild(RadElement, IGraphics, Rectangle, float, SizeF, bool)RadElement.PaintShadow(RadElement, IGraphics)RadElement.PaintShadowCore(Graphics, Rectangle, RadItem)RadElement.GetShadowRect(ref Rectangle, int)RadElement.PaintFocusCues(IGraphics, Rectangle)RadElement.GetAsBitmap(IGraphics, Brush, float, SizeF)RadElement.GetAsTransformedBitmap(IGraphics, Brush, float, SizeF)RadElement.GetAsTransformedBitmap(Brush, float, SizeF)RadElement.GetAsTransformedBitmap(Rectangle, Brush, float, SizeF)RadElement.GetAsBitmapEx(Color, float, SizeF)RadElement.GetAsBitmapEx(Brush, float, SizeF)RadElement.GetAsBitmap(Brush, float, SizeF)RadElement.IsInVisibleClipBounds(Rectangle)RadElement.SetClipping(Graphics)RadElement.GetClipRect()RadElement.ShouldPaintChild(RadElement)RadElement.GetFocusRect()RadElement.GetCurrentShape()RadElement.GetPaintRectangle(float, float, SizeF)RadElement.GetPatchedRect(RectangleF, float, SizeF)RadElement.GetXPVisualStyle()RadElement.GetVistaVisualStyle()RadElement.InitializeSystemSkinPaint()RadElement.UnitializeSystemSkinPaint()RadElement.GetSystemSkinPaintBounds()RadElement.OnUseSystemSkinChanged(EventArgs)RadElement.ShouldPaintSystemSkin()RadElement.ComposeShouldPaintSystemSkin()RadElement.GetStylablePropertiesFilter()RadElement.ResetStyleSettings(bool)RadElement.ResetStyleSettings(bool, RadProperty)RadElement.ProcessBehaviors(RadPropertyChangedEventArgs)RadElement.AddBehavior(PropertyChangeBehavior)RadElement.GetBehaviors()RadElement.RemoveBehavior(PropertyChangeBehavior)RadElement.ClearBehaviors()RadElement.AddRangeBehavior(PropertyChangeBehaviorCollection)RadElement.SetThemeApplied(bool)RadElement.OnStyleChanged(RadPropertyChangedEventArgs)RadElement.UnapplyStyle()RadElement.RemoveRangeBehaviors(PropertyChangeBehaviorCollection)RadElement.RemoveBehaviors(PropertyChangeBehavior)RadElement.RemoveRangeRoutedEventBehaviors(RoutedEventBehaviorCollection)RadElement.GetThemeEffectiveType()RadElement.GetChildrenByType(Type)RadElement.GetChildrenByBaseType(Type)RadElement.FindAncestorByThemeEffectiveType(Type)RadElement.FindAncestor<T>()RadElement.IsAncestorOf(RadElement)RadElement.FindDescendant<T>()RadElement.FindDescendant(Predicate<RadElement>)RadElement.FindDescendant(Type)RadElement.EnumDescendants(TreeTraversalMode)RadElement.EnumDescendants(Predicate<RadElement>, TreeTraversalMode)RadElement.EnumDescendants(Filter, TreeTraversalMode)RadElement.GetDescendants(Predicate<RadElement>, TreeTraversalMode)RadElement.GetDescendants(Filter, TreeTraversalMode)RadElement.GetAncestors(Filter)RadElement.GetAncestors(Predicate<RadElement>)RadElement.RaiseRoutedEvent(RadElement, RoutedEventArgs)RadElement.RaiseTunnelEvent(RadElement, RoutedEventArgs)RadElement.RaiseBubbleEvent(RadElement, RoutedEventArgs)RadElement.OnTunnelEvent(RadElement, RoutedEventArgs)RadElement.OnBubbleEvent(RadElement, RoutedEventArgs)RadElement.IsEventInProcess(RaisedRoutedEvent)RadElement.RegisterRoutedEvent(string, Type)RadElement.GetRegisterRoutedEvent(string, Type)RadElement.GetRegisterRoutedEvent(string, string)RadElement.GetRegisterRoutedEvent(string)RadElement.OnChildrenChanged(RadElement, ItemsChangeOperation)RadElement.GetChildren(ChildrenListOptions)RadElement.SendToBack()RadElement.BringToFront()RadElement.IsChildOf(RadElement)RadElement.Focus()RadElement.Focus(bool)RadElement.SetFocusPropertySafe(bool)RadElement.KillFocus()RadElement.OnCLREventsRise(RoutedEventArgs)RadElement.OnMouseMove(MouseEventArgs)RadElement.OnMouseHover(EventArgs)RadElement.OnEnabledChanged(RadPropertyChangedEventArgs)RadElement.OnParentEnabledChanged(RadPropertyChangedEventArgs)RadElement.OnMouseDown(MouseEventArgs)RadElement.OnMouseUp(MouseEventArgs)RadElement.OnLostMouseCapture(MouseEventArgs)RadElement.OnClick(EventArgs)RadElement.OnDoubleClick(EventArgs)RadElement.OnMouseEnter(EventArgs)RadElement.OnMouseLeave(EventArgs)RadElement.PerformClick()RadElement.OnMouseWheel(MouseEventArgs)RadElement.DoMouseWheel(MouseEventArgs)RadElement.DoClick(EventArgs)RadElement.DoDoubleClick(EventArgs)RadElement.IsInputKey(InputKeyEventArgs)RadElement.MouseEventArgsFromControl(MouseEventArgs)RadElement.DoMouseDown(MouseEventArgs)RadElement.DoMouseUp(MouseEventArgs)RadElement.DoMouseMove(MouseEventArgs)RadElement.ShowScreenTip(ScreenTipNeededEventArgs)RadElement.HideScreenTip()RadElement.DoMouseHover(EventArgs)RadElement.OnShowScreenTip(ComponentInputBehavior)RadElement.RaiseClick(EventArgs)RadElement.RaiseDoubleClick(EventArgs)RadElement.RaiseMouseWheel(MouseEventArgs)RadElement.UpdateContainsFocus(bool)RadElement.DoMouseEnter(EventArgs)RadElement.DoMouseLeave(EventArgs)RadElement.GetValue(RadProperty)RadElement.AddStylePropertySetting(IPropertySetting)RadElement.SetValueCore(RadPropertyValue, object, object, ValueSource)RadElement.NotifyChildren(RadPropertyChangedEventArgs)RadElement.OnBoundsChanged(RadPropertyChangedEventArgs)RadElement.OnLocationChanged(RadPropertyChangedEventArgs)RadElement.OnDisplayPropertyChanged(RadPropertyChangedEventArgs)RadElement.CanRaisePropertyChangeNotifications(RadPropertyValue)RadElement.IsPropertyCancelable(RadPropertyMetadata)RadElement.OnParentPropertyChanged(RadPropertyChangedEventArgs)RadElement.ReplaceDefaultDescriptors(PropertyDescriptorCollection)RadElement.ToString()RadElement.DisposeManagedResources()RadElement.PerformDispose(bool)RadElement.DisposeChildren()RadElement.GetStylableChildrenHierarchy()RadElement.GetStylableChildren()RadElement.GetClientRectangle(SizeF)RadElement.GetBorderThickness(BorderPrimitive)RadElement.DpiScaleChanged(SizeF)RadElement.ElementStateRadElement.DesiredSizeRadElement.IsLayoutSuspendedRadElement.BoundingRectangleRadElement.ControlBoundingRectangleRadElement.BypassLayoutPoliciesRadElement.IsArrangeValidRadElement.IsMeasureValidRadElement.TreeLevelRadElement.TransformRadElement.TotalTransformRadElement.ShouldPaintUsingParentShapeRadElement.UseSystemSkinRadElement.CanHaveOwnStyleRadElement.PropagateStyleToChildrenRadElement.ThemeEffectiveTypeRadElement.ElementTreeRadElement.ChildrenRadElement.ChildrenHierarchyRadElement.ParentRadElement.RoutedEventBehaviorsRadElement.LayoutableChildrenCountRadElement.ContainsFocusRadElement.ShouldHandleMouseInputRadElement.NotifyParentOnMouseInputRadElement.IsAbleToRespondToMouseEventsRadElement.AutoSizeRadElement.BoundsRadElement.LocationRadElement.SizeRadElement.BorderThicknessRadElement.PaddingRadElement.MarginRadElement.AlignmentRadElement.AutoSizeModeRadElement.FitToSizeModeRadElement.EnabledRadElement.CanFocusRadElement.IsFocusedRadElement.IsMouseOverRadElement.IsMouseOverElementRadElement.IsMouseDownRadElement.InvalidateChildrenOnChildChangedRadElement.ShouldPaintRadElement.VisibilityRadElement.IsElementVisibleRadElement.NameRadElement.ClassRadElement.ClipDrawingRadElement.ShapeRadElement.MinSizeRadElement.MaxSizeRadElement.ZIndexRadElement.RightToLeftRadElement.UseCompatibleTextRenderingRadElement.BackgroundShapeRadElement.BackgroundShapePaintModeRadElement.ContainsMouseRadElement.CaptureRadElement.ScaleTransformRadElement.AngleTransformRadElement.PositionOffsetRadElement.SerializePropertiesRadElement.SerializeElementRadElement.SerializeChildrenRadElement.RenderingMaxFramerateRadElement.IsThemeAppliedRadElement.ShouldApplyThemeRadElement.UseCenteredAngleTransformRadElement.TagRadElement.ClickModeRadElement.DoubleClickEnabledRadElement.CaptureOnMouseDownRadElement.IsItemHoveredRadElement.StyleRadElement.ToolTipTextRadElement.AutoToolTipRadElement.ScreenTipRadElement.AutoNumberKeyTipRadElement.DpiScaleFactorRadElement.LayoutUpdatedRadElement.MouseHoverRadElement.MouseMoveRadElement.MouseDownRadElement.MouseUpRadElement.ClickRadElement.DoubleClickRadElement.MouseEnterRadElement.MouseWheelRadElement.EnabledChangedRadElement.MouseLeaveRadElement.ChildrenChangedRadElement.LostMouseCaptureRadObject.BindingContextPropertyRadObject.RadTypeRadObject.ClearPropertyStore()RadObject.SuspendPropertyNotifications()RadObject.ResumePropertyNotifications()RadObject.GetPropertyValue(RadProperty)RadObject.SetDefaultValueOverride(RadProperty, object)RadObject.SetValue(RadProperty, object)RadObject.ResetValue(RadProperty)RadObject.ResetLocalValue(RadProperty)RadObject.ResetValue(RadProperty, ValueResetFlags)RadObject.UpdateValue(RadProperty)RadObject.GetValueSource(RadProperty)RadObject.GetRegisteredRadProperty(string)RadObject.UpdateValueCore(RadPropertyValue)RadObject.ResetValueCore(RadPropertyValue, ValueResetFlags)RadObject.GetDefaultValue(RadPropertyValue, object)RadObject.CoerceValue(RadPropertyValue, object)RadObject.ShouldSerializeProperty(RadProperty)RadObject.BindProperty(RadProperty, RadObject, RadProperty, PropertyBindingOptions)RadObject.UnbindProperty(RadProperty)RadObject.GetInheritedValue(RadProperty)RadObject.OnNotifyPropertyChanged(string)RadObject.OnNotifyPropertyChanged(PropertyChangedEventArgs)RadObject.OnShouldSerializeProperty(ShouldSerializePropertyEventArgs)RadObject.PropertyValuesRadObject.PropertyFilterRadObject.RadObjectTypeRadObject.BindingContextRadObject.PropertyChangedRadObject.RadPropertyChangedRadObject.RadPropertyChangingDisposableObject.GetBitState(long)DisposableObject.SetBitState(long, bool)DisposableObject.OnBitStateChanged(long, bool, bool)DisposableObject.Dispose()DisposableObject.Dispose(bool)DisposableObject.DisposeUnmanagedResources()DisposableObject.BitStateDisposableObject.EventsDisposableObject.IsDisposingDisposableObject.IsDisposedDisposableObject.DisposedDisposableObject.Disposing

Constructors

OverflowPrimitive(ArrowDirection)

Initializes a new instance of the OverflowPrimitive class with the specified arrow direction.

Declaration

cs-api-definition
public OverflowPrimitive(ArrowDirection arrowDirection)

Parameters

arrowDirection

ArrowDirection

The direction of the overflow arrow indicator.

Remarks

This constructor sets up the overflow primitive with the specified direction and automatically determines the appropriate minimum size based on the arrow orientation:

The constructor ensures that the primitive has an appropriate size for the specified direction, providing adequate space for rendering the arrow indicator while maintaining good usability.

Fields

ArrowDirectionProperty

Identifies the Direction dependency property.

Declaration

cs-api-definition
public static readonly RadProperty ArrowDirectionProperty

Field Value

RadProperty

Remarks

This property determines the direction of the overflow arrow indicator, affecting both the visual appearance and the automatic sizing behavior of the primitive.

DrawArrowProperty

Identifies the DrawArrow dependency property.

Declaration

cs-api-definition
public static readonly RadProperty DrawArrowProperty

Field Value

RadProperty

Remarks

This property provides control over whether the arrow indicator is actually rendered, allowing the primitive to be temporarily hidden while maintaining its layout space.

MinHorizontalSize

Defines the minimum size for horizontal overflow arrows (Left and Right directions).

Declaration

cs-api-definition
public static readonly Size MinHorizontalSize

Field Value

Size

Remarks

This size ensures adequate space for rendering horizontal arrow indicators while maintaining good usability for mouse and touch interactions. The 4x8 pixel size provides sufficient visual presence without consuming excessive layout space.

MinVerticalSize

Defines the minimum size for vertical overflow arrows (Up and Down directions).

Declaration

cs-api-definition
public static readonly Size MinVerticalSize

Field Value

Size

Remarks

This size ensures adequate space for rendering vertical arrow indicators while maintaining good usability for mouse and touch interactions. The 8x10 pixel size provides sufficient visual presence without consuming excessive layout space.

ShadowColorProperty

Identifies the ShadowColor dependency property.

Declaration

cs-api-definition
public static readonly RadProperty ShadowColorProperty

Field Value

RadProperty

Remarks

This property controls the color used for shadow effects in the overflow arrow, enhancing the visual depth and making the indicator more prominent against various backgrounds.

Properties

Direction

Gets or sets the direction of the overflow arrow indicator.

Declaration

cs-api-definition
public ArrowDirection Direction { get; set; }

Property Value

ArrowDirection

An ArrowDirection enumeration value specifying the direction of the overflow indicator. The default value is Down.

Remarks

This property determines both the visual appearance of the arrow and the automatic sizing behavior:

  • Left: Points left, uses horizontal sizing
  • Right: Points right, uses horizontal sizing
  • Up: Points up, uses vertical sizing
  • Down: Points down, uses vertical sizing

Changing this property automatically adjusts the primitive's size to match the appropriate minimum dimensions for the new direction and triggers a layout invalidation.

DrawArrow

Gets or sets a value indicating whether the overflow arrow should be rendered.

Declaration

cs-api-definition
public bool DrawArrow { get; set; }

Property Value

bool

true to render the arrow indicator; false to hide it. The default value is true.

Remarks

This property allows the overflow indicator to be temporarily hidden while maintaining its layout space and other properties. When set to false, the PaintPrimitive(IGraphics, float, SizeF) method returns immediately without rendering any visual content.

This is useful in scenarios where overflow indicators need to be conditionally shown based on content state, available space, or user preferences without requiring layout changes.

ShadowColor

Gets or sets the color used for shadow effects in the overflow arrow.

Declaration

cs-api-definition
public Color ShadowColor { get; set; }

Property Value

Color

A Color value representing the shadow color. The default value is White.

Remarks

This color is used to render shadow elements that enhance the visual depth of the overflow arrow, making it more prominent and easier to see against various background colors. The shadow effect helps distinguish the arrow from the surrounding content.

For best visual results, this color should provide appropriate contrast with both the main arrow color (ForeColor) and the containing element's background.

StretchHorizontally

Gets or sets a value indicating whether the primitive should stretch horizontally to fill available space.

Declaration

cs-api-definition
public override bool StretchHorizontally { get; set; }

Property Value

bool

false by default. Overflow indicators typically maintain fixed width for consistent appearance.

Overrides RadElement.StretchHorizontally

Remarks

Overflow arrows are generally designed to have a fixed size to ensure consistent visual appearance and proper user interaction. Setting this to true may cause the arrow to appear distorted.

StretchVertically

Gets or sets a value indicating whether the primitive should stretch vertically to fill available space.

Declaration

cs-api-definition
public override bool StretchVertically { get; set; }

Property Value

bool

false by default. Overflow indicators typically maintain fixed height for consistent appearance.

Overrides RadElement.StretchVertically

Remarks

Overflow arrows are generally designed to have a fixed size to ensure consistent visual appearance and proper user interaction. Setting this to true may cause the arrow to appear distorted.

Methods

InitializeFields()

Initializes the default field values for the overflow primitive.

Declaration

cs-api-definition
protected override void InitializeFields()

Overrides BasePrimitive.InitializeFields()

Remarks

This method configures the primitive to have fixed sizing by default, as overflow indicators typically have predetermined dimensions and should not stretch to fill available space. The primitive maintains its intrinsic size for consistent visual appearance.

OnPropertyChanged(RadPropertyChangedEventArgs)

Handles property changes for the overflow primitive, specifically responding to direction changes.

Declaration

cs-api-definition
protected override void OnPropertyChanged(RadPropertyChangedEventArgs e)

Parameters

e

RadPropertyChangedEventArgs

A RadPropertyChangedEventArgs that contains the event data.

Overrides VisualElement.OnPropertyChanged(RadPropertyChangedEventArgs)

Remarks

This method responds to changes in the ArrowDirection property by automatically adjusting the primitive's size to match the appropriate minimum dimensions for the new direction:

The sizing behavior respects the AutoSize property:

  • When AutoSize is enabled: Updates the MinSize property
  • When AutoSize is disabled: Updates the Size property directly

This automatic sizing ensures that the arrow indicator always has adequate space for proper rendering and user interaction regardless of the direction change.

PaintPrimitive(IGraphics, float, SizeF)

Renders the overflow arrow indicator using the specified graphics context, applying rotation and scaling transformations.

Declaration

cs-api-definition
public override void PaintPrimitive(IGraphics graphics, float angle, SizeF scale)

Parameters

graphics

IGraphics

The IGraphics interface used for drawing the overflow arrow.

angle

float

The rotation angle in degrees to apply to the rendered content.

scale

SizeF

The scaling factor to apply to the rendered content.

Overrides BasePrimitive.PaintPrimitive(IGraphics, float, SizeF)

Remarks

This method renders directional arrow indicators with anti-aliased graphics for smooth appearance. Each direction has its own specialized rendering implementation:

Left Arrow: Renders a left-pointing triangle with background accent lines

Right Arrow: Renders a right-pointing triangle with foreground accent line

Up Arrow: Renders an up-pointing triangle with background accent lines

Down Arrow: Renders a down-pointing double-triangle with shadow effect using both ShadowColor and ForeColor

The method respects the DrawArrow property and returns immediately without rendering if the arrow is disabled. Anti-aliasing is enabled for smooth triangle edges and restored after rendering.