// Created by plusminus on 11:53:35 - 29.08.2008
package org.androad.ui.common.views;
import javax.microedition.khronos.opengles.GL;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.DrawFilter;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Picture;
import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Region;
public class SmoothCanvas extends Canvas {
protected Canvas delegate;
private final Paint mSmooth = new Paint(Paint.FILTER_BITMAP_FLAG);
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
// ===========================================================
// Constructors
// ===========================================================
// ===========================================================
// Getter & Setter
// ===========================================================
// ===========================================================
// Methods from SuperClass/Interfaces
// ===========================================================
@Override
public void setBitmap(final Bitmap bitmap) {
this.delegate.setBitmap(bitmap);
}
@Override
public void setViewport(final int width, final int height) {
this.delegate.setViewport(width, height);
}
@Override
public boolean isOpaque() {
return this.delegate.isOpaque();
}
@Override
public int getWidth() {
return this.delegate.getWidth();
}
@Override
public int getHeight() {
return this.delegate.getHeight();
}
@Override
public int save() {
return this.delegate.save();
}
@Override
public int save(final int saveFlags) {
return this.delegate.save(saveFlags);
}
@Override
public int saveLayer(final RectF bounds, final Paint paint, final int saveFlags) {
return this.delegate.saveLayer(bounds, paint, saveFlags);
}
@Override
public int saveLayer(final float left, final float top, final float right, final float
bottom, final Paint paint,
final int saveFlags) {
return this.delegate.saveLayer(left, top, right, bottom, paint,
saveFlags);
}
@Override
public int saveLayerAlpha(final RectF bounds, final int alpha, final int saveFlags) {
return this.delegate.saveLayerAlpha(bounds, alpha, saveFlags);
}
@Override
public int saveLayerAlpha(final float left, final float top, final float right,
final float bottom, final int alpha,
final int saveFlags) {
return this.delegate.saveLayerAlpha(left, top, right, bottom,
alpha, saveFlags);
}
@Override
public void restore() {
this.delegate.restore();
}
@Override
public int getSaveCount() {
return this.delegate.getSaveCount();
}
@Override
public void restoreToCount(final int saveCount) {
this.delegate.restoreToCount(saveCount);
}
@Override
public void translate(final float dx, final float dy) {
this.delegate.translate(dx, dy);
}
@Override
public void scale(final float sx, final float sy) {
this.delegate.scale(sx, sy);
}
@Override
public void rotate(final float degrees) {
this.delegate.rotate(degrees);
}
@Override
public void skew(final float sx, final float sy) {
this.delegate.skew(sx, sy);
}
@Override
public void concat(final Matrix matrix) {
this.delegate.concat(matrix);
}
@Override
public void setMatrix(final Matrix matrix) {
this.delegate.setMatrix(matrix);
}
@Override
public void getMatrix(final Matrix ctm) {
this.delegate.getMatrix(ctm);
}
@Override
public boolean clipRect(final RectF rect, final Region.Op op) {
return this.delegate.clipRect(rect, op);
}
@Override
public boolean clipRect(final Rect rect, final Region.Op op) {
return this.delegate.clipRect(rect, op);
}
@Override
public boolean clipRect(final RectF rect) {
return this.delegate.clipRect(rect);
}
@Override
public boolean clipRect(final Rect rect) {
return this.delegate.clipRect(rect);
}
@Override
public boolean clipRect(final float left, final float top, final float right,
final float bottom, final Region.Op op) {
return this.delegate.clipRect(left, top, right, bottom, op);
}
@Override
public boolean clipRect(final float left, final float top, final float right,
final float bottom) {
return this.delegate.clipRect(left, top, right, bottom);
}
@Override
public boolean clipRect(final int left, final int top, final int right, final int bottom) {
return this.delegate.clipRect(left, top, right, bottom);
}
@Override
public boolean clipPath(final Path path, final Region.Op op) {
return this.delegate.clipPath(path, op);
}
@Override
public boolean clipPath(final Path path) {
return this.delegate.clipPath(path);
}
@Override
public boolean clipRegion(final Region region, final Region.Op op) {
return this.delegate.clipRegion(region, op);
}
@Override
public boolean clipRegion(final Region region) {
return this.delegate.clipRegion(region);
}
@Override
public DrawFilter getDrawFilter() {
return this.delegate.getDrawFilter();
}
@Override
public void setDrawFilter(final DrawFilter filter) {
this.delegate.setDrawFilter(filter);
}
@Override
public GL getGL() {
return this.delegate.getGL();
}
@Override
public boolean quickReject(final RectF rect, final EdgeType type) {
return this.delegate.quickReject(rect, type);
}
@Override
public boolean quickReject(final Path path, final EdgeType type) {
return this.delegate.quickReject(path, type);
}
@Override
public boolean quickReject(final float left, final float top, final float right,
final float bottom,
final EdgeType type) {
return this.delegate.quickReject(left, top, right, bottom, type);
}
@Override
public boolean getClipBounds(final Rect bounds) {
return this.delegate.getClipBounds(bounds);
}
@Override
public void drawRGB(final int r, final int g, final int b) {
this.delegate.drawRGB(r, g, b);
}
@Override
public void drawARGB(final int a, final int r, final int g, final int b) {
this.delegate.drawARGB(a, r, g, b);
}
@Override
public void drawColor(final int color) {
this.delegate.drawColor(color);
}
@Override
public void drawColor(final int color, final PorterDuff.Mode mode) {
this.delegate.drawColor(color, mode);
}
@Override
public void drawPaint(final Paint paint) {
this.delegate.drawPaint(paint);
}
@Override
public void drawPoints(final float[] pts, final int offset, final int count,
final Paint paint) {
this.delegate.drawPoints(pts, offset, count, paint);
}
@Override
public void drawPoints(final float[] pts, final Paint paint) {
this.delegate.drawPoints(pts, paint);
}
@Override
public void drawPoint(final float x, final float y, final Paint paint) {
this.delegate.drawPoint(x, y, paint);
}
@Override
public void drawLine(final float startX, final float startY, final float stopX,
final float stopY, final Paint paint) {
this.delegate.drawLine(startX, startY, stopX, stopY, paint);
}
@Override
public void drawLines(final float[] pts, final int offset, final int count, final Paint paint) {
this.delegate.drawLines(pts, offset, count, paint);
}
@Override
public void drawLines(final float[] pts, final Paint paint) {
this.delegate.drawLines(pts, paint);
}
@Override
public void drawRect(final RectF rect, final Paint paint) {
this.delegate.drawRect(rect, paint);
}
@Override
public void drawRect(final Rect r, final Paint paint) {
this.delegate.drawRect(r, paint);
}
@Override
public void drawRect(final float left, final float top, final float right, final float
bottom, final Paint paint) {
this.delegate.drawRect(left, top, right, bottom, paint);
}
@Override
public void drawOval(final RectF oval, final Paint paint) {
this.delegate.drawOval(oval, paint);
}
@Override
public void drawCircle(final float cx, final float cy, final float radius, final Paint paint) {
this.delegate.drawCircle(cx, cy, radius, paint);
}
@Override
public void drawArc(final RectF oval, final float startAngle, final float
sweepAngle, final boolean useCenter,
final Paint paint) {
this.delegate.drawArc(oval, startAngle, sweepAngle, useCenter, paint);
}
@Override
public void drawRoundRect(final RectF rect, final float rx, final float ry, final Paint paint) {
this.delegate.drawRoundRect(rect, rx, ry, paint);
}
@Override
public void drawPath(final Path path, final Paint paint) {
this.delegate.drawPath(path, paint);
}
@Override
public void drawBitmap(final Bitmap bitmap, final float left, final float top,
Paint paint) {
if (paint == null) {
paint = this.mSmooth;
} else {
paint.setFilterBitmap(true);
}
this.delegate.drawBitmap(bitmap, left, top, paint);
}
@Override
public void drawBitmap(final Bitmap bitmap, final Rect src, final RectF dst,
Paint paint) {
if (paint == null) {
paint = this.mSmooth;
} else {
paint.setFilterBitmap(true);
}
this.delegate.drawBitmap(bitmap, src, dst, paint);
}
@Override
public void drawBitmap(final Bitmap bitmap, final Rect src, final Rect dst, Paint paint) {
if (paint == null) {
paint = this.mSmooth;
} else {
paint.setFilterBitmap(true);
}
this.delegate.drawBitmap(bitmap, src, dst, paint);
}
@Override
public void drawBitmap(final int[] colors, final int offset, final int stride,
final int x, final int y, final int width,
final int height, final boolean hasAlpha, Paint paint) {
if (paint == null) {
paint = this.mSmooth;
} else {
paint.setFilterBitmap(true);
}
this.delegate.drawBitmap(colors, offset, stride, x, y, width,
height, hasAlpha, paint);
}
@Override
public void drawBitmap(final Bitmap bitmap, final Matrix matrix, Paint paint) {
if (paint == null) {
paint = this.mSmooth;
} else {
paint.setFilterBitmap(true);
}
this.delegate.drawBitmap(bitmap, matrix, paint);
}
@Override
public void drawBitmapMesh(final Bitmap bitmap, final int meshWidth, final int
meshHeight, final float[] verts,
final int vertOffset, final int[] colors, final int colorOffset, final Paint paint) {
this.delegate.drawBitmapMesh(bitmap, meshWidth, meshHeight,
verts, vertOffset, colors,
colorOffset, paint);
}
@Override
public void drawVertices(final VertexMode mode, final int vertexCount,
final float[] verts, final int vertOffset,
final float[] texs, final int texOffset, final int[] colors, final int
colorOffset, final short[] indices,
final int indexOffset, final int indexCount, final Paint paint) {
this.delegate.drawVertices(mode, vertexCount, verts,
vertOffset, texs, texOffset, colors,
colorOffset, indices, indexOffset, indexCount, paint);
}
@Override
public void drawText(final char[] text, final int index, final int count, final float
x, final float y, final Paint paint) {
this.delegate.drawText(text, index, count, x, y, paint);
}
@Override
public void drawText(final String text, final float x, final float y, final Paint paint) {
this.delegate.drawText(text, x, y, paint);
}
@Override
public void drawText(final String text, final int start, final int end, final float x,
final float y, final Paint paint) {
this.delegate.drawText(text, start, end, x, y, paint);
}
@Override
public void drawText(final CharSequence text, final int start, final int end,
final float x, final float y, final Paint paint) {
this.delegate.drawText(text, start, end, x, y, paint);
}
@Override
public void drawPosText(final char[] text, final int index, final int count,
final float[] pos, final Paint paint) {
this.delegate.drawPosText(text, index, count, pos, paint);
}
@Override
public void drawPosText(final String text, final float[] pos, final Paint paint) {
this.delegate.drawPosText(text, pos, paint);
}
@Override
public void drawTextOnPath(final char[] text, final int index, final int count,
final Path path, final float hOffset,
final float vOffset, final Paint paint) {
this.delegate.drawTextOnPath(text, index, count, path, hOffset,
vOffset, paint);
}
@Override
public void drawTextOnPath(final String text, final Path path, final float
hOffset, final float vOffset,
final Paint paint) {
this.delegate.drawTextOnPath(text, path, hOffset, vOffset, paint);
}
@Override
public void drawPicture(final Picture picture) {
this.delegate.drawPicture(picture);
}
@Override
public void drawPicture(final Picture picture, final RectF dst) {
this.delegate.drawPicture(picture, dst);
}
@Override
public void drawPicture(final Picture picture, final Rect dst) {
this.delegate.drawPicture(picture, dst);
}
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}