Graphics API enhancements, closes #92

This commit is contained in:
Emux
2016-07-28 11:33:40 +03:00
parent 94c30c1e10
commit 462be14edb
12 changed files with 409 additions and 88 deletions

View File

@@ -1,5 +1,6 @@
/*
* Copyright 2013 Hannes Janetzek
* Copyright 2016 devemux86
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
@@ -16,22 +17,35 @@
*/
package org.oscim.android.canvas;
import android.graphics.PorterDuff;
import org.oscim.backend.canvas.Bitmap;
import org.oscim.backend.canvas.Canvas;
import org.oscim.backend.canvas.Paint;
public class AndroidCanvas implements Canvas {
final android.graphics.Canvas canvas;
public final android.graphics.Canvas canvas;
public AndroidCanvas() {
canvas = new android.graphics.Canvas();
}
public AndroidCanvas(android.graphics.Canvas canvas) {
this.canvas = canvas;
}
@Override
public void setBitmap(Bitmap bitmap) {
canvas.setBitmap(((AndroidBitmap) bitmap).mBitmap);
}
@Override
public void drawText(String string, float x, float y, Paint paint) {
if (string != null)
canvas.drawText(string, x, y, ((AndroidPaint) paint).mPaint);
}
@Override
public void drawText(String string, float x, float y, Paint fill, Paint stroke) {
if (string != null) {
@@ -45,7 +59,25 @@ public class AndroidCanvas implements Canvas {
@Override
public void drawBitmap(Bitmap bitmap, float x, float y) {
canvas.drawBitmap(((AndroidBitmap) bitmap).mBitmap, x, y, null);
}
@Override
public void drawLine(int x1, int y1, int x2, int y2, Paint paint) {
canvas.drawLine(x1, y1, x2, y2, ((AndroidPaint) paint).mPaint);
}
@Override
public void fillColor(int color) {
canvas.drawColor(color, PorterDuff.Mode.CLEAR);
}
@Override
public int getHeight() {
return canvas.getHeight();
}
@Override
public int getWidth() {
return canvas.getWidth();
}
}