From d1ce52ef52163acf66996cc60ea37158d8f6d075 Mon Sep 17 00:00:00 2001 From: Emux Date: Sat, 4 Mar 2017 18:15:09 +0200 Subject: [PATCH] Graphics API: enable paint text alignment, closes #320 --- vtm-android/src/org/oscim/android/canvas/AndroidPaint.java | 5 ++--- vtm-desktop/src/org/oscim/awt/AwtPaint.java | 7 ++++--- vtm-ios/src/org/oscim/ios/backend/IosPaint.java | 7 ++++--- vtm-web/src/org/oscim/gdx/client/GwtPaint.java | 7 ++++--- vtm/src/org/oscim/theme/styles/TextStyle.java | 7 +++---- 5 files changed, 17 insertions(+), 16 deletions(-) diff --git a/vtm-android/src/org/oscim/android/canvas/AndroidPaint.java b/vtm-android/src/org/oscim/android/canvas/AndroidPaint.java index fbceaaf6..8bf08d12 100644 --- a/vtm-android/src/org/oscim/android/canvas/AndroidPaint.java +++ b/vtm-android/src/org/oscim/android/canvas/AndroidPaint.java @@ -1,6 +1,6 @@ /* * Copyright 2010, 2011, 2012 mapsforge.org - * Copyright 2016 devemux86 + * Copyright 2016-2017 devemux86 * Copyright 2017 nebular * * This file is part of the OpenScienceMap project (http://www.opensciencemap.org). @@ -101,8 +101,7 @@ class AndroidPaint implements Paint { @Override public void setTextAlign(Align align) { - // Align text in text layer - //mPaint.setTextAlign(android.graphics.Paint.Align.valueOf(align.name())); + mPaint.setTextAlign(android.graphics.Paint.Align.valueOf(align.name())); } @Override diff --git a/vtm-desktop/src/org/oscim/awt/AwtPaint.java b/vtm-desktop/src/org/oscim/awt/AwtPaint.java index 616c59ef..3f0019d9 100644 --- a/vtm-desktop/src/org/oscim/awt/AwtPaint.java +++ b/vtm-desktop/src/org/oscim/awt/AwtPaint.java @@ -1,7 +1,7 @@ /* * Copyright 2010, 2011, 2012, 2013 mapsforge.org * Copyright 2013 Hannes Janetzek - * Copyright 2016 devemux86 + * Copyright 2016-2017 devemux86 * Copyright 2017 nebular * * This file is part of the OpenScienceMap project (http://www.opensciencemap.org). @@ -101,6 +101,7 @@ public class AwtPaint implements Paint { DEFAULT_FONT = new Font("Arial", Font.PLAIN, 14).deriveFont(TEXT_ATTRIBUTES); } + private Align align; Color color = new Color(0.1f, 0.1f, 0.1f, 1); FontMetrics fm; Font font = DEFAULT_FONT; // new Font("Default", Font.PLAIN, 13); @@ -156,8 +157,8 @@ public class AwtPaint implements Paint { @Override public void setTextAlign(Align align) { - // Align text in text layer - //this.align = align; + // TODO never read + this.align = align; } @Override diff --git a/vtm-ios/src/org/oscim/ios/backend/IosPaint.java b/vtm-ios/src/org/oscim/ios/backend/IosPaint.java index ba8b24f1..2865f6e6 100644 --- a/vtm-ios/src/org/oscim/ios/backend/IosPaint.java +++ b/vtm-ios/src/org/oscim/ios/backend/IosPaint.java @@ -1,6 +1,6 @@ /* * Copyright 2016 Longri - * Copyright 2016 devemux86 + * Copyright 2016-2017 devemux86 * Copyright 2017 nebular * * This program is free software: you can redistribute it and/or modify it under the @@ -65,6 +65,7 @@ public class IosPaint implements Paint { private static final String DEFAULT_FONT_NAME_BOLD = UIFont.getSystemFont(1, UIFontWeight.Bold).getFontDescriptor().getPostscriptName(); private static final String DEFAULT_FONT_NAME_ITALIC = UIFont.getItalicSystemFont(1).getFontDescriptor().getPostscriptName(); + private Align align; private final NSAttributedStringAttributes attribs = new NSAttributedStringAttributes(); private CGLineCap cap = CGLineCap.Butt; private CGLineJoin join = CGLineJoin.Miter; @@ -147,8 +148,8 @@ public class IosPaint implements Paint { @Override public void setTextAlign(Align align) { - // Align text in text layer - //this.align = align; + // TODO never read + this.align = align; } @Override diff --git a/vtm-web/src/org/oscim/gdx/client/GwtPaint.java b/vtm-web/src/org/oscim/gdx/client/GwtPaint.java index fcedba36..989d816c 100644 --- a/vtm-web/src/org/oscim/gdx/client/GwtPaint.java +++ b/vtm-web/src/org/oscim/gdx/client/GwtPaint.java @@ -1,6 +1,6 @@ /* * Copyright 2013 Hannes Janetzek - * Copyright 2016 devemux86 + * Copyright 2016-2017 devemux86 * Copyright 2017 nebular * * This file is part of the OpenScienceMap project (http://www.opensciencemap.org). @@ -24,6 +24,7 @@ import org.oscim.backend.canvas.Paint; public class GwtPaint implements Paint { + private Align align; String color; boolean stroke; @@ -77,8 +78,8 @@ public class GwtPaint implements Paint { @Override public void setTextAlign(Align align) { - // Align text in text layer - //this.align = align; + // TODO never read + this.align = align; } @Override diff --git a/vtm/src/org/oscim/theme/styles/TextStyle.java b/vtm/src/org/oscim/theme/styles/TextStyle.java index bd0dd675..7cb96216 100644 --- a/vtm/src/org/oscim/theme/styles/TextStyle.java +++ b/vtm/src/org/oscim/theme/styles/TextStyle.java @@ -1,6 +1,6 @@ /* * Copyright 2013 Hannes Janetzek - * Copyright 2016 devemux86 + * Copyright 2016-2017 devemux86 * Copyright 2016 Andrey Novikov * * This file is part of the OpenScienceMap project (http://www.opensciencemap.org). @@ -22,7 +22,6 @@ import org.oscim.backend.CanvasAdapter; import org.oscim.backend.canvas.Bitmap; import org.oscim.backend.canvas.Color; import org.oscim.backend.canvas.Paint; -import org.oscim.backend.canvas.Paint.Align; import org.oscim.backend.canvas.Paint.FontFamily; import org.oscim.backend.canvas.Paint.FontStyle; import org.oscim.renderer.atlas.TextureRegion; @@ -213,7 +212,7 @@ public final class TextStyle extends RenderStyle { this.texture = b.texture; paint = CanvasAdapter.newPaint(); - paint.setTextAlign(Align.CENTER); + //paint.setTextAlign(Align.CENTER); paint.setTypeface(b.fontFamily, b.fontStyle); paint.setColor(b.themeCallback != null ? b.themeCallback.getColor(b.fillColor) : b.fillColor); @@ -222,7 +221,7 @@ public final class TextStyle extends RenderStyle { if (b.strokeWidth > 0) { stroke = CanvasAdapter.newPaint(); stroke.setStyle(Paint.Style.STROKE); - stroke.setTextAlign(Align.CENTER); + //stroke.setTextAlign(Align.CENTER); stroke.setTypeface(b.fontFamily, b.fontStyle); stroke.setColor(b.themeCallback != null ? b.themeCallback.getColor(b.strokeColor) : b.strokeColor); stroke.setStrokeWidth(b.strokeWidth);