diff --git a/mapsforge-core/src/main/java/org/mapsforge/core/graphics/GraphicContext.java b/mapsforge-core/src/main/java/org/mapsforge/core/graphics/GraphicContext.java index b07bfa448..0ad41096d 100644 --- a/mapsforge-core/src/main/java/org/mapsforge/core/graphics/GraphicContext.java +++ b/mapsforge-core/src/main/java/org/mapsforge/core/graphics/GraphicContext.java @@ -1,7 +1,7 @@ /* * Copyright 2010, 2011, 2012, 2013 mapsforge.org * Copyright 2014 Ludwig M Brinckmann - * Copyright 2016 devemux86 + * Copyright 2016-2019 devemux86 * Copyright 2017 usrusr * Copyright 2019 cpt1gl0 * @@ -29,6 +29,9 @@ public interface GraphicContext { void drawBitmap(Bitmap bitmap, Matrix matrix, Filter filter); + void drawBitmap(Bitmap bitmap, int srcLeft, int srcTop, int srcRight, int srcBottom, + int dstLeft, int dstTop, int dstRight, int dstBottom); + void drawBitmap(Bitmap bitmap, int srcLeft, int srcTop, int srcRight, int srcBottom, int dstLeft, int dstTop, int dstRight, int dstBottom, Filter filter); diff --git a/mapsforge-map-android/src/main/java/org/mapsforge/map/android/graphics/AndroidCanvas.java b/mapsforge-map-android/src/main/java/org/mapsforge/map/android/graphics/AndroidCanvas.java index c42fe1efa..7c348e075 100644 --- a/mapsforge-map-android/src/main/java/org/mapsforge/map/android/graphics/AndroidCanvas.java +++ b/mapsforge-map-android/src/main/java/org/mapsforge/map/android/graphics/AndroidCanvas.java @@ -1,7 +1,7 @@ /* * Copyright 2010, 2011, 2012, 2013 mapsforge.org * Copyright 2014 Ludwig M Brinckmann - * Copyright 2014-2018 devemux86 + * Copyright 2014-2019 devemux86 * Copyright 2017 usrusr * Copyright 2019 cpt1gl0 * @@ -136,6 +136,15 @@ public void drawBitmap(Bitmap bitmap, Matrix matrix, Filter filter) { } } + @Override + public void drawBitmap(Bitmap bitmap, int srcLeft, int srcTop, int srcRight, int srcBottom, + int dstLeft, int dstTop, int dstRight, int dstBottom) { + this.canvas.drawBitmap(AndroidGraphicFactory.getBitmap(bitmap), + new Rect(srcLeft, srcTop, srcRight, srcBottom), + new Rect(dstLeft, dstTop, dstRight, dstBottom), + this.bitmapPaint); + } + @Override public void drawBitmap(Bitmap bitmap, int srcLeft, int srcTop, int srcRight, int srcBottom, int dstLeft, int dstTop, int dstRight, int dstBottom, Filter filter) { diff --git a/mapsforge-map-awt/src/main/java/org/mapsforge/map/awt/graphics/AwtCanvas.java b/mapsforge-map-awt/src/main/java/org/mapsforge/map/awt/graphics/AwtCanvas.java index 272ed3824..ebbd8bb6e 100644 --- a/mapsforge-map-awt/src/main/java/org/mapsforge/map/awt/graphics/AwtCanvas.java +++ b/mapsforge-map-awt/src/main/java/org/mapsforge/map/awt/graphics/AwtCanvas.java @@ -1,6 +1,6 @@ /* * Copyright 2010, 2011, 2012, 2013 mapsforge.org - * Copyright 2014-2017 devemux86 + * Copyright 2014-2019 devemux86 * Copyright 2017 usrusr * Copyright 2019 cpt1gl0 * @@ -182,6 +182,15 @@ public void drawBitmap(Bitmap bitmap, Matrix matrix, Filter filter) { this.graphics2D.drawRenderedImage(applyFilter(AwtGraphicFactory.getBitmap(bitmap), filter), AwtGraphicFactory.getAffineTransform(matrix)); } + @Override + public void drawBitmap(Bitmap bitmap, int srcLeft, int srcTop, int srcRight, int srcBottom, + int dstLeft, int dstTop, int dstRight, int dstBottom) { + this.graphics2D.drawImage(AwtGraphicFactory.getBitmap(bitmap), + dstLeft, dstTop, dstRight, dstBottom, + srcLeft, srcTop, srcRight, srcBottom, + null); + } + @Override public void drawBitmap(Bitmap bitmap, int srcLeft, int srcTop, int srcRight, int srcBottom, int dstLeft, int dstTop, int dstRight, int dstBottom, Filter filter) {