最近は、CSSとかにも実装されている、1枚の絵から、ウインドウを描画する機能。
昔ながらの方法だと、画像を9分割して…という方法なのだが。
Androidでも、drawBitmapMeshを使えば、楽にできるのね。
24x24ピクセルのウインドウパーツ(8x8の9ブロック)があれば、
以下で描画可能。
canvasとimageは適宜に。
----
public static void drawWindow(int x, int y, int w, int h) {
float[] verts = new float[16*2];
int block = 8;
verts[ 0] = x;verts[ 1] = y;
verts[ 2] = x + block;verts[ 3] = y;
verts[ 4] = x + w -block;verts[ 5] = y;
verts[ 6] = x + w;verts[ 7] = y;
verts[ 8] = x;verts[ 9] = y +block;
verts[10] = x + block;verts[11] = y +block;
verts[12] = x + w -block;verts[13] = y +block;
verts[14] = x + w;verts[15] = y +block;
verts[16] = x;verts[17] = y +h -block;
verts[18] = x + block;verts[19] = y +h -block;
verts[20] = x + w -block;verts[21] = y +h -block;
verts[22] = x + w;verts[23] = y +h -block;
verts[24] = x;verts[25] = y +h;
verts[26] = x + block;verts[27] = y +h;
verts[28] = x + w -block;verts[29] = y +h;
verts[30] = x + w;verts[31] = y +h;
canvas.drawBitmapMesh(image, 3, 3, verts, 0, null, 0, null);
}
----