package com.jotuntech.sketcher.common; import java.awt.Graphics2D; import java.awt.image.ImageObserver; /** Generic interface for layers. * @author Thor Harald Johansen * */ public interface Layer { public void setName(String name); public String getName(); public int getType(); public void draw(Graphics2D g); public UndoData copyTo(Layer destination, ImageObserver obs, boolean move, float x, float y, float dx, float dy, float width, float height); public UndoData merge(Layer fromLayer); public void undo(UndoData undoData); public void setAlphaRule(int alphaComposite); public int getAlphaRule(); public void setOpacity(float opacity); public float getOpacity(); public Layer copy(); public void clear(); public Input line(Input start, Input end, int color, Brush brush, Layer originalLayer); public int getColor(Input position); public void addImageObserver(ImageObserver observer); public ImageObserver getImageObserver(); public void clean(); public boolean isEmpty(); public void reset(); public void decode(byte[] data); public byte[] encode(); }