/* * Copyright (C) 2013 Cyril Mottier (http://cyrilmottier.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.cyrilmottier.polaris2.maps.model; import com.cyrilmottier.polaris2.maps.Polaris; import android.os.Parcel; import android.os.Parcelable; public final class CircleOptions implements Parcelable { public static final Parcelable.Creator<CircleOptions> CREATOR = new Parcelable.Creator<CircleOptions>() { public CircleOptions createFromParcel(Parcel in) { return new CircleOptions((com.google.android.gms.maps.model.CircleOptions) in.readParcelable(null)); } public CircleOptions[] newArray(int size) { return new CircleOptions[size]; } }; /** * <strong>DO NOT USE.</strong> * <p/> * The original CircleOptions. * * @hide */ public final com.google.android.gms.maps.model.CircleOptions mOriginal; private CircleOptions mDefaultOptions; public CircleOptions() { this(new com.google.android.gms.maps.model.CircleOptions()); } CircleOptions(com.google.android.gms.maps.model.CircleOptions original) { mOriginal = original; } @Override public int describeContents() { return mOriginal.describeContents(); } @Override public void writeToParcel(Parcel out, int flags) { out.writeParcelable(mOriginal, flags); } public CircleOptions center(LatLng point) { mOriginal.center(point == null ? null : point.mOriginal); return this; } public CircleOptions fillColor(int color) { mOriginal.fillColor(color); return this; } public LatLng getCenter() { final com.google.android.gms.maps.model.LatLng original = mOriginal.getCenter(); return original == null ? null : LatLng.obtain(original); } public int getFillColor() { return mOriginal.getFillColor(); } public double getRadius() { return mOriginal.getRadius(); } public int getStrokeColor() { return mOriginal.getStrokeColor(); } public float getStrokeWidth() { return mOriginal.getStrokeWidth(); } public float getZIndex() { return mOriginal.getZIndex(); } public boolean isVisible() { return mOriginal.isVisible(); } public CircleOptions radius(double radius) { mOriginal.radius(radius); return this; } /** * Reset the CircleOptions by setting all of its properties to their default values. */ @Polaris public void reset() { if (mDefaultOptions == null) { mDefaultOptions = new CircleOptions(); } center(mDefaultOptions.getCenter()); fillColor(mDefaultOptions.getFillColor()); radius(mDefaultOptions.getRadius()); strokeColor(mDefaultOptions.getStrokeColor()); strokeWidth(mDefaultOptions.getStrokeWidth()); visible(mDefaultOptions.isVisible()); zIndex(mDefaultOptions.getZIndex()); } public CircleOptions strokeColor(int color) { mOriginal.strokeColor(color); return this; } public CircleOptions strokeWidth(float width) { mOriginal.strokeWidth(width); return this; } public CircleOptions visible(boolean visible) { mOriginal.visible(visible); return this; } public CircleOptions zIndex(float zIndex) { mOriginal.zIndex(zIndex); return this; } }