1 31 32 package org.antlr.works.visualization.skin.nfa; 33 34 import org.antlr.works.visualization.graphics.GContext; 35 import org.antlr.works.visualization.graphics.shape.GNode; 36 37 import java.awt.*; 38 39 public class NFANode { 40 41 public static void draw(GNode node) { 42 GContext context = node.getContext(); 43 context.setColor(context.nodeColor); 44 float r = context.getPixelNodeWidth()/2; 45 context.drawCircle(node.getX()+r, node.getY(), r, true); 46 context.drawString(context.getBoxFont(), node.state.toString(), node.getX()+r, node.getY(), GContext.ALIGN_CENTER); 47 } 48 49 public static boolean nodeContainsPoint(GNode node, Point p) { 50 float nr = node.getContext().getPixelNodeWidth()/2; 51 double r = Math.sqrt(Math.pow(p.x-node.getX()-nr, 2)+Math.pow(p.y-node.getY(), 2)); 52 return r<=nr; 53 } 54 } 55 | Popular Tags |