On 2011-04-06 10:25:42 -0400, Matthias Pleh <j...@konrad.net> said:
Am 06.04.2011 14:49, schrieb Michel Fortin:
final class Bitmap(Color) : Image {
void opIndexAssign(int x, int y, Color color) {
pixels[y * width + x] = Color(color);
}
size_t width, height;
Color[] pixels;
}
Yep, exactly. I would implement it as template.
About the render backend, Nick mentioned.
In the first step, I would just draw all objects (lines, boxes,
circles) to the buffer and then render it as image per gdi/xlib.
this render should ideally be in a single file, so other backends can
be implemented (gdi/direct2d/cairo/xcb/cocoa/..)
Since you're at it, have you considered making the API flexible enough
so it could support vector images too?
// return an object derived from image depending on the actual file type
Image im = loadImage("filename");
// creating a bitmap for on-screen rendering
auto bitmap = new Bitmap!RGBColor(im.width, im.height);
// base image class has a virtual function to draw itself on a bitmap at
// a given location, so it's easy to draw it on screen
im.draw(10, 10, bitmap);
--
Michel Fortin
michel.for...@michelf.com
http://michelf.com/