Commit 737dcaf3 authored by Anton V. Boyarshinov's avatar Anton V. Boyarshinov

bootsplash/theme.script: borrowed from edu

parent fd2c86ee
# Centaurus theme # ALT Education Theme
fun imgscale( image, scale ) fun imgscale( image, scale )
{ {
...@@ -11,7 +11,14 @@ fun imgscale2( image, scaleX, scaleY ) ...@@ -11,7 +11,14 @@ fun imgscale2( image, scaleX, scaleY )
} }
# background # background
logo.raw = Image("background16x9.png"); if( Window.GetWidth()/Window.GetHeight() > 1.5 )
{
logo.raw = Image("background16x9.png");
}
else
{
logo.raw = Image("background4x3.png");
}
logo.image = imgscale2( logo.raw, logo.image = imgscale2( logo.raw,
Window.GetWidth()/logo.raw.GetWidth(), Window.GetWidth()/logo.raw.GetWidth(),
...@@ -103,61 +110,56 @@ fun display_password_callback (prompt, bullets) ...@@ -103,61 +110,56 @@ fun display_password_callback (prompt, bullets)
Plymouth.SetDisplayNormalFunction(display_normal_callback); Plymouth.SetDisplayNormalFunction(display_normal_callback);
Plymouth.SetDisplayPasswordFunction(display_password_callback); Plymouth.SetDisplayPasswordFunction(display_password_callback);
#----------------------------------------- Progress Bar -------------------------------- #------------------------------------- Progressbar -----------------------------
# Segment size
progress_box.raw = Image("progress_box.png"); segment_width = 33;
scale_factor = Window.GetWidth() / progress_box.raw.GetWidth() * 0.8; segment_height = 55;
border = 4;
progress_box.image = imgscale( progress_box.raw, scale_factor );
# Define bar size and position
progress_box.sprite = Sprite(progress_box.image); bar_height = segment_height;
bar_y = Window.GetHeight() / 2; # top progressbar edge should be at middle of screen
progress_box.x = Window.GetX() + Window.GetWidth() / 2 - progress_box.image.GetWidth() / 2;
progress_box.y = Window.GetY() + Window.GetHeight() / 2 - progress_box.image.GetHeight() / 2 + 50; # Maximum number of sprites
progress_box.sprite.SetPosition(progress_box.x, progress_box.y, 0); steps = Math.Int ((Window.GetWidth() * 0.80)/segment_width); # 80% of screen width
# Adjust width and to integer number of sprites
progress_bar.status.raw = Image("segment_status.png"); bar_width = steps * segment_width;
progress_bar.runner = Sprite(); bar_x = Math.Int ((Window.GetWidth() - bar_width)/2);
progress_bar.runner.SetImage ( imgscale(progress_bar.status.raw, scale_factor));
# Progress background border
progress_border.raw = Image ("progress_bg_main.png");
progress_bar.x = Window.GetX() + Window.GetWidth() / 2 - progress_box.image.GetWidth() / 2; progress_border.image = imgscale2 (progress_border.raw, bar_width+border*2, bar_height+border*2);
progress_bar.y = Window.GetY() + Window.GetHeight() / 2 - progress_box.image.GetHeight() / 2 + progress_border.sprite = Sprite (progress_border.image);
(progress_box.image.GetHeight() - progress_box.image.GetHeight()) / 2 + 50; progress_border.sprite.SetPosition (bar_x-border, bar_y-border);
progress_border.sprite.SetZ (2);
#Total steps
steps=33; # Progress background spite
progress_bg.raw = Image ("progress_bg.png");
#left corner progress_bg.image = imgscale2 (progress_bg.raw, steps, 1);
progress_bar.l = imgscale( Image("segment_cornerL.png") , scale_factor ); progress_bg.sprite = Sprite (progress_bg.image);
progress_bar.spriteL = Sprite(); progress_bg.sprite.SetPosition (bar_x, bar_y);
progress_bar.spriteL.SetImage (progress_bar.l); progress_bg.sprite.SetZ (5);
progress_bar.spriteL.SetPosition(progress_bar.x,progress_bar.y, 2) ;
progress_bar.x += progress_bar.l.GetWidth()-1; # Progress bar sprite
progress_bar.raw = Image ("progress_bar.png");
#middle progress_bar.image = progress_bar.raw;
progress_bar.image = imgscale(Image("segment_middle.png"), scale_factor);
step = progress_bar.image.GetWidth()-1; # Show first step
for( i=0; i<steps; i++ ) progress_bar.sprites[0] = Sprite ();
{ progress_bar.sprites[0].SetImage (progress_bar.image);
progress_bar.sprites[i] = Sprite(); progress_bar.sprites[0].SetPosition (bar_x, bar_y);
progress_bar.sprites[i].SetImage (progress_bar.image); progress_bar.sprites[0].SetZ (10);
progress_bar.sprites[i].SetPosition(progress_bar.x+i*step,progress_bar.y, -1000) ;
}
#right corner
progress_bar.r = imgscale( Image("segment_cornerR.png") , scale_factor );
progress_bar.sprites[steps+1] = Sprite();
progress_bar.sprites[steps+1].SetImage (progress_bar.r);
progress_bar.sprites[steps+1].SetPosition(progress_bar.x+step*steps,progress_bar.y, -1000) ;
fun progress_callback (duration, progress) fun progress_callback (duration, progress)
{ {
for( i=0; i< progress*steps; i++ ) step = Math.Int (progress * steps) + 1;
progress_bar.sprites[i].SetZ(2); if ( step > steps ) step = steps;
if( progress > 0.99 ) for( i=0; i<step; i++ ) {
progress_bar.sprites[i+1].SetZ(2); progress_bar.sprites[i] = Sprite ();
if( progress < 0.96 ) progress_bar.sprites[i].SetImage (progress_bar.image);
progress_bar.runner.SetPosition(progress_bar.x+progress*step*steps, progress_bar.y, 1); progress_bar.sprites[i].SetPosition (bar_x+i*segment_width, bar_y);
progress_bar.sprites[i].SetZ (10);
}
} }
Plymouth.SetBootProgressFunction(progress_callback); Plymouth.SetBootProgressFunction(progress_callback);
...@@ -166,7 +168,7 @@ Plymouth.SetBootProgressFunction(progress_callback); ...@@ -166,7 +168,7 @@ Plymouth.SetBootProgressFunction(progress_callback);
fun quit_callback () fun quit_callback ()
{ {
logo.sprite.SetOpacity (1); logo.sprite.SetOpacity (0);
} }
Plymouth.SetQuitFunction(quit_callback); Plymouth.SetQuitFunction(quit_callback);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment