saikyo-packages-src/saikyo-plymouth-installer/usr/share/plymouth/themes/saikyo-installer/saikyo-installer.script

79 lines
2.4 KiB
Plaintext

# Saikyo OS Installer Plymouth Script
# Global variables
global.progress_bar.sprite = 0;
global.progress_bar.bar = 0;
global.progress_bar.width = 0;
global.progress_bar.height = 0;
global.progress_bar.x = 0;
global.progress_bar.y = 0;
# Initialize
fun init () {
# Set background
background.color = [0.105, 0.105, 0.105, 1.0]; # Dark #1a1a1a
# Set up progress bar
global.progress_bar.width = 400;
global.progress_bar.height = 6;
global.progress_bar.x = Window.GetWidth() / 2 - global.progress_bar.width / 2;
global.progress_bar.y = Window.GetHeight() * 0.8;
# Create progress bar parts
global.progress_bar.sprite = Sprite();
global.progress_bar.sprite.SetPosition(global.progress_bar.x, global.progress_bar.y, 0);
global.progress_bar.bar = Sprite();
global.progress_bar.bar.SetPosition(global.progress_bar.x, global.progress_bar.y, 0);
}
# Display message
fun display_message_callback (text) {
message = Text(text, "Cantarell 12");
message.color = [1.0, 1.0, 1.0, 1.0]; # White
message.SetPosition(Window.GetWidth() / 2 - message.GetWidth() / 2,
Window.GetHeight() * 0.7, 1);
}
# Update progress
fun progress_callback (progress) {
progress_width = global.progress_bar.width * progress;
# Draw progress bar background
global.progress_bar.sprite.SetImage(global.progress_bar.width, global.progress_bar.height);
global.progress_bar.sprite.SetPosition(global.progress_bar.x, global.progress_bar.y, 0);
# Draw progress bar fill
global.progress_bar.bar.SetImage(progress_width, global.progress_bar.height);
global.progress_bar.bar.SetPosition(global.progress_bar.x, global.progress_bar.y, 1);
}
# Main loop
fun refresh () {
# Draw "SAIKYO OS" text
title = Text("SAIKYO OS", "Cantarell 24");
title.color = [1.0, 1.0, 1.0, 1.0]; # White
title.SetPosition(Window.GetWidth() / 2 - title.GetWidth() / 2,
Window.GetHeight() * 0.3, 2);
# Draw progress bar
if (global.progress_bar.sprite) {
global.progress_bar.sprite.SetOpacity(1.0);
}
if (global.progress_bar.bar) {
global.progress_bar.bar.SetOpacity(1.0);
}
}
# Cleanup
fun quit () {
# Clean up sprites
if (global.progress_bar.sprite) {
global.progress_bar.sprite = NULL;
}
if (global.progress_bar.bar) {
global.progress_bar.bar = NULL;
}
}