// Software raster drawing. No window or native calls; pixels are packed RGB (0x00RRGGBB). u32 BLACK = 0x000000; u32 WHITE = 0xffffff; u32 RED = 0xe05252; u32 GREEN = 0x48b88c; u32 BLUE = 0x558ee6; // Components are clamped to bytes rather than wrapping. val rgb = { int r, int g, int b -> r = r<0 ? 0 : r>255 ? 255 : r; g = g<0 ? 0 : g>255 ? 255 : g; b = b<0 ? 0 : b>255 ? 255 : b; u32 color = (r<<16) | (g<<8) | b; return color; }; val Canvas = Canvas; // Pixel canvas and drawing methods