fr.emn.cursors
Class JQuikWriting

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byfr.emn.cursors.JCursor
                  extended byfr.emn.cursors.JQuikWriting
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class JQuikWriting
extends JCursor

Ken Perlin's input method for small computers.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class fr.emn.cursors.JCursor
ACTIVE_ARROW0, ACTIVE_ARROW1, ACTIVE_ARROW2, ACTIVE_ARROW3, ACTIVE_ERASER0, ACTIVE_ERASER1, ACTIVE_LINE0, ACTIVE_LINE1, ACTIVE_PENCIL0, ACTIVE_PENCIL1, ACTIVE_RECTANGLE0, ACTIVE_RECTANGLE1, defaultIcon, frame, IMG_ARROW0, IMG_ARROW1, IMG_ARROW2, IMG_ARROW3, IMG_ERASER0, IMG_ERASER1, IMG_LINE0, IMG_LINE1, IMG_PENCIL0, IMG_PENCIL1, IMG_RECTANGLE0, IMG_RECTANGLE1, LAYER0_COMPONENT, LAYER1, LAYER10_CURSOR, LAYER11, LAYER12, LAYER2_TOOLBAR, LAYER3, LAYER4_DIALOG, LAYER5, LAYER6_POPUP, LAYER7, LAYER8_DRAG, LAYER9, smoothTimer, stopListener, xsmooth, ysmooth
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
JQuikWriting()
          Constructor
JQuikWriting(int size, double transparency, boolean highlightEnabled, boolean traceEnabled, boolean charDisplayEnabled, boolean centeredInsertionPoint)
           
 
Method Summary
protected  javax.swing.ImageIcon createBackgroundImage()
          Called to create the background cursor image.
protected  void doRepaints()
          this can be useful for subclasses which display additional items (called automatically by setCursorLocation, before and after updating the cursor coordinates)
 boolean getCenteredInsertionPoint()
           
 double getCenterSize()
           
 boolean getCharDisplayEnabled()
           
 int getCurrentArea()
          Returns current active area, 0 if none.
 boolean getHighlightEnabled()
          Parameters
 double getRegionDistance()
           
 double getRegionThickness()
           
 int getTotalSize()
           
 boolean getTraceEnabled()
           
 double getTransparency()
           
 void highlight(int region)
           
protected  void initTempModes()
           
 void install(javax.swing.JFrame frame)
          Subclassed to create the quikwrite image after the cursor has been installed.
 boolean isHelpShowing()
           
 void paint(java.awt.Graphics g)
           
protected  void paintAreaMap(java.awt.image.BufferedImage areaMap)
          Draw the area map used to retreive areas
protected  void paintBackground(java.awt.Graphics2D g1)
          Draw background image with gray areas
protected  void paintChar(java.awt.Graphics2D g)
          Paints current char
protected  void paintInternalCursors(java.awt.Graphics2D g)
          Paints internal cursor
protected  void paintStroke(java.awt.Graphics2D g)
          Paints stroke
protected  boolean processCommand(char com)
          See if a char can perform a command like mode change.
 void setCenteredInsertionPoint(boolean v)
           
 void setCenterSize(double val)
           
 void setCharDisplayEnabled(boolean v)
           
 void setHighlightEnabled(boolean v)
           
 void setRegionDistance(double val)
           
 void setRegionThickness(double val)
           
 void setTotalSize(int size)
           
 void setTraceEnabled(boolean v)
           
 void setTransparency(double t)
           
 void showHelp(boolean show)
           
 void strokeEnd()
          Validates a stroke.
 void strokeStart(int x, int y)
          Enter in stroke mode.
 char strokeTo(int newx, int newy)
          Adds a stroke point in screen coordinates.
protected  void updateAreaMap()
           
protected  void updateBackgroundImage(boolean reset)
           
 void updateLayout()
          Recalculates area shapes & images
 
