class Host { ArrayList ports; String addr = ""; boolean isUp = false; float echo; ArrayList output; int x, y; int id; boolean testing = false; String sign; float w, h; Host(String _addr, boolean _isUp, float _echo, int _id) { addr=_addr; isUp=_isUp; echo = _echo; id = _id; sign = addr; w = textWidth(sign)+4; h = 12.0; x = X; y = Y; Y+=12; output = new ArrayList(); ports = new ArrayList(); if (AUTO_SCAN) { nmapTarget(this); testing = true; } } void draw() { String sign = addr; if (output.size()>0) { fill(127); h = output.size()*10+15; fill(0); rect(x-4, y-12, width-10, h); textAlign(LEFT); for (int out = 0;outx && mouseX y-10 ) return true; else return false; } void checkOverlaps() { for (int i = 0 ; i < hosts.size();i++) { Host tmp = (Host)hosts.get(i); if (tmp!=this && tmp.y < y) { if (y > tmp.y && y < tmp.y+tmp.h+2) { y +=10; } } } } }