Foxit PDF SDK

Public Member Functions | List of all members
com.foxit.sdk.pdf.PSI Class Reference
Inheritance diagram for com.foxit.sdk.pdf.PSI:

## Public Member Functions
| PSI (Bitmap bitmap, boolean simulate) throws com.foxit.sdk.PDFException
| Constructor, with a bitmap as canvas. More...
| PSI (int width, int height, boolean simulate) throws com.foxit.sdk.PDFException
| Constructor, with specified width and height for canvas. More...
| PSI (PSI other)
| Constructor, with another PSI object. More...
void | addPoint (PointF point, int type, float pressure) throws com.foxit.sdk.PDFException
| Add a point. More...
PSInk | convertToPDFAnnot (PDFPage page, RectF annot_rect, int rotate) throws com.foxit.sdk.PDFException
| Convert a PSI object to a PSInk annotation and insert the PSInk annotation to a PDF page. More...
synchronized void | delete ()
| Clean up related C++ resources immediately. More...
Bitmap | getBitmap () throws com.foxit.sdk.PDFException
| Get the canvas bitmap. More...
RectF | getContentsRect () throws com.foxit.sdk.PDFException
| Get contents rectangle. More...
boolean | isEmpty ()
| Check whether current object is empty or not. More...
void | setCallback (PSICallback callback) throws com.foxit.sdk.PDFException
| Set a callback object for refreshing. More...
void | setColor (long color) throws com.foxit.sdk.PDFException
| Set ink color. More...
void | setDiameter (int diameter) throws com.foxit.sdk.PDFException
| Set ink diameter. More...
void | setOpacity (float opacity) throws com.foxit.sdk.PDFException
| Set ink opacity. More...

## Detailed Description

PSI, "pressure sensitive ink", is specially defined for manual signature, and usually works together with a handwriting board or for a touchscreen. PSI contains private coordinates, and a canvas is created in its coordinates. Canvas limits operating area and generates appearance of PSI.
PSI is independent of PDF, and can even be used directly in the device screen. If user wants to save a PSI object to PDF file, please call function PSI.convertToPDFAnnot . This function will convert PSI data to a PSInk annotation (as a Foxit custom annotation type) and insert the PSInk annotation to the specified position in a PDF page.

See also
  com.foxit.sdk.pdf.annots.PSInk

## Constructor & Destructor Documentation

## ◆ PSI() [1/3]

com.foxit.sdk.pdf.PSI.PSI | ( | Bitmap | bitmap,
|  | boolean | simulate
| ) |  | throws com.foxit.sdk.PDFException

Constructor, with a bitmap as canvas.

Parameters

  [in] | bitmap | A bitmap used as canvas. It should be created with com.foxit.sdk.common.Bitmap.e_DIBArgb format. User should ensure this bitmap to keep valid until current PSI object is released.
  [in] | simulate | Used to decide whether to turn on simulation of PSI or not: true means to turn on simulation, and false means to turn off simulation. It can simulate handwriting weights by writing speed when simulation is on.

## ◆ PSI() [2/3]

com.foxit.sdk.pdf.PSI.PSI | ( | int | width,
|  | int | height,
|  | boolean | simulate
| ) |  | throws com.foxit.sdk.PDFException

Constructor, with specified width and height for canvas.

Parameters

  [in] | width | Width of PSI canvas in device coordinate system. This shall be greater than 0.
  [in] | height | Height of PSI canvas in device coordinate system. This shall be greater than 0.
  [in] | simulate | Used to decide whether to turn on simulation of PSI or not: true means to turn on simulation, and false means to turn off simulation. It can simulate handwriting weights by writing speed when simulation is on.

## ◆ PSI() [3/3]

com.foxit.sdk.pdf.PSI.PSI | ( | PSI | other | ) |

Constructor, with another PSI object.

Parameters

  [in] | other | Another PSI object.

## Member Function Documentation

## ◆ addPoint()

void com.foxit.sdk.pdf.PSI.addPoint | ( | PointF | point,
|  | int | type,
|  | float | pressure
| ) |  | throws com.foxit.sdk.PDFException

Add a point.

