annotate java/src/uk/ac/qmul/eecs/ccmi/haptics/Haptics.java @ 8:ea7885bd9bff tip

fixed bug : render solid line as dotted/dashed when moving the stylus from dotted/dashed to solid
author ccmi-guest
date Thu, 03 Jul 2014 16:12:20 +0100
parents 1c5af356bb99
children
rev   line source
fiore@0 1 /*
fiore@0 2 CCmI Editor - A Collaborative Cross-Modal Diagram Editing Tool
fiore@0 3
fiore@0 4 Copyright (C) 2011 Queen Mary University of London (http://ccmi.eecs.qmul.ac.uk/)
fiore@0 5
fiore@0 6 This program is free software: you can redistribute it and/or modify
fiore@0 7 it under the terms of the GNU General Public License as published by
fiore@0 8 the Free Software Foundation, either version 3 of the License, or
fiore@0 9 (at your option) any later version.
fiore@0 10
fiore@0 11 This program is distributed in the hope that it will be useful,
fiore@0 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
fiore@0 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
fiore@0 14 GNU General Public License for more details.
fiore@0 15
fiore@0 16 You should have received a copy of the GNU General Public License
fiore@0 17 along with this program. If not, see <http://www.gnu.org/licenses/>.
fiore@0 18 */
fiore@0 19
fiore@0 20 package uk.ac.qmul.eecs.ccmi.haptics;
fiore@0 21
fiore@0 22 import java.awt.geom.Line2D;
fiore@0 23 import java.util.BitSet;
fiore@0 24
fiore@5 25 /**
fiore@5 26 *
fiore@5 27 * An interface for rendering a visual diagram hapticly.
fiore@5 28 *
fiore@5 29 */
fiore@0 30 public interface Haptics extends Runnable{
fiore@0 31
fiore@5 32 public void addNewDiagram(String diagramName);
fiore@0 33
fiore@3 34 public void switchDiagram(String diagramName);
fiore@0 35
fiore@6 36 /**
fiore@6 37 * Removes a diagram from the collection of haptic diagrams.
fiore@6 38 *
fiore@6 39 * @param diagramNameToRemove the unique name of the diagram to remove
fiore@6 40 * @param diagramNameOfNext the name of the next diagram to render hapticly. If
fiore@6 41 * {@code null}, no diagram will be rendered.
fiore@6 42 */
fiore@3 43 public void removeDiagram(String diagramNameToRemove, String diagramNameOfNext);
fiore@0 44
fiore@3 45 public void addNode(double x, double y, int nodeHashCode, String diagramName);
fiore@0 46
fiore@3 47 public void removeNode(int nodeHashCode, String diagramName);
fiore@0 48
fiore@3 49 public void moveNode(double x, double y, int nodeHashCode, String diagramName);
fiore@0 50
fiore@3 51 public void addEdge(int edgeHashCode, double[] xs, double[] ys,
fiore@0 52 BitSet[] adjMatrix, int nodeStart, int stipplePattern,
fiore@3 53 Line2D attractLine, String diagramName);
fiore@0 54
fiore@3 55 public void updateEdge(int edgeHashCode, double[] xs, double[] ys,
fiore@3 56 BitSet[] adjMatrix, int nodeStart, Line2D attractLine, String diagramName);
fiore@0 57
fiore@3 58 public void removeEdge(int edgeHashCode, String diagramName);
fiore@0 59
fiore@3 60 public void attractTo(int elementHashCode);
fiore@3 61
fiore@3 62 public void pickUp(int elementHashCode);
fiore@0 63
fiore@0 64 public boolean isAlive();
fiore@5 65
fiore@5 66 public void setVisible(boolean visible);
fiore@0 67
fiore@0 68 public void dispose();
fiore@3 69
fiore@0 70 }