uint8_t Adafruit_SharpMem::getPixel(uint16_t x, uint16_t y) { if((x >= _width) || (y >= _height)) return 0; // <0 test not needed, unsigned switch(rotation) { case 1: _swap_uint16_t(x, y); x = WIDTH - 1 - x; break; case 2: x = WIDTH - 1 - x; y = HEIGHT - 1 - y; break; case 3: _swap_uint16_t(x, y); y = HEIGHT - 1 - y; break; default: break; } #if defined __AVR__ return sharpmem_buffer[(y*SHARPMEM_LCDWIDTH + x) / 8] & pgm_read_byte(&set[x & 7]) ? 1 : 0; #else return sharpmem_buffer[(y*SHARPMEM_LCDWIDTH + x) /8] & (1 << x % 8) ? 1 : 0; #endif }
uint8_t SharpMemory::getPixel(uint16_t x, uint16_t y) { if((x < 0) || (x >= DISPLAY_WIDTH) || (y < 0) || (y >= DISPLAY_HEIGHT)) return false; switch(rotation) { case 1: _swap_uint16_t(x, y); x = WIDTH - 1 - x; break; case 2: x = WIDTH - 1 - x; y = HEIGHT - 1 - y; break; case 3: _swap_uint16_t(x, y); y = HEIGHT - 1 - y; break; } return !(frameBuffer[y][x/8] & set[x % 8]) ? BLACK : WHITE; }