Parameters

  [in] | point | A point in canvas coordinate system.
  [in] | type | Point type. This should be one of following values: com.foxit.sdk.common.Path.e_TypeMoveTo , com.foxit.sdk.common.Path.e_TypeLineTo , com.foxit.sdk.common.Path.e_TypeLineToCloseFigure ,
  [in] | pressure | Pressure value for this point. Valid range: from 0.0 to 1.0.

Returns
  None.

## ◆ convertToPDFAnnot()

PSInk com.foxit.sdk.pdf.PSI.convertToPDFAnnot | ( | PDFPage | page,
|  | RectF | annot_rect,
|  | int | rotate
| ) |  | throws com.foxit.sdk.PDFException

Convert a PSI object to a PSInk annotation and insert the PSInk annotation to a PDF page.

Actually, this function is to convert the path data of current PSI to a PSInk annotation, ignoring the canvas bitmap.
Before calling this function, user should ensure that current PSI object has contained a valid path (whose last point's type is com.foxit.sdk.common.Path.e_TypeLineToCloseFigure . Otherwise, the conversion will be failed and this function will throw exception com.foxit.sdk.common.Constants.e_ErrInvalidData .

Parameters

  [in] | page | A valid PDF page object, to which the PSI is expected to inserted.
  [in] | annot_rect | A rectangle to specify the position in the PDF page, where the new PSInk annotation will be inserted. It should be valid in PDF coordinate system".
  [in] | rotate | Rotation value. Currently, it can only be com.foxit.sdk.common.Constants.e_Rotation0 .

Returns
  A new PSInk annotation object.

Note
  User do not need to call function annots.Annot.resetAppearanceStream (inherited from PSInk's parent class) to reset the appearance of PSInk annotation after this conversion.

## ◆ delete()

synchronized void com.foxit.sdk.pdf.PSI.delete | ( |  | ) |

Clean up related C++ resources immediately.

Returns
  None.

Note
  Once this function is called, current object cannot be used anymore.

Reimplemented from com.foxit.sdk.common.Base.

## ◆ getBitmap()

Bitmap com.foxit.sdk.pdf.PSI.getBitmap | ( |  | ) | throws com.foxit.sdk.PDFException

Get the canvas bitmap.

Returns
  Canvas bitmap.

## ◆ getContentsRect()

RectF com.foxit.sdk.pdf.PSI.getContentsRect | ( |  | ) | throws com.foxit.sdk.PDFException

Get contents rectangle.

Returns
  Contents rectangle, in device coordinate system. If current PSI object does not contain a valid path, a RectF object with all 0 values would be returned.

## ◆ isEmpty()

boolean com.foxit.sdk.pdf.PSI.isEmpty | ( |  | ) |

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
  true means current object is empty, while false means not.

## ◆ setCallback()

void com.foxit.sdk.pdf.PSI.setCallback | ( | PSICallback | callback | ) | throws com.foxit.sdk.PDFException

Set a callback object for refreshing.

Parameters

  [in] | callback | A callback object PSICallback which is implemented by user. Please ensure that the callback object keeps valid until the life-cycle of current PSI object ends.

Returns
  None.

## ◆ setColor()

void com.foxit.sdk.pdf.PSI.setColor | ( | long | color | ) | throws com.foxit.sdk.PDFException

Set ink color.

This should be set before adding first point to PSI object. If not set, the default value 0x000000 will be used.

Parameters

  [in] | color | Ink color. Format: 0xRRGGBB.

Returns
  None.

## ◆ setDiameter()

void com.foxit.sdk.pdf.PSI.setDiameter | ( | int | diameter | ) | throws com.foxit.sdk.PDFException

Set ink diameter.

This should be set before adding first point to PSI object. If not set, the default value 10 will be used.

Parameters

  [in] | diameter | Ink diameter. This should be bigger than 1.

Returns
  None.

## ◆ setOpacity()

void com.foxit.sdk.pdf.PSI.setOpacity | ( | float | opacity | ) | throws com.foxit.sdk.PDFException

Set ink opacity.

This should be set before adding first point to PSI object. If not set, the default value 1.0 will be used.

Parameters

  [in] | opacity | Ink opacity. Valid range: from 0.0 to 1.0. 0.0 means full transparency and 1.0 means full opaque.

Returns
  None.