Commit 9f74936c authored by Anton V. Boyarshinov's avatar Anton V. Boyarshinov

"right" progress bar for centaurus

parent f7465d3b
......@@ -36,7 +36,7 @@ boot:
#bootsplash
mkdir -p $(datadir)/plymouth/themes/$(THEME)
cp -al boot-800x600.jpg $(datadir)/plymouth/themes/$(THEME)/grub.jpg
cp -al wallpaper.png $(datadir)/plymouth/themes/$(THEME)/
cp -al images/background*x*.png $(datadir)/plymouth/themes/$(THEME)/
cp -a components/bootsplash/* $(datadir)/plymouth/themes/$(THEME)
mv $(datadir)/plymouth/themes/$(THEME)/theme.plymouth $(datadir)/plymouth/themes/$(THEME)/$(THEME).plymouth
#bootloader
......
components/bootsplash/progress_box.png

196 Bytes | W: | H:

components/bootsplash/progress_box.png

7.37 KB | W: | H:

components/bootsplash/progress_box.png
components/bootsplash/progress_box.png
components/bootsplash/progress_box.png
components/bootsplash/progress_box.png
  • 2-up
  • Swipe
  • Onion skin
# This is an example plymouth plugin script
# Centaurus theme
#Window.SetBackgroundTopColor(0.234, 0.43, 0.705);
#Window.SetBackgroundBottomColor(0.16, 0.25, 0.44);
fun imgscale( image, scale )
{
image.Scale( image.GetWidth() * scale, image.GetHeight() * scale );
}
logo.image = Image("wallpaper.png");
# background
if( Window.GetWidth()/Window.GetHeight() > 1.5 )
{
logo.raw = Image("background16x9.png");
logo.image = imgscale( logo.raw, Window.GetWidth() / logo.raw.GetWidht() );
}
else
{
logo.raw = Image("background4x3.png");
logo.image = imgscale( logo.raw, Window.GetWidth()/logo.raw.GetWidth() );
}
logo.sprite = Sprite(logo.image);
logo.opacity_angle = 0;
fun refresh_callback ()
{
if (status == "normal")
{
logo.sprite.SetX (Window.GetX() + Window.GetWidth() / 2 - logo.image.GetWidth() / 2);
logo.sprite.SetY (Window.GetY() + Window.GetHeight() / 2 - logo.image.GetHeight() / 2);
}
else
{
logo.sprite.SetX (0);
logo.sprite.SetY (0);
logo.sprite.SetOpacity (1);
}
}
Plymouth.SetRefreshFunction (refresh_callback);
logo.sprite.SetPosition(0, 0, 0);
#----------------------------------------- Dialogue --------------------------------
......@@ -110,28 +106,60 @@ Plymouth.SetDisplayPasswordFunction(display_password_callback);
#----------------------------------------- Progress Bar --------------------------------
progress_box.image = Image("progress_box.png");
progress_box.raw = Image("progress_box.png");
scale_factor = Window.GetWidth() / progress_box.raw.GetWidth() * 0.8;
progress_box.image = imgscale( progress_box.raw, scale_factor );
progress_box.sprite = Sprite(progress_box.image);
progress_box.x = Window.GetX() + Window.GetWidth() / 2 - progress_box.image.GetWidth() / 2;
progress_box.y = Window.GetY() + Window.GetHeight() * 0.75 - progress_box.image.GetHeight() / 2;
progress_box.y = Window.GetY() + Window.GetHeight() / 2 - progress_box.image.GetHeight() / 2;
progress_box.sprite.SetPosition(progress_box.x, progress_box.y, 0);
progress_bar.original_image = Image("progress_bar.png");
progress_bar.sprite = Sprite();
progress_bar.status.raw = Image("segment_status.png");
progress_bar.runner = Sprite();
progress_bar.runner.SetImage ( imgscale(progress_bar.status.raw, scale_factor));
progress_bar.x = Window.GetX() + Window.GetWidth() / 2 - progress_box.image.GetWidth() / 2;
progress_bar.y = Window.GetY() + Window.GetHeight() / 2 - progress_box.image.GetHeight() / 2 +
(progress_box.image.GetHeight() - progress_box.image.GetHeight()) / 2;
#Total steps
steps=33;
progress_bar.x = Window.GetX() + Window.GetWidth() / 2 - progress_bar.original_image.GetWidth() / 2;
progress_bar.y = Window.GetY() + Window.GetHeight() / 2 * 1.5 - progress_box.image.GetHeight() / 2 + (progress_box.image.GetHeight() - progress_bar.original_image.GetHeight()) / 2;
progress_bar.sprite.SetPosition(progress_bar.x, progress_bar.y, 1);
#left corner
progress_bar.l = imgscale( Image("segment_cornerL.png") , scale_factor );
progress_bar.spriteL = Sprite();
progress_bar.spriteL.SetImage (progress_bar.l);
progress_bar.spriteL.SetPosition(progress_bar.x,progress_bar.y, 2) ;
progress_bar.x += progress_bar.l.GetWidth()-1;
#middle
progress_bar.image = imgscale(Image("segment_middle.png"), scale_factor);
step = progress_bar.image.GetWidth()-1;
for( i=0; i<steps; i++ )
{
progress_bar.sprites[i] = Sprite();
progress_bar.sprites[i].SetImage (progress_bar.image);
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)
{
if (progress_bar.image.GetWidth () != Math.Int (progress_bar.original_image.GetWidth () * progress))
{
progress_bar.image = progress_bar.original_image.Scale(progress_bar.original_image.GetWidth(progress_bar.original_image) * progress, progress_bar.original_image.GetHeight());
progress_bar.sprite.SetImage (progress_bar.image);
}
}
{
for( i=0; i< progress*steps; i++ )
progress_bar.sprites[i].SetZ(2);
if( progress > 0.99 )
progress_bar.sprites[i+1].SetZ(2);
if( progress < 0.96 )
progress_bar.runner.SetPosition(progress_bar.x+progress*step*steps, progress_bar.y, 1);
}
Plymouth.SetBootProgressFunction(progress_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