package io.github.jgkamat.ViPaint.Tools.KeyModeTools; import javafx.scene.canvas.GraphicsContext; import javafx.scene.input.KeyCode; /** * A line tool for ViPaint * @author Jay Kamat * @version 1.0 */ public class Line implements KeyModeTool { private double startx, starty; @Override public void onEnterMode(Cursor c, KeyToolEvent e, GraphicsContext g) { startx = c.getCenterX(); starty = c.getCenterY(); } @Override public void onMoveInMode(Cursor c, KeyToolEvent e, GraphicsContext g) { g.strokeLine(startx, starty, c.getCenterX(), c.getCenterY()); } @Override public void onExitMode(Cursor c, KeyToolEvent e, GraphicsContext g) { onMoveInMode(c, e, g); } @Override public KeyCode getDefaultKey() { return KeyCode.N; } @Override public String getName() { return "Line"; } @Override public String getHelp() { return "The Line tool is used to draw perfectly straight lines.\n\n" + "Press N or n to activate the tool, move around\n" + "with h,j,k, and l, and press <ESC> to complete the drawing."; } @Override public boolean hasPreview() { return true; } }