| Index: apps/bootmenu-ipodclassic/main.c |
| — | — | @@ -258,6 +258,22 @@ |
| 259 | 259 | message(106, "Data partition has", "been reformatted.");
|
| 260 | 260 | }
|
| 261 | 261 |
|
| | 262 | +bool update_display(struct chooser_data* data)
|
| | 263 | +{
|
| | 264 | + char buf[6];
|
| | 265 | + struct rtc_datetime dt;
|
| | 266 | + rtc_read_datetime(&dt);
|
| | 267 | + snprintf(buf, sizeof(buf), "%02d:%02d", dt.hour, dt.minute);
|
| | 268 | + // clock
|
| | 269 | + rendertext(framebuf, 287, 4, 320, 0xffffcccc, 0, buf);
|
| | 270 | + unsigned int batt_level = 22 * read_battery_mwh_current(0) / read_battery_mwh_full(0);
|
| | 271 | + // remaining battery level
|
| | 272 | + ui->blendcolor(batt_level, 6, 0xc0ffcccc, framebuf, 5, 5, 320, framebuf, 5, 5, 320);
|
| | 273 | + // background of the rest space
|
| | 274 | + ui->blendcolor(22 - batt_level, 6, 0x40000000, framebuf, 5 + batt_level, 5, 320, framebuf, 5 + batt_level, 5, 320);
|
| | 275 | + return false;
|
| | 276 | +}
|
| | 277 | +
|
| 262 | 278 | struct chooser_renderer_list_params toolchooser_rparams =
|
| 263 | 279 | {
|
| 264 | 280 | .version = CHOOSER_RENDERER_LIST_PARAMS_VERSION,
|
| — | — | @@ -276,7 +292,7 @@ |
| 277 | 293 | .blit_dest = LIBUI_POINT(0, 0),
|
| 278 | 294 | .blit_src = LIBUI_SURFACE(LIBUI_LOCATION(LIBUI_BUFFER(NULL, 320), LIBUI_POINT(0, 0)),
|
| 279 | 295 | LIBUI_POINT(320, 240)),
|
| 280 | | - .preblit = NULL,
|
| | 296 | + .preblit = update_display,
|
| 281 | 297 | .postblit = NULL
|
| 282 | 298 | };
|
| 283 | 299 |
|
| — | — | @@ -348,22 +364,12 @@ |
| 349 | 365 |
|
| 350 | 366 | bool mainchooser_preblit(struct chooser_data* data)
|
| 351 | 367 | {
|
| 352 | | - char buf[6];
|
| 353 | | - struct rtc_datetime dt;
|
| 354 | | - rtc_read_datetime(&dt);
|
| 355 | | - snprintf(buf, sizeof(buf), "%02d:%02d", dt.hour, dt.minute);
|
| 356 | | - // clock
|
| 357 | | - rendertext(framebuf, 287, 4, 320, 0xffffcccc, 0, buf);
|
| | 368 | + char buf[4];
|
| 358 | 369 | struct chooser_action_handler_wheel_data* adata;
|
| 359 | 370 | adata = (struct chooser_action_handler_wheel_data*)(data->actionhandlerdata);
|
| 360 | 371 | snprintf(buf, sizeof(buf), "%3d", adata->timeout_remaining / 1000000);
|
| 361 | | - // remaining time
|
| 362 | 372 | rendertext(framebuf, 299, 229, 320, 0xffffcccc, 0, buf);
|
| 363 | | - unsigned int batt_level = 22 * read_battery_mwh_current(0) / read_battery_mwh_full(0);
|
| 364 | | - // remaining battery level
|
| 365 | | - ui->blendcolor(batt_level, 6, 0xc0ffcccc, framebuf, 5, 5, 320, framebuf, 5, 5, 320);
|
| 366 | | - // background of the rest space
|
| 367 | | - ui->blendcolor(22 - batt_level, 6, 0x40000000, framebuf, 5 + batt_level, 5, 320, framebuf, 5 + batt_level, 5, 320);
|
| | 373 | + update_display(data);
|
| 368 | 374 | return false;
|
| 369 | 375 | }
|
| 370 | 376 |
|
| Index: apps/bootmenu-ipodnano2g/main.c |
| — | — | @@ -318,6 +318,22 @@ |
| 319 | 319 | }
|
| 320 | 320 | }
|
| 321 | 321 |
|
| | 322 | +bool update_display(struct chooser_data* data)
|
| | 323 | +{
|
| | 324 | + char buf[6];
|
| | 325 | + struct rtc_datetime dt;
|
| | 326 | + rtc_read_datetime(&dt);
|
| | 327 | + snprintf(buf, sizeof(buf), "%02d:%02d", dt.hour, dt.minute);
|
| | 328 | + // clock
|
| | 329 | + rendertext(framebuf, 143, 4, 176, 0xffffcccc, 0, buf);
|
| | 330 | + unsigned int batt_level = 22 * read_battery_mwh_current(0) / read_battery_mwh_full(0);
|
| | 331 | + // remaining battery level
|
| | 332 | + ui->blendcolor(batt_level, 6, 0xc0ffcccc, framebuf, 5, 5, 176, framebuf, 5, 5, 176);
|
| | 333 | + // background of the rest space
|
| | 334 | + ui->blendcolor(22 - batt_level, 6, 0x40000000, framebuf, 5 + batt_level, 5, 176, framebuf, 5 + batt_level, 5, 176);
|
| | 335 | + return false;
|
| | 336 | +}
|
| | 337 | +
|
| 322 | 338 | struct chooser_renderer_list_params toolchooser_rparams =
|
| 323 | 339 | {
|
| 324 | 340 | .version = CHOOSER_RENDERER_LIST_PARAMS_VERSION,
|
| — | — | @@ -336,7 +352,7 @@ |
| 337 | 353 | .blit_dest = LIBUI_POINT(0, 0),
|
| 338 | 354 | .blit_src = LIBUI_SURFACE(LIBUI_LOCATION(LIBUI_BUFFER(NULL, 176), LIBUI_POINT(0, 0)),
|
| 339 | 355 | LIBUI_POINT(176, 132)),
|
| 340 | | - .preblit = NULL,
|
| | 356 | + .preblit = update_display,
|
| 341 | 357 | .postblit = NULL
|
| 342 | 358 | };
|
| 343 | 359 |
|
| — | — | @@ -418,22 +434,12 @@ |
| 419 | 435 |
|
| 420 | 436 | bool mainchooser_preblit(struct chooser_data* data)
|
| 421 | 437 | {
|
| 422 | | - char buf[6];
|
| 423 | | - struct rtc_datetime dt;
|
| 424 | | - rtc_read_datetime(&dt);
|
| 425 | | - snprintf(buf, sizeof(buf), "%02d:%02d", dt.hour, dt.minute);
|
| 426 | | - // clock
|
| 427 | | - rendertext(framebuf, 143, 4, 176, 0xffffcccc, 0, buf);
|
| | 438 | + char buf[4];
|
| 428 | 439 | struct chooser_action_handler_wheel_data* adata;
|
| 429 | 440 | adata = (struct chooser_action_handler_wheel_data*)(data->actionhandlerdata);
|
| 430 | 441 | snprintf(buf, sizeof(buf), "%3d", adata->timeout_remaining / 1000000);
|
| 431 | | - // remaining time
|
| 432 | 442 | rendertext(framebuf, 155, 121, 176, 0xffffcccc, 0, buf);
|
| 433 | | - unsigned int batt_level = 22 * read_battery_mwh_current(0) / read_battery_mwh_full(0);
|
| 434 | | - // remaining battery level
|
| 435 | | - ui->blendcolor(batt_level, 6, 0xc0ffcccc, framebuf, 5, 5, 176, framebuf, 5, 5, 176);
|
| 436 | | - // background of the rest space
|
| 437 | | - ui->blendcolor(22 - batt_level, 6, 0x40000000, framebuf, 5 + batt_level, 5, 176, framebuf, 5 + batt_level, 5, 176);
|
| | 443 | + update_display(data);
|
| 438 | 444 | return false;
|
| 439 | 445 | }
|
| 440 | 446 |
|