UniFM/other/image/ImageContainer.java

195 lines
3.1 KiB
Java
Raw Permalink Normal View History

2018-11-14 19:08:50 +02:00
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();
}
}