package ol.source;

import com.google.gwt.core.client.JavaScriptObject;

import jsinterop.annotations.JsProperty;
import jsinterop.annotations.JsType;

/**
 * XYZ options.
 *
 * @author Tino Desjardins
 *
 */
@JsType(isNative = true)
public interface XyzOptions extends TileImageOptions {

    /**
     * Set the optional max zoom level. Default is 18.
     *
     * @param maxZoom max zoom
     */
    @JsProperty
    void setMaxZoom(int maxZoom);

    /**
     * Optional function to get tile URL given a tile coordinate and the
     * projection. Required if url or urls are not provided.
     */
    @JsProperty
    void setTileUrlFunction(JavaScriptObject tileUrlFunction);

	/**
	 * Optional function to load a tile given a URL. The default is
	 * 
	 * function(imageTile, src) { imageTile.getImage().src = src; };
	 */
	@JsProperty
	void setTileLoadFunction(JavaScriptObject tileLoadFunction);

}

@@ -143,16 +143,32 @@
 .JsType;
+%0Aimport ol.Size;
 %0A%0A/**%0A *
@@ -911,10 +911,196 @@
 tion);%0A%0A
+%09/**%0A%09 * Set the tile size used by the tile service. Default is %5B256, 256%5D pixels.%0A%09 * %0A%09 * @param tileSize%0A%09 *            tile size%0A%09 */%0A%09@JsProperty%0A%09void setTileSize(Size tileSize);%0A%0A
 %7D%0A

Add setTileSize in XyzOptions