source: client/boot-tools/includes/lib/plymouth/themes/opengnsys/opengnsys.script @ 31c92b6

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacion
Last change on this file since 31c92b6 was 00a2c2c, checked in by adv <adv@…>, 14 years ago

version 1.0.2 boot-tools #404 #420

git-svn-id: https://opengnsys.es/svn/branches/version1.0@2250 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 6.5 KB
Line 
1# This is an example plymouth plugin script
2
3Window.SetBackgroundTopColor(0, 0, 0);
4Window.SetBackgroundBottomColor(0, 0, 0);
5
6#logo.image = Image("special://logo");
7logo.image = Image ("opengnsys.png");
8logo.sprite = Sprite(logo.image);
9logo.opacity_angle = 0;
10
11fun refresh_callback ()
12  {
13    if (status == "normal")
14      {
15        logo.opacity_angle += ((2 * 3.14) / 50) * 0.5;  # 0.5 HZ
16        min_opacity = 0.3;
17        opacity = (Math.Cos(logo.opacity_angle) + 1) / 2;
18        opacity *= 1 - min_opacity;
19        opacity += min_opacity;
20        logo.sprite.SetX (Window.GetX() + Window.GetWidth()  / 2 - logo.image.GetWidth()  / 2);
21        logo.sprite.SetY (Window.GetY() + Window.GetHeight() / 2 - logo.image.GetHeight() / 2);
22        logo.sprite.SetOpacity (opacity);
23      }
24    else
25      {
26        logo.sprite.SetX (0);
27        logo.sprite.SetY (0);
28        logo.sprite.SetOpacity (1);
29      }
30  }
31 
32Plymouth.SetRefreshFunction (refresh_callback);
33
34#----------------------------------------- Dialogue --------------------------------
35
36status = "normal";
37
38fun dialog_setup()
39  {
40    local.box;
41    local.lock;
42    local.entry;
43   
44    box.image = Image("box.png");
45    lock.image = Image("lock.png");
46    entry.image = Image("entry.png");
47   
48    box.sprite = Sprite(box.image);
49    box.x = Window.GetX() + Window.GetWidth()  / 2 - box.image.GetWidth ()/2;
50    box.y = Window.GetY() + Window.GetHeight() / 2 - box.image.GetHeight()/2;
51    box.z = 10000;
52    box.sprite.SetPosition(box.x, box.y, box.z);
53   
54    lock.sprite = Sprite(lock.image);
55    lock.x = box.x + box.image.GetWidth()/2 - (lock.image.GetWidth() + entry.image.GetWidth()) / 2;
56    lock.y = box.y + box.image.GetHeight()/2 - lock.image.GetHeight()/2;
57    lock.z = box.z + 1;
58    lock.sprite.SetPosition(lock.x, lock.y, lock.z);
59   
60    entry.sprite = Sprite(entry.image);
61    entry.x = lock.x + lock.image.GetWidth();
62    entry.y = box.y + box.image.GetHeight()/2 - entry.image.GetHeight()/2;
63    entry.z = box.z + 1;
64    entry.sprite.SetPosition(entry.x, entry.y, entry.z);
65   
66    global.dialog.box = box;
67    global.dialog.lock = lock;
68    global.dialog.entry = entry;
69    global.dialog.bullet_image = Image("bullet.png");
70    dialog_opacity (1);
71  }
72   
73fun dialog_opacity(opacity)
74  {
75    dialog.box.sprite.SetOpacity (opacity);
76    dialog.lock.sprite.SetOpacity (opacity);
77    dialog.entry.sprite.SetOpacity (opacity);
78    for (index = 0; dialog.bullet[index]; index++)
79      {
80        dialog.bullet[index].sprite.SetOpacity(opacity);
81      }
82  }
83
84fun display_normal_callback ()
85  {
86    global.status = "normal";
87    if (global.dialog)
88      dialog_opacity (0);
89  }
90
91fun display_password_callback (prompt, bullets)
92  {
93    global.status = "password";
94    if (!global.dialog)
95        dialog_setup();
96    else
97        dialog_opacity(1);
98    for (index = 0; dialog.bullet[index] || index < bullets; index++)
99      {
100        if (!dialog.bullet[index])
101          {
102            dialog.bullet[index].sprite = Sprite(dialog.bullet_image);
103            dialog.bullet[index].x = dialog.entry.x + index * dialog.bullet_image.GetWidth();
104            dialog.bullet[index].y = dialog.entry.y + dialog.entry.image.GetHeight() / 2 - dialog.bullet_image.GetHeight() / 2;
105            dialog.bullet[index].z = dialog.entry.z + 1;
106            dialog.bullet[index].sprite.SetPosition(dialog.bullet[index].x, dialog.bullet[index].y, dialog.bullet[index].z);
107          }
108        if (index < bullets)
109          dialog.bullet[index].sprite.SetOpacity(1);
110        else
111          dialog.bullet[index].sprite.SetOpacity(0);
112      }
113  }
114
115Plymouth.SetDisplayNormalFunction(display_normal_callback);
116Plymouth.SetDisplayPasswordFunction(display_password_callback);
117
118#----------------------------------------- Progress Bar --------------------------------
119
120progress_box.original_image = Image("progress_box.png");
121progress_box.image = progress_box.original_image.Scale(Window.GetWidth (), progress_box.original_image.GetHeight());
122progress_box.sprite = Sprite(progress_box.image);
123
124progress_box.x = Window.GetX() + Window.GetWidth() / 2 - progress_box.image.GetWidth() / 2;
125progress_box.y = Window.GetY() + Window.GetHeight() - progress_box.image.GetHeight();
126progress_box.sprite.SetPosition(progress_box.x, progress_box.y, 0);
127
128progress_bar.original_image = Image("progress_bar.png");
129progress_bar.image = progress_bar.original_image.Scale(0, progress_box.image.GetHeight());
130progress_bar.sprite = Sprite();
131
132progress_bar.x = Window.GetX() + Window.GetWidth() / 2 - progress_box.image.GetWidth() / 2;
133progress_bar.y = Window.GetY() + Window.GetHeight() - progress_box.image.GetHeight();
134progress_bar.sprite.SetPosition(progress_bar.x, progress_bar.y, 1);
135
136fun progress_callback (duration, progress)
137  {
138    if (progress_bar.image.GetWidth () != Math.Int (progress_bar.original_image.GetWidth () * progress))
139      {
140        progress_bar.image = progress_bar.original_image.Scale(progress_box.image.GetWidth(progress_box.image) * progress, progress_box.image.GetHeight());
141        progress_bar.sprite.SetImage (progress_bar.image);
142      }
143  }
144
145Plymouth.SetBootProgressFunction(progress_callback);
146
147#----------------------------------------- Quit --------------------------------
148
149fun quit_callback ()
150{
151  logo.sprite.SetOpacity (1);
152}
153
154Plymouth.SetQuitFunction(quit_callback);
155
156#----------------------------------------- Message --------------------------------
157
158message_sprite = Sprite();
159message_sprite.SetPosition(10, 10, 10000);
160
161fun message_callback (text)
162{
163        my_image = Image.Text(text, 0.6, 0.6, 0.6);
164        message_sprite.SetImage(my_image);
165        message_sprite.SetX(Window.GetWidth ()  / 2 - my_image.GetWidth()  / 2);
166        message_sprite.SetY((Window.GetHeight () * 0.7) - (2 * my_image.GetHeight()));
167        message.sprite.SetZ(11);       
168}
169
170Plymouth.SetMessageFunction(message_callback);
171
172
173#----------------------------------------- Status Update --------------------------------
174
175statusupdate_sprite = Sprite();
176
177fun StringLength(string) {
178
179  index = 0;
180  str = String(string);
181  while(str.CharAt(index)) index++;
182  return index;
183}
184
185fun status_callback (text)
186{
187    // Truncate the message if too long
188    if (StringLength(text) > (Window.GetHeight () / 4 )) {
189     text = text.SubString(0, (Window.GetHeight () / 4 ) - 3);
190     text += "...";
191    }
192
193        my_image = Image.Text(text, 0.4, 0.4, 0.4);
194    statusupdate_sprite.SetPosition(10, 10 + (i * 20), 10000);
195        statusupdate_sprite.SetImage(my_image);
196        statusupdate_sprite.SetX(Window.GetWidth ()  / 2 - my_image.GetWidth()  / 2);
197        statusupdate_sprite.SetY((Window.GetHeight () * 0.7) - my_image.GetHeight());
198        statusupdate.sprite.SetZ(11);   
199}
200
201Plymouth.SetUpdateStatusFunction(status_callback);
202
203
Note: See TracBrowser for help on using the repository browser.