OSDN Git Service

upload
[serene/serenelinux-system-pkg.git] / serenelinux-plymouth / usr / share / plymouth / themes / serene-logo / serene-logo.script
1 # Set Background Color
2 Window.SetBackgroundTopColor(0, 0, 0);
3 Window.SetBackgroundBottomColor(0, 0, 0);
4
5 # Show logo
6 logo.image = Image("loading_150.png");
7 logo.sprite = Sprite(logo.image);
8 logo.x = Window.GetX() + Window.GetWidth() / 2 - logo.image.GetWidth() / 2;
9 logo.y = Window.GetY() + Window.GetHeight() / 2 - logo.image.GetHeight() / 2;
10 logo.sprite.SetPosition(logo.x, logo.y, 10000);
11 logo.sprite.SetOpacity(0);
12
13 # add label
14 label.image = Image("label.png");
15 label.sprite = Sprite(label.image);
16 label.x = Window.GetX() + Window.GetWidth() / 2 - label.image.GetWidth() / 2 ;
17 label.y = Window.GetY() + Window.GetHeight() / 2 + logo.image.GetHeight() / 2 ;
18 label.sprite.SetPosition(label.x, label.y, 10000);
19 label.sprite.SetOpacity(0);
20
21 image_total = 150;
22
23 # Loading
24 for (i = 1; i <= image_total; i++) 
25 {
26     loading[i].image = Image("loading_" + i + ".png");
27     loading[i].sprite = Sprite(loading[i].image);
28     loading[i].sprite.SetOpacity(0);
29     loading[i].x = Window.GetX() + Window.GetWidth() / 2 - loading[i].image.GetWidth() / 2;
30     loading[i].y = Window.GetY() + Window.GetHeight() / 2 - loading[i].image.GetHeight() / 2;
31     loading[i].sprite.SetPosition(loading[i].x, loading[i].y, 0);
32 }
33
34 # shutdown
35 for (i = 1; i <= image_total; i++) 
36 {
37     shutdown[i].image = Image("shutdown_" + i + ".png");
38     shutdown[i].sprite = Sprite(shutdown[i].image);
39     shutdown[i].sprite.SetOpacity(0);
40     shutdown[i].x = Window.GetX() + Window.GetWidth() / 2 - shutdown[i].image.GetWidth() / 2;
41     shutdown[i].y = Window.GetY() + Window.GetHeight() / 2 - shutdown[i].image.GetHeight() / 2;
42     shutdown[i].sprite.SetPosition(shutdown[i].x, shutdown[i].y, 0);
43 }
44
45 index = 1;
46 is_forward = 1;
47 flag = 1;
48 fun boot_callback() 
49 {
50     # 50 frames per second
51     label.sprite.SetOpacity(1);
52         if (index >= image_total + 1) {
53                 logo.sprite.SetOpacity(1);
54                 
55         } else {
56             for (i = 1; i <= image_total; i++) 
57             {
58                 if (index != i) 
59                 {
60                         loading[i].sprite.SetOpacity(0);
61                 } 
62                 else 
63                 {
64                         loading[i].sprite.SetOpacity(1);
65                 }
66             }
67             index++;
68         }
69         flag++;
70 }
71
72 reboot_opacity = 1.0;
73 reboot_index = 1;
74 fun reboot_callback() 
75 {
76     # 50 frames per second
77     label.sprite.SetOpacity(1);
78     for(j=1; j<=3; j++){
79         if (reboot_index >= image_total + 1) {
80             shutdown[150].sprite.SetOpacity(1);
81         }
82         else {
83             for (i = 1; i <= image_total; i++){
84                 if (reboot_index != i){
85                     shutdown[i].sprite.SetOpacity(0);
86                 } 
87                 else{
88                     shutdown[i].sprite.SetOpacity(1);
89                 }
90             }
91             reboot_index++;
92         }
93     }
94 }
95
96 if (Plymouth.GetMode() == "boot")
97 {
98     Plymouth.SetRefreshFunction(boot_callback);
99
100 else 
101 {
102     Plymouth.SetRefreshFunction(reboot_callback);
103 }
104
105 Plymouth.SetQuitFunction(reboot_callback);
106
107 #----------------------------------------- Dialogue --------------------------------
108
109 status = "normal";
110
111 fun dialog_setup()
112   {
113     local.box;
114     local.lock;
115     local.entry;
116     
117     box.image = Image("box.png");
118     lock.image = Image("lock.png");
119     entry.image = Image("entry.png");
120     
121     box.sprite = Sprite(box.image);
122     box.x = Window.GetX() + Window.GetWidth()  / 2 - box.image.GetWidth ()/2;
123     box.y = Window.GetY() + Window.GetHeight() / 2 - box.image.GetHeight()/2;
124     box.z = 10000;
125     box.sprite.SetPosition(box.x, box.y, box.z);
126     
127     lock.sprite = Sprite(lock.image);
128     lock.x = box.x + box.image.GetWidth()/2 - (lock.image.GetWidth() + entry.image.GetWidth()) / 2;
129     lock.y = box.y + box.image.GetHeight()/2 - lock.image.GetHeight()/2;
130     lock.z = box.z + 1;
131     lock.sprite.SetPosition(lock.x, lock.y, lock.z);
132     
133     entry.sprite = Sprite(entry.image);
134     entry.x = lock.x + lock.image.GetWidth();
135     entry.y = box.y + box.image.GetHeight()/2 - entry.image.GetHeight()/2;
136     entry.z = box.z + 1;
137     entry.sprite.SetPosition(entry.x, entry.y, entry.z);
138     
139     global.dialog.box = box;
140     global.dialog.lock = lock;
141     global.dialog.entry = entry;
142     global.dialog.bullet_image = Image("bullet.png");
143     dialog_opacity (1);
144   }
145     
146 fun dialog_opacity(opacity)
147   {
148     dialog.box.sprite.SetOpacity (opacity);
149     dialog.lock.sprite.SetOpacity (opacity);
150     dialog.entry.sprite.SetOpacity (opacity);
151     for (index = 0; dialog.bullet[index]; index++)
152       {
153         dialog.bullet[index].sprite.SetOpacity(opacity);
154       }
155   }
156
157 fun display_normal_callback ()
158   {
159     global.status = "normal";
160     if (global.dialog)
161       dialog_opacity (0);
162   }
163
164 fun display_password_callback (prompt, bullets)
165   {
166     global.status = "password";
167     if (!global.dialog)
168         dialog_setup();
169     else
170         dialog_opacity(1);
171     for (index = 0; dialog.bullet[index] || index < bullets; index++)
172       {
173         if (!dialog.bullet[index])
174           {
175             dialog.bullet[index].sprite = Sprite(dialog.bullet_image);
176             dialog.bullet[index].x = dialog.entry.x + index * dialog.bullet_image.GetWidth();
177             dialog.bullet[index].y = dialog.entry.y + dialog.entry.image.GetHeight() / 2 - dialog.bullet_image.GetHeight() / 2;
178             dialog.bullet[index].z = dialog.entry.z + 1;
179             dialog.bullet[index].sprite.SetPosition(dialog.bullet[index].x, dialog.bullet[index].y, dialog.bullet[index].z);
180           }
181         if (index < bullets)
182           dialog.bullet[index].sprite.SetOpacity(1);
183         else
184           dialog.bullet[index].sprite.SetOpacity(0);
185       }
186   }
187
188 Plymouth.SetDisplayNormalFunction(display_normal_callback);
189 Plymouth.SetDisplayPasswordFunction(display_password_callback);
190
191
192 #----------------------------------------- Message --------------------------------
193
194 message_sprite = Sprite();
195 message_sprite.SetPosition(Window.GetX() + 10, Window.GetY() + 10, 10000);
196
197 fun message_callback (text)
198 {
199   my_image = Image.Text(text, 1, 1, 1);
200   message_sprite.SetImage(my_image);
201 }
202
203 Plymouth.SetMessageFunction(message_callback);