[android] Expose "local ideograph font family" in MapSnapshotter::Options

Use local glyph generation in test app's MapSnapshotterActivity.
This commit is contained in:
Chris Loer
2018-11-20 13:46:26 -08:00
committed by Chris Loer
parent 336409b861
commit 0bba794e98
4 changed files with 39 additions and 7 deletions

View File

@@ -95,6 +95,7 @@ public class MapSnapshotter {
private LatLngBounds region;
private CameraPosition cameraPosition;
private boolean showLogo = true;
private String localIdeographFontFamily;
/**
* @param width the width of the image
@@ -171,6 +172,22 @@ public class MapSnapshotter {
return this;
}
/**
* Set the font family for generating glyphs locally for ideographs in the 'CJK Unified Ideographs'
* and 'Hangul Syllables' ranges.
* <p>
* The font family argument is passed to {@link android.graphics.Typeface#create(String, int)}.
* Default system fonts are defined in &#x27;/system/etc/fonts.xml&#x27;
*
* @param fontFamily font family for local ideograph generation.
* @return the mutated {@link Options}
*/
@NonNull
public Options withLocalIdeographFontFamily(String fontFamily) {
this.localIdeographFontFamily = fontFamily;
return this;
}
/**
* @return the width of the image
*/
@@ -214,6 +231,14 @@ public class MapSnapshotter {
public CameraPosition getCameraPosition() {
return cameraPosition;
}
/**
* @return the font family used for locally generating ideographs
*/
public String getLocalIdeographFontFamily() {
return localIdeographFontFamily;
}
}
/**
@@ -231,7 +256,7 @@ public class MapSnapshotter {
nativeInitialize(this, fileSource, options.pixelRatio, options.width,
options.height, options.styleUrl, options.styleJson, options.region, options.cameraPosition,
options.showLogo, programCacheDir);
options.showLogo, programCacheDir, options.localIdeographFontFamily);
}
/**
@@ -513,7 +538,8 @@ public class MapSnapshotter {
FileSource fileSource, float pixelRatio,
int width, int height, String styleUrl, String styleJson,
LatLngBounds region, CameraPosition position,
boolean showLogo, String programCacheDir);
boolean showLogo, String programCacheDir,
String localIdeographFontFamily);
@Keep
protected native void nativeStart();