Package Snow

Class SnowAnn

  • All Implemented Interfaces:
    java.io.Serializable

    public class SnowAnn
    extends java.lang.Object
    implements java.io.Serializable
    This class is used for creating or reading annotation objects from a file. The default constructor for SnowAnn takes two parameters, the height and width respectively, of the image object on which to display annotations. This class represents a set of annotation objects for a particular image and all of the operations you can perform on those annotations.
    • To construct a new SnowAnn object, you must set the height and width of the annotation object to the height and width of the image to which they are related.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      SnowAnn​(int width, int height)
      Constructor.
      SnowAnn​(int width, int height, int dpi)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int ann_dblclick​(java.awt.Container sf, int xpos, int ypos)
      Selects the annotation under the mouse coordinates.
      boolean annLinePainting()  
      void centerTagInRect​(java.awt.Graphics g, java.awt.Container sf, Snow.SANN_RECT disp, java.lang.String tagString, Snow.SANN_RECT rc, int[] xx, int[] yy, int[] ptSize)  
      void GetClientRect​(java.awt.Container sf, Snow.SANN_RECT rc)
      This method fills a SANN_RECT object with the current height and width of the display area.
      static java.awt.Graphics getGraphics​(java.awt.Container sf)  
      boolean getVisibilityFlag​(int type)
      Get the visibility flag for the specified annotation type
      int read_xml_file​(Snow.SnbdFileio fd, int page)
      Converts an XML file containing FileNet annotations
      int remove_non_text_objects()  
      int remove_text_objects()  
      int resize_object​(Snow.ANN_GRAPHIC_STRUCT fcs, Snow.SANN_RECT rc)
      Resizes (or moves) the specific ANN_GRAPHIC_STRUCT object.
      int SANN_activate_all_objects​(java.awt.Container sf)
      Activates all text based annotation objects to allow text editing in the TextArea represented by these objects.
      int SANN_activate_object​(java.awt.Container sf, int graphicNum)
      Used only on the SANN_EDIT and SANN_POSTIT objects to allow editing of the text in the object.
      int SANN_add_object​(int graphicId, Snow.SANN_RECT rc, byte[] data, Snow.SANN_POINT[] pointArray, int dataSize)
      Adds a new object to the current annotation.
      int SANN_add_object​(int graphicId, Snow.SANN_RECT rc, byte[] data, Snow.SANN_POINT[] pointArray, int dataSize, float opacity)  
      int SANN_count_objects()  
      int SANN_deactivate_all_objects()
      Used on the SANN_EDIT and SANN_POSTIT objects to disallow editing of text in all text based objects.
      int SANN_deactivate_object​(int graphicNum)
      Used on the SANN_EDIT and SANN_POSTIT objects to stop the editing of text in TextArea.
      int SANN_delete_all_objects()
      Deletes all graphics and memory associated with the current annotation object.
      int SANN_delete_object​(int graphicNum)
      Deletes an object from the current annotation list.
      int SANN_display_annotations​(java.awt.Graphics g, java.awt.Container sf, int xs, int ys, int xz, int yz)
      Displays all current annotations (superimposed on the image) to the Graphics context pointed by g.
      int SANN_display_annotations​(java.awt.Graphics g, java.awt.Container sf, int xs, int ys, int xz, int yz, boolean includeTextAnnotations, boolean includeNonTextAnnotations)
      This method displays all current annotations (superimposed on the image) to the Graphics context pointed by g.
      int SANN_draw_object​(java.awt.Graphics g, java.awt.Container sf, int graphicNum, int xs, int ys, int xz, int yz)
      Draws the object (graphicNum) at the coordinates passed in (xs, ys, xz, and yz).
      int SANN_flipx()
      Flips all annotation objects about the horizontal
      int SANN_flipy()
      Flips all annotation objects about the vertical
      int SANN_get_croprect​(Snow.SANN_RECT rc)
      Returns the cropping rectangle for the current annotation display area (the visible display area).
      Snow.ANN_GRAPHIC_STRUCT SANN_get_graphic_struct​(int graphic_num)
      Returns the ANN_GRAPHIC_STRUCT class.
      int SANN_get_object_bounds​(int graphicNum, Snow.SANN_RECT rc)
      Returns the bounding box of the object (graphic_num) in image pixel coordinates.
      int SANN_get_object_data​(int graphicNum, byte[] data)
      Used to get the text data from a Post-it note or text annotation object.
      Snow.ANN_GRAPHIC_STRUCT SANN_get_object_info​(int graphicNum)
      Returns an instance of the Snow.ANN_GRAPHIC_STRUCT class, which is the internal wrapper for the object number passed in.
      int SANN_get_object_num​(java.awt.Container sf, int xpos, int ypos)
      Finds the graphic_num of the annotation object whose bounding box completely surrounds the points xpos and ypos.
      int SANN_highlight_object​(java.awt.Container sf, Snow.SANN_RECT disp, int graphicNum)
      Highlights the bounding box of the annotation object specified by.
      int SANN_map_image_to_wnd​(Snow.SANN_RECT disprect, Snow.SANN_POINT pt, java.awt.Container sf)
      Converts the internal graphics coordinates of the image to coordinates of the current window.
      int SANN_map_wnd_to_image​(java.awt.Container sf, Snow.SANN_POINT pt)
      Converts coordinates of the current window to the internal graphics coordinates of the image.
      int SANN_merge_annotations​(Snowbnd snow, java.awt.Container sf)
      This method will permanently merge annotations onto the Snowbound image object passed in.
      int SANN_move_object​(int graphicNum, Snow.SANN_RECT rc)
      Moves or resizes the object (graphicNum).
      byte[] SANN_output_pdf​(double xsize, double ysize, double xpos, double ypos, int angle, int[] error)
      Converts the current annotation object to Pdf content in a buffer.
      int SANN_print_annotations​(java.awt.Graphics g, java.awt.Container sf, int xs, int ys, int xz, int yz)
      Prints the current annotation to the graphic context pointed by g.
      int SANN_print_annotations​(java.awt.Graphics g, java.awt.Container sf, int xs, int ys, int xz, int yz, boolean includeTextAnnotations, boolean includeNonTextAnnotations)
      Prints the current annotation to the graphic context pointed by g.
      int SANN_read_ann​(java.io.DataInputStream dis, int page)
      Reads an annotation file from a DataInputStream.
      int SANN_read_ann​(java.lang.String filename)
      Reads an annotation file from disk.
      int SANN_read_ann​(java.lang.String filename, int page)
      Reads an annotation file from disk.
      int SANN_read_ann_stream​(java.lang.String filename)
      Reads an annotation file from a fully qualified URL address.
      int SANN_read_ann_stream​(java.lang.String filename, int page)
      Reads an annotation file from a fully qualified URL address.
      int SANN_recalc_size​(int nWidth, int nHeight)
      Recalculates objects dimensions and positions.
      int SANN_recalc_size​(int nWidth, int nHeight, int nDpi)
      Recalculates objects dimensions and positions.
      int SANN_resize_object​(int graphicNum, Snow.SANN_RECT rc)
      Resizes (or moves) the object indicated by graphicNum.
      int SANN_rotate​(int angle)
      Rotates all annotations on the currently displayed image.
      int SANN_rotate_object​(int graphicNum, int angle)
      Rotates given annotation object by angle
      int SANN_set_bcolor​(int red, int green, int blue)
      Sets the current background drawing color for all graphics.
      int SANN_set_croprect​(int xs, int ys, int xe, int ye)
      The cropping rectangle is essentially the size of the display container (which is usually a subclass of java.awt.Container), mapped onto the image (corrected for image scaling).
      int SANN_set_fcolor​(int red, int green, int blue)
      Sets the current foreground drawing color for all annotation objects.
      int SANN_set_fcolor​(int graphicId, int red, int green, int blue)
      Sets the current foreground drawing color for all annotation objects.
      void SANN_set_fnx_dpi​(int dpi)
      This method sets the resolution used for Filenet annotations.
      int SANN_set_font​(int graphicNum, java.lang.String name, int italic, int bold, int fontHeight)
      Sets the current type of font to use for the specified Edit or PostIt text annotation.
      int SANN_set_font​(java.lang.String name, int italic, int bold, int fontHeight)
      Sets the current type of font to use for all Edit and PostIt text annotations.
      int SANN_set_line_style​(int style)
      Sets the style of the line according to predefined constants.
      int SANN_set_line_width​(int width)
      Sets the width of lines in the annotation library in pixels.
      int SANN_set_line_width​(int graphicNum, int width)  
      int SANN_set_scrollbars​(int ssetting)
      Allows setting the type of scrollbar used in a Post-it note or text annotation object.
      int SANN_set_size​(int width, int height)
      Sets the height and width of the current image being annotated.
      int SANN_write_ann​(byte[] dos, int extra_size, byte[] extra_data)
      Writes out annotations to a memory buffer.
      int SANN_write_ann​(java.lang.String filename, int extra_size, byte[] extra_data)
      Writes out annotations to the disk file.
      byte[] SANN_write_ann_fnx​(java.lang.String filenetAnnId, int[] error)
      This method returns a byte array containing xml filenet annotations.
      int SANN_write_ann_fnx​(java.lang.String pathname, java.lang.String filenetAnnId, int extra_size, byte[] extra_data)
      This method writes out filenet annotations to the disk file as xml.
      byte[] SANN_write_ann_idm​(java.lang.String userName, java.lang.String groupName, int status, int page, int[] error)
      This method returns a byte array containing IDM annotations.
      int SANN_write_ann_idm​(java.lang.String pathname, java.lang.String userName, java.lang.String groupName, int status, int page)
      This method writes out IDM annotations to the disk file.
      int SANN_write_ann_pages​(byte[] dos, int extra_size, byte[] extra_data)
      Writes out annotations to a memory buffer.
      int SANN_write_ann_pages​(java.lang.String filename, int extra_size, byte[] extra_data)
      Writes out annotations to the disk file.
      int SANN_write_ann_xml​(byte[] dos, Snow.SnowXMLWriter xmlwriter)
      This method will write out the contents of SnowXMLWriter to a byte[] array.
      int SANN_write_ann_xml​(java.lang.String filename, int extra_size, byte[] extra_data)
      Writes out annotations to the disk file as xml.
      Snow.SnowXMLWriter SANN_write_ann_xml_document​(Snow.SnowXMLWriter xmlPagesWriter)
      This method will write out <document> data.
      Snow.SnowXMLWriter SANN_write_ann_xml_page​(Snow.SnowXMLWriter xmlwriter)
      This method will write out <page> and <annObject> data the associated ANN_GRAPHIC_STRUCT and return a populated SnowXMLWriter.
      Snow.SnowXMLWriter SANN_write_ann_xml_page​(Snow.SnowXMLWriter xmlwriter, java.lang.String annLayerId)
      This method will write out <page> and <annObject> data the associated ANN_GRAPHIC_STRUCT and return a populated SnowXMLWriter.
      void setAutoDetect​(boolean autoDetect)  
      static void setPopupMenuStrings​(java.lang.String moveCommand, java.lang.String resizeCommand, java.lang.String rotateCommand, java.lang.String deleteCommand, java.lang.String editTextCommand, java.lang.String propertiesCommand, java.lang.String cancelCommand, java.lang.String copyCommand, java.lang.String cutCommand, java.lang.String permissionsCommand)  
      void setVisibilityFlag​(int type, boolean value)
      This method sets the visibility flag for the specified annotation type
      void setVisibilityFlags​(boolean[] valueArray)
      This method sets all of the visibility flags
      void setVisibilityFlagsEnabled​(boolean value)
      This method enables or disables the use of the visibility flags altogether.
      int ui_delete​(java.awt.Container sf)
      Deletes the currently selected annotation object.
      int ui_exit()
      Deselects the currently selected annotation object.
      int ui_rotate_object​(java.awt.Container sf, int degrees)
      Rotates the currently selected annotation object.
      int ui_startmove​(java.awt.Container sf)
      This method notifies the annotation library that the current annotation object is being moved.
      int ui_startresize​(java.awt.Container sf)
      This method notifies the annotation library that the current annotation object is being resized.
      protected int ui_wm_endmove​(java.awt.Container sf)  
      protected int ui_wm_endresize​(java.awt.Container sf)  
      int ui_wm_lbuttondown​(java.awt.Container sf, int xpos, int ypos, byte[] textbuff)
      Begins tracking mouse movements when the mouse button is pressed.
      int ui_wm_lbuttonup​(java.awt.Container sf, int xpos, int ypos, byte[] textbuff)
      This method notifies the annotation library that the mouse button has been released.
      int ui_wm_mousemove​(java.awt.Container sf, int xpos, int ypos, byte[] textbuff)
      Notifies the library of the current mouse coordinates.
      boolean xml_boolean​(byte[] pString)
      Converts a boolean string to boolean value
      void xml_color​(byte[] pString, short[] r, short[] g, short[] b)
      Converts color integer into r,g,b
      Snow.ANN_GRAPHIC_STRUCT xml_convert​(Snow.ANN_GRAPHIC_STRUCT pFcs, byte[] pKeyword, byte[] pValue, int page, int[] xmax, int[] ymax, int[] nPoints, int[] bDone)
      Converts an XML FileNet annotation file to a Snowbound annotation file.
      int xml_find_page​(Snow.SnbdFileio fd, int page)
      Skips to the desired XML annotation page
      int xml_inches_pixels​(double dVal)
      Converts inches to pixels.
      int xml_read​(Snow.SnbdFileio fd, byte[] pBuffer, int[] nPos, int[] nBytesToRead)
      Reads from the XML file into a buffer
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • gCopyCommand

        public static java.lang.String gCopyCommand
        The Copy command
      • gCutCommand

        public static java.lang.String gCutCommand
        The Cut command
      • gPermissionsCommand

        public static java.lang.String gPermissionsCommand
        The Permissions command
      • gMoveCommand

        public static java.lang.String gMoveCommand
        The Move command
      • gResizeCommand

        public static java.lang.String gResizeCommand
        The Resize command
      • gRotateCommand

        public static java.lang.String gRotateCommand
        The Rotate command
      • gDeleteCommand

        public static java.lang.String gDeleteCommand
        The Delete command
      • gEditTextCommand

        public static java.lang.String gEditTextCommand
        The Edit Text command
      • gPropertiesCommand

        public static java.lang.String gPropertiesCommand
        The Properties command
      • gCancelCommand

        public static java.lang.String gCancelCommand
        The Cancel command
      • SANN_FILLED_RECT

        public static final int SANN_FILLED_RECT
        Filled Rectangle annotation
        See Also:
        Constant Field Values
      • SANN_HIGHLIGHT_RECT

        public static final int SANN_HIGHLIGHT_RECT
        Highlight Rectangle annotation
        See Also:
        Constant Field Values
      • SANN_RECTANGLE

        public static final int SANN_RECTANGLE
        Rectangle annotation
        See Also:
        Constant Field Values
      • SANN_FILLED_ELLIPSE

        public static final int SANN_FILLED_ELLIPSE
        Filled ellipse annotation
        See Also:
        Constant Field Values
      • SANN_FREEHAND

        public static final int SANN_FREEHAND
        Freehand annotation
        See Also:
        Constant Field Values
      • SANN_FILLED_POLYGON

        public static final int SANN_FILLED_POLYGON
        Filled Polygon annotation
        See Also:
        Constant Field Values
      • SANN_ARROW

        public static final int SANN_ARROW
        Previous Annotation object
        See Also:
        Constant Field Values
      • SANN_TRANSPARENT_BITMAP

        public static final int SANN_TRANSPARENT_BITMAP
        Transparent bitmap annotation
        See Also:
        Constant Field Values
      • SANN_CLOUD_EDIT

        public static final int SANN_CLOUD_EDIT
        Cloud Edit annotation
        See Also:
        Constant Field Values
      • SANN_CUSTOM_STAMP

        public static final int SANN_CUSTOM_STAMP
        Custom stamp annotation
        See Also:
        Constant Field Values
      • SANN_POINT_SIZE

        public static final int SANN_POINT_SIZE
        Sets the point size.
        See Also:
        Constant Field Values
      • WM_LBUTTONDOWN

        public static final int WM_LBUTTONDOWN
        Down Button annotation
        See Also:
        Constant Field Values
      • ANN_BUFF_SIZE

        public static final int ANN_BUFF_SIZE
        Sets the annotation buffer size, 10 * 1024.
        See Also:
        Constant Field Values
      • CLOUD_BUMPS

        public static final int CLOUD_BUMPS
        Deprecated.
        Number of 'bumps' for cloud annotation
        See Also:
        Constant Field Values
      • DAEJA_DPI

        public static final double DAEJA_DPI
        Daeja (FileNet) default resolution
        See Also:
        Constant Field Values
      • DEFAULT_HIGHLIGHT_OPACITY

        public static final float DEFAULT_HIGHLIGHT_OPACITY
        See Also:
        Constant Field Values
      • fcs

        public Snow.ANN_GRAPHIC_STRUCT fcs
        Specifies the object to resize. ANN_GRAPHIC_STRUCT
      • ann_fred

        public int ann_fred
        Current red value foreground drawing color.
      • ann_fgreen

        public int ann_fgreen
        Current green value foreground drawing color.
      • ann_fblue

        public int ann_fblue
        Current blue value foreground drawing color.
      • ann_bred

        public int ann_bred
        Current red value background drawing color.
      • ann_bgreen

        public int ann_bgreen
        Current green value background drawing color.
      • ann_bblue

        public int ann_bblue
        Current blue value background drawing color.
      • ann_tags

        public java.util.Vector<java.lang.String> ann_tags
        Vector<String> of Annotation Tags
      • ann_notes

        public java.util.Vector<java.lang.String[]> ann_notes
        Vector<String[]> of Annotation Notes
      • ann_history

        public java.util.Vector<java.lang.String[]> ann_history
        Vector<String[]> Annotation History
      • ann_line_width

        public int ann_line_width
        Current line width for drawing
      • ann_line_style

        public int ann_line_style
        Current line styles such as solid or dashed
      • ann_cur_object_id

        public int ann_cur_object_id
        Current type of object
      • ann_alpha

        public float ann_alpha
      • ann_font_name

        public java.lang.String ann_font_name
        Current selected font drawing name
      • ann_width

        public int ann_width
        Width of annotated image
      • ann_height

        public int ann_height
        Height of annotated image
      • ann_crop_xs

        public int ann_crop_xs
        Current cropping rectangle x position
      • ann_crop_xe

        public int ann_crop_xe
        Current cropping rectangle x size
      • ann_crop_ys

        public int ann_crop_ys
        Current cropping rectangle y position
      • ann_crop_ye

        public int ann_crop_ye
        Current cropping rectangle y size
      • ann_italic

        public int ann_italic
        Italic attribute for text
      • ann_bold

        public int ann_bold
        Bold attribute for text
      • ann_font_height

        public short ann_font_height
        Current font height
      • ann_use_exact_points

        public boolean ann_use_exact_points
        Use exact point sizes in calculating font sizes in Text objects
      • ann_rotation_angle

        public int ann_rotation_angle
        Current rotation angle, ANN_GRAPHIC_STRUCT
      • ann_rc

        public Snow.SANN_RECT ann_rc
        Bounding rectangle of annotation object
      • ann_fcs

        public Snow.ANN_GRAPHIC_STRUCT ann_fcs
      • EnableProperties

        public boolean EnableProperties
      • EnableEditText

        public boolean EnableEditText
      • isFilenet

        public boolean isFilenet
      • isDaeja

        public boolean isDaeja
      • isIdm

        public boolean isIdm
      • Org

        public Snow.SANN_POINT Org
      • Next

        public Snow.SANN_POINT Next
      • Prev

        public Snow.SANN_POINT Prev
      • bTrack

        public int bTrack
      • action

        protected int action
      • graphic_num

        public int graphic_num
        Number or handle of graphic object.
      • graphic_id

        public int graphic_id
        Object type to add when using user controlled adding of objects
      • p

        public transient java.awt.Component p
        Important - Panel p must be tagged as transient to allow for proper serialization. Essentially this means we are ignoring this member variable during serialization.
      • popup

        public transient java.awt.PopupMenu popup
        Defines the popup menu.
      • swing_popup

        public transient javax.swing.JPopupMenu swing_popup
      • pageWidth

        public java.lang.String pageWidth
        String denoting annotated page width in XML annotations.
      • pageHeight

        public java.lang.String pageHeight
        String denoting annotated page height in XML annotations.
      • annStartX

        public java.lang.String annStartX
        String denoting X axis annotation start position in XML annotations.
      • annStartY

        public java.lang.String annStartY
        String denoting Y axis annotation start position in XML annotations.
      • annHeight

        public java.lang.String annHeight
        String denoting annotation height or Y axis offset in XML annotations.
      • annWidth

        public java.lang.String annWidth
        String denoting annotations width or X axis offset in XML annotations.
      • annTransparent

        public java.lang.String annTransparent
        String denoting annotation opacity level in XML annotations.
      • annID

        public java.lang.String annID
        String denoting annotation ID in XML annotations
      • annType

        public java.lang.String annType
        String denoting annotation type in XML annotations, based on supported Snowbound annotation types. For example, annType of 12 would denote a SANN_ARROW.
      • annOrdinal

        public java.lang.String annOrdinal
        String denoting annotation ordering in resulting XML file where 0 indicated first annotation object.
      • annDelete

        public java.lang.String annDelete
        String indicating if annotation object is to be deleted. If true, object will not be written back out to XML after a call to SANN_write_xml_ann_pages().
      • annDeleteDate

        public java.lang.String annDeleteDate
        String indicating date of annotation deletion.
      • annDeleteUser

        public java.lang.String annDeleteUser
        String indicating user who deleted annotation.
      • annModifyDate

        public java.lang.String annModifyDate
        String indicating modification date of current annotation.
      • annModifyUser

        public java.lang.String annModifyUser
        String indicating user who preformed last modification.
      • annCreateDate

        public java.lang.String annCreateDate
        String denoting annotation creation date.
      • annCreateUser

        public java.lang.String annCreateUser
        String indicating which user created the annotation object.
      • annClassId

        public java.lang.String annClassId
        String indicating class id of annotation object.
      • fontBold

        public java.lang.String fontBold
        String indicating if font is bold or not in XML annotation supporting text.
      • fontColor

        public java.lang.String fontColor
        String indicating font color in XML annotation supporting text.
      • fontItalic

        public java.lang.String fontItalic
        String indicating if font is italized or not in XML annotations support text.
      • fontName

        public java.lang.String fontName
        String indicating the font face name.
      • fontSize

        public java.lang.String fontSize
        String indicating font point size.
      • fontStrike

        public java.lang.String fontStrike
        String indicating if font has a strike-through text.
      • fontUnderline

        public java.lang.String fontUnderline
        String indicating if font should be underlined or not.
      • lineColor

        public java.lang.String lineColor
        String denoting line color in XML annotations.
      • lineStyle

        public java.lang.String lineStyle
        String denoting line style in XML annotations
      • lineTransparent

        public java.lang.String lineTransparent
        String indicating line opacity level for XML annotation.
      • lineWidth

        public java.lang.String lineWidth
        String indicating line width for XML annotations.
      • pointArray

        public java.lang.String pointArray
        String indicating a point array for freehand or polygon annotations.
      • fillColor

        public java.lang.String fillColor
        String indicating fill color for solid annotation objects.
      • textString

        public java.lang.String textString
        String denoting annotated page width in XML annotations
      • bitmapData

        public java.lang.String bitmapData
        String denoting annotated page width in XML annotations
      • rotationAngle

        public java.lang.String rotationAngle
        String indicating rotation angle of annotation object.
      • annotatedFileName

        public java.lang.String annotatedFileName
        String indicating name of annotated file.
      • annotatedDocumentID

        public java.lang.String annotatedDocumentID
        String indicating document id annotated file.
      • pageNumber

        public int pageNumber
      • modifyUser

        public java.lang.String modifyUser
      • deleted

        public boolean deleted
      • deleteDate

        public java.lang.String deleteDate
      • deleteUser

        public java.lang.String deleteUser
      • createDate

        public java.lang.String createDate
        Denotes annotation creation date.
      • createUser

        public java.lang.String createUser
        Indicates which user created the annotation object.
      • xmlannotations

        public boolean xmlannotations
      • double_byte

        public boolean double_byte
        Used for using double byte edit controls.
      • ann_dpi

        public int ann_dpi
        Integer representing resolution for Filenet annotation
      • ann_idmStatus

        public int ann_idmStatus
        IDM Status
      • ann_idmCreateTimestamp

        public int ann_idmCreateTimestamp
        IDM Create_Timestamp
      • ann_idmSubpage_Number

        public int ann_idmSubpage_Number
        IDM Subpage_Number
      • ann_idmLastModifyTimestamp

        public int ann_idmLastModifyTimestamp
        IDM Last_Modify_Timestamp
    • Constructor Detail

      • SnowAnn

        public SnowAnn​(int width,
                       int height)
        Constructor.
        Parameters:
        width -
        height -
      • SnowAnn

        public SnowAnn​(int width,
                       int height,
                       int dpi)
        Constructor.
        Parameters:
        width -
        height -
        dpi -
    • Method Detail

      • getGraphics

        public static java.awt.Graphics getGraphics​(java.awt.Container sf)
        Parameters:
        sf -
        Returns:
      • setPopupMenuStrings

        public static void setPopupMenuStrings​(java.lang.String moveCommand,
                                               java.lang.String resizeCommand,
                                               java.lang.String rotateCommand,
                                               java.lang.String deleteCommand,
                                               java.lang.String editTextCommand,
                                               java.lang.String propertiesCommand,
                                               java.lang.String cancelCommand,
                                               java.lang.String copyCommand,
                                               java.lang.String cutCommand,
                                               java.lang.String permissionsCommand)
        Parameters:
        moveCommand -
        resizeCommand -
        rotateCommand -
        deleteCommand -
        editTextCommand -
        propertiesCommand -
        cancelCommand -
        copyCommand -
        cutCommand -
        permissionsCommand -
      • annLinePainting

        public boolean annLinePainting()
        Returns:
      • SANN_set_size

        public int SANN_set_size​(int width,
                                 int height)
        Sets the height and width of the current image being annotated. The internal format for Snowbound annotations contains this information. When reading in other annotation file formats, you need to call this method to set the height and width of the current annotation image being annotated after reading in the annotation file. A negative value indicates an error. See Appendix G for more information.
        Parameters:
        width - Width of current image being annotated.
        height - Height of current image being annotated.
      • SANN_set_scrollbars

        public int SANN_set_scrollbars​(int ssetting)
        Allows setting the type of scrollbar used in a Post-it note or text annotation object. A negative value indicates an error. See Appendix G for more information.
        Parameters:
        ssetting - Variable to indicate the desired scrollbars. ssetting = 0 TextArea.SCROLLBARS_NONE; ssetting = 1 TextArea.SCROLLBARS_HORIZONTAL_ONLY; ssetting = 2 TextArea.SCROLLBARS_VERTICAL_ONLY; ssetting = 3 TextArea.SCROLLBARS_BOTH
      • xml_inches_pixels

        public int xml_inches_pixels​(double dVal)
        Converts inches to pixels.
        Parameters:
        dVal - value to convert.
        Returns:
        The converted value in pixels.
      • xml_color

        public void xml_color​(byte[] pString,
                              short[] r,
                              short[] g,
                              short[] b)
        Converts color integer into r,g,b
        Parameters:
        pString - Integer value as ascii string
        r - red color component
        g - green color component
        b - blue color component
      • xml_boolean

        public boolean xml_boolean​(byte[] pString)
        Converts a boolean string to boolean value
        Parameters:
        pString - String to convert
        Returns:
        Boolean.
      • xml_convert

        public Snow.ANN_GRAPHIC_STRUCT xml_convert​(Snow.ANN_GRAPHIC_STRUCT pFcs,
                                                   byte[] pKeyword,
                                                   byte[] pValue,
                                                   int page,
                                                   int[] xmax,
                                                   int[] ymax,
                                                   int[] nPoints,
                                                   int[] bDone)
        Converts an XML FileNet annotation file to a Snowbound annotation file.
        Parameters:
        pFcs - Annotation object list
        pKeyword - XML keyword
        pValue -
        page - page number
        xmax - maximum x value
        ymax - maximum y value
        nPoints - number of points
        Returns:
        new ANN_GRAPHIC_STRUCT
      • SANN_count_objects

        public int SANN_count_objects()
        Returns:
        count of annotation objects
      • remove_non_text_objects

        public int remove_non_text_objects()
        Returns:
      • remove_text_objects

        public int remove_text_objects()
        Returns:
      • xml_read

        public int xml_read​(Snow.SnbdFileio fd,
                            byte[] pBuffer,
                            int[] nPos,
                            int[] nBytesToRead)
        Reads from the XML file into a buffer
        Parameters:
        fd - Snowbound file descriptor
        pBuffer - buffer to hold data read in
        nPos - current buffer position
        nBytesToRead - size of buffer
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • xml_find_page

        public int xml_find_page​(Snow.SnbdFileio fd,
                                 int page)
        Skips to the desired XML annotation page
        Parameters:
        fd - Snowbnound file descriptor
        page - desired page
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • read_xml_file

        public int read_xml_file​(Snow.SnbdFileio fd,
                                 int page)
        Converts an XML file containing FileNet annotations
        Parameters:
        fd - Snowbound file descriptor
        page - desired page
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_read_ann

        public int SANN_read_ann​(java.lang.String filename)
        Reads an annotation file from disk. Pathnames are absolute. It supports multipage annotation files.
        Parameters:
        filename - File name to read in
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_read_ann

        public int SANN_read_ann​(java.lang.String filename,
                                 int page)
        Reads an annotation file from disk. Pathnames are absolute. It supports multipage annotation files.
        Parameters:
        filename - File name to read in
        page - Page number to read
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_read_ann

        public int SANN_read_ann​(java.io.DataInputStream dis,
                                 int page)
        Reads an annotation file from a DataInputStream. It supports multipage annotation files.
        Parameters:
        dis - DataInputStream
        page - Page number to read
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_read_ann_stream

        public int SANN_read_ann_stream​(java.lang.String filename)
        Reads an annotation file from a fully qualified URL address. It is used to load in annotations from the web. It supports multipage annotation files.
        Parameters:
        filename - File name to read in (ex. http://www.snowbound.com/file.ann)
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_read_ann_stream

        public int SANN_read_ann_stream​(java.lang.String filename,
                                        int page)
        Reads an annotation file from a fully qualified URL address. It is used to load in annotations from the web. It supports multipage annotation files.
        Parameters:
        filename - File name to read in (ex. http://www.snowbound.com/file.ann)
        page - Page number to read
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_write_ann

        public int SANN_write_ann​(java.lang.String filename,
                                  int extra_size,
                                  byte[] extra_data)
        Writes out annotations to the disk file. The extra_size and extra_data parameters allow the embedding of other data into the file such as company name or any data you wish to put in the file. There is currently no method to retrieve extra information.
        Parameters:
        filename - File/Path name to write
        extra_size - Size of extra data to write after the first header
        extra_data - Buffer for extra data to write
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_write_ann_xml

        public int SANN_write_ann_xml​(java.lang.String filename,
                                      int extra_size,
                                      byte[] extra_data)
        Writes out annotations to the disk file as xml. The extra_size and extra_data parameters allow the embedding of other data into the file such as company name or any data you wish to put in the file. There is currently no method to retrieve extra information.
        Parameters:
        filename - File/Path name to write
        extra_size - Size of extra data to write after the first header
        extra_data - Buffer for extra data to write
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_write_ann

        public int SANN_write_ann​(byte[] dos,
                                  int extra_size,
                                  byte[] extra_data)
        Writes out annotations to a memory buffer. The method can be used to write data back to a server. The extra_size and extra_data parameters allow the embedding of other data into the file such as company name or any other data you wish to save. After writing the data to the buffer you can write it to a file with a standard subclass of java.io.OutputStream.
        Parameters:
        dos - Byte array buffer to hold data
        extra_size - Size of extra data to write, after the first header
        extra_data - Buffer for extra data to write
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_write_ann_pages

        public int SANN_write_ann_pages​(java.lang.String filename,
                                        int extra_size,
                                        byte[] extra_data)
        Writes out annotations to the disk file. The extra_size and extra_data parameters allow the embedding of other data into the file such as company name or any data you wish to put in the file. There is currently no method to retrieve extra information. This method appends a new page to the annotation file if one currently exists.
        Parameters:
        filename - File/Path name to write
        extra_size - Size of extra data to write after the first header
        extra_data - Buffer for extra data to write
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_write_ann_pages

        public int SANN_write_ann_pages​(byte[] dos,
                                        int extra_size,
                                        byte[] extra_data)
        Writes out annotations to a memory buffer. The method can be used to write data back to a server. The extra_size and extra_data parameters allow the embedding of other data into the file such as company name or any other data you wish to save. This method appends a new page to the annotation file if one currently exists.
        Parameters:
        dos - Byte array buffer to hold data
        extra_size - Size of extra data to write, after the first header
        extra_data - Buffer for extra data to write
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_add_object

        public int SANN_add_object​(int graphicId,
                                   Snow.SANN_RECT rc,
                                   byte[] data,
                                   Snow.SANN_POINT[] pointArray,
                                   int dataSize)
        Adds a new object to the current annotation. Use data_array to hold the text of a SnowAnn.EDIT or SnowAnn.POSTIT object. Use point_array for freehand annotations.
        Parameters:
        graphicId - A unique number for each graphic object.
        rc - Rectangle defining outline of points for most graphics objects in the current image's coordinates.
        data - Data for text in freehand annotations and edits.
        pointArray - Array of SANN_POINTs defining freehand line drawing.
        dataSize - The size in bytes for freehand or edits.
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        SANN_map_wnd_to_image(Container, SANN_POINT), ErrorCodes
      • SANN_add_object

        public int SANN_add_object​(int graphicId,
                                   Snow.SANN_RECT rc,
                                   byte[] data,
                                   Snow.SANN_POINT[] pointArray,
                                   int dataSize,
                                   float opacity)
      • SANN_delete_object

        public int SANN_delete_object​(int graphicNum)
        Deletes an object from the current annotation list. This action is permanent and all object data is lost.
        Parameters:
        graphicNum - internal number for each graphic returned by SANN_get_object_num. It is merely the number in a linked list of graphics objects. Note: Use this number only after the call to SANN_get_object_num as SANN_delete_object may change the number of existing graphics.
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        SANN_get_object_num(Container, int, int), ErrorCodes
      • SANN_delete_all_objects

        public int SANN_delete_all_objects()
        Deletes all graphics and memory associated with the current annotation object.
        • This action is permanent; all annotation object data is lost.
        • After making this call, the current annotation object is not valid.
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_get_object_num

        public int SANN_get_object_num​(java.awt.Container sf,
                                       int xpos,
                                       int ypos)
        Finds the graphic_num of the annotation object whose bounding box completely surrounds the points xpos and ypos. If successful, it returns the graphic number usable by SANN_delete_object and other functions.
        Parameters:
        sf - java.awt.Container for displayed image
        xpos - X coordinate in the windows coordinates
        ypos - Y coordinate in the windows coordinates
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        SANN_delete_object(int), ErrorCodes
      • SANN_recalc_size

        public int SANN_recalc_size​(int nWidth,
                                    int nHeight)
        Recalculates objects dimensions and positions.
        Parameters:
        nWidth - new width for ann object
        nHeight - new height for ann object
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_recalc_size

        public int SANN_recalc_size​(int nWidth,
                                    int nHeight,
                                    int nDpi)
        Recalculates objects dimensions and positions.
        Parameters:
        nWidth - new width for ann object
        nHeight - new height for ann object
        nDpi - new dpi for ann object
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_display_annotations

        public int SANN_display_annotations​(java.awt.Graphics g,
                                            java.awt.Container sf,
                                            int xs,
                                            int ys,
                                            int xz,
                                            int yz)
        Displays all current annotations (superimposed on the image) to the Graphics context pointed by g. This function always assumes the image is aspect ratio corrected into the coordinates xs, ys, xz, and yz.
        • Before calling this method, you may want to call SANN_set_croprect to allow for zooming and scrolling.
        Parameters:
        g - java.awt.Graphics context
        sf - java.awt.Container in which to display the annotations
        xs - Starting X position
        ys - Starting Y position
        xz - X size of display area
        yz - Y size of display area
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        SANN_set_croprect(int, int, int, int), ErrorCodes
      • SANN_display_annotations

        public int SANN_display_annotations​(java.awt.Graphics g,
                                            java.awt.Container sf,
                                            int xs,
                                            int ys,
                                            int xz,
                                            int yz,
                                            boolean includeTextAnnotations,
                                            boolean includeNonTextAnnotations)
        This method displays all current annotations (superimposed on the image) to the Graphics context pointed by g. This function always assumes the image is aspect ratio corrected into the coordinates xs, ys, xz, and yz.
        • Before calling this method, you may want to call SANN_set_croprect to allow for zooming and scrolling.
        Parameters:
        g - java.awt.Graphics context
        sf - java.awt.Container in which to display the annotations
        xs - Starting X position
        ys - Starting Y position
        xz - X size of display area
        yz - Y size of display area
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        SANN_set_croprect(int, int, int, int), ErrorCodes
      • SANN_output_pdf

        public byte[] SANN_output_pdf​(double xsize,
                                      double ysize,
                                      double xpos,
                                      double ypos,
                                      int angle,
                                      int[] error)
        Converts the current annotation object to Pdf content in a buffer.
        Parameters:
        xsize - size of PDF file to add in.
        ysize - size of PDF file to add in.
        xpos - horizontal position.
        ypos - vertical position.
        angle - page angle if PDF page is rotated.
        error - error code returned.
        Returns:
        byte array with PDF content contained. Returns null if no more objects.
      • SANN_set_fcolor

        public int SANN_set_fcolor​(int graphicId,
                                   int red,
                                   int green,
                                   int blue)
        Sets the current foreground drawing color for all annotation objects.
        Parameters:
        graphicId - Object type to add when using user controlled adding of objects
        red - Red value 0 - 255
        green - Green value 0 - 255
        blue - Blue value 0 - 255
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_set_fcolor

        public int SANN_set_fcolor​(int red,
                                   int green,
                                   int blue)
        Sets the current foreground drawing color for all annotation objects.
        Parameters:
        red - Red value 0 - 255
        green - Green value 0 - 255
        blue - Blue value 0 - 255
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_set_bcolor

        public int SANN_set_bcolor​(int red,
                                   int green,
                                   int blue)
        Sets the current background drawing color for all graphics. Only used by the Edit, Post-it and Highlight objects.
        Parameters:
        red - Red value 0 - 255
        green - Green value 0 - 255
        blue - Blue value 0 - 255
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_get_graphic_struct

        public Snow.ANN_GRAPHIC_STRUCT SANN_get_graphic_struct​(int graphic_num)
        Returns the ANN_GRAPHIC_STRUCT class. The class contains all information on this annotation object including type of object, color, dimensions, positions and more.
        Parameters:
        graphicNum - The number to identify the annotation object to return data for.
        Returns:
        the ANN_GRAPHIC_STRUCT class.
      • SANN_set_line_width

        public int SANN_set_line_width​(int width)
        Sets the width of lines in the annotation library in pixels.
        Parameters:
        width - Width of line in pixels
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_set_line_width

        public int SANN_set_line_width​(int graphicNum,
                                       int width)
        Parameters:
        graphicNum -
        width -
        Returns:
      • SANN_set_line_style

        public int SANN_set_line_style​(int style)
        Sets the style of the line according to predefined constants. Currently only solid lines are supported.
        Parameters:
        style - Style of line
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_highlight_object

        public int SANN_highlight_object​(java.awt.Container sf,
                                         Snow.SANN_RECT disp,
                                         int graphicNum)
        Highlights the bounding box of the annotation object specified by. This graphicNum is retrieved by the SANN_get_object_num function.
        Parameters:
        sf - java.awt.Container for displayed image
        disp - Rectangle of client area of frame or window
        graphicNum - Annotation object to highlight
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        SANN_get_object_num(Container, int, int), ErrorCodes
      • SANN_print_annotations

        public int SANN_print_annotations​(java.awt.Graphics g,
                                          java.awt.Container sf,
                                          int xs,
                                          int ys,
                                          int xz,
                                          int yz,
                                          boolean includeTextAnnotations,
                                          boolean includeNonTextAnnotations)
        Prints the current annotation to the graphic context pointed by g. It always assumes the image is aspect ratio corrected into the absolute image coordinates xs, ys, xz, and yz.
        Parameters:
        g - java.awtGraphics printer context into which to draw image
        sf - java.awt.Container for the Snowbnd image object
        xs - Starting X position
        ys - Starting Y position
        xz - Size of window along its X axis
        yz - Size of window along its Y axis
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_print_annotations

        public int SANN_print_annotations​(java.awt.Graphics g,
                                          java.awt.Container sf,
                                          int xs,
                                          int ys,
                                          int xz,
                                          int yz)
        Prints the current annotation to the graphic context pointed by g. It always assumes the image is aspect ratio corrected into the absolute image coordinates xs, ys, xz, and yz.
        Parameters:
        g - java.awtGraphics printer context into which to draw image
        sf - java.awt.Container for the Snowbnd image object
        xs - Starting X position
        ys - Starting Y position
        xz - Size of window along its X axis
        yz - Size of window along its Y axis
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_set_font

        public int SANN_set_font​(int graphicNum,
                                 java.lang.String name,
                                 int italic,
                                 int bold,
                                 int fontHeight)
        Sets the current type of font to use for the specified Edit or PostIt text annotation.
        Parameters:
        graphicNum - This is an internal number for each graphic returned by SANN_get_object_num. It is merely the number in a linked list of graphics objects. Note: Use this number only after the call to SANN_get_object_num as SANN_delete_object may change the number of existing graphics.
        name - Name of font to use
        italic - Use italic font 0 or 1
        bold - Use bold font 0 or 1
        fontHeight - Size of the font in pixels
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        SANN_get_object_num(Container, int, int), SANN_delete_object(int), ErrorCodes
      • SANN_set_font

        public int SANN_set_font​(java.lang.String name,
                                 int italic,
                                 int bold,
                                 int fontHeight)
        Sets the current type of font to use for all Edit and PostIt text annotations.
        Parameters:
        name - Name of font to use
        italic - Use italic font 0 or 1
        bold - Use bold font 0 or 1
        fontHeight - Size of the font in points
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_move_object

        public int SANN_move_object​(int graphicNum,
                                    Snow.SANN_RECT rc)
        Moves or resizes the object (graphicNum).
        Parameters:
        graphicNum - Specify the object to move.
        rc - Rectangle for new object position and size. Coordinates are absolute.
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_resize_object

        public int SANN_resize_object​(int graphicNum,
                                      Snow.SANN_RECT rc)
        Resizes (or moves) the object indicated by graphicNum. It populates rc with the absolute rectangle coordinates of the new bounding box of the annotation object.
        Parameters:
        graphicNum - Specify the object to resize
        rc - Snow.SANN_RECT populated with new object size and location
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • resize_object

        public int resize_object​(Snow.ANN_GRAPHIC_STRUCT fcs,
                                 Snow.SANN_RECT rc)
        Resizes (or moves) the specific ANN_GRAPHIC_STRUCT object. It populates rc with the absolute rectangle coordinates of the new bounding box of the annotation object.
        Parameters:
        fcs - Specify the object to resize
        rc - Snow.SANN_RECT populated with new object size and location
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • centerTagInRect

        public void centerTagInRect​(java.awt.Graphics g,
                                    java.awt.Container sf,
                                    Snow.SANN_RECT disp,
                                    java.lang.String tagString,
                                    Snow.SANN_RECT rc,
                                    int[] xx,
                                    int[] yy,
                                    int[] ptSize)
      • SANN_draw_object

        public int SANN_draw_object​(java.awt.Graphics g,
                                    java.awt.Container sf,
                                    int graphicNum,
                                    int xs,
                                    int ys,
                                    int xz,
                                    int yz)
        Draws the object (graphicNum) at the coordinates passed in (xs, ys, xz, and yz). It can be used to draw selected annotations.
        Parameters:
        g - java.awt.Graphics context in which to draw
        sf - Container for currently displayed image
        graphicNum - Specified object to draw
        xs - X position at which to start drawing
        ys - Y position at which to start drawing
        xz - X size to draw object
        yz - Y size to draw object
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_get_object_bounds

        public int SANN_get_object_bounds​(int graphicNum,
                                          Snow.SANN_RECT rc)
        Returns the bounding box of the object (graphic_num) in image pixel coordinates. The coordinates are absolute.
        Parameters:
        graphicNum - Object contained by rc
        rc - Rectangle of bounding box
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_get_object_data

        public int SANN_get_object_data​(int graphicNum,
                                        byte[] data)
        Used to get the text data from a Post-it note or text annotation object.
        Parameters:
        graphicNum - The number to identify the annotation object to return data for.
        data - The byte array to return data in.
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_activate_object

        public int SANN_activate_object​(java.awt.Container sf,
                                        int graphicNum)
        Used only on the SANN_EDIT and SANN_POSTIT objects to allow editing of the text in the object.

        • In this mode you can move, edit, and delete the object.
        Parameters:
        sf - Container class for frame or window
        graphicNum - Specify the object to activate
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_deactivate_object

        public int SANN_deactivate_object​(int graphicNum)
        Used on the SANN_EDIT and SANN_POSTIT objects to stop the editing of text in TextArea. It makes the window inactive and draws the object data statically, superimposed on the image. In this mode you cannot move, resize or delete the object. You must call SANN_activate_object method to edit the text.
        • In this mode you cannot move, resize or delete the object. You must call SANN_activate_object method to edit the text.
        Parameters:
        graphicNum - Specify the object to activate
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_activate_all_objects

        public int SANN_activate_all_objects​(java.awt.Container sf)
        Activates all text based annotation objects to allow text editing in the TextArea represented by these objects. Currently used only on the SANN_EDIT and SANN_POSTIT objects.
        • In this mode you can move, edit, and delete the object.
        Parameters:
        sf - Container for currently displayed image
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_deactivate_all_objects

        public int SANN_deactivate_all_objects()
        Used on the SANN_EDIT and SANN_POSTIT objects to disallow editing of text in all text based objects. It makes the window inactive and draws the object data statically, superimposed on the image. In this mode you cannot move, resize or delete the object. You must call SANN_activate_object to enable text editing. This call deactivates all objects on the page.
        • In this mode you cannot move, resize or delete the object. You must call SANN_activate_object to enable text editing. This call deactivates all objects on the page.
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        SANN_activate_object(Container, int), ErrorCodes
      • SANN_get_object_info

        public Snow.ANN_GRAPHIC_STRUCT SANN_get_object_info​(int graphicNum)
        Returns an instance of the Snow.ANN_GRAPHIC_STRUCT class, which is the internal wrapper for the object number passed in. This has information about the size, color and object attributes.
        Parameters:
        graphicNum - Specify the object for which to return a structure pointer
        Returns:
        Snow.ANN_GRAPHIC_STRUCT.
      • SANN_rotate

        public int SANN_rotate​(int angle)
        Rotates all annotations on the currently displayed image. Rotation is in increments of 90 degrees up to 270 degrees.
        Parameters:
        angle - The amount by which to rotate annotation, in increments of 90 degrees.
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_rotate_object

        public int SANN_rotate_object​(int graphicNum,
                                      int angle)
        Rotates given annotation object by angle
        Parameters:
        graphicNum -
        angle -
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_flipx

        public int SANN_flipx()
        Flips all annotation objects about the horizontal
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_flipy

        public int SANN_flipy()
        Flips all annotation objects about the vertical
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_map_image_to_wnd

        public int SANN_map_image_to_wnd​(Snow.SANN_RECT disprect,
                                         Snow.SANN_POINT pt,
                                         java.awt.Container sf)
        Converts the internal graphics coordinates of the image to coordinates of the current window.
        Parameters:
        disprect -
        pt - Absolute X and Y coordinates to convert
        sf - Current display container
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_map_wnd_to_image

        public int SANN_map_wnd_to_image​(java.awt.Container sf,
                                         Snow.SANN_POINT pt)
        Converts coordinates of the current window to the internal graphics coordinates of the image.
        Parameters:
        sf - Current display container
        pt - Absolute X and Y coordinates to convert
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • SANN_set_croprect

        public int SANN_set_croprect​(int xs,
                                     int ys,
                                     int xe,
                                     int ye)
        The cropping rectangle is essentially the size of the display container (which is usually a subclass of java.awt.Container), mapped onto the image (corrected for image scaling). To use cropping methods with zooming, SANN_map_wnd_to_image(java.awt.Container, java.awt.Point) SANN_map_image_to_wnd(java.awt.Container, java.awt.Point).
        Parameters:
        xs - X starting coordinate
        ys - Y starting coordinate
        xe - X crop rectangle size
        ye - Y crop rectangle size
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        SANN_map_wnd_to_image(Container, SANN_POINT), SANN_map_image_to_wnd(SANN_RECT, SANN_POINT, Container), ErrorCodes
      • SANN_get_croprect

        public int SANN_get_croprect​(Snow.SANN_RECT rc)
        Returns the cropping rectangle for the current annotation display area (the visible display area).
        Parameters:
        rc - rc.bottom, rc.top, rc.right, rc.left, rectangle coordinates
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • ann_dblclick

        public int ann_dblclick​(java.awt.Container sf,
                                int xpos,
                                int ypos)
        Selects the annotation under the mouse coordinates. It then activates and enables it for editing if a SANN_EDIT or SANN_POSTIT. Call this during mouse-click events.
        Parameters:
        sf - Container for currently displayed image
        xpos - Position of mouse cursor on X-axis
        ypos - Position of mouse cursor on Y-axis
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • ui_delete

        public int ui_delete​(java.awt.Container sf)
        Deletes the currently selected annotation object. It is used by built in annotation editing pop-up menu to fire the SANN_delete_object method on the currently selected annotation object.
        Parameters:
        sf - java.awt.Container for the currently displayed image
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • ui_rotate_object

        public int ui_rotate_object​(java.awt.Container sf,
                                    int degrees)
        Rotates the currently selected annotation object. It is used by built in annotation editing pop-up menu to fire the SANN_rotate_object method on the currently selected annotation object.
        Parameters:
        sf - java.awt.Container for the currently displayed image
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • ui_exit

        public int ui_exit()
        Deselects the currently selected annotation object. It is used by pop-up menu to set current graphic_id to -1.
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • ui_wm_lbuttondown

        public int ui_wm_lbuttondown​(java.awt.Container sf,
                                     int xpos,
                                     int ypos,
                                     byte[] textbuff)
        Begins tracking mouse movements when the mouse button is pressed. Call this method during the mouse down or mouse pressed events.
        Parameters:
        sf - java.awt.Container for currently displayed image.
        xpos - Position of mouse cursor on X-axis.
        ypos - Position of mouse cursor on Y-axis.
        textbuff - Used internally. Set to null.
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        See Also:
        ErrorCodes
      • ui_wm_mousemove

        public int ui_wm_mousemove​(java.awt.Container sf,
                                   int xpos,
                                   int ypos,
                                   byte[] textbuff)
        Notifies the library of the current mouse coordinates. Call this method during mouse move events. A negative value indicates an error. See Appendix G for more information.
        Parameters:
        sf - java.awt.Container for currently displayed image.
        xpos - Position of mouse cursor on X-axis.
        ypos - Position of mouse cursor on Y-axis.
        textbuff - Used internally. Set to null.
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
      • ui_wm_lbuttonup

        public int ui_wm_lbuttonup​(java.awt.Container sf,
                                   int xpos,
                                   int ypos,
                                   byte[] textbuff)
        This method notifies the annotation library that the mouse button has been released. Call this method during the mouse released or mouse up event. A negative value indicates an error. See Appendix G for more information.
        Parameters:
        sf - java.awt.Container for currently displayed image.
        xpos - Position of mouse cursor on X-axis.
        ypos - Position of mouse cursor on Y-axis.
        textbuff - Used internally. Set to null.
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
      • ui_wm_endmove

        protected int ui_wm_endmove​(java.awt.Container sf)
      • ui_wm_endresize

        protected int ui_wm_endresize​(java.awt.Container sf)
      • ui_startresize

        public int ui_startresize​(java.awt.Container sf)
        This method notifies the annotation library that the current annotation object is being resized. A negative value indicates an error. See Appendix G for more information.
        Parameters:
        sf - java.awt.Container for currently displayed image
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
      • ui_startmove

        public int ui_startmove​(java.awt.Container sf)
        This method notifies the annotation library that the current annotation object is being moved. A negative value indicates an error. See Appendix G for more information.
        Parameters:
        sf - java.awt.Container for currently displayed image
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
      • GetClientRect

        public void GetClientRect​(java.awt.Container sf,
                                  Snow.SANN_RECT rc)
        This method fills a SANN_RECT object with the current height and width of the display area. It subtracts the height and width of the scrollbars for the calculation.
        Parameters:
        sf - Container for currently displayed image
        rc - Snow.SANN_RECT to be filled with display area height and width
      • SANN_merge_annotations

        public int SANN_merge_annotations​(Snowbnd snow,
                                          java.awt.Container sf)
        This method will permanently merge annotations onto the Snowbound image object passed in.
        Parameters:
        snow - Current Snowbound image object to merge annotations onto.
        sf - Current display container. May be a frame, panel, or Jframe.
        Returns:
        the current display container. A value of 0 indicates success. A negative value indicates an error. Any value less than zero is a Snowbound error code
      • SANN_write_ann_xml

        public int SANN_write_ann_xml​(byte[] dos,
                                      Snow.SnowXMLWriter xmlwriter)
                               throws java.io.IOException
        This method will write out the contents of SnowXMLWriter to a byte[] array. This method should be called after the SnowXMLWriter has been wrapped in <document> tags or after SANN_write_ann_xml_document() has been called. This method will thrown in IOException if there is a problem writing out to the byte[] array.
        Parameters:
        dos - Byte array buffer to hold annotation data
        xmlwriter - Contains XML data
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        Throws:
        java.io.IOException
      • SANN_write_ann_xml_document

        public Snow.SnowXMLWriter SANN_write_ann_xml_document​(Snow.SnowXMLWriter xmlPagesWriter)
                                                       throws java.io.IOException
        This method will write out <document> data. This method should be called once all <page> and <annObject> data has been written. This method will wrap the contents on SnowXMLWriter in to <document> tag and return a full SnowXMLWriter containing valid XML. Should be the last method called prior to writing annotation data to disk. This method will thrown in IOException if there is a problem writing out annotation data to XML.
        Parameters:
        xmlPagesWriter - Contains <page> and <annObject> data to be wrapped in <document> tags
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        Throws:
        java.io.IOException
      • SANN_write_ann_xml_page

        public Snow.SnowXMLWriter SANN_write_ann_xml_page​(Snow.SnowXMLWriter xmlwriter)
                                                   throws java.io.IOException
        This method will write out <page> and <annObject> data the associated ANN_GRAPHIC_STRUCT and return a populated SnowXMLWriter. This should should be called for each annotated page in the document. This method will thrown in IOException if there is a problem writing out annotation data to XML.
        Parameters:
        xmlwriter - Can be empty or contain <page> and <annObject> data from a previous page
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        Throws:
        java.io.IOException
      • SANN_write_ann_xml_page

        public Snow.SnowXMLWriter SANN_write_ann_xml_page​(Snow.SnowXMLWriter xmlwriter,
                                                          java.lang.String annLayerId)
                                                   throws java.io.IOException
        This method will write out <page> and <annObject> data the associated ANN_GRAPHIC_STRUCT and return a populated SnowXMLWriter. This should should be called for each annotated page in the document. This method will thrown in IOException if there is a problem writing out annotation data to XML.
        Parameters:
        xmlwriter - Can be empty or contain <page> and <annObject> data from a previous page
        annLayerId - annLayerID value to insert into page metadata
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
        Throws:
        java.io.IOException
      • SANN_write_ann_fnx

        public int SANN_write_ann_fnx​(java.lang.String pathname,
                                      java.lang.String filenetAnnId,
                                      int extra_size,
                                      byte[] extra_data)
        This method writes out filenet annotations to the disk file as xml. The extra_size and extra_data parameters allow the embedding of other data into the file such as company name or any data you wish to put in the file. There is currently no method to retrieve extra information. A negative value indicates an error. See Appendix G for more information.
        Parameters:
        pathname - Path name in which to write annotation files
        filenetAnnId - FileNet annotation ID
        extra_size - Size of extra data to write after the first header
        extra_data - Buffer for extra data to write
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
      • SANN_write_ann_fnx

        public byte[] SANN_write_ann_fnx​(java.lang.String filenetAnnId,
                                         int[] error)
        This method returns a byte array containing xml filenet annotations. A null pointer indicates an error.
        Parameters:
        filenetAnnId - FileNet annotation ID
        error - Array for returning an integer error code. See Appendix G for more information.
        Returns:
        byte Array containing FileNet annotations in XML.
      • SANN_write_ann_idm

        public int SANN_write_ann_idm​(java.lang.String pathname,
                                      java.lang.String userName,
                                      java.lang.String groupName,
                                      int status,
                                      int page)
        This method writes out IDM annotations to the disk file. The extra_size and extra_data parameters allow the embedding of other data into the file such as company name or any data you wish to put in the file. There is currently no method to retrieve extra information. A negative value indicates an error. See Appendix G for more information.
        Parameters:
        pathname - Path name in which to write annotation file
        userName - Creator's user name
        groupName - Creator's group name
        status - Annotation status: 0:Original, 1:New, 2:Modify, 3:Delete
        page - Page number
        Returns:
        Any non-negative value indicates success. A negative value indicates an error.
      • SANN_write_ann_idm

        public byte[] SANN_write_ann_idm​(java.lang.String userName,
                                         java.lang.String groupName,
                                         int status,
                                         int page,
                                         int[] error)
        This method returns a byte array containing IDM annotations. A null pointer indicates an error.
        Parameters:
        userName - Creator's user name
        groupName - Creator's group name
        status - Annotation status: 0:Original, 1:New, 2:Modify, 3:Delete
        page - Page number
        error - Array for returning an integer error code. See Appendix G for more information.
        Returns:
        byte Array containing IDM annotations.
      • SANN_set_fnx_dpi

        public void SANN_set_fnx_dpi​(int dpi)
        This method sets the resolution used for Filenet annotations.
        Parameters:
        dpi - Integer Horizontal resolution in dots per inch
      • setAutoDetect

        public void setAutoDetect​(boolean autoDetect)
      • setVisibilityFlag

        public void setVisibilityFlag​(int type,
                                      boolean value)
        This method sets the visibility flag for the specified annotation type
        Parameters:
        type - The numeric annotation type
        value - The boolean value for this type
      • getVisibilityFlag

        public boolean getVisibilityFlag​(int type)
        Get the visibility flag for the specified annotation type
        Parameters:
        type - The numeric annotation type
      • setVisibilityFlags

        public void setVisibilityFlags​(boolean[] valueArray)
        This method sets all of the visibility flags
        Parameters:
        valueArray - A boolean array (boolean[]) containing one cell for each annotation type (right now indices [1]-[18]) and one cell to use to disable the use of the flags altogether (index [0])
      • setVisibilityFlagsEnabled

        public void setVisibilityFlagsEnabled​(boolean value)
        This method enables or disables the use of the visibility flags altogether.
        Parameters:
        value - A boolean which enables or disables the visibility flag usage