Package kiyut.sketsa.canvas.tool
Class DefaultResizeTool
- java.lang.Object
-
- kiyut.sketsa.canvas.tool.AbstractTool
-
- kiyut.sketsa.canvas.tool.DefaultResizeTool
-
- All Implemented Interfaces:
KeyListener,MouseListener,MouseMotionListener,EventListener,MouseInputListener,ResizeTool,Tool
public class DefaultResizeTool extends AbstractTool implements ResizeTool
Implementation of Resize Tool- Author:
- Kiyut
-
-
Constructor Summary
Constructors Constructor Description DefaultResizeTool()Creates a new instance of ResizeTool
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AffineTransformcreateTransform()create resize transformprotected intdetermineDirection(int x, int y)Determine direction.voidendTool()Invoked when the tool is endedvoidmouseDragged(MouseEvent evt)voidmousePressed(MouseEvent evt)voidmouseReleased(MouseEvent evt)voidpaint(Graphics2D g2d)Invoked by canvas to draw tool.voidsetVectorCanvas(VectorCanvas canvas)set the canvas for the toolvoidstartTool()Invoked when the tool is startedprotected voidswap(double[] array, int index1, int index2)protected voidupdateDOM()update the model by scaling.protected voidupdateOutline()update outline-
Methods inherited from class kiyut.sketsa.canvas.tool.AbstractTool
addMessageListener, fireMessageReceived, keyPressed, keyReleased, keyTyped, mouseClicked, mouseEntered, mouseExited, mouseMoved, removeMessageListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.awt.event.KeyListener
keyPressed, keyReleased, keyTyped
-
Methods inherited from interface java.awt.event.MouseListener
mouseClicked, mouseEntered, mouseExited
-
Methods inherited from interface java.awt.event.MouseMotionListener
mouseMoved
-
Methods inherited from interface kiyut.sketsa.canvas.tool.Tool
addMessageListener, removeMessageListener
-
-
-
-
Method Detail
-
paint
public void paint(Graphics2D g2d)
Description copied from interface:ToolInvoked by canvas to draw tool.- Specified by:
paintin interfaceTool- Overrides:
paintin classAbstractTool- Parameters:
g2d- the Graphics2D context in which to paint
-
setVectorCanvas
public void setVectorCanvas(VectorCanvas canvas)
Description copied from interface:Toolset the canvas for the tool- Specified by:
setVectorCanvasin interfaceTool- Overrides:
setVectorCanvasin classAbstractTool- Parameters:
canvas- VectorCanvas
-
startTool
public void startTool()
Description copied from interface:ToolInvoked when the tool is started- Specified by:
startToolin interfaceTool- Overrides:
startToolin classAbstractTool
-
endTool
public void endTool()
Description copied from interface:ToolInvoked when the tool is ended- Specified by:
endToolin interfaceTool- Overrides:
endToolin classAbstractTool
-
determineDirection
protected int determineDirection(int x, int y)Determine direction. The direction is in phone keypad format.- Parameters:
x- the Xy- the Y- Returns:
- direction or -1
- See Also:
CanvasSelection.getBorder()
-
createTransform
protected AffineTransform createTransform()
create resize transform- Returns:
- AffineTransform
-
swap
protected void swap(double[] array, int index1, int index2)
-
updateDOM
protected void updateDOM()
update the model by scaling.
1. get the selections bound in canvas transform
2. create resizeAT based on the selections bounds (use selection bound x and y as translation point)
3. get the globalTransform and canvasTransform
4. transform using global and canvasTransform
5. transform using resizeAT
6. transform back using global and canvasTransform inverse Transform
-
updateOutline
protected void updateOutline()
update outline
-
mouseDragged
public void mouseDragged(MouseEvent evt)
- Specified by:
mouseDraggedin interfaceMouseMotionListener- Overrides:
mouseDraggedin classAbstractTool
-
mousePressed
public void mousePressed(MouseEvent evt)
- Specified by:
mousePressedin interfaceMouseListener- Overrides:
mousePressedin classAbstractTool
-
mouseReleased
public void mouseReleased(MouseEvent evt)
- Specified by:
mouseReleasedin interfaceMouseListener- Overrides:
mouseReleasedin classAbstractTool
-
-