195 lines
3.1 KiB
Java
195 lines
3.1 KiB
Java
package modules.image;
|
|
|
|
import com.one.ImageProcessor;
|
|
import com.one.vector.VectorImage;
|
|
import filemanager.images;
|
|
import javax.microedition.lcdui.Graphics;
|
|
import javax.microedition.lcdui.Image;
|
|
|
|
public interface ImageContainer
|
|
{
|
|
public int getWidth();
|
|
public int getHeight();
|
|
|
|
public void scale(int width, int height);
|
|
public void paint(Graphics g, int x, int y, int transform);
|
|
|
|
public long getFrameDelay();
|
|
public int currentFrame();
|
|
public void gotoFrame(int target);
|
|
public boolean nextFrame();
|
|
public boolean prevFrame();
|
|
}
|
|
|
|
class TestImageContainer implements ImageContainer
|
|
{
|
|
protected Image image;
|
|
|
|
public TestImageContainer()
|
|
{
|
|
scale(768, 576);
|
|
}
|
|
|
|
public int getWidth()
|
|
{
|
|
return image.getWidth();
|
|
}
|
|
|
|
public int getHeight()
|
|
{
|
|
return image.getHeight();
|
|
}
|
|
|
|
public void scale(int width, int height)
|
|
{
|
|
image = Image.createImage(width, height);
|
|
Graphics g = image.getGraphics();
|
|
|
|
g.setColor(0xFF000000);
|
|
g.fillRect(0, 0, width, height);
|
|
|
|
images.drawVColorTest(g, 0, 0, width, height);
|
|
|
|
g.setColor(0xFFFFFFFF);
|
|
g.drawRect(0, 0, width - 1, height - 1);
|
|
}
|
|
|
|
public void paint(Graphics g, int x, int y, int transform)
|
|
{
|
|
g.drawRegion(image, 0, 0, image.getWidth(), image.getHeight(), transform, x, y, Graphics.LEFT | Graphics.TOP);
|
|
}
|
|
|
|
public long getFrameDelay()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
public int currentFrame()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
public void gotoFrame(int target)
|
|
{
|
|
}
|
|
|
|
public boolean nextFrame()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public boolean prevFrame()
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
class GenericImageContainer implements ImageContainer
|
|
{
|
|
protected Image image;
|
|
|
|
public GenericImageContainer(Image image)
|
|
{
|
|
this.image = image;
|
|
}
|
|
|
|
public int getWidth()
|
|
{
|
|
return image.getWidth();
|
|
}
|
|
|
|
public int getHeight()
|
|
{
|
|
return image.getHeight();
|
|
}
|
|
|
|
public void scale(int width, int height)
|
|
{
|
|
image = ImageProcessor.scaleImage(image, width, height, false, true);
|
|
}
|
|
|
|
public void paint(Graphics g, int x, int y, int transform)
|
|
{
|
|
g.drawRegion(image, 0, 0, image.getWidth(), image.getHeight(), transform, x, y, Graphics.LEFT | Graphics.TOP);
|
|
}
|
|
|
|
public long getFrameDelay()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
public int currentFrame()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
public void gotoFrame(int target)
|
|
{
|
|
}
|
|
|
|
public boolean nextFrame()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public boolean prevFrame()
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
class VectorImageContainer implements ImageContainer
|
|
{
|
|
protected VectorImage image;
|
|
|
|
public VectorImageContainer(VectorImage image)
|
|
{
|
|
this.image = image;
|
|
}
|
|
|
|
public int getWidth()
|
|
{
|
|
return image.getWidth();
|
|
}
|
|
|
|
public int getHeight()
|
|
{
|
|
return image.getHeight();
|
|
}
|
|
|
|
public void scale(int width, int height)
|
|
{
|
|
image.scale(width, height);
|
|
}
|
|
|
|
public void paint(Graphics g, int width, int height, int transform)
|
|
{
|
|
image.paint(g, width, height);
|
|
}
|
|
|
|
public long getFrameDelay()
|
|
{
|
|
return image.getFrameDelay();
|
|
}
|
|
|
|
public int currentFrame()
|
|
{
|
|
return image.currentFrame();
|
|
}
|
|
|
|
public void gotoFrame(int target)
|
|
{
|
|
image.gotoFrame(target);
|
|
}
|
|
|
|
public boolean nextFrame()
|
|
{
|
|
return image.nextFrame();
|
|
}
|
|
|
|
public boolean prevFrame()
|
|
{
|
|
return image.prevFrame();
|
|
}
|
|
}
|