CVB.Net 14.0
FeatureOverlay Class Reference

Combines LabeledRectOverlay with a CrosshairOverlay like the ModelRectOverlay. More...

Inherits LabeledRectOverlay.

Public Member Functions

 FeatureOverlay ()
 Creates a default, unpositioned feature overlay.
 
- Public Member Functions inherited from LabeledRectOverlay
 LabeledRectOverlay ()
 Creates the labeled rect overlay.
 
- Public Member Functions inherited from MovableImageOverlay
 MovableImageOverlay ()
 Creates the movable image overlay.
 
- Public Member Functions inherited from ImageOverlay
 ImageOverlay ()
 Creates an image overlay object.
 
- Public Member Functions inherited from OverlayBase
 OverlayBase ()
 Creates an overlay object.
 

Static Public Attributes

const string PART_Crosshair = "PART_Crosshair"
 The name of the crosshair part.
 
static readonly DependencyProperty CrosshairSizeProperty
 Dependency property object.
 
static readonly DependencyProperty FeatureXProperty
 FeatureX dependency property.
 
static readonly DependencyProperty FeatureYProperty
 FeatureY dependency property.
 
static readonly DependencyProperty FeatureExtentLeftProperty
 FeatureExtentLeft dependency property.
 
static readonly DependencyProperty FeatureExtentTopProperty
 FeatureExtentTop dependency property.
 
static readonly DependencyProperty FeatureExtentRightProperty
 FeatureExtentRight dependency property.
 
static readonly DependencyProperty FeatureExtentBottomProperty
 FeatureExtentBottom dependency property.
 
static readonly DependencyProperty RelativeFeatureXProperty
 Read-only FeatureX dependency property.
 
static readonly DependencyProperty RelativeFeatureYProperty
 Read-only FeatureY dependency property.
 
- Static Public Attributes inherited from LabeledRectOverlay
static readonly DependencyProperty CanCenterDragProperty
 Dependency property CanCenterDrag.
 
static readonly DependencyProperty StrokeProperty
 Dependency property object.
 
static readonly DependencyProperty StrokeThicknessProperty
 Dependency property object.
 
static readonly DependencyProperty TextProperty
 Dependency property for Text.
 
static readonly DependencyProperty TextMarginProperty
 Dependency property TextMargin.
 
- Static Public Attributes inherited from MovableImageOverlay
static readonly DependencyProperty IsDraggingProperty
 Read-only IsDragging dependency property.
 
static readonly DependencyProperty IsResizingProperty
 Read-only IsResizing dependency property.
 
static readonly DependencyProperty MinOverlayWidthProperty
 MinOverlayWidth property.
 
static readonly DependencyProperty MinOverlayHeightProperty
 MinOverlayWidth property.
 
static readonly DependencyProperty MovableProperty
 Movable dependency property.
 
static readonly DependencyProperty ResizableProperty
 Resizable dependency property.
 
- Static Public Attributes inherited from ImageOverlay
static readonly DependencyProperty AutoScaleContentProperty
 Backing store for the AutoScaleContent property. More...
 
static readonly DependencyProperty CoordinatesProperty
 Dependency property object.
 
static readonly DependencyProperty NonScaledTransformProperty
 Backing store for the NonScaledTransform property. More...
 
static readonly DependencyProperty PixelCoordinateSystemProperty
 Backing store for the PixelCoordinateSystem property. More...
 
static readonly DependencyProperty ScaledTransformProperty
 Backing store for the ScaledTransform property. More...
 
static readonly DependencyProperty StandardLineWidthProperty
 Backing store.
 
static readonly DependencyProperty EffectiveLineWidthProperty = EffectiveLineWidthPropertyKey.DependencyProperty
 Backing store.
 
- Static Public Attributes inherited from OverlayBase
static readonly DependencyProperty ActualZoomFactorProperty = ActualZoomFactorKey.DependencyProperty
 Backing store for the ActualZoomFactor property.
 
static readonly DependencyProperty InverseActualZoomFactorProperty = InverseActualZoomFactorPropertyKey.DependencyProperty
 Backing store.
 
static readonly DependencyProperty OverlayHeightProperty
 Backing store for the OverlayHeight property
 
static readonly DependencyProperty OverlayWidthProperty
 Backing store for the OverlayWidth property.
 
static readonly DependencyProperty OverlayXProperty
 Backing store for the OverlayX property.
 
static readonly DependencyProperty OverlayYProperty
 Backing store for the OverlayY property.
 
static readonly DependencyProperty ParentDisplayCanvasProperty
 Backing store for the readonly ParentDisplayCanvas property.
 
static readonly DependencyProperty BottomProperty
 Backing store for the Bottom property.
 
static readonly DependencyProperty LeftProperty
 Backing store for the Left property.
 
static readonly DependencyProperty LengthUnitProperty
 Backing store for the LengthUnit property.
 
static readonly DependencyProperty RightProperty
 Backing store for the Right property.
 
static readonly DependencyProperty TopProperty
 Backing store for the Top property.
 

Protected Member Functions

override void OnRender (DrawingContext drawingContext)
 Called every time this overlay needs to be repainted. More...
 
