edu.mit.sketch.ui
Class TabletGUIBehavior

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--edu.mit.sketch.ui.TabletGUI
                                |
                                +--edu.mit.sketch.ui.TabletDataProcessor
                                      |
                                      +--edu.mit.sketch.ui.TabletGUIBehavior
All Implemented Interfaces:
Accessible, ActionListener, AdjustmentListener, EventListener, ImageObserver, MenuContainer, MouseListener, MouseMotionListener, Serializable
Direct Known Subclasses:
Tablet

public class TabletGUIBehavior
extends TabletDataProcessor
implements ActionListener

Acronyms: sdr -> StrokeDataReader, data -> StrokeData This class handles the updates to various frames.

See Also:
Serialized Form

Inner classes inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
Component.AccessibleAWTComponent
 
Field Summary
static double a_scale
           
 Graphics a_window_graphics
           
static double accumulated_length_scale
           
static float brush_thickness
           
 BufferedImage buffer
           
 Graphics buffer_graphics
           
 boolean buffer_ready
           
static double d_theta_scale
           
 Graphics d_window_graphics
           
 Graphics dd_dt_window_graphics
           
 boolean display_lsq_vectors
           
 Graphics fits_window_graphics
           
 boolean show_parsed_objects
           
static double t_scale
           
static double theta_scale
           
static double v_scale
           
 Graphics v_window_graphics
           
 
Fields inherited from class edu.mit.sketch.ui.TabletDataProcessor
circle_vs_general_path_bias, circle_vs_speed_bias, classifier, combine_treshold, control_module, data, dd_dt_average_scale, debug, debug2, deriving_scale_space, direction_fit, direction_window_width, final_fit, fit_method, gesture_gui, in_recognition_mode, line, LSQE_treshold, object_manager, platform_is_windows9x, polar_points, sdr, sequence_delay, speed_average_scale, speed_fit, test_line_scale, turn_angle_treshold, window_width
 
Fields inherited from class edu.mit.sketch.ui.TabletGUI
a_menu, a_window, bar_statistics_module, controls_menu, d_menu, d_window, data_menu, data_window, dd_dt_menu, dd_dt_scale_space_menu, dd_dt_scale_space_viewer, dd_dt_window, ddsw_statistics_module, debug_graphics, derive_properties_menu, derive_snapshots_menu, direction_menu, display_menu, dsw_statistics_module, edit, file, fits_menu, fits_window, gesture_gui_menu, graph_color, info_bar, joint_display, joint_display_menu, menubar, open_menu, options, pen_menu, processing, quit_menu, save_as_menu, save_features_menu, save_menu, sliding_window_statistics_module, statistics_menu, status_bar, undo_menu, v_menu, v_scale_space_menu, v_scale_space_viewer, v_window, vectors_menu, windows, x_list, y_list
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TabletGUIBehavior(int max_data_points, String cursor_image_name, boolean platform_is_windows9x)
          The constructor.
 
Method Summary
 void actionPerformed(ActionEvent e)
          Handle action events
 void constructToolbar()
          Construct the toolbar
 void convolveChangeInDirection()
          Do convolution.
 void convolveDirection()
          Do convolution.
 void displayFitByIndices(int[] indices)
          displayFitByIndices
 void displayFitByIndices(int[] indices, Color edge_color, Color vertex_color)
          displayFitByIndices
 void displayFitByPositions(double[] x, double[] y, int[] indices)
          displayFitByPositions
 void displayFitByReversedIndices(int[] indices)
          displayFitByIndices
 void displayVertices(Vertex[] vertices)
          Paint the vertices along with the path combining them
 void displayVerticesAsDots(Vertex[] vertices)
          Paint the vertices along without the path combining them
 void initializeBuffer()
          Overloaded for double buffering.
 void mouseClicked(MouseEvent e)
          Handle mouse events
 void mouseDragged(MouseEvent e)
          Handle mouse motion events
 void mouseEntered(MouseEvent e)
          Handle mouse events
 void mouseExited(MouseEvent e)
          Handle mouse events
 void mouseMoved(MouseEvent e)
          Handle mouse motion events
 void mousePressed(MouseEvent e)
          Handle mouse events
 void mouseReleased(MouseEvent e)
          Handle mouse events
 void paint_d(StrokeData data, Color color)
          Update the direction graph.
 void paint_dd_dt(StrokeData data, Color color)
          Update change in direction
 void paint(Graphics g)
          Overloaded for double buffering.
 void paintAcceleration(StrokeData data, Color color)
          Update the acceleration graph.
 void paintFvsG(double[] f, double[] g, Color color, Component component, AffineTransform transform)
          Paint f vs g in the frame using the input color and affine transform.
 void paintFvsG(long[] f, double[] g, Color color, Component component, AffineTransform transform)
          Paint f vs g in the frame using the input color and affine transform.
 void paintVelocity(StrokeData data, Color color)
          Update the velocity graph.
 void setFitMehod(int method)
          Change the fit method, rederive the direction and related entities.
 void toggle()
          toggle the state related with showing the parsed objects.
 void update_fits()
          Update the info about the various fits (LSQE etc.)
 void update(Graphics g)
          Update various graphs and statistics.
 void zoomX(double k)
          Zoom in all window's X axis by k
 void zoomY(double k)
          Zoom in all window's y axis by k
 
