You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
75 lines
2.2 KiB
Java
75 lines
2.2 KiB
Java
|
|
package android.graphics;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* GskCanvas:
|
||
|
|
* - implements Canvas for onscreen rendering inside GTKs snapshot function
|
||
|
|
*/
|
||
|
|
public class GskCanvas extends Canvas {
|
||
|
|
private long snapshot;
|
||
|
|
|
||
|
|
public GskCanvas(long snapshot) {
|
||
|
|
System.out.println("GskCanvas(" + snapshot + ")");
|
||
|
|
this.snapshot = snapshot;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public int save() {
|
||
|
|
System.out.println("GskCanvas.save()");
|
||
|
|
return -1;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void restore() {
|
||
|
|
System.out.println("GskCanvas.restore()");
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void translate(float dx, float dy) {
|
||
|
|
System.out.println("GskCanvas.translate(" + dx + ", " + dy + ")");
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void rotate(float degrees) {
|
||
|
|
System.out.println("GskCanvas.rotate(" + degrees + ")");
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) {
|
||
|
|
native_drawBitmap(snapshot, bitmap.pixbuf, dst.left, dst.top, dst.width(), dst.height());
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void drawPath(Path path, Paint paint) {
|
||
|
|
System.out.println("GskCanvas.drawPath(" + path + ", " + paint + ")");
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void drawRect(float left, float top, float right, float bottom, Paint paint) {
|
||
|
|
System.out.println("GskCanvas.drawRect(" + left + ", " + top + ", " + right + ", " + bottom + ", " + paint + ")");
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void rotate(float degrees, float px, float py) {
|
||
|
|
System.out.println("GskCanvas.rotate(" + degrees + ", " + px + ", " + py + ")");
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void drawText(String text, float x, float y, Paint paint) {
|
||
|
|
System.out.println("GskCanvas.drawText(" + text + ", " + x + ", " + y + ", " + paint + ")");
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void drawLine(float startX, float startY, float stopX, float stopY, Paint paint) {
|
||
|
|
System.out.println("GskCanvas.drawLine(" + startX + ", " + startY + ", " + stopX + ", " + stopY + ", " + paint + ")");
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void drawBitmap(Bitmap bitmap, float left, float top, Paint paint) {
|
||
|
|
Rect src = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
|
||
|
|
Rect dst = new Rect((int)left, (int)top, (int)left + bitmap.getWidth(), (int)top + bitmap.getHeight());
|
||
|
|
drawBitmap(bitmap, src, dst, paint);
|
||
|
|
}
|
||
|
|
|
||
|
|
protected native void native_drawBitmap(long snapshot, long pixbuf, int x, int y, int width, int height);
|
||
|
|
}
|