2 * Back 2 Browser Bytecode Translator Copyright (C) 2012 Jaroslav Tulach
3 * <jaroslav.tulach@apidesign.org>
5 * This program is free software: you can redistribute it and/or modify it under
6 * the terms of the GNU General Public License as published by the Free Software
7 * Foundation, version 2 of the License.
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14 * You should have received a copy of the GNU General Public License along with
15 * this program. Look for COPYING file in the top folder. If not, see
16 * http://opensource.org/licenses/GPL-2.0.
18 package net.java.html.canvas;
20 import java.awt.Dimension;
26 public final class GraphicsContext {
28 GraphicsEnvironment graphicsEnvironmentImpl;
30 public GraphicsContext(GraphicsEnvironment graphicsEnvironment) {
31 this.graphicsEnvironmentImpl = graphicsEnvironment;
34 public void arc(double centerX,
40 graphicsEnvironmentImpl.arc(centerX, centerY, startAngle, radius, endAngle, ccw);
43 public void arcTo(double x1,
48 graphicsEnvironmentImpl.arcTo(x1, y1, x2, y2, r);
51 public boolean isPointInPath(double x, double y) {
52 return graphicsEnvironmentImpl.isPointInPath(x, y);
56 graphicsEnvironmentImpl.fill();
59 public void stroke() {
60 graphicsEnvironmentImpl.stroke();
63 public void beginPath() {
64 graphicsEnvironmentImpl.beginPath();
67 public void closePath(){
68 graphicsEnvironmentImpl.closePath();
72 graphicsEnvironmentImpl.clip();
75 public void moveTo(double x, double y){
76 graphicsEnvironmentImpl.moveTo(x, y);
79 public void lineTo(double x, double y){
80 graphicsEnvironmentImpl.lineTo(x, y);
83 public void quadraticCurveTo(double cpx, double cpy, double x, double y){
84 graphicsEnvironmentImpl.quadraticCurveTo(cpx, cpy, x, y);
87 public void bezierCurveTo(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y){
88 graphicsEnvironmentImpl.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);
91 public void fillRect(double x, double y, double width, double height){
92 graphicsEnvironmentImpl.fillRect(x, y, width, height);
95 public void strokeRect(double x, double y, double width, double height){
96 graphicsEnvironmentImpl.strokeRect(x, y, width, height);
99 public void clearRect(double x, double y, double width, double height){
100 graphicsEnvironmentImpl.clearRect(x, y, width, height);
103 public void rect(double x, double y, double width, double height){
104 graphicsEnvironmentImpl.rect(x, y, width, height);
108 graphicsEnvironmentImpl.save();
111 public void restore(){
112 graphicsEnvironmentImpl.restore();
115 public void rotate(double angle){
116 graphicsEnvironmentImpl.rotate(angle);
119 public void transform(double a, double b, double c, double d, double e, double f){
120 graphicsEnvironmentImpl.transform(a, b, c, d, e, f);
123 public void setTransform(double a, double b, double c, double d, double e, double f){
124 graphicsEnvironmentImpl.setTransform(a, b, c, d, e, f);
127 public void translate(double x, double y){
128 graphicsEnvironmentImpl.translate(x, y);
131 public void scale(double x, double y){
132 graphicsEnvironmentImpl.scale(x, y);
135 public void drawImage(ImageData image, double x, double y){
136 graphicsEnvironmentImpl.drawImage(image, x, y);
139 public void drawImage(ImageData image, double x, double y, double width, double height){
140 graphicsEnvironmentImpl.drawImage(image, x, y, width, height);
143 public void drawImage(ImageData image, double sx, double sy, double sWidth, double sHeight, double x, double y, double width, double height){
144 graphicsEnvironmentImpl.drawImage(image, sx, sy, sWidth, sHeight, x, y, width, height);
147 public void setFillStyle(String style){
148 graphicsEnvironmentImpl.setFillStyle(style);
151 public String getFillStyle(){
152 return graphicsEnvironmentImpl.getFillStyle();
155 public void setFillStyle(Pattern style){
156 graphicsEnvironmentImpl.setFillStyle(style);
159 public void setStrokeStyle(String style){
160 graphicsEnvironmentImpl.setStrokeStyle(style);
163 public void setStrokeStyle(Pattern style){
164 graphicsEnvironmentImpl.setStrokeStyle(style);
167 public void setShadowColor(String color){
168 graphicsEnvironmentImpl.setShadowColor(color);
171 public void setShadowBlur(double blur){
172 graphicsEnvironmentImpl.setShadowBlur(blur);
175 public void setShadowOffsetX(double x){
176 graphicsEnvironmentImpl.setShadowOffsetX(x);
179 public void setShadowOffsetY(double y){
180 graphicsEnvironmentImpl.setShadowOffsetY(y);
183 public String getStrokeStyle(){
184 return graphicsEnvironmentImpl.getStrokeStyle();
187 public String getShadowColor(){
188 return graphicsEnvironmentImpl.getShadowColor();
191 public double getShadowBlur(){
192 return graphicsEnvironmentImpl.getShadowBlur();
195 public double getShadowOffsetX(){
196 return graphicsEnvironmentImpl.getShadowOffsetX();
199 public double getShadowOffsetY(){
200 return graphicsEnvironmentImpl.getShadowOffsetY();
203 public String getLineCap(){
204 return graphicsEnvironmentImpl.getLineCap();
207 public void setLineCap(String style){
208 graphicsEnvironmentImpl.setLineCap(style);
211 public String getLineJoin(){
212 return graphicsEnvironmentImpl.getLineJoin();
215 public void setLineJoin(String style){
216 graphicsEnvironmentImpl.setLineJoin(style);
219 public double getLineWidth(){
220 return graphicsEnvironmentImpl.getLineWidth();
223 public void setLineWidth(double width){
224 graphicsEnvironmentImpl.setLineWidth(width);
227 public double getMiterLimit(){
228 return graphicsEnvironmentImpl.getMiterLimit();
231 public void setMiterLimit(double limit){
232 graphicsEnvironmentImpl.setMiterLimit(limit);
235 public String getFont(){
236 return graphicsEnvironmentImpl.getFont();
239 public void setFont(String font){
240 graphicsEnvironmentImpl.setFont(font);
243 public String getTextAlign(){
244 return graphicsEnvironmentImpl.getTextAlign();
247 public void setTextAlign(String textAlign){
248 graphicsEnvironmentImpl.setTextAlign(textAlign);
251 public String getTextBaseline(){
252 return graphicsEnvironmentImpl.getTextBaseline();
255 public void setTextBaseline(String textbaseline){
256 graphicsEnvironmentImpl.setTextBaseline(textbaseline);
259 public void fillText(String text, double x, double y){
260 graphicsEnvironmentImpl.fillText(text, x, y);
263 public void fillText(String text, double x, double y, double maxWidth){
264 graphicsEnvironmentImpl.fillText(text, x, y, maxWidth);
267 public Dimension measureText(String text){
268 return graphicsEnvironmentImpl.measureText(text);
271 public void strokeText(String text, double x, double y){
272 graphicsEnvironmentImpl.strokeText(text, x, y);
275 public void strokeText(String text, double x, double y, double maxWidth){
276 graphicsEnvironmentImpl.strokeText(text, x, y, maxWidth);
279 public ImageData createImageData(double x, double y){
280 return graphicsEnvironmentImpl.createImageData(x, y);
283 public ImageData createImageData(ImageData imageData){
284 return graphicsEnvironmentImpl.createImageData(imageData);
287 public ImageData getImageData(double x, double y, double width, double height){
288 return graphicsEnvironmentImpl.getImageData(x, y, width, height);
291 public void putImageData(ImageData imageData, double x, double y){
292 graphicsEnvironmentImpl.putImageData(imageData, x, y);
295 public void putImageData(ImageData imageData, double x, double y, double dirtyx, double dirtyy, double dirtywidth, double dirtyheight){
296 graphicsEnvironmentImpl.putImageData(imageData, x, y, dirtyx, dirtyy, dirtywidth, dirtyheight);
299 public void setGlobalAlpha(double alpha){
300 graphicsEnvironmentImpl.setGlobalAlpha(alpha);
303 public double getGlobalAlpha(){
304 return graphicsEnvironmentImpl.getGlobalAlpha();
307 public void setGlobalCompositeOperation(String operation){
308 graphicsEnvironmentImpl.setGlobalCompositeOperation(operation);
311 public String getGlobalCompositeOperation(){
312 return graphicsEnvironmentImpl.getGlobalCompositeOperation();
315 public LinearGradient createLinearGradient(double x0, double y0, double x1, double y1){
316 return graphicsEnvironmentImpl.createLinearGradient(x0, y0, x1, y1);
319 public Pattern createPattern(ImageData image, String repeat){
320 return graphicsEnvironmentImpl.createPattern(image, repeat);
323 public RadialGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1){
324 return graphicsEnvironmentImpl.createRadialGradient(x0, y0, r0, x1, y1, r1);
327 public ImageData getImageDataForPath(String path){
328 return graphicsEnvironmentImpl.getImageDataForPath(path);
331 public int getHeight(){
332 return graphicsEnvironmentImpl.getHeight();
335 public int getWidth(){
336 return graphicsEnvironmentImpl.getWidth();
339 public void setHeight(int height){
340 graphicsEnvironmentImpl.setHeight(height);
343 public void setWidth(int width){
344 graphicsEnvironmentImpl.setWidth(width);