CVB.Net 14.0
ImageOverlay Class Reference

Stemmer.Cvb.Wpf.Controls.Display overlay placed on the displayed image. More...

Inherits OverlayBase.

Inherited by HorizontalRulerOverlay, MovableImageOverlay, NonClippingImageOverlay, RectSelectOverlay, and TextImageOverlay.

Public Member Functions

 ImageOverlay ()
 Creates an image overlay object.
 
- Public Member Functions inherited from OverlayBase
 OverlayBase ()
 Creates an overlay object.
 

Static Public Attributes

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.
 

Static Protected Member Functions

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

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

Events

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.
 

Additional Inherited Members

- Protected Member Functions inherited from OverlayBase
virtual void OnParentDisplayCanvasChanged (DisplayCanvas oldCanvas, DisplayCanvas newCanvas)
 Event raiser. More...
 

Detailed Description

Stemmer.Cvb.Wpf.Controls.Display overlay placed on the displayed image.

These overlays are always placed in image coordinates directly on the displayed image and are> moved/scaled accordingly.

Member Function Documentation

◆ CoerceCoordinate()

static object CoerceCoordinate ( DependencyObject  d,
object  baseValue 
)
staticprotected

Ensures correct location handling for (sub)pixel coordinate mode.

Parameters
dDependency property which is coerced.
baseValueInput value.
Returns
Coerced value.

◆ OnActualZoomFactorChanged()

static new void OnActualZoomFactorChanged ( DependencyObject  d,
DependencyPropertyChangedEventArgs  e 
)
staticprotected

React to changes in the zoom factor.

Parameters
d
e

Member Data Documentation

◆ AutoScaleContentProperty

readonly DependencyProperty AutoScaleContentProperty
static

Backing store for the AutoScaleContent property.

◆ NonScaledTransformProperty

readonly DependencyProperty NonScaledTransformProperty
static

Backing store for the NonScaledTransform property.

◆ PixelCoordinateSystemProperty

readonly DependencyProperty PixelCoordinateSystemProperty
static

Backing store for the PixelCoordinateSystem property.

◆ ScaledTransformProperty

readonly DependencyProperty ScaledTransformProperty
static

Backing store for the ScaledTransform property.

Property Documentation

◆ NonScaledTransform

Transform NonScaledTransform
get

Gets the the transform that is used to undo automatic scaling of content according to the OverlayBase.ActualZoomFactor.

This is the Transform.Identity if the whole overlay is not scaled (AutoScaleContent is Stemmer.Cvb.Wpf.Controls.AutoScaleContent.Off) or the inverse scale matrix based on the OverlayBase.ActualZoomFactor otherwise.

◆ PixelCoordinateSystem

Defines the location of a point in a pixel.

This attached works in conjunction with the OverlayBase.LengthUnitProperty if it is set to LengthUnit.ImagePixel. It is ignored for LengthUnit.DeviceIndependentPixel.

This defines where overlays are placed in the canvas. Either at the left-top location or in the center of the pixel/barycentric (default).

◆ ScaledTransform

Transform ScaledTransform
get

Gets the the transform that is used to scale content according to the OverlayBase.ActualZoomFactor.

This is the Transform.Identity if the whole overlay is scaled (AutoScaleContent is Stemmer.Cvb.Wpf.Controls.AutoScaleContent.RenderTransform) or the scale matrix based on the OverlayBase.ActualZoomFactor otherwise.