import interfascia.*; //--------------------------------------------------------------------------- PImage img; PImage img_orig; PImage img_tmp; GUIController c; IFButton b1, b2, b3, b4, b5, b6; String files[] = {"BE.jpg", "BZ.jpg", "CA.jpg", "CH.jpg", "CU.jpg", "DE.jpg", "DK.jpg", "FI.jpg"}; int idx = 0; int currLevel = 7; int maxLevel = 7; //powienien być poziom 8, ale jest 7, bo różnica jest niewielka Node tree; boolean treeCreated = false; boolean grid = true; boolean bottomUp = true; //--------------------------------------------------------------------------- void setup() { size(262, 303); background(155); c = new GUIController (this); b1 = new IFButton ("NEXT IMAGE", 3, 2, 84, 17); b2 = new IFButton ("DO BEAMLETS", 91, 2, 86, 17); b3 = new IFButton ("GRID", 181, 2, 77, 17); b4 = new IFButton ("BOTTOM UP", 3, 282, 84, 17); b5 = new IFButton ("LEVEL DOWN", 91, 282, 86, 17); b6 = new IFButton ("LEVEL UP", 181, 282, 77, 17); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); b6.addActionListener(this); c.add (b1); c.add (b2); c.add (b3); c.add (b4); c.add (b5); c.add (b6); loadNextImage(); } //--------------------------------------------------------------------------- void draw() { } //--------------------------------------------------------------------------- void loadNextImage() { grid = true; bottomUp = true; currLevel = 7; img_orig = loadImage(files[idx]); Threshold(img_orig); img = new PImage(img_orig.width,img_orig.height); img.copy(img_orig,0,0,img.width,img.height,0,0,img.width,img.height); img_tmp = new PImage(img_orig.width,img_orig.height); idx = (idx+1)%files.length; image(img,3,23); } //--------------------------------------------------------------------------- void drawTree() { if (!treeCreated) return; tree.drawTree(grid,currLevel); image(img,3,23); } //--------------------------------------------------------------------------- void actionPerformed (GUIEvent e) { if (e.getSource() == b1) { loadNextImage(); treeCreated = false; } else if (e.getSource() == b2) { if (!treeCreated) { tree = createTree(); treeCreated = true; tree.makeAllNodesVisible(); if (bottomUp) { tree.bottomUp(); } } drawTree(); } else if (e.getSource() == b3) { if (treeCreated) { grid = !grid; drawTree(); } } else if (e.getSource() == b4) { if (treeCreated) { bottomUp = !bottomUp; tree.makeAllNodesVisible(); if (bottomUp) { tree.bottomUp(); } drawTree(); } } else if (e.getSource() == b5) { if (treeCreated && currLevel > 0) { currLevel--; drawTree(); } } else if (e.getSource() == b6) { if (treeCreated && currLevel < maxLevel) { currLevel++; drawTree(); } } } //---------------------------------------------------------------------------