summaryrefslogtreecommitdiff
path: root/themes
diff options
context:
space:
mode:
authorCharlie Brej <cbrej@cs.man.ac.uk>2010-09-07 22:22:08 +0100
committerCharlie Brej <cbrej@cs.man.ac.uk>2010-09-07 22:22:08 +0100
commite50ece1f70b8e4ec55590695c8495e5776959149 (patch)
treef3ed228b1bbdf8e402c2831c97640b4bd1f5437b /themes
parentb371740a73885c563abba6ab394503daf4026416 (diff)
script: Implement hide message function in the example script theme
This leaves ugly spaces where messages used to be, but is simple.
Diffstat (limited to 'themes')
-rw-r--r--themes/script/script.script25
1 files changed, 20 insertions, 5 deletions
diff --git a/themes/script/script.script b/themes/script/script.script
index ed54a010..7ea9d5e9 100644
--- a/themes/script/script.script
+++ b/themes/script/script.script
@@ -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);