// This file is generated. Edit android/platform/scripts/generate-style-code.js, then run `make android-style-code`. package com.mapbox.mapboxsdk.style.layers; import android.support.annotation.ColorInt; import android.support.annotation.Keep; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.UiThread; import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.mapbox.mapboxsdk.style.expressions.Expression; import com.mapbox.mapboxsdk.style.layers.TransitionOptions; /** * An extruded (3D) polygon. * * @see The online documentation */ @UiThread public class FillExtrusionLayer extends Layer { /** * Creates a FillExtrusionLayer. * * @param nativePtr pointer used by core */ @Keep FillExtrusionLayer(long nativePtr) { super(nativePtr); } /** * Creates a FillExtrusionLayer. * * @param layerId the id of the layer * @param sourceId the id of the source */ public FillExtrusionLayer(String layerId, String sourceId) { super(); initialize(layerId, sourceId); } @Keep protected native void initialize(String layerId, String sourceId); /** * Set the source layer. * * @param sourceLayer the source layer to set */ public void setSourceLayer(String sourceLayer) { checkThread(); nativeSetSourceLayer(sourceLayer); } /** * Set the source Layer. * * @param sourceLayer the source layer to set * @return This */ @NonNull public FillExtrusionLayer withSourceLayer(String sourceLayer) { setSourceLayer(sourceLayer); return this; } /** * Get the source id. * * @return id of the source */ @NonNull public String getSourceId() { checkThread(); return nativeGetSourceId(); } /** * Get the source layer. * * @return sourceLayer the source layer to get */ @NonNull public String getSourceLayer() { checkThread(); return nativeGetSourceLayer(); } /** * Set a single expression filter. * * @param filter the expression filter to set */ public void setFilter(@NonNull Expression filter) { checkThread(); nativeSetFilter(filter.toArray()); } /** * Set a single expression filter. * * @param filter the expression filter to set * @return This */ @NonNull public FillExtrusionLayer withFilter(@NonNull Expression filter) { setFilter(filter); return this; } /** * Get a single expression filter. * * @return the expression filter to get */ @Nullable public Expression getFilter() { checkThread(); JsonElement jsonElement = nativeGetFilter(); if (jsonElement != null) { return Expression.Converter.convert(jsonElement); } else { return null; } } /** * Set a property or properties. * * @param properties the var-args properties * @return This */ @NonNull public FillExtrusionLayer withProperties(@NonNull PropertyValue... properties) { setProperties(properties); return this; } // Property getters /** * Get the FillExtrusionOpacity property * * @return property wrapper value around Float */ @NonNull @SuppressWarnings("unchecked") public PropertyValue getFillExtrusionOpacity() { checkThread(); return (PropertyValue) new PropertyValue("fill-extrusion-opacity", nativeGetFillExtrusionOpacity()); } /** * Get the FillExtrusionOpacity property transition options * * @return transition options for Float */ @NonNull public TransitionOptions getFillExtrusionOpacityTransition() { checkThread(); return nativeGetFillExtrusionOpacityTransition(); } /** * Set the FillExtrusionOpacity property transition options * * @param options transition options for Float */ public void setFillExtrusionOpacityTransition(@NonNull TransitionOptions options) { checkThread(); nativeSetFillExtrusionOpacityTransition(options.getDuration(), options.getDelay()); } /** * Get the FillExtrusionColor property * * @return property wrapper value around String */ @NonNull @SuppressWarnings("unchecked") public PropertyValue getFillExtrusionColor() { checkThread(); return (PropertyValue) new PropertyValue("fill-extrusion-color", nativeGetFillExtrusionColor()); } /** * The base color of the extruded fill. The extrusion's surfaces will be shaded differently based on this color in combination with the root `light` settings. If this color is specified as `rgba` with an alpha component, the alpha component will be ignored; use `fill-extrusion-opacity` to set layer opacity. * * @return int representation of a rgba string color * @throws RuntimeException thrown if property isn't a value */ @ColorInt public int getFillExtrusionColorAsInt() { checkThread(); PropertyValue value = getFillExtrusionColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); } else { throw new RuntimeException("fill-extrusion-color was set as a Function"); } } /** * Get the FillExtrusionColor property transition options * * @return transition options for String */ @NonNull public TransitionOptions getFillExtrusionColorTransition() { checkThread(); return nativeGetFillExtrusionColorTransition(); } /** * Set the FillExtrusionColor property transition options * * @param options transition options for String */ public void setFillExtrusionColorTransition(@NonNull TransitionOptions options) { checkThread(); nativeSetFillExtrusionColorTransition(options.getDuration(), options.getDelay()); } /** * Get the FillExtrusionTranslate property * * @return property wrapper value around Float[] */ @NonNull @SuppressWarnings("unchecked") public PropertyValue getFillExtrusionTranslate() { checkThread(); return (PropertyValue) new PropertyValue("fill-extrusion-translate", nativeGetFillExtrusionTranslate()); } /** * Get the FillExtrusionTranslate property transition options * * @return transition options for Float[] */ @NonNull public TransitionOptions getFillExtrusionTranslateTransition() { checkThread(); return nativeGetFillExtrusionTranslateTransition(); } /** * Set the FillExtrusionTranslate property transition options * * @param options transition options for Float[] */ public void setFillExtrusionTranslateTransition(@NonNull TransitionOptions options) { checkThread(); nativeSetFillExtrusionTranslateTransition(options.getDuration(), options.getDelay()); } /** * Get the FillExtrusionTranslateAnchor property * * @return property wrapper value around String */ @NonNull @SuppressWarnings("unchecked") public PropertyValue getFillExtrusionTranslateAnchor() { checkThread(); return (PropertyValue) new PropertyValue("fill-extrusion-translate-anchor", nativeGetFillExtrusionTranslateAnchor()); } /** * Get the FillExtrusionPattern property * * @return property wrapper value around String */ @NonNull @SuppressWarnings("unchecked") public PropertyValue getFillExtrusionPattern() { checkThread(); return (PropertyValue) new PropertyValue("fill-extrusion-pattern", nativeGetFillExtrusionPattern()); } /** * Get the FillExtrusionPattern property transition options * * @return transition options for String */ @NonNull public TransitionOptions getFillExtrusionPatternTransition() { checkThread(); return nativeGetFillExtrusionPatternTransition(); } /** * Set the FillExtrusionPattern property transition options * * @param options transition options for String */ public void setFillExtrusionPatternTransition(@NonNull TransitionOptions options) { checkThread(); nativeSetFillExtrusionPatternTransition(options.getDuration(), options.getDelay()); } /** * Get the FillExtrusionHeight property * * @return property wrapper value around Float */ @NonNull @SuppressWarnings("unchecked") public PropertyValue getFillExtrusionHeight() { checkThread(); return (PropertyValue) new PropertyValue("fill-extrusion-height", nativeGetFillExtrusionHeight()); } /** * Get the FillExtrusionHeight property transition options * * @return transition options for Float */ @NonNull public TransitionOptions getFillExtrusionHeightTransition() { checkThread(); return nativeGetFillExtrusionHeightTransition(); } /** * Set the FillExtrusionHeight property transition options * * @param options transition options for Float */ public void setFillExtrusionHeightTransition(@NonNull TransitionOptions options) { checkThread(); nativeSetFillExtrusionHeightTransition(options.getDuration(), options.getDelay()); } /** * Get the FillExtrusionBase property * * @return property wrapper value around Float */ @NonNull @SuppressWarnings("unchecked") public PropertyValue getFillExtrusionBase() { checkThread(); return (PropertyValue) new PropertyValue("fill-extrusion-base", nativeGetFillExtrusionBase()); } /** * Get the FillExtrusionBase property transition options * * @return transition options for Float */ @NonNull public TransitionOptions getFillExtrusionBaseTransition() { checkThread(); return nativeGetFillExtrusionBaseTransition(); } /** * Set the FillExtrusionBase property transition options * * @param options transition options for Float */ public void setFillExtrusionBaseTransition(@NonNull TransitionOptions options) { checkThread(); nativeSetFillExtrusionBaseTransition(options.getDuration(), options.getDelay()); } @NonNull @Keep private native Object nativeGetFillExtrusionOpacity(); @NonNull @Keep private native TransitionOptions nativeGetFillExtrusionOpacityTransition(); @Keep private native void nativeSetFillExtrusionOpacityTransition(long duration, long delay); @NonNull @Keep private native Object nativeGetFillExtrusionColor(); @NonNull @Keep private native TransitionOptions nativeGetFillExtrusionColorTransition(); @Keep private native void nativeSetFillExtrusionColorTransition(long duration, long delay); @NonNull @Keep private native Object nativeGetFillExtrusionTranslate(); @NonNull @Keep private native TransitionOptions nativeGetFillExtrusionTranslateTransition(); @Keep private native void nativeSetFillExtrusionTranslateTransition(long duration, long delay); @NonNull @Keep private native Object nativeGetFillExtrusionTranslateAnchor(); @NonNull @Keep private native Object nativeGetFillExtrusionPattern(); @NonNull @Keep private native TransitionOptions nativeGetFillExtrusionPatternTransition(); @Keep private native void nativeSetFillExtrusionPatternTransition(long duration, long delay); @NonNull @Keep private native Object nativeGetFillExtrusionHeight(); @NonNull @Keep private native TransitionOptions nativeGetFillExtrusionHeightTransition(); @Keep private native void nativeSetFillExtrusionHeightTransition(long duration, long delay); @NonNull @Keep private native Object nativeGetFillExtrusionBase(); @NonNull @Keep private native TransitionOptions nativeGetFillExtrusionBaseTransition(); @Keep private native void nativeSetFillExtrusionBaseTransition(long duration, long delay); @Override @Keep protected native void finalize() throws Throwable; }