Window.SetBackgroundTopColor(0, 0, 0);
Window.SetBackgroundBottomColor(0, 0, 0);
mode = Plymouth.GetMode();
if (mode == "shutdown" || mode == "reboot") {
bg.image = Image("splashEndSet.png");
} else {
bg.image = Image("splashBootSet.png");
}
bg.sprite = Sprite(bg.image);
bg.sprite.SetX(0);
bg.sprite.SetY(0);
bg.sprite.SetZ(-100);
spinner.sprite = Sprite();
spinner.sprite.SetZ(2);
spinner.center_x = 640;
spinner.center_y = 460;
spinner.frame_count = 60;
spinner.frames = [];
for (i = 0; i < spinner.frame_count; i++) {
spinner.frames[i] = Image("spinner/frame_" + i + ".png");
}
spinner.current_frame = 0;
spinner.frame_delay = 1;
spinner.tick = 0;
fun spinner_refresh_callback() {
spinner.tick++;
if (spinner.tick >= spinner.frame_delay) {
spinner.tick = 0;
spinner.current_frame++;
if (spinner.current_frame >= spinner.frame_count) spinner.current_frame = 0;
img = spinner.frames[spinner.current_frame];
spinner.sprite.SetImage(img);
spinner.sprite.SetX(spinner.center_x - img.GetWidth() / 2);
spinner.sprite.SetY(spinner.center_y - img.GetHeight() / 2);
}
}
Plymouth.SetRefreshFunction(spinner_refresh_callback);
fun display_normal_callback() {}
fun display_password_callback(prompt, bullets) {
prompt_image = Image.Text(prompt, 1, 1, 1, 1, "Sans 14");
prompt_sprite = Sprite(prompt_image);
prompt_sprite.SetZ(2);
prompt_sprite.SetX(spinner.center_x - prompt_image.GetWidth() / 2);
prompt_sprite.SetY(spinner.center_y + 60);
}
Plymouth.SetDisplayPasswordFunction(display_password_callback);
Plymouth.SetDisplayNormalFunction(display_normal_callback);
fun quit_callback() {}
Plymouth.SetQuitFunction(quit_callback);