Methods inherited from class fr.emn.cursors.JCursor
addUsedLayer, focusUnder, getComponentUnder, getComponentUnderLayer, getFrame, getImage, getLocation, getScreenLocation, install, isLayerUsed, isMoving, loadImage, moveSmoothlyTo, moveSmoothlyTo, setAcceleration, setCornerLocation, setDirection, setImage, setInterpolation, setLocalLocation, setMaxRate, setMinRate, setOpacity, setScreenLocation, setToCenter, startMoving, stopMoving, uninstall
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JQuikWriting

public JQuikWriting()
Constructor


JQuikWriting

public JQuikWriting(int size,
                    double transparency,
                    boolean highlightEnabled,
                    boolean traceEnabled,
                    boolean charDisplayEnabled,
                    boolean centeredInsertionPoint)
Method Detail

install

public void install(javax.swing.JFrame frame)
Subclassed to create the quikwrite image after the cursor has been installed.

Overrides:
install in class JCursor

paint

public void paint(java.awt.Graphics g)
Overrides:
paint in class JCursor

paintStroke

protected void paintStroke(java.awt.Graphics2D g)
Paints stroke


paintChar

protected void paintChar(java.awt.Graphics2D g)
Paints current char


paintInternalCursors

protected void paintInternalCursors(java.awt.Graphics2D g)
Paints internal cursor


doRepaints

protected void doRepaints()
Description copied from class: JCursor
this can be useful for subclasses which display additional items (called automatically by setCursorLocation, before and after updating the cursor coordinates)

Overrides:
doRepaints in class JCursor

updateLayout

public void updateLayout()
Recalculates area shapes & images


updateBackgroundImage

protected void updateBackgroundImage(boolean reset)

createBackgroundImage

protected javax.swing.ImageIcon createBackgroundImage()
Called to create the background cursor image. Component must be installed in order to retreive its graphics2D.


updateAreaMap

protected void updateAreaMap()

paintAreaMap

protected void paintAreaMap(java.awt.image.BufferedImage areaMap)
Draw the area map used to retreive areas


paintBackground

protected void paintBackground(java.awt.Graphics2D g1)
Draw background image with gray areas


highlight

public void highlight(int region)

strokeStart

public void strokeStart(int x,
                        int y)
Enter in stroke mode. Strokes will be recorded in relative mode given this first point.


strokeEnd

public void strokeEnd()
Validates a stroke.


strokeTo

public char strokeTo(int newx,
                     int newy)
Adds a stroke point in screen coordinates. Returns recognized char, or '\0'.


processCommand

protected boolean processCommand(char com)
See if a char can perform a command like mode change.


initTempModes

protected void initTempModes()

getCurrentArea

public int getCurrentArea()
Returns current active area, 0 if none. Areas are: 1 2 3 4 5 6 7 8 9


showHelp

public void showHelp(boolean show)

isHelpShowing

public boolean isHelpShowing()

getHighlightEnabled

public boolean getHighlightEnabled()
Parameters


setHighlightEnabled

public void setHighlightEnabled(boolean v)

getTraceEnabled

public boolean getTraceEnabled()

setTraceEnabled

public void setTraceEnabled(boolean v)

getCharDisplayEnabled

public boolean getCharDisplayEnabled()

setCharDisplayEnabled

public void setCharDisplayEnabled(boolean v)

getCenteredInsertionPoint

public boolean getCenteredInsertionPoint()

setCenteredInsertionPoint

public void setCenteredInsertionPoint(boolean v)

getTotalSize

public int getTotalSize()

setTotalSize

public void setTotalSize(int size)

getCenterSize

public double getCenterSize()

setCenterSize

public void setCenterSize(double val)

getRegionDistance

public double getRegionDistance()

setRegionDistance

public void setRegionDistance(double val)

getRegionThickness

public double getRegionThickness()

setRegionThickness

public void setRegionThickness(double val)

getTransparency

public double getTransparency()

setTransparency

public void setTransparency(double t)