void saveDrw(int mode){ //MODE: 0=AUTOSAVE , 1=SAVE, 2=SAVE_AS String[] myBezStrings = getSource(true); if(mode==0){ saveStrings("data/default-drawing.txt",myBezStrings); } else if(mode==1){ if(fileNum==0){ saveStrings("data/default-drawing.txt",myBezStrings); println("Saved as data/default-drawing.txt"); } else { saveStrings("data/drawing-"+fileNum+".txt",myBezStrings); println("Saved as data/drawing-"+fileNum+".txt"); } }else{ int n = 1; while(fileExists(n)){ n++; if(n>300){ println("Please clean the data folder. You have more than 300 files!"); return; } } saveStrings("data/drawing-"+n+".txt",myBezStrings); println("Saved as data/drawing-"+n+".txt"); putTitle("Bezienne! | Drawing-"+n); fileNum = n; } } void openData(String[] myBezStrings){ float[] bezPoints = new float[8]; Bez b; for(int i=0;i 7){ b = new Bez(bezPoints[0],bezPoints[1],bezPoints[2],bezPoints[3],bezPoints[4],bezPoints[5],bezPoints[6],bezPoints[7]); beziers.add(b); }else{ println("Error in bezier points import, in line "+i+". First point is "+bezPoints[0]);} } } void openDrw(boolean auto){ String[] myBezStrings; int n; if(auto) myBezStrings = loadStrings("data/default-drawing.txt"); else{ n=fileNum+1; while(!fileExists(n)){ n++; if(n>30){ if(fileNum>0){ n=0; }else{ println("I cannot find the next file."); return; } } } beziers.clear(); putTitle("Bezienne! | drawing-"+n); println("Opened file number "+n+"."); fileNum=n; myBezStrings = loadStrings("data/drawing-"+n+".txt"); } openData(myBezStrings); } boolean fileExists(int filename) { //File file = new File(dataPath("drawing-"+filename+".txt")); //return file.exists(); return (filename<10 && filename>0); } String[] getSource(boolean selAndUnselected){ String[] toReturn = {"//////BEZIENNE FILE FOR PROCESSING///////","//title: just a sketch","//sketched by: you","","void setup(){","size("+width+","+height+"); noFill(); strokeWeight(2); smooth();",""}; it = beziers.iterator(); while (it.hasNext ()) { Bez b = (Bez)it.next(); if(b.isReady()){ toReturn = append(toReturn,"bezier("+b.p.get(0)+" , "+b.p.get(1)+" , "+b.p.get(2)+" , "+b.p.get(3)+");"); } else { toReturn = append(toReturn,"bezier("+b.x(0)+","+b.y(0)+" , "+b.x(1)+","+b.y(1)+" , "+b.x(2)+","+b.y(2)+" , "+b.x(3)+","+b.y(3)+");"); } } toReturn = append(toReturn,""); toReturn = append(toReturn,"}"); toReturn = append(toReturn,"void draw(){}"); return toReturn; }