package com.himamis.retex.renderer.share.platform.graphics.stubs;
import java.util.ArrayList;
import java.util.List;
import com.himamis.retex.renderer.share.platform.font.Font;
import com.himamis.retex.renderer.share.platform.font.FontRenderContext;
import com.himamis.retex.renderer.share.platform.geom.Line2D;
import com.himamis.retex.renderer.share.platform.geom.Rectangle2D;
import com.himamis.retex.renderer.share.platform.geom.RoundRectangle2D;
import com.himamis.retex.renderer.share.platform.graphics.Color;
import com.himamis.retex.renderer.share.platform.graphics.Graphics2DInterface;
import com.himamis.retex.renderer.share.platform.graphics.Image;
import com.himamis.retex.renderer.share.platform.graphics.Stroke;
import com.himamis.retex.renderer.share.platform.graphics.Transform;
public class GraphicsStub implements Graphics2DInterface {
private Stroke stroke;
private Color color;
private Font font;
private List<com.himamis.retex.renderer.share.platform.graphics.stubs.AffineTransform> transformList = new ArrayList<com.himamis.retex.renderer.share.platform.graphics.stubs.AffineTransform>();
private com.himamis.retex.renderer.share.platform.graphics.stubs.AffineTransform currentTransform;
public GraphicsStub() {
transformList = new ArrayList<com.himamis.retex.renderer.share.platform.graphics.stubs.AffineTransform>();
reset();
}
public void reset() {
transformList.clear();
currentTransform = new com.himamis.retex.renderer.share.platform.graphics.stubs.AffineTransform();
font = new FontStub();
color = new ColorStub();
stroke = new StrokeStub();
}
@Override
public void setStroke(Stroke stroke) {
this.stroke = stroke;
}
@Override
public Stroke getStroke() {
return stroke;
}
@Override
public void setColor(Color color) {
this.color = color;
}
@Override
public Color getColor() {
return color;
}
@Override
public Transform getTransform() {
return currentTransform;
}
@Override
public void saveTransformation() {
transformList.add((com.himamis.retex.renderer.share.platform.graphics.stubs.AffineTransform) currentTransform.createClone());
}
@Override
public void restoreTransformation() {
if (transformList.size() > 0) {
currentTransform = transformList.remove(transformList.size() - 1);
}
}
@Override
public Font getFont() {
return font;
}
@Override
public void setFont(Font font) {
this.font = font;
}
@Override
public void fillRect(int x, int y, int width, int height) {
// stub
}
@Override
public void fill(Rectangle2D rectangle) {
// stub
}
@Override
public void draw(Rectangle2D rectangle) {
// stub
}
@Override
public void draw(RoundRectangle2D rectangle) {
// stub
}
@Override
public void draw(Line2D line) {
// stub
}
@Override
public void drawChars(char[] data, int offset, int length, int x, int y) {
// stub
}
@Override
public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) {
// stub
}
@Override
public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) {
// stub
}
@Override
public void translate(double x, double y) {
currentTransform.translate(x, y);
}
@Override
public void scale(double x, double y) {
currentTransform.scale(x, y);
}
@Override
public void rotate(double theta, double x, double y) {
currentTransform.rotate(theta, x, y);
}
@Override
public void rotate(double theta) {
currentTransform.rotate(theta);
}
@Override
public void drawImage(Image image, int x, int y) {
// stub
}
@Override
public void drawImage(Image image, Transform transform) {
// stub
}
@Override
public FontRenderContext getFontRenderContext() {
// stub
return null;
}
@Override
public void setRenderingHint(int key, int value) {
// stub
}
@Override
public int getRenderingHint(int key) {
// stub
return 0;
}
@Override
public void dispose() {
// stub
}
}