- Protected Member Functions inherited from LabeledRectOverlay
override Size ArrangeOverride (Size arrangeBounds)
 Called when this overlay is to be placed on the canvas. More...
 
override void OnRender (DrawingContext drawingContext)
 Called every time this overlay needs to be repainted. More...
 
- Protected Member Functions inherited from MovableImageOverlay
virtual RectPos TranslateBorderRectPos (Point pt, RectPos rectPos)
 Translates the detected rectPos bases on the given pt . More...
 
- Protected Member Functions inherited from OverlayBase
virtual void OnParentDisplayCanvasChanged (DisplayCanvas oldCanvas, DisplayCanvas newCanvas)
 Event raiser. More...
 

Static Protected Member Functions

static void OnPenPropsChanged (DependencyObject d, DependencyPropertyChangedEventArgs e)
 Called when either LabeledRectOverlay.Stroke or LabeledRectOverlay.StrokeThickness are changed. More...
 
- Static Protected Member Functions inherited from ImageOverlay
static new void OnActualZoomFactorChanged (DependencyObject d, DependencyPropertyChangedEventArgs e)
 React to changes in the zoom factor. More...
 
static object CoerceCoordinate (DependencyObject d, object baseValue)
 Ensures correct location handling for (sub)pixel coordinate mode. More...
 
- Static Protected Member Functions inherited from OverlayBase
static void OnActualZoomFactorChanged (DependencyObject d, DependencyPropertyChangedEventArgs e)
 React to property changes. More...
 

Static Protected Attributes

const double CrosshairSizeDefault = 20.0
 Default for the property.
 
- Static Protected Attributes inherited from LabeledRectOverlay
const double StrokeThicknessDefault = 1.0
 Default for the property.
 
- Static Protected Attributes inherited from MovableImageOverlay
static readonly DependencyPropertyKey IsDraggingKey
 Read-only IsDragging dependency property key.
 
static readonly DependencyPropertyKey IsResizingKey
 Read-only IsResizing dependency property key.
 
- Static Protected Attributes inherited from ImageOverlay
const CoordinateMode CoordinatesDefault = CoordinateMode.Pixel
 Default for the property.
 
static readonly DependencyPropertyKey EffectiveLineWidthPropertyKey
 Backing store key.
 
- Static Protected Attributes inherited from OverlayBase
static readonly DependencyPropertyKey ActualZoomFactorKey
 The Key for readonly ActualZoomFactor property.
 
static readonly DependencyPropertyKey InverseActualZoomFactorPropertyKey
 Backing store key.
 

Properties

double CrosshairSize [get, set]
 Extent of the feature window relative to the position of the overlay.
 
double FeatureX [get, set]
 Gets or sets the feature point. More...
 
double FeatureY [get, set]
 Gets or sets the feature point. More...
 
double FeatureExtentLeft [get, set]
 Gets or sets the extent of the feature. More...
 
double FeatureExtentTop [get, set]
 Gets or sets the extent of the feature. More...
 
double FeatureExtentRight [get, set]
 Gets or sets the extent of the feature. More...
 
double FeatureExtentBottom [get, set]
 Gets or sets the extent of the feature. More...
 
double RelativeFeatureX [get]
 Gets the relative feature point. More...
 
double RelativeFeatureY [get]
 Gets the relative feature point. More...
 
