Improved theme styles (#479)

Fonts added: thin, light, medium, black, condensed
This commit is contained in:
Gustl22
2018-01-09 17:31:25 +01:00
committed by Emux
parent af98b0668a
commit 067f08834d
15 changed files with 324 additions and 200 deletions

View File

@@ -2,6 +2,7 @@
* Copyright 2010, 2011, 2012 mapsforge.org
* Copyright 2016-2017 devemux86
* Copyright 2017 nebular
* Copyright 2018 Gustl22
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
@@ -26,33 +27,45 @@ import org.oscim.backend.canvas.Paint;
class AndroidPaint implements Paint {
private static int getStyle(org.oscim.backend.canvas.Paint.FontStyle fontStyle) {
private static Typeface getTypeface(org.oscim.backend.canvas.Paint.FontFamily fontFamily,
org.oscim.backend.canvas.Paint.FontStyle fontStyle) {
final int style;
switch (fontStyle) {
case BOLD:
return Typeface.BOLD;
style = Typeface.BOLD;
break;
case BOLD_ITALIC:
return Typeface.BOLD_ITALIC;
style = Typeface.BOLD_ITALIC;
break;
case ITALIC:
return Typeface.ITALIC;
case NORMAL:
return Typeface.NORMAL;
style = Typeface.ITALIC;
break;
default:
style = Typeface.NORMAL;
break;
}
throw new IllegalArgumentException("unknown font style: " + fontStyle);
}
private static Typeface getTypeface(org.oscim.backend.canvas.Paint.FontFamily fontFamily) {
switch (fontFamily) {
case DEFAULT:
return Typeface.DEFAULT;
return Typeface.create(Typeface.DEFAULT, style);
case DEFAULT_BOLD:
return Typeface.DEFAULT_BOLD;
return Typeface.create(Typeface.DEFAULT_BOLD, style);
case MONOSPACE:
return Typeface.MONOSPACE;
return Typeface.create(Typeface.MONOSPACE, style);
case SANS_SERIF:
return Typeface.SANS_SERIF;
return Typeface.create(Typeface.SANS_SERIF, style);
case SERIF:
return Typeface.SERIF;
return Typeface.create(Typeface.SERIF, style);
case THIN:
return Typeface.create("sans-serif-thin", style);
case LIGHT:
return Typeface.create("sans-serif-light", style);
case MEDIUM:
return Typeface.create("sans-serif-medium", style);
case BLACK:
return Typeface.create("sans-serif-black", style);
case CONDENSED:
return Typeface.create("sans-serif-condensed", style);
}
throw new IllegalArgumentException("unknown font family: " + fontFamily);
@@ -111,9 +124,7 @@ class AndroidPaint implements Paint {
@Override
public void setTypeface(FontFamily fontFamily, FontStyle fontStyle) {
Typeface typeface = Typeface.create(getTypeface(fontFamily),
getStyle(fontStyle));
mPaint.setTypeface(typeface);
mPaint.setTypeface(getTypeface(fontFamily, fontStyle));
}
@Override