summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjandegr <jandegr@users.noreply.github.com>2018-02-09 15:25:54 +0100
committerGitHub <noreply@github.com>2018-02-09 15:25:54 +0100
commita45ceda12a72b039763faa85fd8ef5b62ca370c9 (patch)
tree8cbba19a6097187888d1fc106c2fe2c6e0bd4b56
parent5a7c14e6221a2297da2c6131535189b1f6007109 (diff)
downloadnavit-android_multipolygons.tar.gz
Update NavitGraphics.javaandroid_multipolygons
-rw-r--r--navit/android/src/org/navitproject/navit/NavitGraphics.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/navit/android/src/org/navitproject/navit/NavitGraphics.java b/navit/android/src/org/navitproject/navit/NavitGraphics.java
index a2d8e405f..23f8f0a4e 100644
--- a/navit/android/src/org/navitproject/navit/NavitGraphics.java
+++ b/navit/android/src/org/navitproject/navit/NavitGraphics.java
@@ -1022,6 +1022,9 @@ public class NavitGraphics
protected void draw_polygon(Paint paint, int c[])
{
//Log.e("NavitGraphics","draw_polygon");
+ boolean move = false;
+ int startx;
+ int starty;
paint.setStrokeWidth(c[0]);
paint.setARGB(c[1],c[2],c[3],c[4]);
paint.setStyle(Paint.Style.FILL);
@@ -1029,9 +1032,23 @@ public class NavitGraphics
//paint.setStrokeWidth(0);
Path path = new Path();
path.moveTo(c[5], c[6]);
+ startx = c[5];
+ starty = c[6];
for (int i = 7; i < c.length; i += 2)
{
- path.lineTo(c[i], c[i + 1]);
+ if(move){ // if the polygon is closed, move to the next point to start another
+ path.moveTo(c[i], c[i + 1]);
+ startx = c[i];
+ starty = c[i + 1];
+ move = false;
+ Log.i("NavitGraphics","Moved Polygon Point i = " + i);
+ }else{
+ path.lineTo(c[i], c[i + 1]);
+ if (startx == c[i] && starty == c[i + 1]){
+ move = true;
+ Log.i("NavitGraphics","Move next Polygon Point i = " +i + "length = " + c.length);
+ }
+ }
}
//global_path.close();
draw_canvas.drawPath(path, paint);