Merge master into navigation-animations

This commit is contained in:
Patrick Horlebein
2020-04-17 09:38:16 +02:00
13 changed files with 173 additions and 66 deletions

View File

@@ -125,6 +125,25 @@ void OLED::drawChar(char c) {
cursor_x += fontWidth;
}
/*
* Draws a one pixel wide scrolling indicator. y is the upper vertical position
* of the indicator in pixels (0..<16).
*/
void OLED::drawScrollIndicator(uint8_t y, uint8_t height) {
union u_type {
uint16_t whole;
uint8_t strips[2];
} column;
column.whole = (1 << height) - 1;
column.whole <<= y;
// Draw a one pixel wide bar to the left with a single pixel as
// the scroll indicator.
fillArea(OLED_WIDTH - 1, 0, 1, 8, column.strips[0]);
fillArea(OLED_WIDTH - 1, 8, 1, 8, column.strips[1]);
}
/**
* Plays a transition animation between two framebuffers.
* @param framebuffer Second framebuffer to use for animation.