CVB.Net 14.0
MovableImageOverlay Class Reference

An overlay that can be dragged, resized at its borders, or both. More...

Inherits ImageOverlay.

Inherited by CrosshairOverlay, LabeledRectOverlay, and RectangleOverlay.

Public Member Functions

 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

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

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 Attributes

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

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

- 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...
 
- 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

An overlay that can be dragged, resized at its borders, or both.

Default settings are non-movable and non-resizeable.

Member Function Documentation

◆ TranslateBorderRectPos()

virtual RectPos TranslateBorderRectPos ( Point  pt,
RectPos  rectPos 
)
protectedvirtual

Translates the detected rectPos bases on the given pt .

Default implementation just returns rectPos .

DefaultNonBorderOperation is applied afterwards.

Parameters
ptPoint in overlay control coordinates.
rectPosCurrently detected position.
Returns
Translated position.

Property Documentation

◆ BorderBreadth

abstract double BorderBreadth
getprotected

Gets the width of the border line.

This is used to determine the drag/size positions on the border.

◆ IsDragging

bool IsDragging
get

Gets whether the overlay is currently dragged.

Resize state is signaled via IsResizing.

◆ IsResizing

bool IsResizing
get

Gets whether the overlay is currently resized.

Drag state is signaled via IsDragging.

◆ Movable

bool Movable
getset

Movable flag.

Default is false.

◆ Resizable

bool Resizable
getset

Resizable flag.

Default is false.