diff --git a/vtm-android/src/org/oscim/android/canvas/AndroidBitmap.java b/vtm-android/src/org/oscim/android/canvas/AndroidBitmap.java index c5a7424b..3250bdfd 100644 --- a/vtm-android/src/org/oscim/android/canvas/AndroidBitmap.java +++ b/vtm-android/src/org/oscim/android/canvas/AndroidBitmap.java @@ -66,7 +66,7 @@ public class AndroidBitmap implements org.oscim.backend.canvas.Bitmap { } @Override - public int uploadToTexture(boolean replace) { + public void uploadToTexture(boolean replace) { int format = GLUtils.getInternalFormat(mBitmap); int type = GLUtils.getType(mBitmap); @@ -76,8 +76,6 @@ public class AndroidBitmap implements org.oscim.backend.canvas.Bitmap { type); else GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, format, mBitmap, type, 0); - - return 0; } @Override diff --git a/vtm-android/src/org/oscim/android/canvas/AndroidGraphics.java b/vtm-android/src/org/oscim/android/canvas/AndroidGraphics.java index 1edb748d..a1a5779b 100644 --- a/vtm-android/src/org/oscim/android/canvas/AndroidGraphics.java +++ b/vtm-android/src/org/oscim/android/canvas/AndroidGraphics.java @@ -55,35 +55,11 @@ public final class AndroidGraphics extends CanvasAdapter { return null; } - @Override - public int getColor(Color color) { - switch (color) { - case BLACK: - return android.graphics.Color.BLACK; - - case CYAN: - return android.graphics.Color.CYAN; - - case TRANSPARENT: - return android.graphics.Color.TRANSPARENT; - - case WHITE: - return android.graphics.Color.WHITE; - } - - throw new IllegalArgumentException("unknown color value: " + color); - } - @Override public Paint getPaint() { return new AndroidPaint(); } - @Override - public int parseColor(String colorString) { - return android.graphics.Color.parseColor(colorString); - } - @Override public Bitmap getBitmap(int width, int height, int format) { return new AndroidBitmap(width, height, format); diff --git a/vtm-gdx-android/src/org/oscim/android/canvas/AndroidBitmap.java b/vtm-gdx-android/src/org/oscim/android/canvas/AndroidBitmap.java index c5a7424b..ebcee8dd 100644 --- a/vtm-gdx-android/src/org/oscim/android/canvas/AndroidBitmap.java +++ b/vtm-gdx-android/src/org/oscim/android/canvas/AndroidBitmap.java @@ -16,9 +16,10 @@ package org.oscim.android.canvas; import java.io.InputStream; +import org.oscim.backend.GL20; + import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.opengl.GLES20; import android.opengl.GLUtils; public class AndroidBitmap implements org.oscim.backend.canvas.Bitmap { @@ -66,18 +67,16 @@ public class AndroidBitmap implements org.oscim.backend.canvas.Bitmap { } @Override - public int uploadToTexture(boolean replace) { + public void uploadToTexture(boolean replace) { int format = GLUtils.getInternalFormat(mBitmap); int type = GLUtils.getType(mBitmap); if (replace) - GLUtils.texSubImage2D(GLES20.GL_TEXTURE_2D, 0, 0, 0, mBitmap, format, + GLUtils.texSubImage2D(GL20.GL_TEXTURE_2D, 0, 0, 0, mBitmap, format, type); else - GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, format, mBitmap, type, 0); - - return 0; + GLUtils.texImage2D(GL20.GL_TEXTURE_2D, 0, format, mBitmap, type, 0); } @Override diff --git a/vtm-gdx-android/src/org/oscim/android/canvas/AndroidGraphics.java b/vtm-gdx-android/src/org/oscim/android/canvas/AndroidGraphics.java index 77fbc795..dab8cb78 100644 --- a/vtm-gdx-android/src/org/oscim/android/canvas/AndroidGraphics.java +++ b/vtm-gdx-android/src/org/oscim/android/canvas/AndroidGraphics.java @@ -49,35 +49,11 @@ public final class AndroidGraphics extends CanvasAdapter { return new AndroidBitmap(inputStream); } - @Override - public int getColor(Color color) { - switch (color) { - case BLACK: - return android.graphics.Color.BLACK; - - case CYAN: - return android.graphics.Color.CYAN; - - case TRANSPARENT: - return android.graphics.Color.TRANSPARENT; - - case WHITE: - return android.graphics.Color.WHITE; - } - - throw new IllegalArgumentException("unknown color value: " + color); - } - @Override public Paint getPaint() { return new AndroidPaint(); } - @Override - public int parseColor(String colorString) { - return android.graphics.Color.parseColor(colorString); - } - @Override public Bitmap getBitmap(int width, int height, int format) { return new AndroidBitmap(width, height, format); diff --git a/vtm-gdx-desktop/src/org/oscim/awt/AwtBitmap.java b/vtm-gdx-desktop/src/org/oscim/awt/AwtBitmap.java index 1d564821..6cdc5b00 100644 --- a/vtm-gdx-desktop/src/org/oscim/awt/AwtBitmap.java +++ b/vtm-gdx-desktop/src/org/oscim/awt/AwtBitmap.java @@ -67,7 +67,7 @@ public class AwtBitmap implements Bitmap { private int dbgCnt; @Override - public int uploadToTexture(boolean replace) { + public void uploadToTexture(boolean replace) { int[] pixels; IntBuffer buffer; @@ -113,8 +113,6 @@ public class AwtBitmap implements Bitmap { Gdx.gl20.glTexImage2D(GL20.GL_TEXTURE_2D, 0, GL20.GL_RGBA, width, height, 0, GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE, buffer); - - return 0; } @Override diff --git a/vtm-gdx-desktop/src/org/oscim/awt/AwtGraphics.java b/vtm-gdx-desktop/src/org/oscim/awt/AwtGraphics.java index a7e4f84c..07a2107a 100644 --- a/vtm-gdx-desktop/src/org/oscim/awt/AwtGraphics.java +++ b/vtm-gdx-desktop/src/org/oscim/awt/AwtGraphics.java @@ -24,23 +24,11 @@ public class AwtGraphics extends CanvasAdapter { // do nothing } - @Override - public int getColor(Color color) { - // TODO Auto-generated method stub - return 0; - } - @Override public Paint getPaint() { return new AwtPaint(); } - @Override - public int parseColor(String colorString) { - // TODO Auto-generated method stub - return 0; - } - @Override public Bitmap getBitmap(int width, int height, int format) { return new AwtBitmap(width, height, format); diff --git a/vtm-gdx-html/src/org/oscim/gdx/client/GwtBitmap.java b/vtm-gdx-html/src/org/oscim/gdx/client/GwtBitmap.java index 29568219..89457ac2 100644 --- a/vtm-gdx-html/src/org/oscim/gdx/client/GwtBitmap.java +++ b/vtm-gdx-html/src/org/oscim/gdx/client/GwtBitmap.java @@ -58,7 +58,7 @@ public class GwtBitmap implements Bitmap { } @Override - public int uploadToTexture(boolean replace) { + public void uploadToTexture(boolean replace) { Gdx.gl.glTexImage2D(GL10.GL_TEXTURE_2D, 0, pixmap.getGLInternalFormat(), pixmap.getWidth(), pixmap.getHeight(), 0, @@ -71,8 +71,6 @@ public class GwtBitmap implements Bitmap { if (image != null) RootPanel.get().remove(image); } - - return 1; } } diff --git a/vtm-gdx-html/src/org/oscim/gdx/client/GwtCanvasAdapter.java b/vtm-gdx-html/src/org/oscim/gdx/client/GwtCanvasAdapter.java index bfac9bf9..5951fb17 100644 --- a/vtm-gdx-html/src/org/oscim/gdx/client/GwtCanvasAdapter.java +++ b/vtm-gdx-html/src/org/oscim/gdx/client/GwtCanvasAdapter.java @@ -41,23 +41,11 @@ public class GwtCanvasAdapter extends CanvasAdapter { return new GwtBitmap(fileName); } - @Override - public int getColor(Color color) { - // TODO Auto-generated method stub - return 0; - } - @Override public Paint getPaint() { return new GwtPaint(); } - @Override - public int parseColor(String colorString) { - // TODO Auto-generated method stub - return 0; - } - @Override public Bitmap getBitmap(int width, int height, int format) { return new GwtBitmap(width, height, format); diff --git a/vtm/src/org/oscim/backend/AssetAdapter.java b/vtm/src/org/oscim/backend/AssetAdapter.java index 2d94e1bb..462941c8 100644 --- a/vtm/src/org/oscim/backend/AssetAdapter.java +++ b/vtm/src/org/oscim/backend/AssetAdapter.java @@ -7,10 +7,11 @@ import java.io.InputStream; */ public abstract class AssetAdapter { + /** The instance provided by backend */ public static AssetAdapter g; /** - * Open file as stream. + * Open file from asset path as stream. * * @param name the name * @return the input stream diff --git a/vtm/src/org/oscim/backend/CanvasAdapter.java b/vtm/src/org/oscim/backend/CanvasAdapter.java index feb0a03a..2d4a4233 100644 --- a/vtm/src/org/oscim/backend/CanvasAdapter.java +++ b/vtm/src/org/oscim/backend/CanvasAdapter.java @@ -1,5 +1,4 @@ /* - * Copyright 2010, 2011, 2012 mapsforge.org * Copyright 2013 Hannes Janetzek * * This program is free software: you can redistribute it and/or modify it under the @@ -22,31 +21,59 @@ import org.oscim.backend.canvas.Bitmap; import org.oscim.backend.canvas.Canvas; import org.oscim.backend.canvas.Paint; +/** + * The Class CanvasAdapter. + */ public abstract class CanvasAdapter { - protected static final String TAG = CanvasAdapter.class.getName(); + /** The instance provided by backend */ public static CanvasAdapter g; + /** The dpi. */ public static float dpi = 240; + + /** The text scale. */ public static float textScale = 1; - public enum Color { - BLACK, CYAN, TRANSPARENT, WHITE; - } - - public abstract Bitmap decodeBitmap(InputStream inputStream); - - public abstract Bitmap loadBitmapAsset(String fileName); - - public abstract int getColor(Color color); + /** + * Create a Canvas. + * + * @return the canvas + */ + public abstract Canvas getCanvas(); + /** + * Create Paint. + * + * @return the paint + */ public abstract Paint getPaint(); - public abstract int parseColor(String colorString); - + /** + * Create {@link Bitmap} with given dimensions. + * + * @param width the width + * @param height the height + * @param format the format + * @return the bitmap + */ public abstract Bitmap getBitmap(int width, int height, int format); - public abstract Canvas getCanvas(); + /** + * Create {@link Bitmap} from InputStream. + * + * @param inputStream the input stream + * @return the bitmap + */ + public abstract Bitmap decodeBitmap(InputStream inputStream); + + /** + * Create {@link Bitmap} from bundled assets. + * + * @param fileName the file name + * @return the bitmap + */ + public abstract Bitmap loadBitmapAsset(String fileName); protected static Bitmap createBitmap(String src) throws IOException { if (src == null || src.length() == 0) { @@ -56,7 +83,7 @@ public abstract class CanvasAdapter { InputStream inputStream = AssetAdapter.g.openFileAsStream(src); if (inputStream == null) { - Log.e(TAG, "invalid bitmap source: " + src); + Log.e(CanvasAdapter.class.getName(), "invalid bitmap source: " + src); return null; } diff --git a/vtm/src/org/oscim/backend/GLAdapter.java b/vtm/src/org/oscim/backend/GLAdapter.java index 925af049..045bf87c 100644 --- a/vtm/src/org/oscim/backend/GLAdapter.java +++ b/vtm/src/org/oscim/backend/GLAdapter.java @@ -16,6 +16,7 @@ package org.oscim.backend; public class GLAdapter { + /** The instance provided by backend */ public static GL20 g; public static boolean GDX_DESKTOP_QUIRKS; diff --git a/vtm/src/org/oscim/backend/Log.java b/vtm/src/org/oscim/backend/Log.java index 0d0caf4e..12baa3cc 100644 --- a/vtm/src/org/oscim/backend/Log.java +++ b/vtm/src/org/oscim/backend/Log.java @@ -15,6 +15,8 @@ package org.oscim.backend; public class Log { + + /** The instance provided by backend */ public static Logger logger; public static void d(String tag, String msg) { diff --git a/vtm/src/org/oscim/backend/XMLReaderAdapter.java b/vtm/src/org/oscim/backend/XMLReaderAdapter.java index 059cc446..ce1e7149 100644 --- a/vtm/src/org/oscim/backend/XMLReaderAdapter.java +++ b/vtm/src/org/oscim/backend/XMLReaderAdapter.java @@ -11,6 +11,10 @@ import org.xml.sax.SAXException; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; +/** + * The Class XMLReaderAdapter. Used by RenderTheme. Note: GWT Backend provides + * its own implementation. + */ public class XMLReaderAdapter { public void parse(DefaultHandler handler, InputStream is) throws IOException { diff --git a/vtm/src/org/oscim/backend/canvas/Bitmap.java b/vtm/src/org/oscim/backend/canvas/Bitmap.java index 2ee82ef3..b9b73885 100644 --- a/vtm/src/org/oscim/backend/canvas/Bitmap.java +++ b/vtm/src/org/oscim/backend/canvas/Bitmap.java @@ -1,5 +1,5 @@ /* - * Copyright 2013 + * Copyright 2013 Hannes Janetzek * * This program is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free Software @@ -14,17 +14,48 @@ */ package org.oscim.backend.canvas; +/** + * The Interface Bitmap. + */ public interface Bitmap { + /** + * Gets the width. + * + * @return the width + */ int getWidth(); + /** + * Gets the height. + * + * @return the height + */ int getHeight(); + /** + * Recycle. + */ void recycle(); + /** + * Gets the pixels as ARGB int array. + * + * @return the pixels + */ int[] getPixels(); + /** + * Erase color, clear Bitmap. + * + * @param color the color + */ void eraseColor(int color); - int uploadToTexture(boolean replace); + /** + * Upload Bitmap to currently bound GL texture. + * + * @param replace true, when glSubImage2D can be used for upload + */ + void uploadToTexture(boolean replace); } diff --git a/vtm/src/org/oscim/backend/canvas/Canvas.java b/vtm/src/org/oscim/backend/canvas/Canvas.java index dafcb32f..8338bc0f 100644 --- a/vtm/src/org/oscim/backend/canvas/Canvas.java +++ b/vtm/src/org/oscim/backend/canvas/Canvas.java @@ -1,11 +1,49 @@ +/* + * Copyright 2013 Hannes Janetzek + * + * This program is free software: you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along with + * this program. If not, see . + */ + package org.oscim.backend.canvas; +/** + * The Interface Canvas. + */ public interface Canvas { + /** + * Sets the backing {@link Bitmap}. + * + * @param bitmap the new bitmap + */ void setBitmap(Bitmap bitmap); + /** + * Draw text to Canvas. + * + * @param string the String + * @param x + * @param y + * @param stroke the stroke + */ void drawText(String string, float x, float y, Paint stroke); + /** + * Draw Bitmap to Canvas. + * + * @param bitmap the Bitmap + * @param x + * @param y + */ void drawBitmap(Bitmap bitmap, float x, float y); } diff --git a/vtm/src/org/oscim/backend/canvas/Color.java b/vtm/src/org/oscim/backend/canvas/Color.java index 083fd51a..0b3dccc0 100644 --- a/vtm/src/org/oscim/backend/canvas/Color.java +++ b/vtm/src/org/oscim/backend/canvas/Color.java @@ -15,20 +15,55 @@ */ package org.oscim.backend.canvas; +/** + * The Class Color. + */ public class Color { + + /** The Constant BLACK. */ public static final int BLACK = 0xFF000000; + + /** The Constant DKGRAY. */ public static final int DKGRAY = 0xFF444444; + + /** The Constant GRAY. */ public static final int GRAY = 0xFF888888; + + /** The Constant LTGRAY. */ public static final int LTGRAY = 0xFFCCCCCC; + + /** The Constant WHITE. */ public static final int WHITE = 0xFFFFFFFF; + + /** The Constant RED. */ public static final int RED = 0xFFFF0000; + + /** The Constant GREEN. */ public static final int GREEN = 0xFF00FF00; + + /** The Constant BLUE. */ public static final int BLUE = 0xFF0000FF; + + /** The Constant YELLOW. */ public static final int YELLOW = 0xFFFFFF00; + + /** The Constant CYAN. */ public static final int CYAN = 0xFF00FFFF; + + /** The Constant MAGENTA. */ public static final int MAGENTA = 0xFFFF00FF; + + /** The Constant TRANSPARENT. */ public static final int TRANSPARENT = 0; + /** + * Pack 8 bit r, g, b into one int. + * + * @param r the r + * @param g the g + * @param b the b + * @return the int + */ public static int get(int r, int g, int b) { return 0xff << 24 | r << 16 | g << 8 | b; } @@ -41,6 +76,9 @@ public class Color { * #AARRGGBB * 'red', 'blue', 'green', 'black', 'white', 'gray', 'cyan', 'magenta', * 'yellow', 'lightgray', 'darkgray' + * + * @param colorString the color string + * @return the int */ public static int parseColor(String colorString) { if (colorString.charAt(0) == '#') { diff --git a/vtm/src/org/oscim/backend/canvas/Paint.java b/vtm/src/org/oscim/backend/canvas/Paint.java index 16888b20..e22da03b 100644 --- a/vtm/src/org/oscim/backend/canvas/Paint.java +++ b/vtm/src/org/oscim/backend/canvas/Paint.java @@ -14,6 +14,9 @@ */ package org.oscim.backend.canvas; +/** + * The Interface Paint. + */ public interface Paint { public static enum Align {