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) ) 55 #define RGB16_TO_RGB8(c) ( ((uint16_t)(c >> 8) & 0b11100000) | \ 56 ((uint16_t)(c >> 6) & 0b00011100) | \ 57 ((uint16_t)(c >> 3) & 0b00000011) ) 106 #ifdef CONFIG_SSD1306_UNICODE_ENABLE 163 void setPos(uint8_t x, uint8_t y);
188 return (((uint8_t)(x-lx)<w) || ((uint8_t)(lx-x)<w)) &&
189 (((uint8_t)(y-ly)<8) || ((uint8_t)(ly-
y)<8));
202 uint8_t right = ((x + w - 1)>>3);
203 uint8_t bottom = ((y + 7)>>3);
204 uint8_t left = x>>3; left = left < right ? left: 0;
205 uint8_t top = y>>3; top = top < bottom ? top: 0;
220 uint8_t right = (uint8_t)(lx + w - 1);
221 uint8_t bottom = (uint8_t)(ly + 7);
222 left = left < right ? left: 0;
223 top = top < bottom ? top: 0;
235 uint8_t left =
min(x,lx);
236 uint8_t top =
min(y,ly);
237 uint8_t right =
max((uint8_t)(x + w - 1), (uint8_t)(lx + w - 1));
238 if (((uint8_t)(lx + w - 1) < w) && (right > 2*w))
240 right = (uint8_t)(lx + w - 1);
242 uint8_t bottom =
max((uint8_t)(y + 7), (uint8_t)(ly + 7));
243 if (((uint8_t)(ly + 7) < 8) && (bottom > 16))
245 bottom = (uint8_t)(ly + 7);
247 if ( left > right ) left = 0;
248 if ( top > bottom ) top = 0;
255 #endif // _NANO_GFX_TYPES_H_
uint8_t height
char height in pixels
const uint8_t * data
Pointer to PROGMEM data, representing sprite image.
const uint8_t * primary_table
font chars bits
uint16_t start_code
unicode start code
const uint8_t * transparentMask
Pointer to PROGMEM data, representing sprite transparencyMask (can be nullptr)
void(* InitFunction)(void)
void setPos(uint8_t x, uint8_t y)
uint8_t y
draw position Y on the screen
uint8_t count
count of unicode chars in block
uint8_t width
char width in pixels
const uint8_t * secondary_table
font chars bits
SSD1306_RECT getUpdateRect() const
SFontHeaderRecord h
record, containing information on font
uint8_t x
draw position X on the screen
const uint8_t * glyph
char data, located in progmem.
SSD1306_RECT getRect() const
uint8_t spacing
additional spaces after char in pixels
uint8_t lx
last draw position X on the screen
uint8_t glyph_size
glyph size in bytes
uint8_t pages
height in pages (each page height is 8-pixels)
uint8_t count
count of characters
uint8_t ly
last draw position Y on the screen
SSD1306_RECT getLRect() const