From 8b76dcbf71fa379d25d3db83a386391f0b9bb3dc Mon Sep 17 00:00:00 2001 From: Anne Nicolas Date: Sun, 4 Aug 2013 16:00:53 +0000 Subject: mageia 3 theme --- trunk/common/plymouth/mga.script | 337 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 337 insertions(+) create mode 100644 trunk/common/plymouth/mga.script (limited to 'trunk/common/plymouth/mga.script') diff --git a/trunk/common/plymouth/mga.script b/trunk/common/plymouth/mga.script new file mode 100644 index 0000000..875d907 --- /dev/null +++ b/trunk/common/plymouth/mga.script @@ -0,0 +1,337 @@ + + +# Mga splashy like theme + +Window.GetMaxWidth = fun (){ + i = 0; + width = 0; + while (Window.GetWidth(i)){ + width = Math.Max(width, Window.GetWidth(i)); + i++; + } + return width; +}; + +Window.GetMaxHeight = fun (){ + i = 0; + height = 0; + while (Window.GetHeight(i)){ + height = Math.Max(height, Window.GetHeight(i)); + i++; + } + return height; +}; + + + + +if (Plymouth.GetMode() == "suspend" || Plymouth.GetMode() == "resume") { + background.original_image = ImageNew("suspend.png"); + Window.SetBackgroundTopColor(1, 0, 0); + Window.SetBackgroundBottomColor(0, 1, 0); +} +else { + logo.original_image = ImageNew("logo.png"); + background.original_image = ImageNew("background.png"); + Window.SetBackgroundTopColor(0.234, 0.43, 0.705); + Window.SetBackgroundBottomColor(0.16, 0.25, 0.44); + + motif.original_image = ImageNew("shadow.png"); + motif.image = motif.original_image.Scale(motif.original_image.GetWidth() * Window.GetMaxWidth() / background.original_image.GetWidth(), motif.original_image.GetHeight() * Window.GetMaxHeight() / background.original_image.GetHeight()); + motif.sprite = SpriteNew(); + motif.sprite.SetImage(motif.image); + motif.sprite.SetOpacity(0); + motif.sprite.SetY((Window.GetMaxHeight() - motif.image.GetHeight()) / 2); + if (Plymouth.GetMode() == "shutdown") { + motif.opacity = 0; + } + else { + motif.opacity = 0; + } +} + +scaleheight = Window.GetHeight() / logo.original_image.GetHeight(); +logo.image = logo.original_image.Scale(logo.original_image.GetWidth() * scaleheight, logo.original_image.GetHeight() * scaleheight); +logo.sprite = SpriteNew(); +logo.sprite.SetImage(logo.image); +offset = Window.GetWidth() / 2 - logo.sprite.GetImage().GetWidth() / 2 ; +logo.sprite.SetX (offset ); +logo.opacity_angle = 0; + +progressbar1.original_image = ImageNew("bubble1.png"); +progressbar1.image = progressbar1.original_image.Scale(progressbar1.original_image.GetWidth() * scaleheight, progressbar1.original_image.GetHeight() * scaleheight); +progressbar1.sprite = SpriteNew(); +progressbar1.sprite.SetImage(progressbar1.image); +progressbar1.sprite.SetX(offset ); +progressbar1.opacity_angle = 0; + +progressbar2.original_image = ImageNew("bubble2.png"); +progressbar2.image = progressbar2.original_image.Scale(progressbar2.original_image.GetWidth() * scaleheight, progressbar2.original_image.GetHeight() * scaleheight); +progressbar2.sprite = SpriteNew(); +progressbar2.sprite.SetImage(progressbar2.image); +progressbar2.sprite.SetX(offset ); +progressbar2.opacity_angle = 0; + +progressbar3.original_image = ImageNew("bubble3.png"); +progressbar3.image = progressbar3.original_image.Scale(progressbar3.original_image.GetWidth() * scaleheight, progressbar3.original_image.GetHeight() * scaleheight); +progressbar3.sprite = SpriteNew(); +progressbar3.sprite.SetImage(progressbar3.image); +progressbar3.sprite.SetX(offset ); +progressbar3.opacity_angle = 0; + +progressbar4.original_image = ImageNew("bubble4.png"); +progressbar4.image = progressbar4.original_image.Scale(progressbar4.original_image.GetWidth() * scaleheight, progressbar4.original_image.GetHeight() * scaleheight); +progressbar4.sprite = SpriteNew(); +progressbar4.sprite.SetImage(progressbar4.image); +progressbar4.sprite.SetX(offset ); +progressbar4.opacity_angle = 0; + +progressbar5.original_image = ImageNew("bubble5.png"); +progressbar5.image = progressbar5.original_image.Scale(progressbar5.original_image.GetWidth() * scaleheight, progressbar5.original_image.GetHeight() * scaleheight); +progressbar5.sprite = SpriteNew(); +progressbar5.sprite.SetImage(progressbar5.image); +progressbar5.sprite.SetX(offset ); +progressbar5.opacity_angle = 0; + +if (Plymouth.GetMode() == "shutdown") { + progressbar9.sprite.SetOpacity(1); +} else { + progressbar1.sprite.SetOpacity(0); + progressbar2.sprite.SetOpacity(0); + progressbar3.sprite.SetOpacity(0); + progressbar4.sprite.SetOpacity(0); + progressbar5.sprite.SetOpacity(0); +} + +background.image = background.original_image.Scale(Window.GetMaxWidth() , Window.GetMaxHeight()); +background.sprite = SpriteNew(); +background.sprite.SetImage(background.image); +background.sprite.SetPosition(Window.GetX(), Window.GetY(), -10); + +sprite_prompt = SpriteNew(); + +fun refresh_callback () + { + if (status == "normal") + { + motif.sprite.SetOpacity(motif.opacity); + } + else + { + motif.sprite.SetOpacity(0); + } + + } + +if (Plymouth.GetMode() != "suspend" && Plymouth.GetMode() != "resume") { + Plymouth.SetRefreshFunction (refresh_callback); +} + +#----------------------------------------- Dialog -------------------------------- + +status = "normal"; + +fun dialog_setup() + { + local.box; + local.lock; + local.entry; + local.prompt_sprite; + + box.image = ImageNew("box.png"); + lock.image = ImageNew("lock.png"); + entry.image = ImageNew("entry.png"); + + box.sprite = SpriteNew(); + box.sprite.SetImage(box.image); + box.x = Window.GetX() + Window.GetWidth() / 2 - box.image.GetWidth()/2; + box.y = Window.GetY() + Window.GetHeight() / 2 - box.image.GetHeight()/2; + box.z = 10000; + box.sprite.SetPosition(box.x, box.y, box.z); + + lock.sprite = SpriteNew(); + lock.sprite.SetImage(lock.image); + lock.x = box.x + box.image.GetWidth()/2 - (lock.image.GetWidth() + entry.image.GetWidth()) / 2; + lock.y = box.y + box.image.GetHeight()/2 - lock.image.GetHeight()/2; + lock.z = box.z + 1; + lock.sprite.SetPosition(lock.x, lock.y, lock.z); + + entry.sprite = SpriteNew(); + entry.sprite.SetImage(entry.image); + entry.x = lock.x + lock.image.GetWidth(); + entry.y = box.y + box.image.GetHeight()/2 - entry.image.GetHeight()/2; + entry.z = box.z + 1; + entry.sprite.SetPosition(entry.x, entry.y, entry.z); + + prompt_sprite = SpriteNew(); + prompt_sprite.SetPosition(box.x, box.y - 20, box.z); + + global.dialog.box = box; + global.dialog.lock = lock; + global.dialog.entry = entry; + global.dialog.bullet_image = ImageNew("bullet.png"); + global.dialog.prompt_sprite = prompt_sprite; + dialog_opacity (1); + } + +fun dialog_opacity(opacity) + { + dialog.box.sprite.SetOpacity(opacity); + dialog.lock.sprite.SetOpacity(opacity); + dialog.entry.sprite.SetOpacity(opacity); + dialog.prompt_sprite.SetOpacity(opacity); + for (index = 0; dialog.bullet[index]; index++) + { + dialog.bullet[index].sprite.SetOpacity(opacity); + } + } + +fun display_normal_callback () + { + global.status = "normal"; + if (global.dialog) + dialog_opacity (0); + } + +fun display_password_callback (prompt, bullets) + { + global.status = "password"; + if (!global.dialog) + dialog_setup(); + else + dialog_opacity(1); + motif.sprite.SetOpacity(0); + + dialog.prompt_sprite.SetImage(Image.Text(prompt, 1, 1, 1)); + for (index = 0; dialog.bullet[index] || index < bullets; index++) + { + + if (!dialog.bullet[index]) + { + dialog.bullet[index].sprite = SpriteNew(); + dialog.bullet[index].sprite.SetImage(dialog.bullet_image); + dialog.bullet[index].x = dialog.entry.x + index * dialog.bullet_image.GetWidth(); + dialog.bullet[index].y = dialog.entry.y + dialog.entry.image.GetHeight() / 2 - dialog.bullet_image.GetHeight() / 2; + dialog.bullet[index].z = dialog.entry.z + 1; + dialog.bullet[index].sprite.SetPosition(dialog.bullet[index].x, dialog.bullet[index].y, dialog.bullet[index].z); + } + if (index < bullets) + dialog.bullet[index].sprite.SetOpacity(1); + else + dialog.bullet[index].sprite.SetOpacity(0); + } + } + +fun display_message_callback (prompt) + { + +prompt = Image.Text(prompt, 1, 1, 1); +sprite_prompt.SetImage(prompt); +sprite_prompt.SetPosition(Window.GetX() + (Window.GetWidth() - prompt.GetWidth()) / 2, Window.GetY() + Window.GetHeight() * 0.93, 2); + } + +/* instantiate dialog at startup, to ensure all icons are loaded in memory before initrd is unmounted, in case /usr isn't mounted yet */ +dialog_setup(); dialog_opacity(0); +Plymouth.SetDisplayNormalFunction(display_normal_callback); +Plymouth.SetDisplayPasswordFunction(display_password_callback); +Plymouth.SetMessageFunction(display_message_callback); + +#----------------------------------------- Progress Bar -------------------------------- + +if (Plymouth.GetMode() == "suspend" || Plymouth.GetMode() == "resume") { + progress_box.original_image = ImageNew("progress_box_background.png"); + progress_box.image = progress_box.original_image.Scale(Window.GetMaxWidth() * 0.44, progress_box.original_image.GetHeight()); + progress_box.edge = ImageNew("progress_box_edge.png"); + progress_box.left_edge_sprite = SpriteNew(); + progress_box.right_edge_sprite = SpriteNew(); + progress_box.sprite = SpriteNew(); + progress_box.sprite.SetImage(progress_box.image); + progress_box.left_edge_sprite.SetImage(progress_box.edge); + progress_box.right_edge_sprite.SetImage(progress_box.edge); + + progress_box.x = Window.GetX() + Window.GetWidth() / 2 - progress_box.image.GetWidth() / 2; + progress_box.y = Window.GetY() + Window.GetHeight() * 0.86 - progress_box.image.GetHeight() / 2; + + progress_box.sprite.SetPosition(progress_box.x, progress_box.y, 0); + progress_box.left_edge_sprite.SetPosition(progress_box.x-1, progress_box.y, 0); + progress_box.right_edge_sprite.SetPosition(progress_box.x + progress_box.image.GetWidth() , progress_box.y, 0); + + progress_bar.original_image = ImageNew("progress_bar.png"); + progress_bar.sprite = SpriteNew(); + + progress_bar.sprite.SetPosition(progress_box.x + 1, progress_box.y + 2, 1); +} + +fun progress_callback (duration, progress) + { +if (Plymouth.GetMode() == "suspend" || Plymouth.GetMode() == "resume") { + motif.opacity = progress; + new_width = (progress_box.image.GetWidth() - 2) * progress; + if (progress_bar.image.GetWidth() != Math.Int (new_width)) + { + progress_bar.image = progress_bar.original_image.Scale(new_width, progress_bar.original_image.GetHeight()); + progress_bar.sprite.SetImage(progress_bar.image); + } + } + + if (Plymouth.GetMode() == "shutdown") { + #motif.opacity = progress; + if ( progress > 0.1 ) { + progressbar5.sprite.SetOpacity(1); + } + if ( progress > 0.3 ) { + progressbar4.sprite.SetOpacity(1); + progressbar5.sprite.SetOpacity(0); + } + if ( progress > 0.5 ) { + progressbar3.sprite.SetOpacity(1); + progressbar4.sprite.SetOpacity(0); + progressbar5.sprite.SetOpacity(0); + } + if ( progress > 0.7 ) { + progressbar2.sprite.SetOpacity(1); + progressbar3.sprite.SetOpacity(0); + progressbar4.sprite.SetOpacity(0); + progressbar5.sprite.SetOpacity(0); + } + if ( progress > 0.9 ) { + progressbar1.sprite.SetOpacity(1); + progressbar2.sprite.SetOpacity(0); + progressbar3.sprite.SetOpacity(0); + progressbar4.sprite.SetOpacity(0); + progressbar5.sprite.SetOpacity(0); + } + + } + else { + #motif.opacity = 1 - progress; + if ( progress > 0.1 ) { + progressbar1.sprite.SetOpacity(1); + } + if ( progress > 0.3 ) { + progressbar2.sprite.SetOpacity(1); + } + if ( progress > 0.5 ) { + progressbar3.sprite.SetOpacity(1); + } + if ( progress > 0.7 ) { + progressbar4.sprite.SetOpacity(1); + } + if ( progress > 0.9 ) { + progressbar5.sprite.SetOpacity(1); + } + } + } + +Plymouth.SetBootProgressFunction(progress_callback); + +#----------------------------------------- Quit -------------------------------- + +fun quit_callback () +{ + if (Plymouth.GetMode() == "shutdown") { + motif.sprite.SetOpacity(0); + } +} + +Plymouth.SetQuitFunction(quit_callback); -- cgit v1.2.1