blob: 50acdda40971c990585cacf0e42989f09bd22c98 [file] [log] [blame]
import '../image.dart';
import '../bitmap_font.dart';
import 'draw_pixel.dart';
/// Draw a single character from [char] horizontally into [image] at position
/// [x],[y] with the given [color].
Image drawChar(Image image, BitmapFont font, int x, int y, String char,
{int color = 0xffffffff}) {
int c = char.codeUnits[0];
if (!font.characters.containsKey(c)) {
return image;
}
BitmapFontCharacter ch = font.characters[c];
int x2 = x + ch.width;
int y2 = y + ch.height;
int pi = 0;
for (int yi = y; yi < y2; ++yi) {
for (int xi = x; xi < x2; ++xi) {
int p = ch.image[pi++];
drawPixel(image, xi, yi, p);
}
}
return image;
}