new RubberStampCreateTool(docViewer)
Creates a new instance of the RubberStampCreateTool.
Parameters:
Name | Type | Description |
---|---|---|
docViewer |
CoreControls.DocumentViewer | an instance of DocumentViewer. |
Extends
Methods
-
addCustomStamp(data)
-
Add a single custom stamp to tool's list
Parameters:
Name Type Description data
Tools.RubberStampCreateTool.CustomStampData The custom stamp data -
addStamp()
-
Add the stamp to the document.
-
contextMenu(e)
-
The function called when a context menu should be shown. Use e.preventDefault to disable the default browser context menu
Parameters:
Name Type Description e
the event object - Inherited From:
-
drawCustomStamp(options)
-
Draw custom stamp annotation onto a canvas
Parameters:
Name Type Description options
object An object that can contain the following optional parameters Properties
Name Type Argument Description title
string <optional>
Custom stamp's main text subtitle
string <optional>
Time format text used as a custom timestamp, e.g. "DD-MM-YYYY" color
string <optional>
Fill color value, see Annotation.Color canvas
string <optional>
Canvas to draw this annotation width
string <optional>
Default width of stamp height
string <optional>
Default height of stamp canvasParent
string <optional>
Parent DOM element of canvas -
getCustomStampAnnotations()
-
Get array of custom annotations.
Returns:
- Type
- Array.<Annotations.Annotation>
-
getCustomStamps()
-
Returns array of objects representing the custom stamps
Returns:
An array of objects representing the custom stamps- Type
- Array.<Tools.RubberStampCreateTool.CustomStampData>
-
getDocumentViewer()
-
Returns the instance of DocumentViewer for this tool.
- Inherited From:
Returns:
the instance of DocumentViewer for this tool. -
getMouseLocation(e)
-
Takes an event object from a mouse event and converts the location into window coordinates
Parameters:
Name Type Description e
the event object containing mouse coordinates - Inherited From:
Returns:
returns an object with x and y coordinates of the mouse cursor in the viewer -
getPreview(annotation, parameters)
-
Gets the preview about how the annot will be drawn on the document
Parameters:
Name Type Description annotation
Annotations.StampAnnotation annotation to get the preview for. parameters
Object canvas parameters and optional text for annotation, e.g. translated text. e.g. { canvasHeight: number, canvasWidth: number, text: string } Returns:
A base64 string of the preview image- Type
- String
-
getStandardStampAnnotations()
-
Get array of standard stamp annotations.
Returns:
- Type
- Promise.<Array.<Annotations.Annotation>>
-
getStandardStamps()
-
Returns array of objects representing the built-in, default stamps
Returns:
- Type
- Array.<object>
-
getStandardStamps()
-
Returns array of objects representing the standard stamps
Returns:
An array of objects representing the standard stamps- Type
- Array.<object>
-
hidePreview()
-
Hide the preview element
-
isEmptyStamp()
-
Checks if the underlying annotation is empty. If the underlying annotation is a StampAnnotation type return true.
Returns:
- Type
- boolean
-
keyDown(e)
-
The function called when a keyboard key is down.
Parameters:
Name Type Description e
the event object containing keyboard key data. - Inherited From:
-
mouseDoubleClick(e)
-
The function called when the mouse left button is double clicked.
Parameters:
Name Type Description e
the event object containing mouse coordinates. - Inherited From:
-
mouseLeftDown(e)
-
The function called when the left mouse button is down
Parameters:
Name Type Description e
The event object containing mouse coordinates. - Inherited From:
-
mouseLeftUp(e)
-
The function called when the left mouse button is up. Typically, annotations are created and added to the annotation manager at this point.
Parameters:
Name Type Description e
The event object containing mouse coordinates. - Inherited From:
-
mouseMove(e)
-
The function called when the mouse moves.
Parameters:
Name Type Description e
The event object containing mouse coordinates. - Inherited From:
-
mouseRightDown(e)
-
The function called when the right mouse button is down.
Parameters:
Name Type Description e
The event object containing mouse coordinates. - Inherited From:
-
off( [type] [, fn])
-
Remove a handler of the given event name
Parameters:
Name Type Argument Description type
string | number <optional>
The name of the event to remove the handler of. If type is undefined, all the handlers of the object will be removed fn
function <optional>
The handler associated with this event to be removed. If fn is undefined, all the handlers of the given event name will be removed - Inherited From:
Returns:
Returns the object that 'off' is being called on- Type
- object
Example
annotManager.off(); annotManager.off('annotationChanged'); annotManager.off('annotationChanged', fn);
-
on(type, fn)
-
Add a handler to the given event name
Parameters:
Name Type Description type
string | number The name of the event to listen to fn
function The handler to be called when the event is triggered - Inherited From:
Returns:
Returns the object that 'on' is being called on- Type
- object
Example
annotManager.on('annotationChanged', (annotations, action) => { ... });
-
one(type, fn)
-
Same as 'on' except the handler will be called only once
Parameters:
Name Type Description type
string | number The name of the event to listen to fn
function The handler to be called when the event is triggered - Inherited From:
Returns:
Returns the object that 'one' is being called on- Type
- object
Example
annotManager.one('annotationChanged', (annotations, action) => { ... });
-
setCustomDrawFunction(callback)
-
Sets a custom function to be used for drawing extra content on top of custom stamps, enabling customization of the CanvasRenderingContext2D of the Canvas element used for Rubber Stamps
Parameters:
Name Type Description callback
function A callback side effect function that takes a two parameters. The first is assumed to be the type CanvasRenderingContext2D, and modifies the parameter for the purposes of custom drawing behavior on top of the default stamp behavior. The second parameter is optional, and is assumed to be an instance of the Annotations.Annotation class, wherein custom behavior for the stamp annotation being modified can be added (i.e. conditionally apply custom drawing on certain annotations only) Example
WebViewer( // ... ).then(instance => { const { docViewer } = instance; const tool = docViewer.getTool('AnnotationCreateRubberStamp'); tool.setCustomDrawFunction((ctx, annotation) => { const { Icon } = annotation; // `Icon` contains the text content of the stamp // This example conditionally renders custom content on the stamp only // if the contents of the stamp are in the approved list of stamps to // draw on const stampsToDrawOn = [ 'Approved', 'Completed', 'Final', ]; if (stampsToDrawOn.includes(Icon)) { // Arbitrary example where an image is available in the DOM const img = document.getElementById('my-company-logo'); ctx.drawImage( img, // The image to render 0, // The X coordinate of where to place the image 0, // The Y coordinate of where the place the image 25, // The width of the image in pixels 25, // The height of the image in pixels ); } }); });
-
setCustomStamps(stamps)
-
Accepts and sets an array of objects representing custom stamps
Parameters:
Name Type Description stamps
Array.<Tools.RubberStampCreateTool.CustomStampData> An array of objects representing custom stamps Example: [ { "title": "Sample Text", "subtitle": "DD-MM-YYYY", "color": window.Annotations.Color(0,0,0) } ] -
setName(name)
-
Set the name of the tool, which can be accessed by toolObject.name
Parameters:
Name Type Description name
string name of the tool - Inherited From:
-
setRubberStamp(annotation)
-
Sets the underlying annotation used by the tool
Parameters:
Name Type Description annotation
Annotations.StampAnnotation annotation to set -
setStandardStamps(stamps)
-
Accepts and sets an array of objects representing standard stamps
Parameters:
Name Type Description stamps
Array.<object> An array of objects representing the standard stamps -
setStyles(newStyles)
-
Set the style for the tool, which will be applied to annotations drawn afterwards
Parameters:
Name Type Description newStyles
object | function if an object is used, it should contain properties of the new styles. If a function is used, the current styles will be passed as its argument and the function should return an object which contains properties of the new styles. Example of valid properties: StrokeColor, TextColor, FillColor, FontSize, Opacity, StrokeThickness, Precision, Scale, OverlayText, Style and Dashes. - Inherited From:
-
showPreview()
-
Shows the preview about how the underlying annot looks like if it's drawn.
-
switchIn(oldTool)
-
The function called when this tool is selected. Typically use for changing mouse cursors, and initializing states for the tool.
Parameters:
Name Type Description oldTool
Tools.Tool the Tool class that was previously selected. - Inherited From:
-
switchOut(newTool)
-
The function called when this tool is deselected. Typically use for changing mouse cursors, and cleaning up states for the tool.
Parameters:
Name Type Description newTool
Tools.Tool the Tool class that was newly selected. - Inherited From:
-
trigger(type [, data])
-
Calls the handlers of the event name with given data
Parameters:
Name Type Argument Description type
string | number event name of which the handlers will be called. data
* <optional>
data that will be passed to the handlers. If data is an array, it will be spread and then passed to the handlers - Inherited From:
Returns:
Returns the object that 'trigger' is being called on- Type
- object
Example
annotManager.trigger('annotationChanged'); annotManager.trigger('annotationChanged', [[annotation], 'add', {}]);
Type Definitions
-
CustomStampData
-
Type:
- Object
Properties:
Name Type Argument Description title
string <optional>
Custom stamp's main text subtitle
string <optional>
Time format text used as a custom timestamp, e.g. "DD-MM-YYYY" color
Annotations.Color <optional>
Background color value