blob: b52017523e3c90c9aa9fbb1a2b546d10ea6a6f26 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package io.flutter.plugins.googlemaps;
import com.google.android.gms.maps.model.CircleOptions;
import com.google.android.gms.maps.model.LatLng;
class CircleBuilder implements CircleOptionsSink {
private final CircleOptions circleOptions;
private final float density;
private boolean consumeTapEvents;
CircleBuilder(float density) {
this.circleOptions = new CircleOptions();
this.density = density;
}
CircleOptions build() {
return circleOptions;
}
boolean consumeTapEvents() {
return consumeTapEvents;
}
@Override
public void setFillColor(int color) {
circleOptions.fillColor(color);
}
@Override
public void setStrokeColor(int color) {
circleOptions.strokeColor(color);
}
@Override
public void setCenter(LatLng center) {
circleOptions.center(center);
}
@Override
public void setRadius(double radius) {
circleOptions.radius(radius);
}
@Override
public void setConsumeTapEvents(boolean consumeTapEvents) {
this.consumeTapEvents = consumeTapEvents;
circleOptions.clickable(consumeTapEvents);
}
@Override
public void setVisible(boolean visible) {
circleOptions.visible(visible);
}
@Override
public void setStrokeWidth(float strokeWidth) {
circleOptions.strokeWidth(strokeWidth * density);
}
@Override
public void setZIndex(float zIndex) {
circleOptions.zIndex(zIndex);
}
}