Methods inherited from class edu.mit.sketch.ui.TabletDataProcessor
addEventListeners, addPoint, classifyData, combineEndPoints, getTimeStamp, mouseReleased2, reset, setDebugging, setRecognitionMode, simplifyPolygon
 
Methods inherited from class edu.mit.sketch.ui.TabletGUI
adjustmentValueChanged, clearComponent, clearScreen, constructGUI, initializeGraphicsObjects, setInfoMessage, setStatusMessage
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getAccessibleContext, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, paramString, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, processWindowEvent, removeWindowListener, setCursor, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setFont, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

a_scale

public static double a_scale

v_scale

public static double v_scale

t_scale

public static double t_scale

theta_scale

public static double theta_scale

d_theta_scale

public static double d_theta_scale

accumulated_length_scale

public static double accumulated_length_scale

brush_thickness

public static float brush_thickness

display_lsq_vectors

public boolean display_lsq_vectors

show_parsed_objects

public boolean show_parsed_objects

buffer_ready

public boolean buffer_ready

buffer

public BufferedImage buffer

buffer_graphics

public Graphics buffer_graphics

v_window_graphics

public Graphics v_window_graphics

a_window_graphics

public Graphics a_window_graphics

d_window_graphics

public Graphics d_window_graphics

fits_window_graphics

public Graphics fits_window_graphics

dd_dt_window_graphics

public Graphics dd_dt_window_graphics
Constructor Detail

TabletGUIBehavior

public TabletGUIBehavior(int max_data_points,
                         String cursor_image_name,
                         boolean platform_is_windows9x)
The constructor.
Method Detail

initializeBuffer

public void initializeBuffer()
Overloaded for double buffering.

constructToolbar

public void constructToolbar()
Construct the toolbar

paint

public void paint(Graphics g)
Overloaded for double buffering.
Overrides:
paint in class Container

actionPerformed

public void actionPerformed(ActionEvent e)
Handle action events
Specified by:
actionPerformed in interface ActionListener

toggle

public void toggle()
toggle the state related with showing the parsed objects.

mouseReleased

public void mouseReleased(MouseEvent e)
Handle mouse events
Overrides:
mouseReleased in class TabletDataProcessor

mouseClicked

public void mouseClicked(MouseEvent e)
Handle mouse events
Overrides:
mouseClicked in class TabletDataProcessor

mouseEntered

public void mouseEntered(MouseEvent e)
Handle mouse events
Overrides:
mouseEntered in class TabletDataProcessor

mouseExited

public void mouseExited(MouseEvent e)
Handle mouse events
Overrides:
mouseExited in class TabletDataProcessor

mousePressed

public void mousePressed(MouseEvent e)
Handle mouse events
Overrides:
mousePressed in class TabletDataProcessor

mouseDragged

public void mouseDragged(MouseEvent e)
Handle mouse motion events
Overrides:
mouseDragged in class TabletDataProcessor

mouseMoved

public void mouseMoved(MouseEvent e)
Handle mouse motion events
Overrides:
mouseMoved in class TabletDataProcessor

displayVertices

public void displayVertices(Vertex[] vertices)
Paint the vertices along with the path combining them

displayVerticesAsDots

public void displayVerticesAsDots(Vertex[] vertices)
Paint the vertices along without the path combining them

displayFitByReversedIndices

public void displayFitByReversedIndices(int[] indices)
displayFitByIndices

displayFitByPositions

public void displayFitByPositions(double[] x,
                                  double[] y,
                                  int[] indices)
displayFitByPositions

displayFitByIndices

public void displayFitByIndices(int[] indices)
displayFitByIndices

displayFitByIndices

public void displayFitByIndices(int[] indices,
                                Color edge_color,
                                Color vertex_color)
displayFitByIndices

update

public void update(Graphics g)
Update various graphs and statistics.
Overrides:
update in class Container

paintVelocity

public void paintVelocity(StrokeData data,
                          Color color)
Update the velocity graph.

paintAcceleration

public void paintAcceleration(StrokeData data,
                              Color color)
Update the acceleration graph.

paint_d

public void paint_d(StrokeData data,
                    Color color)
Update the direction graph.

paint_dd_dt

public void paint_dd_dt(StrokeData data,
                        Color color)
Update change in direction

paintFvsG

public void paintFvsG(double[] f,
                      double[] g,
                      Color color,
                      Component component,
                      AffineTransform transform)
Paint f vs g in the frame using the input color and affine transform. f is on the horizontal axis.

paintFvsG

public void paintFvsG(long[] f,
                      double[] g,
                      Color color,
                      Component component,
                      AffineTransform transform)
Paint f vs g in the frame using the input color and affine transform. f is on the horizontal axis.

update_fits

public void update_fits()
Update the info about the various fits (LSQE etc.)

setFitMehod

public void setFitMehod(int method)
Change the fit method, rederive the direction and related entities. Also update the graphs.

convolveDirection

public void convolveDirection()
Do convolution.

convolveChangeInDirection

public void convolveChangeInDirection()
Do convolution.

zoomY

public void zoomY(double k)
Zoom in all window's y axis by k

zoomX

public void zoomX(double k)
Zoom in all window's X axis by k