Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// Menu drawing function
- void UserInterface::draw_menu() {
- // Preparing
- update_oled = true;
- oled.clear();
- oled.setScale(1);
- // Top line
- oled.setCursor(0, 0);
- oled.print("10:30 OK!");
- // Это 1
- oled.drawBitmap(120, 1, bitmap::submenu_arrow_6x5, 6, 5, true);
- oled.drawBitmap(110, 1, bitmap::submenu_arrow_6x5, 6, 5, false);
- // Menu title
- oled.setCursorXY(2, 12);
- oled.print(current_menu->title);
- // Dividing lines
- oled.fastLineH(9, 0, 127);
- oled.fastLineH(21, 0, 127);
- // Menu body
- menu_view_start = get_menu_offset();
- const byte menu_view_end = min<byte>(menu_view_start + menu_visible_items, current_menu->itemsCount);
- for (byte i = menu_view_start; i < menu_view_end; i++) {
- const byte row = 3 + (i - menu_view_start);
- const byte yPos = row * 8;
- const byte xPos = 2;
- bool invert;
- if (i == menuPointer) {
- oled.rect(0, yPos - 1, 128, yPos + 7);
- invert = true;
- } else {
- invert = false;
- }
- oled.invertText(invert);
- oled.setCursor(xPos, row);
- oled.print(current_menu->items[i].name);
- if (current_menu->items[i].type == MenuItemType::SUBMENU) {
- // oled.setCursor(120, row);
- // oled.print(">");
- oled.drawBitmap(120, yPos + 1, bitmap::submenu_arrow_6x5, 6, 5, invert); // А вот 2
- }
- }
- oled.drawBitmap(100, 40, bitmap::submenu_arrow_6x5, 6, 5, false); // А это 3
- }
Advertisement
Add Comment
Please, Sign In to add comment