| 231 | } |
| 232 | |
| 233 | static void bb_invertBit(BitBucket *bitGrid, uint8_t x, uint8_t y, bool invert) { |
| 234 | uint32_t offset = y * bitGrid->bitOffsetOrWidth + x; |
| 235 | uint8_t mask = 1 << (7 - (offset & 0x07)); |
| 236 | bool on = ((bitGrid->data[offset >> 3] & (1 << (7 - (offset & 0x07)))) != 0); |
| 237 | if (on ^ invert) { |
| 238 | bitGrid->data[offset >> 3] |= mask; |
| 239 | } else { |
| 240 | bitGrid->data[offset >> 3] &= ~mask; |
| 241 | } |
| 242 | } |
| 243 | |
| 244 | static bool bb_getBit(BitBucket *bitGrid, uint8_t x, uint8_t y) { |
| 245 | uint32_t offset = y * bitGrid->bitOffsetOrWidth + x; |