/* ************************************************************************** */ /* */ /* ML_pixel.c */ /* | Project : libmonochrome */ /* */ /* By: Pierre "PierrotLL" Le Gall */ /* Last updated: 2011/11/22 */ /* */ /* ************************************************************************** */ #include void ML_pixel(int x, int y, ML_Color color) { if (x & ~127 || y & ~63) return; char *vram = ML_vram_xy(x, y); int bit = 128 >> (x & 7); switch (color) { case ML_BLACK: *vram |= bit; break; case ML_WHITE: *vram &= ~bit; break; case ML_XOR: *vram ^= bit; break; case ML_CHECKER: if ((y & 1) ^ (x & 1)) *vram &= ~bit; else *vram |= bit; break; default: break; } }