toni@1111: /** toni@1111: * Back 2 Browser Bytecode Translator Copyright (C) 2012 Jaroslav Tulach toni@1111: * toni@1111: * toni@1111: * This program is free software: you can redistribute it and/or modify it under toni@1111: * the terms of the GNU General Public License as published by the Free Software toni@1111: * Foundation, version 2 of the License. toni@1111: * toni@1111: * This program is distributed in the hope that it will be useful, but WITHOUT toni@1111: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS toni@1111: * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more toni@1111: * details. toni@1111: * toni@1111: * You should have received a copy of the GNU General Public License along with toni@1111: * this program. Look for COPYING file in the top folder. If not, see toni@1111: * http://opensource.org/licenses/GPL-2.0. toni@521: */ toni@1109: package net.java.html.canvas; toni@521: toni@521: import org.apidesign.bck2brwsr.core.JavaScriptBody; toni@521: toni@521: /** toni@521: * toni@1109: * @author antonepple toni@521: */ toni@1109: public interface GraphicsContext { toni@521: toni@1111: public void arc(double centerX, toni@1111: double centerY, toni@1111: double startAngle, toni@1111: double radius, toni@1111: double endAngle, toni@1111: boolean ccw); toni@521: toni@1111: public void arcTo(double x1, toni@1111: double y1, toni@1111: double x2, toni@1111: double y2, toni@1111: double r); toni@521: toni@1111: public boolean isPointInPath(double x, double y); toni@521: toni@1111: public void fill(); toni@521: toni@1111: public void stroke(); toni@1109: toni@1111: public void beginPath(); toni@1109: toni@1111: public void closePath(); toni@521: toni@1111: public void clip(); toni@1109: toni@1111: public void moveTo(double x, double y); toni@1109: toni@1111: public void lineTo(double x, double y); toni@1109: toni@1111: public void quadraticCurveTo(double cpx, double cpy, double x, double y); toni@1109: toni@1111: public void bezierCurveTo(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y); toni@1109: toni@1111: public void fillRect(double x, double y, double width, double height); toni@1109: toni@1111: public void strokeRect(double x, double y, double width, double height); toni@1109: toni@1111: public void clearRect(double x, double y, double width, double height); toni@1109: toni@1111: public void rect(double x, double y, double width, double height); toni@1109: toni@1111: public void save(); toni@1109: toni@1111: public void restore(); toni@1109: toni@1111: public void rotate(double angle); toni@1109: toni@1111: public void transform(double a, double b, double c, double d, double e, double f); toni@1109: toni@1111: public void setTransform(double a, double b, double c, double d, double e, double f); toni@1109: toni@1111: public void translate(double x, double y); toni@1109: toni@1111: public void scale(double x, double y); toni@1109: toni@1111: public void drawImage(Image image, double x, double y); toni@1109: toni@1111: public void drawImage(Image image, double x, double y, double width, double height); toni@1109: toni@1111: public void drawImage(Image image, double sx, double sy, double sWidth, double sHeight, double x, double y, double width, double height); toni@1109: toni@1111: public void setFillStyle(String style); toni@1109: toni@1111: public String getFillStyle(); toni@1109: toni@1111: public void setFillStyle(LinearGradient style); toni@1109: toni@1111: public void setFillStyle(RadialGradient style); toni@1109: toni@1111: public void setFillStyle(Pattern style); toni@1109: toni@1111: public void setStrokeStyle(String style); toni@1109: toni@1111: public void setStrokeStyle(LinearGradient style); toni@1109: toni@1111: public void setStrokeStyle(RadialGradient style); toni@1109: toni@1111: public void setStrokeStyle(Pattern style); toni@1109: toni@1111: public void setShadowColor(String color); toni@1109: toni@1111: public void setShadowBlur(double blur); toni@1109: toni@1111: public void setShadowOffsetX(double x); toni@1109: toni@1111: public void setShadowOffsetY(double y); toni@1109: toni@1111: public String getStrokeStyle(); toni@1109: toni@1111: public String getShadowColor(); toni@1109: toni@1111: public double getShadowBlur(); toni@1109: toni@1111: public double getShadowOffsetX(); toni@1109: toni@1111: public double getShadowOffsetY(); toni@1109: toni@1111: public String getLineCap(); toni@1109: toni@1111: public void setLineCap(String style); toni@1109: toni@1111: public String getLineJoin(); toni@1109: toni@1111: public void setLineJoin(String style); toni@1109: toni@1111: public double getLineWidth(); toni@1109: toni@1111: public void setLineWidth(double width); toni@1109: toni@1111: public double getMiterLimit(); toni@521: toni@1111: public void setMiterLimit(double limit); toni@521: toni@1111: public String getFont(); toni@521: toni@1111: public void setFont(String font); toni@521: toni@1111: public String getTextAlign(); toni@521: toni@1111: public void setTextAlign(String textAlign); toni@521: toni@1111: public String getTextBaseline(); toni@1111: toni@1111: public void setTextBaseline(String textbaseline); toni@1111: toni@1111: public void fillText(String text, double x, double y); toni@1111: toni@1111: public void fillText(String text, double x, double y, double maxWidth); toni@1111: toni@1111: public TextMetrics measureText(String text); toni@1111: toni@1111: public void strokeText(String text, double x, double y); toni@1111: toni@1111: public void strokeText(String text, double x, double y, double maxWidth); toni@1111: toni@1111: public ImageData createImageData(double x, double y); toni@1111: toni@1111: public ImageData createImageData(ImageData imageData); toni@1111: toni@1111: public ImageData getImageData(double x, double y, double width, double height); toni@1111: toni@1111: public void putImageData(ImageData imageData, double x, double y); toni@1111: toni@1111: public void putImageData(ImageData imageData, double x, double y, double dirtyx, double dirtyy, double dirtywidth, double dirtyheight); toni@1111: toni@1111: public void setGlobalAlpha(double alpha); toni@1111: toni@1111: public double getGlobalAlpha(); toni@1111: toni@1111: public void setGlobalCompositeOperation(String operation); toni@1111: toni@1111: public String getGlobalCompositeOperation(); toni@1111: toni@1111: public LinearGradient createLinearGradient(double x0, double y0, double x1, double y1); toni@1111: toni@1111: public Pattern createPattern(Image image, String repeat); toni@1111: toni@1111: public RadialGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1); toni@521: }