# Source: bemap-model/bemap-clusterStyle.js

    /**
     * BeNomad BeMap JavaScript API - clusterStyle
     */

    /**
     * @classdesc
     * Base class for clusterStyle.
     * @public
     * @constructor
     * @param {Object} options See below the available values.
     * @param {bemap.Icon} options.icon Set the style of the non clustered marker.
     * @param {Int} options.size Set the size of the clustered marker marker.
     * @param {bemap.Color} options.borderColor Set the color of the border of the clustered marker.
     * @param {Int} options.borderSize Set the size of the border of the clustered marker.
     * @param {bemap.Color} options.color Set the background color of the clustered marker.
     * @param {bemap.Color} options.textColor Set the color of the text inside the clustered marker.
     * @param {int} options.textSize Set the size of the text inside the clustered marker.
     */
    bemap.clusterStyle = function(options) {
        var opts = options || {};

        /**
         * @type {bemap.Icon}
         * @protected
         */
        this.native = null;

        /**
         * @type {bemap.Icon}
         * @protected
         */
        this.icon = opts.icon ? opts.icon : new bemap.Icon();

        /**
         * @type {int}
         * @protected
         */
        this.size = opts.size ? opts.size : 20;

        /**
         * @type {bemap.Color}
         * @protected
         */
        this.borderColor = opts.borderColor ? opts.borderColor : new bemap.Color(255, 255, 255, 1);

        /**
         * @type {int}
         * @protected
         */
        this.borderSize = opts.borderSize ? opts.borderSize : 3;

        /**
         * @type {bemap.Color}
         * @protected
         */
        this.color = opts.color ? opts.color : new bemap.Color(0, 150, 255, 1);

        /**
         * @type {bemap.Color}
         * @protected
         */
        this.textColor = opts.textColor ? opts.textColor : new bemap.Color(255, 255, 255, 1);

        /**
         * @type {int}
         * @protected
         */
        this.textSize = opts.textSize ? opts.textSize : 2;

        /**
         * @type {Object}
         * @protected
         */
        this.properties = opts.properties ? opts.properties : null;
    };