| 134 | } |
| 135 | |
| 136 | class SkiaGraphics extends java.awt.Graphics2D { |
| 137 | private static final java.awt.Font defaultFont = new java.awt.Font(java.awt.Font.DIALOG, java.awt.Font.PLAIN, 12); |
| 138 | private static final Font defaultSkiaFont = skiaFont(defaultFont); |
| 139 | public static Matrix33 canvasMatrix = Matrix33.IDENTITY; |
| 140 | public static java.awt.Rectangle canvasClip = null; |
| 141 | |
| 142 | public java.awt.Color color; |
| 143 | public java.awt.Color backgroundColor; |
| 144 | public java.awt.Font font = defaultFont; |
| 145 | public java.awt.Rectangle clip = null; |
| 146 | public Font skiaFont = defaultSkiaFont; |
| 147 | |
| 148 | public final Canvas canvas; |
| 149 | public final Paint paint = new Paint().setColor(0xFFFFFFFF).setStrokeWidth(1).setStrokeCap(PaintStrokeCap.SQUARE); |
| 150 | public final Paint backgroundPaint = new Paint().setColor(0xFF000000); |
| 151 | public Matrix33 matrix; |
| 152 | public final String indent; |
| 153 | |
| 154 | public SkiaGraphics(Canvas canvas) { this(canvas, "", Matrix33.IDENTITY, null, null, null); } |
| 155 | |
| 156 | public SkiaGraphics(Canvas canvas, String indent, Matrix33 matrix, java.awt.Rectangle clip, java.awt.Font font, Font skiaFont) { |
| 157 | this.canvas = canvas; |
| 158 | this.indent = indent; |
| 159 | this.matrix = matrix; |
| 160 | this.clip = clip; |
| 161 | this.font = font; |
| 162 | this.skiaFont = skiaFont; |
| 163 | } |
| 164 | |
| 165 | public void beforeDraw() { |
| 166 | if (canvasMatrix != matrix || canvasClip != clip) { |
| 167 | canvas.restore(); |
| 168 | canvas.save(); |
| 169 | canvas.concat(matrix); |
| 170 | if (clip != null) |
| 171 | canvas.clipRect(Rect.makeXYWH(clip.x, clip.y, clip.width, clip.height)); |
| 172 | canvasMatrix = matrix; |
| 173 | canvasClip = clip; |
| 174 | } |
| 175 | } |
| 176 | |
| 177 | public void log(String format, Object... args) { |
| 178 | // System.out.println(indent + String.format(format, args)); |
| 179 | } |
| 180 | |
| 181 | @Override |
| 182 | public void draw(java.awt.Shape s) { |
| 183 | log("draw"); |
| 184 | } |
| 185 | |
| 186 | @Override |
| 187 | public boolean drawImage(java.awt.Image img, java.awt.geom.AffineTransform xform, java.awt.image.ImageObserver obs) { |
| 188 | log("drawImage"); |
| 189 | return false; |
| 190 | } |
| 191 | |
| 192 | @Override |
| 193 | public void drawImage(java.awt.image.BufferedImage img, java.awt.image.BufferedImageOp op, int x, int y) { |
nothing calls this directly
no test coverage detected