/* * This is part of Geomajas, a GIS framework, http://www.geomajas.org/. * * Copyright 2008-2015 Geosparc nv, http://www.geosparc.com/, Belgium. * * The program is available in open source according to the GNU Affero * General Public License. All contributions in this program are covered * by the Geomajas Contributors License Agreement. For full licensing * details, see LICENSE.txt in the project root. */ package org.geomajas.gwt2.client.gfx; import java.util.List; import org.geomajas.annotation.Api; import org.vaadin.gwtgraphics.client.Transformable; import org.vaadin.gwtgraphics.client.Transparent; import com.google.gwt.user.client.ui.IsWidget; /** * Container of {@link CanvasShape} shape objects. The container draws the shapes on an HTML5 canvas. It supports * adding/removing shapes and transformations. * * @author Jan De Moerloose * @since 2.0.0 */ @Api(allMethods = true) public interface CanvasContainer extends Transformable, Transparent, IsWidget { /** * Adds a shape to the container. * * @param shape */ void addShape(CanvasShape shape); /** * Adds multiple shapes to the container. * * @param shapes */ void addAll(List<CanvasShape> shapes); /** * Removes a shape from the container. * * @param shape */ void removeShape(CanvasShape shape); /** Removes all shapes from the container. */ void clear(); /** Forces repaint. */ void repaint(); /** * Sets the size in pixels of this container. Coordinate space width/height is also set equal to width/height. * * @param width * @param height */ void setPixelSize(int width, int height); }