new SelectionModel(annotation, canModify, isSelected, docViewer)
Create a new selection model.
Parameters:
Name | Type | Description |
---|---|---|
annotation |
Annotations.Annotation | the annotation selected |
canModify |
boolean | modification of the annotation is allowed |
isSelected |
boolean | the annotation is already selected |
docViewer |
CoreControls.DocumentViewer | an instance of DocumentViewer. |
Members
-
<static> defaultNoPermissionSelectionOutlineColor
-
Defines the default color for the annotation selection outline when the user is not permitted to make modifications.
-
<static> defaultSelectionOutlineColor
-
Defines the default color for the annotation selection outline.
-
<static> selectionAccuracyPadding
-
Defines padding for selection accuracy. Default is 2. Increase this value to make selection more forgiving.
-
<static> selectionOutlineDashSize
-
Defines the dash size for the selection outline. Default is 4;
-
<static> selectionOutlineExtraPadding
-
Defines the default padding between selection control points. The padding only appears when the control points are too close.
-
<static> selectionOutlineThickness
-
Defines thickness of the annotation selection outline. Default is 1.
-
<static> showPaddingWhenAnnotationIsSmall
-
Defines if extra padding should be shown when the selected annotation is too small. Default is true.
-
<static> useDashedLine
-
Defines if a dashed line style should be used for the selection outline. Default is false.
Methods
-
canModify()
-
Indicates that the associated annotation is able to be modified
Returns:
- Type
- boolean
-
drawSelectionOutline(ctx, annotation, useDashedLines, zoom)
-
Draws the selection outline of the annotation. By default, a rectangle is drawn based on the annotations x, y, width and height.
Parameters:
Name Type Description ctx
CanvasRenderingContext2D annotation
Annotations.Annotation useDashedLines
boolean Whether to draw annotation selection outline using a dashed line zoom
number -
getControlHandles()
-
Returns the ControlHandle objects associated with this selection model.
Returns:
an array of ControlHandleObject- Type
- Array.<Annotations.ControlHandle>
-
getDimensions(annotation)
-
Gets the dimensions {x, y, width, height} of the selection bounding box. It may be different from the annotation's bounding box. e.g. The selection bounding box may have a padding.
Parameters:
Name Type Description annotation
Annotations.Annotation Returns:
-
isSelected()
-
Indicates that the associated annotation is already selected. This can be useful to implement different selection behaviors when an annotation is selected.
Returns:
- Type
- boolean
-
testControlHandles(annotation, zoom, x, y)
-
Hit detection for each control handle.
Parameters:
Name Type Description annotation
Annotations.Annotation zoom
number x
number y
number Returns:
the control handle that was hit -
testSelection(annotation, x, y, pageMatrix, zoom, rotation)
-
Determines if the provided point is a hit on the selected annotationhandle. * See Annotations.SelectionAlgorithm for usuable selection algorithms.
Parameters:
Name Type Description annotation
Annotations.Annotation the annotation x
number the x-coordinate of the point to test, in page coordinates y
number the y-coordinate of the point to test, in page coordinates pageMatrix
object the page matrix of the page the annotation is on zoom
number the zoom level of the page the annotation is on rotation
CoreControls.PageRotation the rotation of the page the annotation is on Returns:
true if the provided point is a hit- Type
- boolean