28 #ifndef _NANO_GFX_TYPES_H_ 29 #define _NANO_GFX_TYPES_H_ 35 #define min(a,b) ((a)<(b)?(a):(b)) 40 #define max(a,b) ((a)>(b)?(a):(b)) 44 #define RGB_COLOR8(r,g,b) ( (r & 0xE0) | ((g >> 3)&0x1C) | (b>>6) ) 47 #define RGB_COLOR16(r,g,b) ( ((r<<8) & 0xF800) | ((g << 3)&0x07E0) | (b>>3) ) 50 #define RGB8_TO_RGB16(c) ( (((uint16_t)c & 0b11100000) << 8) | \ 51 (((uint16_t)c & 0b00011100) << 6) | \ 52 (((uint16_t)c & 0b00000011) << 3) ) 160 return (((uint8_t)(
x-
lx)<
w) || ((uint8_t)(
lx-
x)<
w)) &&
161 (((uint8_t)(
y-
ly)<8) || ((uint8_t)(
ly-
y)<8));
174 uint8_t right = ((
x +
w - 1)>>3);
175 uint8_t bottom = ((
y + 7)>>3);
176 uint8_t left =
x>>3; left = left < right ? left: 0;
177 uint8_t top =
y>>3; top = top < bottom ? top: 0;
192 uint8_t right = (uint8_t)(
lx +
w - 1);
193 uint8_t bottom = (uint8_t)(
ly + 7);
194 left = left < right ? left: 0;
195 top = top < bottom ? top: 0;
209 uint8_t right =
max((uint8_t)(
x +
w - 1), (uint8_t)(
lx +
w - 1));
210 if (((uint8_t)(
lx +
w - 1) <
w) && (right > 2*
w))
212 right = (uint8_t)(
lx +
w - 1);
214 uint8_t bottom =
max((uint8_t)(
y + 7), (uint8_t)(
ly + 7));
215 if (((uint8_t)(
ly + 7) < 8) && (bottom > 16))
217 bottom = (uint8_t)(
ly + 7);
219 if ( left > right ) left = 0;
220 if ( top > bottom ) top = 0;
227 #endif // _NANO_GFX_TYPES_H_ const uint8_t * data
char data, located in progmem.
uint8_t height
char height in pixels
const uint8_t * data
Pointer to PROGMEM data, representing sprite image.
const uint8_t * transparentMask
Pointer to PROGMEM data, representing sprite transparencyMask (can be nullptr)
uint8_t ascii_offset
ascii offset
void(* InitFunction)(void)
void setPos(uint8_t x, uint8_t y)
uint8_t y
draw position Y on the screen
uint8_t width
char width in pixels
uint8_t width
width in pixels
SSD1306_RECT getUpdateRect() const
uint8_t x
draw position X on the screen
SSD1306_RECT getRect() const
uint8_t lx
last draw position X on the screen
const uint8_t * data
font chars bits
uint8_t pages
height in pages (each page height is 8-pixels)
uint8_t ly
last draw position Y on the screen
SSD1306_RECT getLRect() const
uint8_t height
height in pixels