All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gwidgets.api.leaflet.options.CircleOptions Maven / Gradle / Ivy

The newest version!
package com.gwidgets.api.leaflet.options;

import static jsinterop.annotations.JsPackage.GLOBAL;

import com.gwidgets.api.leaflet.Renderer;

import jsinterop.annotations.JsOverlay;
import jsinterop.annotations.JsType;

@JsType(isNative = true, namespace = GLOBAL, name = "Object")
public class CircleOptions extends PathOptions {
	
	protected CircleOptions(){}
	
	private double radius;
	/**
	 * Returns the current radius of a circle. Units are in meters.
	 *
	 * @return the radius
	 */
	@JsOverlay
	public final double getRadius() {
		return this.radius;
	}

	public static class Builder {

		private Boolean stroke;

		private String color;

		private Double weight;

		private Double opacity;

		private Boolean fill;

		private String fillColor;

		private Double fillOpacity;

		private String fillRule;

		private String dashArray;

		private String lineCap;

		private String lineJoin;

		private String pointerEvents;

		private String className;
		
	    private String dashOffset;

		private Renderer renderer;

	    private String pane; 

	    private String attribution;

	    private Boolean interactive;
	    
	    private Double radius;

		/**
		 * Instantiates a new builder.
		 */
		public Builder() {

		}

		/**
		 * Whether to draw stroke along the path. Set it to false to disable
		 * borders on polygons or circles. 
* default true * * @param stroke * the stroke * @return the builder */ public Builder stroke(Boolean stroke) { this.stroke = stroke; return this; } /** * Stroke color.
* default "#03f" * * @param color * the color * @return the builder */ public Builder color(String color) { this.color = color; return this; } /** * Stroke width in pixels.
* default 5 * * @param weight * the weight * @return the builder */ public Builder weight(Double weight) { this.weight = weight; return this; } /** * Stroke opacity.
* default 0.5 * * @param opacity * the opacity * @return the builder */ public Builder opacity(Double opacity) { this.opacity = opacity; return this; } /** * Whether to fill the path with color. Set it to false to disable * filling on polygons or circles.
* default true * * @param fill * the fill * @return the builder */ public Builder fill(Boolean fill) { this.fill = fill; return this; } /** * Fill color.
* default "#03f" * * @param fillColor * the fill color * @return the builder */ public Builder fillColor(String fillColor) { this.fillColor = fillColor; return this; } /** * Fill opacity.
* default 0.2 * * @param fillOpacity * the fill opacity * @return the builder */ public Builder fillOpacity(Double fillOpacity) { this.fillOpacity = fillOpacity; return this; } /** * A string that defines how the inside of a shape is determined. See * * docs for more info
* * @param fillRule * the fill rule * @return the builder */ public Builder fillRule(String fillRule) { this.fillRule = fillRule; return this; } /** * A string that defines the stroke * dash pattern. Doesn't work on canvas-powered layers (e.g. Android * 2).
* default "evenodd" * * @param dashArray * the dash array * @return the builder */ public Builder dashArray(String dashArray) { this.dashArray = dashArray; return this; } /** * A string that defines * shape to be used at the end of the stroke.
* default null * * @param lineCap * the line cap * @return the builder */ public Builder lineCap(String lineCap) { this.lineCap = lineCap; return this; } /** * A string that defines * shape to be used at the corners of the stroke.
* default null * * @param lineJoin * the line join * @return the builder */ public Builder lineJoin(String lineJoin) { this.lineJoin = lineJoin; return this; } /** * Sets the pointer-events attribute on the path if SVG backend is used. *
* default null * * @param pointerEvents * the pointer events * @return the builder */ public Builder pointerEvents(String pointerEvents) { this.pointerEvents = pointerEvents; return this; } /** * Custom class name set on an element.
* default empty string * * @param className * the class name * @return the builder */ public Builder className(String className) { this.className = className; return this; } public Builder dashOffset(String dashOffset){this.dashOffset = dashOffset; return this;} public Builder renderer(Renderer renderer){this.renderer = renderer; return this;} public Builder attribution(String attribution){this.attribution = attribution; return this;} public Builder pane(String pane){this.pane = pane; return this;} public Builder interactive(Boolean interactive){this.interactive = interactive; return this;} public Builder radius(Double radius){this.radius = radius;return this;} /** * Builds the PathOptions new instance * * @return the path options */ public CircleOptions build(){ CircleOptions options = new CircleOptions(); if(this.stroke != null) options.stroke = this.stroke; if(this.color != null) options.color = this.color; if(this.opacity != null) options.opacity = this.opacity; if(this.weight != null) options.weight = this.weight; if(this.fill != null) options.fill = this.fill; if(this.fillColor != null) options.fillColor = this.fillColor; if(this.fillOpacity != null) options.fillOpacity = this.fillOpacity; if(this.fillRule != null) options.fillRule = this.fillRule; if(this.dashArray != null) options.dashArray = this.dashArray; if(this.lineCap != null) options.lineCap = this.lineCap; if(this.lineJoin != null) options.lineJoin = this.lineJoin; if(this.pointerEvents != null) options.pointerEvents = this.pointerEvents; if(this.className != null) options.className = this.className; if(this.dashOffset != null) options.dashOffset = this.dashOffset; if(this.renderer != null) options.renderer = this.renderer; if(this.pane != null) options.pane = this.pane; if(this.attribution != null) options.attribution = this.attribution; if(this.interactive != null) options.interactive = this.interactive; if(this.radius != null) options.radius = this.radius; return options; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy