package application.draw; import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import controlledparts.*; public class MyImage extends AFigElement { // NodeSettings settings; public int getWidth(){ return this.imageOperator.height; } public int getHeight(){ return this.imageOperator.width; } public MyImage(FigCanvas fc, ImageOperator io) { // this.settings=s; init(); canvas=fc; // imageManager=canvas.gui.imageManager; imageOperator=io; imageManager=canvas.gui.imageManager ; } public AFigure copyThis() { MyImage f=(MyImage)(super.copyThis2(new MyImage(canvas))); f.x2=x2; f.y2=y2; f.imageOperator=imageOperator; f.imageManager=imageManager; f.imageName=imageName; return (MyImage)f; } public void copy(MyImage f) { offX=f.offX; offY=f.offY; x2=f.x2; y2=f.y2; imageOperator=f.imageOperator; imageManager=f.imageManager; imageName=f.imageName; url=f.url; } /* public void sendBase() { String sendingString=imageOperator.process0_x(); imageManager.gui.sendEvent("img("+sendingString+")\n"); } */ public String imageName; public void updateImage() { imageManager.add(imageOperator); } public void load(String name,String url) { ImageOperator imgx=imageManager.getImageOperator(name); if(imgx==null){ imageOperator =new ImageOperator(url,canvas,this); String myname=imageManager.newName(); imageOperator.name=myname; imageManager.add(imageOperator); } x2=imageOperator.image.getWidth(imageOperator); y2=imageOperator.image.getHeight(imageOperator); } public ImageOperator imageOperator; public ImageManager imageManager; public int subImgSize; public int mem_pix[]; int elementWidth=128; public void updateImage(BufferedImage img, int eWidth){ this.imageOperator.updateImage(img,eWidth); } public MyImage(FigCanvas fc, BufferedImage img,String myname){ canvas=fc; this.elementWidth=128; init(); Parameters s=new Parameters(); imageManager=canvas.gui.imageManager ; if(!(this.imageManager.gui.isControlledByLocalUser())) return; imageOperator=new ImageOperator(fc,img); imageOperator.setParameters(s); imageOperator.name=myname; imageOperator.setMyImage(this); imageManager.add(imageOperator); imageName=myname; AMessage sendingString=imageOperator.process0(); if(sendingString!=null){ String h=sendingString.getHead(); if(!h.equals("")){ sendingString.setHead("bgimg("+h+")\n"); imageManager.gui.sendEvent(sendingString); } } x2=imageOperator.image.getWidth(imageOperator); y2=imageOperator.image.getHeight(imageOperator); } public MyImage(FigCanvas fc) { init(); canvas=fc; imageOperator=new ImageOperator(fc,this); imageManager=canvas.gui.imageManager ; } public String url; public void setWidth(int x){ if(this.imageOperator==null) return; this.imageOperator.width=x; } public void setHeight(int y){ if(this.imageOperator==null) return; this.imageOperator.height=y; } public void nextNewFig() { step=-10; this.selected=false; showhide=true; canvas.fs.add(this); canvas.ftemp.remove(this); this.start(); } public int a2i[]; public char i2a[]={ '0','1','2','3','4','5','6','7','8','9', 'a','b','c','d','e','f','g','h','i','j', 'k','l','m','n','o','p','q','r','s','t', 'u','v','w','x','y','z','!','#','$','%', 'A','B','C','D','E','F','G','H','I','J', 'K','L','M','N','O','P','Q','R','S','T', 'U','V','W','X'}; public boolean save(TemporalyText outS) { if(url==null) { if(!saveHeader(outS,"image")) return false; if(!strmWrite(outS,"name("+"\""+imageOperator.name+"\")\n")) return false; if(!strmWrite(outS, ""+offX+","+offY+","+x2+","+y2+"\n")) return false; if(!strmWrite(outS,"strImg("+this.imageOperator.image2String()+")\n")) return false; if(!strmWrite(outS,")\n")) return false; return true; } else{ StringBuffer urlbuff=new StringBuffer(url); if(!saveHeader(outS,"image")) return false; if(!strmWrite(outS,"name("+"\""+imageOperator.name+"\")\n")) return false; if(!strmWrite(outS, ""+offX+","+offY+","+x2+","+y2+"\n")) return false; if(!strmWrite(outS,"url(\""+str2saveable(urlbuff)+"\")\n")) return false; if(!strmWrite(outS,")\n")) return false; return true; } } public boolean isSelected(int x, int y) { /* if(xView(offX)>x) return false; if(yView(offY)>y) return false; if(xView(offX+x2)