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).
*
@@ -38,6 +39,31 @@ public class GwtCanvas implements org.oscim.backend.canvas.Canvas {
ctx.setLineJoin(LineJoin.BEVEL);
}
@Override
public void drawText(String string, float x, float y, Paint paint) {
if (bitmap == null) {
//log.debug("no bitmap set");
return;
}
GwtPaint p = (GwtPaint) paint;
if (p.stroke && GwtGdxGraphics.NO_STROKE_TEXT)
return;
Context2d ctx = bitmap.pixmap.getContext();
ctx.setFont(p.font);
if (p.stroke) {
ctx.setLineWidth(p.strokeWidth);
ctx.setStrokeStyle(p.color);
ctx.strokeText(string, (int) (x + 1), (int) (y + 1));
} else {
ctx.setFillStyle(p.color);
ctx.fillText(string, (int) (x + 1), (int) (y + 1));
}
}
@Override
public void drawText(String string, float x, float y, Paint fill, Paint stroke) {
if (bitmap == null) {
@@ -65,5 +91,26 @@ public class GwtCanvas implements org.oscim.backend.canvas.Canvas {
@Override
public void drawBitmap(Bitmap bitmap, float x, float y) {
// TODO
}
@Override
public void drawLine(int x1, int y1, int x2, int y2, Paint paint) {
// TODO
}
@Override
public void fillColor(int color) {
// TODO
}
@Override
public int getHeight() {
return this.bitmap != null ? this.bitmap.getHeight() : 0;
}
@Override
public int getWidth() {
return this.bitmap != null ? this.bitmap.getWidth() : 0;
}
}

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).
*
@@ -26,7 +27,6 @@ public class GwtPaint implements Paint {
boolean stroke;
float strokeWidth;
Align mAlign;
float fontSize = 12;
@@ -36,8 +36,6 @@ public class GwtPaint implements Paint {
//String font = "12px sans-serif";
String font = "13px Helvetica";
//private int cap;
@Override
public int getColor() {
return 0;
@@ -58,6 +56,11 @@ public class GwtPaint implements Paint {
stroke = true;
}
@Override
public void setStrokeJoin(Join join) {
stroke = true;
}
@Override
public void setStrokeWidth(float width) {
stroke = true;
@@ -66,11 +69,13 @@ public class GwtPaint implements Paint {
@Override
public void setStyle(Style style) {
// TODO
}
@Override
public void setTextAlign(Align align) {
mAlign = align;
// Align text in text layer
//this.align = align;
}
@Override
@@ -118,4 +123,15 @@ public class GwtPaint implements Paint {
this.font = sb.toString();
}
@Override
public float getTextHeight(String text) {
// TODO
return 0;
}
@Override
public float getTextWidth(String text) {
return measureText(text);
}
}