Sub Process_Globals
Private flags As Bitmap
Private Const flagsPerRow = 10, flagsPerColumn = 24 As Int
End Sub
Sub Service_Create
flags = LoadBitmap(File.DirAssets, "flags.jpg")
End Sub
Public Sub GetFlag(Row As Int, Col As Int) As Bitmap
Dim b As Bitmap
b.InitializeMutable(flags.Width / flagsPerRow, flags.Height / flagsPerColumn)
Dim c As Canvas
c.Initialize2(b)
Dim r As Rect
r.Initialize(b.Width * Row, b.Height * Col, b.Width * (Row + 1), b.Height * (Col + 1))
Dim dest As Rect
dest.Initialize(0, 0, b.Width, b.Height)
c.DrawBitmap(flags, r, dest)
Return b
End Sub