Point FeatureLocation [get, set]
 Gets or sets the feature location (FeatureX and FeatureY properties.
 
Thickness FeatureExtent [get, set]
 Gets or sets the relative feature extent. More...
 
- Properties inherited from LabeledRectOverlay
bool CanCenterDrag [get, set]
 Gets or sets whether the rect inner area is used for drag operations.
 
Brush Stroke [get, set]
 Brush to use for painting
 
double StrokeThickness [get, set]
 Extent of the feature window relative to the position of the overlay.
 
string Text [get, set]
 Gets or sets the label text.
 
Thickness TextMargin [get, set]
 Gets or sets the margin around the label text.
 
override double BorderBreadth [get]
 Border width is the stroke thickness.
 
- Properties inherited from MovableImageOverlay
bool IsDragging [get]
 Gets whether the overlay is currently dragged. More...
 
bool IsResizing [get]
 Gets whether the overlay is currently resized. More...
 
double MinOverlayWidth [get, set]
 Gets or sets minimal width of the overlay.
 
double MinOverlayHeight [get, set]
 Gets or sets minimal width of the overlay.
 
bool Movable [get, set]
 Movable flag. More...
 
bool Resizable [get, set]
 Resizable flag. More...
 
abstract double BorderBreadth [get]
 Gets the width of the border line. More...
 
RectPos DefaultNonBorderOperation [get, set]
 Gets or sets the default operation when the mouse is not over the border.
 
- Properties inherited from ImageOverlay
AutoScaleContent AutoScaleContent [get, set]
 Defines whether or not the overlays in the canvas are automatically scaled according to the zoom factor.
 
CoordinateMode Coordinates [get, set]
 Coordinate system usage (pixel or sub pixel).
 
Transform NonScaledTransform [get]
 Gets the the transform that is used to undo automatic scaling of content according to the OverlayBase.ActualZoomFactor. More...
 
PixelCoordinateSystem PixelCoordinateSystem [get, set]
 Defines the location of a point in a pixel. More...
 
Transform ScaledTransform [get]
 Gets the the transform that is used to scale content according to the OverlayBase.ActualZoomFactor. More...
 
double StandardLineWidth [get, set]
 The standard line width is the width at which "normal" lines should be painted in the overlay. It is mostly a vehicle for calculating the effective line width and for binding purposes.
 
double EffectiveLineWidth [get, protected set]
 The effective line width is the line width at which to paint in order to make lines with the width defined in the property StandardLineWidth appear as if they were not zoomed.
 
- Properties inherited from OverlayBase
double ActualZoomFactor [get]
 Gets the actual zoom factor of the display canvas this overlay is on.
 
double InverseActualZoomFactor [get, protected set]
 Gets the inverse value of the actual Zoom factor (useful for painting items that are the same size regardless of zoom factor).
 
double OverlayHeight [get, set]
 Gets/sets the height of the overlay in the current length unit.
 
double OverlayWidth [get, set]
 Gets/sets the width of the overlay in the current length unit.
 
double OverlayX [get, set]
 Gets/sets the overlay x coordinate in the current length unit.
 
double OverlayY [get, set]
 Gets/set the overlay Y in the current length unit.
 
DisplayCanvas ParentDisplayCanvas [get, set]
 The DisplayCanvas this overlay is child of. More...
 
double Bottom [get, set]
 Layouts a child from the bottom. More...
 
double Left [get, set]
 Layouts a child from the left. More...
 
LengthUnit LengthUnit [get]
 Defines whether the layout properties are measured in image pixels or in device independent pixels as displayed by the canvas.
 
double Right [get, set]
 Layouts a child from the right. More...
 
double Top [get, set]
 Layouts a child from the top. More...
 

Additional Inherited Members

- Events inherited from ImageOverlay
EventHandler< ImageSourceChangedEventArgsImageSourceChanged
 Event that is fired when the parent DisplayCanvas' actual zoom factor is changed.
 
- Events inherited from OverlayBase
EventHandler< PropertyValueChangedEventArgs< DisplayCanvas > > ParentDisplayCanvasChanged
 Event that is fired when the parent DisplayCanvas is changed.
 
EventHandler< DisplayZoomEventArgsActualZoomFactorChanged
 Event that is fired when the parent DisplayCanvas' actual zoom factor is changed.
 

Detailed Description

Combines LabeledRectOverlay with a CrosshairOverlay like the ModelRectOverlay.

The difference to the ModelRectOverlay is the focus on the feature point and the feature extent. Here not the rect is positioned but the feature point and the rect is spanned according to this point.

This behavior is also reflected in the UI: moving the crosshair moves the whole rect.

Member Function Documentation

◆ OnPenPropsChanged()

static void OnPenPropsChanged ( DependencyObject  d,
DependencyPropertyChangedEventArgs  e 
)
staticprotected

Called when either LabeledRectOverlay.Stroke or LabeledRectOverlay.StrokeThickness are changed.

Parameters
dFeature dependency object.
eChange params.

◆ OnRender()

override void OnRender ( DrawingContext  drawingContext)
protected

Called every time this overlay needs to be repainted.

Parameters
drawingContextContext to draw on.

Property Documentation

◆ FeatureExtent

Thickness FeatureExtent
getset

Gets or sets the relative feature extent.

See FeatureExtentLeft, FeatureExtentTop, FeatureExtentRight and FeatureExtentBottom.

◆ FeatureExtentBottom

double FeatureExtentBottom
getset

Gets or sets the extent of the feature.

The extent is relative to the Feature point in image coordinates.

Setting this feature moves the bottom border without changing the Feature point.

◆ FeatureExtentLeft

double FeatureExtentLeft
getset

Gets or sets the extent of the feature.

The extent is relative to the Feature point in image coordinates.

Setting this feature moves the left border without changing the Feature point.

◆ FeatureExtentRight

double FeatureExtentRight
getset

Gets or sets the extent of the feature.

The extent is relative to the Feature point in image coordinates.

Setting this feature moves the right border without changing the Feature point.

◆ FeatureExtentTop

double FeatureExtentTop
getset

Gets or sets the extent of the feature.

The extent is relative to the Feature point in image coordinates.

Setting this feature moves the top border without changing the Feature point.

◆ FeatureX

double FeatureX
getset

Gets or sets the feature point.

The point is in absolute image coordinates.

Setting this feature moves the whole rect on the x-axis.

◆ FeatureY

double FeatureY
getset

Gets or sets the feature point.

The point is in absolute image coordinates.

Setting this feature moves the whole rect on the y-axis.

◆ RelativeFeatureX

double RelativeFeatureX
get

Gets the relative feature point.

The point is in image coordinates relative to the overlay origin.

◆ RelativeFeatureY

double RelativeFeatureY
get

Gets the relative feature point.

The point is in image coordinates relative to the overlay origin.