[core] Update shaders.

Implements 'icon-pitch-alignment' (issue #9345)
Fixes issue #9456 (map-aligned point label regression)
This commit is contained in:
Chris Loer
2017-07-11 11:22:39 -07:00
committed by Chris Loer
parent af10e2d3be
commit e8657becc5
23 changed files with 458 additions and 118 deletions

View File

@@ -160,6 +160,32 @@ public final class Property {
@Retention(RetentionPolicy.SOURCE)
public @interface ICON_TEXT_FIT {}
// ICON_PITCH_ALIGNMENT: Orientation of icon when map is pitched.
/**
* The icon is aligned to the plane of the map.
*/
public static final String ICON_PITCH_ALIGNMENT_MAP = "map";
/**
* The icon is aligned to the plane of the viewport.
*/
public static final String ICON_PITCH_ALIGNMENT_VIEWPORT = "viewport";
/**
* Automatically matches the value of {@link ICON_ROTATION_ALIGNMENT}.
*/
public static final String ICON_PITCH_ALIGNMENT_AUTO = "auto";
/**
* Orientation of icon when map is pitched.
*/
@StringDef({
ICON_PITCH_ALIGNMENT_MAP,
ICON_PITCH_ALIGNMENT_VIEWPORT,
ICON_PITCH_ALIGNMENT_AUTO,
})
@Retention(RetentionPolicy.SOURCE)
public @interface ICON_PITCH_ALIGNMENT {}
// TEXT_PITCH_ALIGNMENT: Orientation of text when map is pitched.
/**

View File

@@ -1881,6 +1881,29 @@ public class PropertyFactory {
return new LayoutPropertyValue<>("icon-offset", function);
}
/**
* Orientation of icon when map is pitched.
*
* @param value a String value
* @return property wrapper around String
*/
public static PropertyValue<String> iconPitchAlignment(@Property.ICON_PITCH_ALIGNMENT String value) {
return new LayoutPropertyValue<>("icon-pitch-alignment", value);
}
/**
* Orientation of icon when map is pitched.
*
* @param <Z> the zoom parameter type
* @param function a wrapper {@link CameraFunction} for String
* @return property wrapper around a String function
*/
public static <Z extends Number> PropertyValue<CameraFunction<Z, String>> iconPitchAlignment(CameraFunction<Z, String> function) {
return new LayoutPropertyValue<>("icon-pitch-alignment", function);
}
/**
* Orientation of text when map is pitched.
*

View File

@@ -251,6 +251,16 @@ public class SymbolLayer extends Layer {
return (PropertyValue<Float[]>) new PropertyValue("icon-offset", nativeGetIconOffset());
}
/**
* Get the IconPitchAlignment property
*
* @return property wrapper value around String
*/
@SuppressWarnings("unchecked")
public PropertyValue<String> getIconPitchAlignment() {
return (PropertyValue<String>) new PropertyValue("icon-pitch-alignment", nativeGetIconPitchAlignment());
}
/**
* Get the TextPitchAlignment property
*
@@ -891,6 +901,8 @@ public class SymbolLayer extends Layer {
private native Object nativeGetIconOffset();
private native Object nativeGetIconPitchAlignment();
private native Object nativeGetTextPitchAlignment();
private native Object nativeGetTextRotationAlignment();

View File

@@ -43,8 +43,7 @@ public class Light {
*
* @return anchor as String
*/
@Property.ANCHOR
public String getAnchor() {
@Property.ANCHOR public String getAnchor() {
return nativeGetAnchor();
}
@@ -107,7 +106,7 @@ public class Light {
*
* @return color as String
*/
public String getColor() {
public String getColor() {
return nativeGetColor();
}
@@ -143,7 +142,7 @@ public class Light {
*
* @return intensity as Float
*/
public float getIntensity() {
public float getIntensity() {
return nativeGetIntensity();
}
@@ -166,30 +165,17 @@ public class Light {
}
private native void nativeSetAnchor(String anchor);
private native String nativeGetAnchor();
private native void nativeSetPosition(Position position);
private native Position nativeGetPosition();
private native TransitionOptions nativeGetPositionTransition();
private native void nativeSetPositionTransition(long duration, long delay);
private native void nativeSetColor(String color);
private native String nativeGetColor();
private native TransitionOptions nativeGetColorTransition();
private native void nativeSetColorTransition(long duration, long delay);
private native void nativeSetIntensity(float intensity);
private native float nativeGetIntensity();
private native TransitionOptions nativeGetIntensityTransition();
private native void nativeSetIntensityTransition(long duration, long delay);
}