97 auto* gfx =
static_cast<Gdey029T94*
>(
display->getNativeHandle());
100 const uint16_t screenWidth =
display->getWidth();
101 const uint16_t screenHeight =
display->getHeight();
105 uint16_t textWidth, textHeight;
109 gfx->getTextBounds(message_, 0, 0, &x1, &y1, &textWidth, &textHeight);
116 uint16_t contentWidth = textWidth;
121 uint16_t boxWidth = contentWidth +
BOX_PADDING * 2;
126 if (boxHeight < 40) boxHeight = 40;
129 int boxX = (screenWidth - boxWidth) / 2;
130 int boxY = (screenHeight - boxHeight) / 2;
137 int contentY = boxY + (boxHeight - textHeight) / 2;
141 int iconX = contentX;
142 int iconY = boxY + (boxHeight -
ICON_SIZE) / 2;
147 gfx->drawLine(iconX + 2, iconY + 8, iconX + 6, iconY + 12, EPD_BLACK);
148 gfx->drawLine(iconX + 6, iconY + 12, iconX + 14, iconY + 4, EPD_BLACK);
149 gfx->drawLine(iconX + 2, iconY + 9, iconX + 6, iconY + 13, EPD_BLACK);
150 gfx->drawLine(iconX + 6, iconY + 13, iconX + 14, iconY + 5, EPD_BLACK);
155 gfx->drawLine(iconX + 2, iconY + 2, iconX + 14, iconY + 14, EPD_BLACK);
156 gfx->drawLine(iconX + 14, iconY + 2, iconX + 2, iconY + 14, EPD_BLACK);
157 gfx->drawLine(iconX + 3, iconY + 2, iconX + 14, iconY + 13, EPD_BLACK);
158 gfx->drawLine(iconX + 13, iconY + 2, iconX + 2, iconY + 13, EPD_BLACK);
163 gfx->drawCircle(iconX + 8, iconY + 8, 7, EPD_BLACK);
164 gfx->fillRect(iconX + 7, iconY + 4, 2, 2, EPD_BLACK);
165 gfx->fillRect(iconX + 7, iconY + 7, 2, 5, EPD_BLACK);
171 iconX + 8, iconY + 1,
172 iconX + 1, iconY + 14,
173 iconX + 15, iconY + 14,
176 gfx->fillRect(iconX + 7, iconY + 5, 2, 5, EPD_BLACK);
177 gfx->fillRect(iconX + 7, iconY + 11, 2, 2, EPD_BLACK);
188 gfx->setTextColor(EPD_BLACK);
189 gfx->setCursor(contentX, contentY);