summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CircleLayer.java
blob: 3bb25372cd3d5e5e5fd5abdd67e1cd1b4f6ca7fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
// This file is generated. Edit android/platform/scripts/generate-style-code.js, then run `make style-code-android`.
package com.mapbox.mapboxsdk.style.layers;

import com.mapbox.mapboxsdk.exceptions.ConversionException;

import android.support.annotation.ColorInt;
import android.support.annotation.NonNull;

import static com.mapbox.mapboxsdk.utils.ColorUtils.*;

/**
 * Circle Layer
 */
public class CircleLayer extends Layer {

    public CircleLayer(long nativePtr) {
        super(nativePtr);
    }

    public CircleLayer(String layerId, String sourceId) {
        initialize(layerId, sourceId);
    }

    protected native void initialize(String layerId, String sourceId);

    public void setSourceLayer(String sourceLayer) {
        checkValidity();
        nativeSetSourceLayer(sourceLayer);
    }

    public CircleLayer withSourceLayer(String sourceLayer) {
        setSourceLayer(sourceLayer);
        return this;
    }

    public void setFilter(Filter.Statement filter) {
        checkValidity();
        this.setFilter(filter.toArray());
    }

    public void setFilter(Object[] filter) {
        checkValidity();
        nativeSetFilter(filter);
    }

    public CircleLayer withFilter(Object[] filter) {
        setFilter(filter);
        return this;
    }

    public CircleLayer withFilter(Filter.Statement filter) {
        setFilter(filter);
        return this;
    }


    public CircleLayer withProperties(@NonNull Property<?>... properties) {
        setProperties(properties);
        return this;
    }

    // Property getters

    @SuppressWarnings("unchecked")
    public PropertyValue<Float> getCircleRadius() {
        checkValidity();
        return (PropertyValue<Float>) new PropertyValue(nativeGetCircleRadius());
    }
 
    @SuppressWarnings("unchecked")
    public PropertyValue<String> getCircleColor() {
        checkValidity();
        return (PropertyValue<String>) new PropertyValue(nativeGetCircleColor());
    }
      /**
      * The color of the circle.
      * @throws RuntimeException
      */
    @ColorInt
    public int getCircleColorAsInt() {
        checkValidity();
        PropertyValue<String> value = getCircleColor();
        if (value.isValue()) {
            return rgbaToColor(value.getValue());
        } else {
            throw new RuntimeException("circle-color was set as a Function");
        }
    }

 
    @SuppressWarnings("unchecked")
    public PropertyValue<Float> getCircleBlur() {
        checkValidity();
        return (PropertyValue<Float>) new PropertyValue(nativeGetCircleBlur());
    }
 
    @SuppressWarnings("unchecked")
    public PropertyValue<Float> getCircleOpacity() {
        checkValidity();
        return (PropertyValue<Float>) new PropertyValue(nativeGetCircleOpacity());
    }
 
    @SuppressWarnings("unchecked")
    public PropertyValue<Float[]> getCircleTranslate() {
        checkValidity();
        return (PropertyValue<Float[]>) new PropertyValue(nativeGetCircleTranslate());
    }
 
    @SuppressWarnings("unchecked")
    public PropertyValue<String> getCircleTranslateAnchor() {
        checkValidity();
        return (PropertyValue<String>) new PropertyValue(nativeGetCircleTranslateAnchor());
    }
 
    @SuppressWarnings("unchecked")
    public PropertyValue<String> getCirclePitchScale() {
        checkValidity();
        return (PropertyValue<String>) new PropertyValue(nativeGetCirclePitchScale());
    }
 
    private native Object nativeGetCircleRadius();

    private native Object nativeGetCircleColor();

    private native Object nativeGetCircleBlur();

    private native Object nativeGetCircleOpacity();

    private native Object nativeGetCircleTranslate();

    private native Object nativeGetCircleTranslateAnchor();

    private native Object nativeGetCirclePitchScale();


    @Override
    protected native void finalize() throws Throwable;

}