24 #define min(x,y) ((x)<(y)?(x):(y)) 28 #define max(x,y) ((x)>(y)?(x):(y)) 31 static uint8_t getMaxScreenItems()
45 static uint8_t calculateScrollPosition(
SAppMenu *menu, uint8_t selection)
47 if ( selection < menu->scrollPosition )
51 else if ( selection - menu->
scrollPosition > getMaxScreenItems() - 1)
53 return selection - getMaxScreenItems() + 1;
58 static void drawMenuItem(
SAppMenu *menu, uint8_t index)
78 drawMenuItem(menu, i);
87 uint8_t scrollPosition = calculateScrollPosition( menu, menu->
selection );
void ssd1306_showMenu(SAppMenu *menu)
void ssd1306_negativeMode()
uint8_t ssd1306_displayHeight()
void ssd1306_positiveMode()
void ssd1306_updateMenu(SAppMenu *menu)
void ssd1306_drawRect(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2)
void ssd1306_createMenu(SAppMenu *menu, const char **items, uint8_t count)
void ssd1306_clearScreen()
uint8_t ssd1306_charF6x8(uint8_t x, uint8_t y, const char ch[], EFontStyle style)
uint8_t ssd1306_displayWidth()
uint8_t ssd1306_menuSelection(SAppMenu *menu)
void ssd1306_menuDown(SAppMenu *menu)
void ssd1306_menuUp(SAppMenu *menu)