package ol.style;

import jsinterop.annotations.JsProperty;
import jsinterop.annotations.JsType;
import ol.Options;

/**
 * @author mribeiro
 * @date 07/06/16 17:51
 */
@JsType(isNative = true)
public interface RegularShapeOptions extends Options {


    /**
     * Fill style.
     *
     * @param fill {@link Fill}
     */
    @JsProperty
    void setFill(Fill fill);

    /**
     * Number of points for stars and regular polygons. In case of a polygon, the number of points is the number of sides. Required.
     *
     * @param number number of points
     */
    @JsProperty
    void setPoints(int number);

    /**
     * Radius of a regular polygon.
     *
     * @param radius radius
     */
    @JsProperty
    void setRadius(int radius);

    /**
     * Shape's angle in radians. A value of 0 will have one of the shape's point facing up. Default value is 0.
     *
     * @param angle in rad
     */
    @JsProperty
    void setAngle(double angle);

    /**
     * Stroke style.
     *
     * @param stroke {@link Stroke}
     */
    @JsProperty
    void setStroke(Stroke stroke);

    /**
     * Rotation in radians (positive rotation clockwise). Default is 0
     *
     * @param rotation in rad
     */
    @JsProperty
    void setRotation(double rotation);

    /**
     * Inner radius of a star.
     *
     * @param radius1 radius
     */
    @JsProperty
    void setRadius1(int radius1);

    /**
     * Outer radius of a star.
     *
     * @param radius2 radius
     */
    @JsProperty
    void setRadius2(int radius2);

    /**
     * Whether to rotate the shape with the view. Default is false.
     * @param value
     */
    @JsProperty
    void setRotateWithView(boolean value);
}

@@ -12,16 +12,56 @@
 style;%0A%0A
+import jsinterop.annotations.JsPackage;%0A
 import j
@@ -93,16 +93,16 @@
 operty;%0A
-
 import j
@@ -229,26 +229,69 @@
 true
-)%0Apublic interface
+, namespace = JsPackage.GLOBAL, name = %22Object%22)%0Apublic class
  Reg
@@ -311,14 +311,17 @@
 ons 
-extend
+implement
 s Op
@@ -416,32 +416,46 @@
 @JsProperty%0A    
+public native 
 void setFill(Fil
@@ -670,32 +670,46 @@
 @JsProperty%0A    
+public native 
 void setPoints(i
@@ -820,32 +820,46 @@
 @JsProperty%0A    
+public native 
 void setRadius(i
@@ -1045,32 +1045,46 @@
 @JsProperty%0A    
+public native 
 void setAngle(do
@@ -1189,32 +1189,46 @@
 @JsProperty%0A    
+public native 
 void setStroke(S
@@ -1379,32 +1379,46 @@
 @JsProperty%0A    
+public native 
 void setRotation
@@ -1532,32 +1532,46 @@
 @JsProperty%0A    
+public native 
 void setRadius1(
@@ -1680,32 +1680,46 @@
 @JsProperty%0A    
+public native 
 void setRadius2(
@@ -1853,20 +1853,34 @@
 roperty%0A
-
     
+public native 
 void set

Convert RegularShapeOptions interface to class