Newer
Older
EARS-LINUX / boot / earsSplash.script
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);