]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
script: Implement hide message function in the example script theme
authorCharlie Brej <cbrej@cs.man.ac.uk>
Tue, 7 Sep 2010 21:22:08 +0000 (22:22 +0100)
committerCharlie Brej <cbrej@cs.man.ac.uk>
Tue, 7 Sep 2010 21:22:08 +0000 (22:22 +0100)
This leaves ugly spaces where messages used to be, but is simple.

themes/script/script.script

index ed54a010176a9f373929fa6d6ed1fb28f8e8dbbc..7ea9d5e9e5105686f06421e7aa8b7cf7d1f9a869 100644 (file)
@@ -152,13 +152,28 @@ Plymouth.SetQuitFunction(quit_callback);
 
 #----------------------------------------- Message --------------------------------
 
-message_sprite = Sprite();
-message_sprite.SetPosition(10, 10, 10000);
+message_sprites = [];
+message_sprite_count = 0;
+message_sprite_y = 10;
 
-fun message_callback (text)
+fun display_message_callback (text)
 {
   my_image = Image.Text(text, 1, 1, 1);
-  message_sprite.SetImage(my_image);
+  message_sprites[message_sprite_count] = Sprite(my_image);
+  message_sprites[message_sprite_count].SetPosition(10, message_sprite_y, 10000);
+  message_sprites[message_sprite_count].text = text;
+  message_sprite_count++;
+  message_sprite_y += my_image.GetHeight();
 }
 
-Plymouth.SetMessageFunction(message_callback);
+fun hide_message_callback (text)
+{
+  for (i = 0; i < message_sprite_count; i++)
+    {
+      if (message_sprites[i].text == text)
+        message_sprites[i] = NULL;
+    }
+}
+
+Plymouth.SetDisplayMessageFunction (display_message_callback);
+Plymouth.SetHideMessageFunction (hide_message_callback);