summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <m.blumenkran@samsung.com>2013-07-31 09:20:34 +0100
committerdiscomfitor <michael.blumenkrantz@gmail.com>2013-10-20 08:16:41 +0100
commit19f26e50afc2e0af982d0715d28a54e2b428f954 (patch)
tree0a37348b9a31d93d285974ffae83320806455132
parent2ad1d55e594abf5976a2ee5ed3cf953e477017f3 (diff)
add spin-beep demo theme
-rw-r--r--data/themes/Makefile.am10
-rw-r--r--data/themes/default-spin.edc3530
2 files changed, 3537 insertions, 3 deletions
diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am
index 05abfea..1e534f1 100644
--- a/data/themes/Makefile.am
+++ b/data/themes/Makefile.am
@@ -11,6 +11,7 @@ EDJE_FLAGS = $(EDJE_FLAGS_VERBOSE_$(V)) -id $(top_srcdir)/data/themes/images -fd
11filesdir = $(pkgdatadir)/themes 11filesdir = $(pkgdatadir)/themes
12files_DATA = \ 12files_DATA = \
13default.edj \ 13default.edj \
14default-spin.edj \
14mild.edj \ 15mild.edj \
15black.edj \ 16black.edj \
16solarized.edj \ 17solarized.edj \
@@ -22,17 +23,20 @@ am__v_EDJ_ = $(am__v_EDJ_$(AM_DEFAULT_VERBOSITY))
22am__v_EDJ_0 = @echo " EDJ " $@; 23am__v_EDJ_0 = @echo " EDJ " $@;
23 24
24 25
25EXTRA_DIST = default.edc mild.edc black.edc mustang.edc default_colors.in.edc 26EXTRA_DIST = default.edc default-spin.edc mild.edc black.edc mustang.edc default_colors.in.edc
26 27
27default.edj: Makefile default.edc default_colors.in.edc 28default.edj: Makefile default.edc default_colors.in.edc
28 $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \ 29 $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
29 $(top_srcdir)/data/themes/default.edc \ 30 $(top_srcdir)/data/themes/default.edc \
30 $(top_builddir)/data/themes/default.edj 31 $(top_builddir)/data/themes/default.edj
31 32
33default-spin.edj: Makefile default-spin.edc default_colors.in.edc
34 $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
35 $(top_srcdir)/data/themes/default-spin.edc \
36 $(top_builddir)/data/themes/default-spin.edj
37
32mild.edj: Makefile mild.edc default_colors.in.edc 38mild.edj: Makefile mild.edc default_colors.in.edc
33 $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \ 39 $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
34 $(top_srcdir)/data/themes/mild.edc \
35 $(top_builddir)/data/themes/mild.edj
36 40
37black.edj: Makefile black.edc mild.edc default_colors.in.edc 41black.edj: Makefile black.edc mild.edc default_colors.in.edc
38 $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \ 42 $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
diff --git a/data/themes/default-spin.edc b/data/themes/default-spin.edc
new file mode 100644
index 0000000..7e0dd8d
--- /dev/null
+++ b/data/themes/default-spin.edc
@@ -0,0 +1,3530 @@
1collections {
2
3//////////////////////////////////////////////////////////////////////////////
4 //// the background and general container for the terminal
5 group { name: "terminology/core";
6 parts {
7 ////////////////////////////////////////////////////////////////////
8 // background handling
9 part { name: "fade"; type: RECT;
10 description { state: "default" 0.0;
11 }
12 description { state: "translucent" 0.0;
13 inherit: "default" 0.0;
14 color: 255 255 255 128;
15 }
16 }
17 program {
18 signal: "translucent,on"; source: "terminology";
19 action: STATE_SET "translucent" 0.0;
20 target: "fade";
21 }
22 program {
23 signal: "translucent,off"; source: "terminology";
24 action: STATE_SET "default" 0.0;
25 target: "fade";
26 }
27 part { name: "terminology.background"; type: SWALLOW;
28 clip_to: "fade";
29 description { state: "default" 0.0;
30 }
31 description { state: "image" 0.0;
32 inherit: "default" 0.0;
33 }
34 description { state: "scale" 0.0;
35 inherit: "default" 0.0;
36 }
37 description { state: "edje" 0.0;
38 inherit: "default" 0.0;
39 }
40 description { state: "movie" 0.0;
41 inherit: "default" 0.0;
42 }
43 }
44 program {
45 signal: "media,off"; source: "terminology";
46 action: STATE_SET "default" 0.0;
47 target: "terminology.background";
48 }
49 program {
50 signal: "media,image"; source: "terminology";
51 action: STATE_SET "image" 0.0;
52 target: "terminology.background";
53 }
54 program {
55 signal: "media,scale"; source: "terminology";
56 action: STATE_SET "scale" 0.0;
57 target: "terminology.background";
58 }
59 program {
60 signal: "media,edje"; source: "terminology";
61 action: STATE_SET "edje" 0.0;
62 target: "terminology.background";
63 }
64 program {
65 signal: "media,movie"; source: "terminology";
66 action: STATE_SET "movie" 0.0;
67 target: "terminology.background";
68 }
69
70 ////////////////////////////////////////////////////////////////////
71 // actual text grid for chars, cursors, selectiond etc. goes here
72 part { name: "terminology.content"; type: SWALLOW;
73 description { state: "default" 0.0;
74 rel1.offset: 1 1;
75 rel2.offset: -2 -2;
76 }
77 }
78 }
79 }
80
81 //// the background and general container for the terminal
82 group { name: "terminology/background";
83 images {
84 image: "bg_bevel.png" COMP;
85 image: "bg_shine.png" COMP;
86 image: "bg_glint.png" COMP;
87 image: "bg_glow_in.png" COMP;
88 image: "bg_shadow.png" COMP;
89 image: "bg_led_glow.png" COMP;
90 image: "bg_led_base.png" COMP;
91 image: "bg_led.png" COMP;
92 image: "bg_led_strobe.png" COMP;
93 image: "pm_shadow.png" COMP;
94 image: "pm_overlay.png" COMP;
95 image: "pm_fill.png" COMP;
96 image: "cr_glow.png" COMP;
97 }
98 sounds {
99 sample { name: "bell" LOSSY 64;
100 source: "bell.wav";
101 }
102 }
103 parts {
104 ////////////////////////////////////////////////////////////////////
105 // background handling
106 part { name: "shadow";
107 mouse_events: 0;
108 description { state: "default" 0.0;
109 image.normal: "bg_shadow.png";
110 fill.smooth: 0;
111 visible: 0;
112 }
113 description { state: "translucent" 0.0;
114 inherit: "default" 0.0;
115 visible: 1;
116 }
117 }
118 part { name: "base"; type: RECT;
119 mouse_events: 1;
120 description { state: "default" 0.0;
121 color: 32 32 32 255;
122 }
123 description { state: "translucent" 0.0;
124 inherit: "default" 0.0;
125 visible: 0;
126 }
127 }
128 program {
129 signal: "translucent,on"; source: "terminology";
130 action: STATE_SET "translucent" 0.0;
131 target: "base";
132 target: "shadow";
133 }
134 program {
135 signal: "translucent,off"; source: "terminology";
136 action: STATE_SET "default" 0.0;
137 target: "base";
138 target: "shadow";
139 }
140
141 ////////////////////////////////////////////////////////////////////
142 // actual text grid for chars, cursors, selectiond etc. goes here
143 // and has a background layered behind it inside the swallowed
144 // child edje
145 part { name: "terminology.content"; type: SWALLOW;
146 description { state: "default" 0.0;
147 }
148 }
149
150 ////////////////////////////////////////////////////////////////////
151 // indicator of other tabs and control
152 part { name: "tabcount_clip"; type: RECT;
153 description { state: "default" 0.0;
154 color: 255 255 255 0;
155 visible: 0;
156 }
157 description { state: "on" 0.0;
158 inherit: "default" 0.0;
159 visible: 1;
160 color: 255 255 255 255;
161 }
162 }
163 part { name: "terminology.tabmissed.label"; type: TEXT; mouse_events: 0;
164 effect: GLOW;
165 scale: 1;
166 clip_to: "tabcount_clip";
167 description { state: "default" 0.0;
168 fixed: 1 1;
169 rel1.to: "terminology.tabcount.label";
170 rel2.to: "terminology.tabcount.label";
171 rel1.offset: -4 0;
172 rel2.relative: 0.0 1.0;
173 rel2.offset: -5 -1;
174 color: 255 153 51 64;
175 color2: 255 51 0 18;
176 color3: 255 0 0 8;
177 align: 1.0 0.5;
178 text { font: "Sans"; size: 8;
179 align: 1.0 0.5;
180 min: 1 1;
181 }
182 }
183 description { state: "over" 0.0;
184 inherit: "default" 0.0;
185 color: 255 255 64 255;
186 color2: 255 153 51 128;
187 color3: 255 0 0 20;
188 }
189 }
190 part { name: "terminology.tabcount.label"; type: TEXT; mouse_events: 0;
191 effect: GLOW;
192 scale: 1;
193 clip_to: "tabcount_clip";
194 description { state: "default" 0.0;
195 fixed: 1 1;
196 rel1.to: "terminology.tabcount.control";
197 rel2.to: "terminology.tabcount.control";
198 rel1.relative: -0.2 0.0;
199 rel2.relative: -0.2 1.0;
200 color: 51 153 255 64;
201 color2: 51 153 255 18;
202 color3: 51 153 255 8;
203 align: 1.0 0.5;
204 text { font: "Sans"; size: 8;
205 align: 1.0 0.5;
206 min: 1 1;
207 }
208 }
209 description { state: "over" 0.0;
210 inherit: "default" 0.0;
211 color: 255 255 255 255;
212 color2: 51 153 255 128;
213 color3: 51 153 255 20;
214 }
215 }
216 part { name: "tabcount_glow_r0";
217 clip_to: "tabcount_clip";
218 description { state: "default" 0.0;
219 rel1.to: "tabcount_r0";
220 rel2.to: "tabcount_r0";
221 rel1.offset: -4 -4;
222 rel2.offset: 3 3;
223 image {
224 normal: "cr_glow.png";
225 border: 9 9 9 9;
226 }
227 color: 51 153 255 32;
228 }
229 description { state: "over" 0.0;
230 inherit: "default" 0.0;
231 color: 51 153 255 255;
232 }
233 }
234 part { name: "tabcount_glow_r1";
235 clip_to: "tabcount_clip";
236 description { state: "default" 0.0;
237 rel1.to: "tabcount_r1";
238 rel2.to: "tabcount_r1";
239 rel1.offset: -4 -4;
240 rel2.offset: 3 3;
241 image {
242 normal: "cr_glow.png";
243 border: 9 9 9 9;
244 }
245 color: 51 153 255 32;
246 }
247 description { state: "over" 0.0;
248 inherit: "default" 0.0;
249 color: 51 153 255 255;
250 }
251 }
252 part { name: "tabcount_glow_r2";
253 clip_to: "tabcount_clip";
254 description { state: "default" 0.0;
255 rel1.to: "tabcount_r2";
256 rel2.to: "tabcount_r2";
257 rel1.offset: -4 -4;
258 rel2.offset: 3 3;
259 image {
260 normal: "cr_glow.png";
261 border: 9 9 9 9;
262 }
263 color: 51 153 255 32;
264 }
265 description { state: "over" 0.0;
266 inherit: "default" 0.0;
267 color: 51 153 255 255;
268 }
269 }
270 part { name: "tabcount_glow_r3";
271 clip_to: "tabcount_clip";
272 description { state: "default" 0.0;
273 rel1.to: "tabcount_r3";
274 rel2.to: "tabcount_r3";
275 rel1.offset: -4 -4;
276 rel2.offset: 3 3;
277 image {
278 normal: "cr_glow.png";
279 border: 9 9 9 9;
280 }
281 color: 51 153 255 32;
282 }
283 description { state: "over" 0.0;
284 inherit: "default" 0.0;
285 color: 51 153 255 255;
286 }
287 }
288 part { name: "tabcount_r0"; type: RECT;
289 clip_to: "tabcount_clip";
290 description { state: "default" 0.0;
291 rel1.to: "terminology.tabcount.control";
292 rel2.to: "terminology.tabcount.control";
293 rel1.relative: 0.05 0.05;
294 rel2.relative: 0.45 0.45;
295 color: 255 255 255 32;
296 }
297 description { state: "over" 0.0;
298 inherit: "default" 0.0;
299 color: 255 255 255 255;
300 }
301 }
302 part { name: "tabcount_r1"; type: RECT;
303 clip_to: "tabcount_clip";
304 description { state: "default" 0.0;
305 rel1.to: "terminology.tabcount.control";
306 rel2.to: "terminology.tabcount.control";
307 rel1.relative: 0.55 0.05;
308 rel2.relative: 0.95 0.45;
309 color: 255 255 255 32;
310 }
311 description { state: "over" 0.0;
312 inherit: "default" 0.0;
313 color: 255 255 255 255;
314 }
315 }
316 part { name: "tabcount_r2"; type: RECT;
317 clip_to: "tabcount_clip";
318 description { state: "default" 0.0;
319 rel1.to: "terminology.tabcount.control";
320 rel2.to: "terminology.tabcount.control";
321 rel1.relative: 0.05 0.55;
322 rel2.relative: 0.45 0.95;
323 color: 255 255 255 32;
324 }
325 description { state: "over" 0.0;
326 inherit: "default" 0.0;
327 color: 255 255 255 255;
328 }
329 }
330 part { name: "tabcount_r3"; type: RECT;
331 clip_to: "tabcount_clip";
332 description { state: "default" 0.0;
333 rel1.to: "terminology.tabcount.control";
334 rel2.to: "terminology.tabcount.control";
335 rel1.relative: 0.55 0.55;
336 rel2.relative: 0.95 0.95;
337 color: 255 255 255 32;
338 }
339 description { state: "over" 0.0;
340 inherit: "default" 0.0;
341 color: 255 255 255 255;
342 }
343 }
344 part { name: "terminology.tabcount.control"; type: SWALLOW;
345 clip_to: "tabcount_clip";
346 description { state: "default" 0.0;
347 fixed: 1 1;
348 rel1.relative: 1.0 0.0;
349 rel1.offset: -3 2;
350 rel2.relative: 1.0 0.0;
351 rel2.offset: -3 2;
352 align: 1.0 0.0;
353 min: 16 16;
354 }
355 }
356 part { name: "tabcount_ev"; type: RECT; repeat_events: 1;
357 clip_to: "tabcount_clip";
358 description { state: "default" 0.0;
359 fixed: 1 1;
360 rel1.to: "terminology.tabcount.control";
361 rel2.to: "terminology.tabcount.control";
362 color: 0 0 0 0;
363 }
364 }
365 program {
366 signal: "mouse,in"; source: "tabcount_ev";
367 action: STATE_SET "over" 0.0;
368 transition: DECELERATE 0.5;
369 target: "tabcount_r0";
370 target: "tabcount_r1";
371 target: "tabcount_r2";
372 target: "tabcount_r3";
373 target: "tabcount_glow_r0";
374 target: "tabcount_glow_r1";
375 target: "tabcount_glow_r2";
376 target: "tabcount_glow_r3";
377 target: "terminology.tabcount.label";
378 target: "terminology.tabmissed.label";
379 }
380 program {
381 signal: "mouse,out"; source: "tabcount_ev";
382 action: STATE_SET "default" 0.0;
383 transition: DECELERATE 2.0;
384 target: "tabcount_r0";
385 target: "tabcount_r1";
386 target: "tabcount_r2";
387 target: "tabcount_r3";
388 target: "tabcount_glow_r0";
389 target: "tabcount_glow_r1";
390 target: "tabcount_glow_r2";
391 target: "tabcount_glow_r3";
392 target: "terminology.tabcount.label";
393 target: "terminology.tabmissed.label";
394 }
395 program {
396 signal: "mouse,clicked,1"; source: "tabcount_ev";
397 action: SIGNAL_EMIT "tabcount,go" "terminology";
398 }
399 program {
400 signal: "tabcount,off"; source: "terminology";
401 action: STATE_SET "default" 0.0;
402 transition: DECELERATE 0.5;
403 target: "tabcount_clip";
404 }
405 program {
406 signal: "tabcount,on"; source: "terminology";
407 action: STATE_SET "on" 0.0;
408 transition: DECELERATE 0.5;
409 target: "tabcount_clip";
410 }
411 program {
412 signal: "tabmissed,off"; source: "terminology";
413 action: STATE_SET "default" 0.0;
414 transition: DECELERATE 0.5;
415 target: "terminology.tabmissed.label";
416 }
417 program {
418 signal: "tabmissed,on"; source: "terminology";
419 action: STATE_SET "over" 0.0;
420 transition: DECELERATE 0.2;
421 target: "terminology.tabmissed.label";
422 after: "tabmissed2";
423 }
424 program { name: "tabmissed2";
425 signal: "tabmissed,on"; source: "terminology";
426 action: STATE_SET "default" 0.0;
427 transition: DECELERATE 3.0;
428 target: "terminology.tabmissed.label";
429 }
430
431 ////////////////////////////////////////////////////////////////////
432 // overlayed prettiness
433 part { name: "glow";
434 mouse_events: 0;
435 description { state: "default" 0.0;
436 image.normal: "bg_glow_in.png";
437 image.border: 7 7 7 7;
438 image.middle: 0;
439 fill.smooth: 0;
440 color: 51 153 255 0;
441 }
442 description { state: "focused" 0.0;
443 inherit: "default" 0.0;
444 color: 51 153 255 255;
445 }
446 description { state: "focused2" 0.0;
447 inherit: "default" 0.0;
448 color: 51 153 255 64;
449 }
450 }
451 part { name: "bevel";
452 mouse_events: 0;
453 description { state: "default" 0.0;
454 image.normal: "bg_bevel.png";
455 image.border: 3 3 5 3;
456 image.middle: 0;
457 fill.smooth: 0;
458 }
459 }
460 part { name: "glintclip"; type: RECT;
461 description { state: "default" 0.0;
462 }
463 }
464 part { name: "glint";
465 mouse_events: 0;
466 clip_to: "glintclip";
467 description { state: "default" 0.0;
468 fixed: 1 1;
469 min: 79 5;
470 max: 79 5;
471 rel1 {
472 relative: 0.0 0.0;
473 offset: 0 0;
474 }
475 rel2 {
476 relative: 1.0 0.0;
477 offset: -1 0;
478 }
479 image.normal: "bg_glint.png";
480 color: 255 255 255 128;
481 }
482 description { state: "focused" 0.0;
483 inherit: "default" 0.0;
484 color: 255 255 255 255;
485 }
486 }
487 part { name: "shine";
488 mouse_events: 0;
489 description { state: "default" 0.0;
490 rel1.offset: 0 0;
491 rel2.offset: -1 -1;
492 image.normal: "bg_shine.png";
493 fill.smooth: 0;
494 align: 0.5 0.0;
495 aspect: (255/120) (255/120);
496 aspect_preference: HORIZONTAL;
497 color: 255 255 255 64;
498 }
499 description { state: "focused" 0.0;
500 inherit: "default" 0.0;
501 color: 255 255 255 255;
502 }
503 }
504 program {
505 signal: "focus,in"; source: "terminology";
506 action: STATE_SET "focused" 0.0;
507 target: "glint";
508 target: "glow";
509 target: "shine";
510 after: "focus_in2";
511 }
512 program { name: "focus_in2";
513 action: STATE_SET "focused2" 0.0;
514 transition: DECELERATE 0.5;
515 target: "glow";
516 }
517 program {
518 signal: "focus,out"; source: "terminology";
519 action: STATE_SET "default" 0.0;
520 target: "glint";
521 target: "glow";
522 target: "shine";
523 }
524
525 ////////////////////////////////////////////////////////////////////
526 // visual bell - spinning red overlay of death
527 part { name: "bell_proxy"; type: PROXY;
528 mouse_events: 0;
529 description { state: "default" 0.0;
530 source: "terminology.content";
531 visible: 0;
532 proxy.source_visible: 1;
533 rel1.to: "terminology.content";
534 rel2.to: "terminology.content";
535 map {
536 on: 1;
537 perspective_on: 1;
538 rotation.z: 0;
539 }
540 }
541 description { state: "visible" 0.0;
542 inherit: "default" 0.0;
543 proxy.source_visible: 0;
544 visible: 1;
545 }
546 description { state: "rotated" 0.0;
547 inherit: "visible" 0.0;
548 map.rotation.z: 360;
549 }
550 }
551 part { name: "bell_overlay"; type: RECT;
552 mouse_events: 0;
553 description { state: "default" 0.0;
554 rel1.to: "terminology.content";
555 rel2.to: "terminology.content";
556 color: 255 0 0 0;
557 }
558 description { state: "visible" 0.0;
559 inherit: "default" 0.0;
560 color: 255 0 0 200;
561 }
562 }
563 program {
564 signal: "bell"; source: "terminology";
565 action: PLAY_SAMPLE "bell" 1.0;
566 }
567 program {
568 signal: "bell"; source: "terminology";
569 action: STATE_SET "visible" 0.0;
570 transition: SINUSOIDAL 0.1;
571 target: "bell_overlay";
572 after: "bell_overlay2";
573 }
574 program {
575 name: "bell_overlay2";
576 action: STATE_SET "default" 0.0;
577 transition: SINUSOIDAL 0.1;
578 target: "bell_overlay";
579 }
580 program {
581 signal: "bell"; source: "terminology";
582 action: STATE_SET "visible" 0.0;
583 target: "bell_proxy";
584 after: "bell_proxy2";
585 }
586 program { name: "bell_proxy2";
587 action: STATE_SET "rotated" 0.0;
588 transition: DECELERATE 0.2;
589 target: "bell_proxy";
590 after: "bell_proxy3";
591 }
592 program { name: "bell_proxy3";
593 action: STATE_SET "default" 0.0;
594 target: "bell_proxy";
595 }
596
597 ////////////////////////////////////////////////////////////////////
598 // popup media over the terminal (until dismissed)
599 part { name: "popmedia_clip"; type: RECT;
600 mouse_events: 1;
601 description { state: "default" 0.0;
602 fixed: 1 1;
603 visible: 0;
604 color: 255 255 255 0;
605 }
606 description { state: "visible" 0.0;
607 inherit: "default" 0.0;
608 visible: 1;
609 color: 255 255 255 255;
610 }
611 }
612 part { name: "popmedia_shadow";
613 mouse_events: 0;
614 description { state: "default" 0.0;
615 fixed: 1 1;
616 rel1.to: "terminology.popmedia";
617 rel2.to: "terminology.popmedia";
618 image.normal: "pm_shadow.png";
619 image.border: 64 64 64 64;
620 image.border_scale_by: 0.1;
621 fill.smooth: 0;
622 visible: 0;
623 }
624 description { state: "visible" 0.0;
625 inherit: "default" 0.0;
626 rel1.offset: -32 -32;
627 rel2.offset: 31 31;
628 image.border_scale_by: 1.0;
629 visible: 1;
630 }
631 }
632 part { name: "popmedia_fill";
633 mouse_events: 0;
634 description { state: "default" 0.0;
635 fixed: 1 1;
636 rel1.to: "terminology.popmedia";
637 rel2.to: "terminology.popmedia";
638 image.normal: "pm_fill.png";
639 fill {
640 size.relative: 0.0 0.0;
641 size.offset: 64 64;
642 }
643 }
644 }
645 part { name: "terminology.popmedia"; type: SWALLOW;
646 clip_to: "popmedia_clip";
647 description { state: "default" 0.0;
648 fixed: 1 1;
649 rel1.relative: 0.5 0.5;
650 rel2.relative: 0.5 0.5;
651 visible: 0;
652 }
653 description { state: "image" 0.0;
654 inherit: "default" 0.0;
655 rel1.relative: 0.1 0.1;
656 rel2.relative: 0.9 0.9;
657 visible: 1;
658 }
659 description { state: "scale" 0.0;
660 inherit: "default" 0.0;
661 rel1.relative: 0.1 0.1;
662 rel2.relative: 0.9 0.9;
663 visible: 1;
664 }
665 description { state: "edje" 0.0;
666 inherit: "default" 0.0;
667 rel1.relative: 0.1 0.1;
668 rel2.relative: 0.9 0.9;
669 visible: 1;
670 }
671 description { state: "movie" 0.0;
672 inherit: "default" 0.0;
673 rel1.relative: 0.1 0.1;
674 rel2.relative: 0.9 0.9;
675 visible: 1;
676 }
677 }
678 part { name: "popmedia_overlay";
679 mouse_events: 0;
680 description { state: "default" 0.0;
681 fixed: 1 1;
682 rel1.to: "terminology.popmedia";
683 rel2.to: "terminology.popmedia";
684 image.normal: "pm_overlay.png";
685 fill.smooth: 0;
686 visible: 0;
687 }
688 description { state: "visible" 0.0;
689 inherit: "default" 0.0;
690 visible: 1;
691 }
692 }
693 part { name: "popmedia_bevel";
694 mouse_events: 0;
695 description { state: "default" 0.0;
696 fixed: 1 1;
697 rel1.to: "terminology.popmedia";
698 rel2.to: "terminology.popmedia";
699 image.normal: "bg_bevel.png";
700 image.border: 3 3 5 3;
701 image.middle: 0;
702 fill.smooth: 0;
703 visible: 0;
704 }
705 description { state: "visible" 0.0;
706 inherit: "default" 0.0;
707 visible: 1;
708 }
709 }
710 part { name: "popmedia_glintclip"; type: RECT;
711 mouse_events: 0;
712 description { state: "default" 0.0;
713 fixed: 1 1;
714 visible: 0;
715 }
716 description { state: "visible" 0.0;
717 inherit: "default" 0.0;
718 visible: 1;
719 }
720 }
721 part { name: "popmedia_glint";
722 mouse_events: 0;
723 clip_to: "popmedia_glintclip";
724 description { state: "default" 0.0;
725 fixed: 1 1;
726 min: 79 5;
727 max: 79 5;
728 rel1 {
729 to: "terminology.popmedia";
730 relative: 0.0 0.0;
731 offset: 0 0;
732 }
733 rel2 {
734 to: "terminology.popmedia";
735 relative: 1.0 0.0;
736 offset: -1 0;
737 }
738 image.normal: "bg_glint.png";
739 visible: 0;
740 }
741 description { state: "visible" 0.0;
742 inherit: "default" 0.0;
743 visible: 1;
744 }
745 }
746 part { name: "popmedia_shine";
747 mouse_events: 0;
748 description { state: "default" 0.0;
749 fixed: 1 1;
750 rel1.to: "terminology.popmedia";
751 rel2.to: "terminology.popmedia";
752 image.normal: "bg_shine.png";
753 fill.smooth: 0;
754 align: 0.5 0.0;
755 aspect: (255/120) (255/120);
756 aspect_preference: HORIZONTAL;
757 visible: 0;
758 }
759 description { state: "visible" 0.0;
760 inherit: "default" 0.0;
761 visible: 1;
762 }
763 }
764 part { name: "popmedia_dismiss"; type: RECT;
765 mouse_events: 1;
766 description { state: "default" 0.0;
767 fixed: 1 1;
768 color: 0 0 0 0;
769 visible: 0;
770 }
771 description { state: "visible" 0.0;
772 inherit: "default" 0.0;
773 visible: 1;
774 }
775 }
776 program {
777 signal: "mouse,clicked,*"; source: "popmedia_dismiss";
778 action: STATE_SET "default" 0.0;
779 transition: DECELERATE 0.5;
780 target: "terminology.popmedia";
781 target: "popmedia_clip";
782 target: "popmedia_dismiss";
783 target: "popmedia_shadow";
784 target: "popmedia_fill";
785 target: "popmedia_overlay";
786 target: "popmedia_bevel";
787 target: "popmedia_glint";
788 target: "popmedia_glintclip";
789 target: "popmedia_shine";
790 after: "popmedia_dismiss2";
791 }
792 program { name: "popmedia_dismiss2";
793 action: SIGNAL_EMIT "popmedia,done" "terminology";
794 }
795 program {
796 signal: "popmedia,off"; source: "terminology";
797 action: STATE_SET "default" 0.0;
798 transition: DECELERATE 0.2;
799 target: "terminology.popmedia";
800 target: "popmedia_clip";
801 target: "popmedia_dismiss";
802 target: "popmedia_shadow";
803 target: "popmedia_fill";
804 target: "popmedia_overlay";
805 target: "popmedia_bevel";
806 target: "popmedia_glint";
807 target: "popmedia_glintclip";
808 target: "popmedia_shine";
809 after: "popmedia_dismiss2";
810 }
811 program {
812 signal: "popmedia,image"; source: "terminology";
813 action: STATE_SET "image" 0.0;
814 transition: DECELERATE 0.2;
815 target: "terminology.popmedia";
816 }
817 program {
818 signal: "popmedia,scale"; source: "terminology";
819 action: STATE_SET "scale" 0.0;
820 transition: DECELERATE 0.2;
821 target: "terminology.popmedia";
822 }
823 program {
824 signal: "popmedia,edje"; source: "terminology";
825 action: STATE_SET "edje" 0.0;
826 transition: DECELERATE 0.2;
827 target: "terminology.popmedia";
828 }
829 program {
830 signal: "popmedia,movie"; source: "terminology";
831 action: STATE_SET "movie" 0.0;
832 transition: DECELERATE 0.2;
833 target: "terminology.popmedia";
834 }
835 program {
836 signal: "popmedia,image"; source: "terminology";
837 action: STATE_SET "visible" 0.0;
838 transition: DECELERATE 0.2;
839 target: "popmedia_clip";
840 target: "popmedia_dismiss";
841 target: "popmedia_shadow";
842 target: "popmedia_fill";
843 target: "popmedia_overlay";
844 target: "popmedia_bevel";
845 target: "popmedia_glint";
846 target: "popmedia_glintclip";
847 target: "popmedia_shine";
848 }
849 program {
850 signal: "popmedia,scale"; source: "terminology";
851 action: STATE_SET "visible" 0.0;
852 transition: DECELERATE 0.2;
853 target: "popmedia_clip";
854 target: "popmedia_dismiss";
855 target: "popmedia_shadow";
856 target: "popmedia_fill";
857 target: "popmedia_overlay";
858 target: "popmedia_bevel";
859 target: "popmedia_glint";
860 target: "popmedia_glintclip";
861 target: "popmedia_shine";
862 }
863 program {
864 signal: "popmedia,edje"; source: "terminology";
865 action: STATE_SET "visible" 0.0;
866 transition: DECELERATE 0.2;
867 target: "popmedia_clip";
868 target: "popmedia_dismiss";
869 target: "popmedia_shadow";
870 target: "popmedia_fill";
871 target: "popmedia_overlay";
872 target: "popmedia_bevel";
873 target: "popmedia_glint";
874 target: "popmedia_glintclip";
875 target: "popmedia_shine";
876 }
877 program {
878 signal: "popmedia,movie"; source: "terminology";
879 action: STATE_SET "visible" 0.0;
880 transition: DECELERATE 0.2;
881 target: "popmedia_clip";
882 target: "popmedia_dismiss";
883 target: "popmedia_shadow";
884 target: "popmedia_fill";
885 target: "popmedia_overlay";
886 target: "popmedia_bevel";
887 target: "popmedia_glint";
888 target: "popmedia_glintclip";
889 target: "popmedia_shine";
890 }
891 }
892 }
893
894 group { name: "terminology/base";
895 parts {
896 part { name: "terminology.content"; type: SWALLOW;
897 description { state: "default" 0.0;
898 }
899 }
900 ////////////////////////////////////////////////////////////////////
901 // a place terminology will place an entry box for internal commands
902 part { name: "cmdclip"; type: RECT;
903 description { state: "default" 0.0;
904 rel1.to: "terminology.cmdbox";
905 rel1.offset: -100 -100;
906 rel2.to: "terminology.cmdbox";
907 rel2.offset: 99 99;
908 color: 255 255 255 0;
909 visible: 0;
910 }
911 description { state: "visible" 0.0;
912 inherit: "default" 0.0;
913 color: 255 255 255 255;
914 visible: 1;
915 }
916 }
917 part { name: "cmdback"; type: RECT;
918 clip_to: "cmdclip";
919 description { state: "default" 0.0;
920 color: 255 255 255 255;
921 rel1.to: "terminology.cmdbox";
922 rel1.offset: -2 -2;
923 rel2.to: "terminology.cmdbox";
924 rel2.offset: 1 1;
925 }
926 }
927 part { name: "terminology.cmdbox"; type: SWALLOW;
928 clip_to: "cmdclip";
929 description { state: "default" 0.0;
930 fixed: 1 1;
931 min: 8 8;
932 rel1.relative: 0.0 1.0;
933 rel1.offset: 8 9;
934 rel2.offset: -9 9;
935 align: 0.5 0.0;
936 }
937 description { state: "visible" 0.0;
938 inherit: "default" 0.0;
939 rel1.offset: 8 -9;
940 rel2.offset: -9 -9;
941 align: 0.5 1.0;
942 }
943 }
944 program {
945 signal: "cmdbox,show"; source: "terminology";
946 action: STATE_SET "visible" 0.0;
947 transition: DECELERATE 0.4;
948 target: "cmdclip";
949 }
950 program {
951 signal: "cmdbox,show"; source: "terminology";
952 action: STATE_SET "visible" 0.0;
953 transition: SPRING 0.4 0.5 4;
954 target: "terminology.cmdbox";
955 }
956 program {
957 signal: "cmdbox,hide"; source: "terminology";
958 action: STATE_SET "default" 0.0;
959 transition: ACCELERATE 0.5;
960 target: "terminology.cmdbox";
961 target: "cmdclip";
962 }
963
964 ////////////////////////////////////////////////////////////////////
965 // overlayed options and controls
966 part { name: "terminology.about"; type: SWALLOW;
967 scale: 1;
968 description { state: "default" 0.0;
969 fixed: 1 1;
970 min: 198 198;
971 max: 198 198;
972 align: 0.5 0.0;
973 visible: 0;
974 rel1.relative: 0.0 1.0;
975 rel2.relative: 1.0 1.0;
976 }
977 description { state: "visible" 0.0;
978 inherit: "default" 0.0;
979 visible: 1;
980 align: 0.5 0.5;
981 rel1.relative: 0.0 0.0;
982 rel2.relative: 1.0 1.0;
983 }
984 }
985 program {
986 signal: "about,show"; source: "terminology";
987 action: STATE_SET "visible" 0.0;
988 transition: SPRING 1.2 2.0 6;
989 target: "terminology.about";
990 }
991 program {
992 signal: "about,hide"; source: "terminology";
993 action: STATE_SET "default" 0.0;
994 transition: DECELERATE 0.6;
995 target: "terminology.about";
996 }
997
998 ////////////////////////////////////////////////////////////////////
999 // swallow to hold invisile rect to click on to dismiss things
1000 part { name: "terminology.dismiss"; type: SWALLOW;
1001 description { state: "default" 0.0;
1002 }
1003 }
1004
1005 ////////////////////////////////////////////////////////////////////
1006 // overlayed options and controls
1007 part { name: "terminology.optdetails"; type: SWALLOW;
1008 scale: 1;
1009 description { state: "default" 0.0;
1010 fixed: 1 1;
1011 min: 40 40;
1012 align: 0.0 0.5;
1013 visible: 0;
1014 rel1 {
1015 relative: 1.0 0.02;
1016 offset: 8 8;
1017 }
1018 rel2 {
1019 relative: 1.0 0.98;
1020 offset: 8 -9;
1021 }
1022 }
1023 description { state: "visible" 0.0;
1024 inherit: "default" 0.0;
1025 visible: 1;
1026 align: 1.0 0.5;
1027 rel1 {
1028 relative: 0.1 0.02;
1029 offset: 8 8;
1030 }
1031 rel2 {
1032 to_x: "terminology.options";
1033 relative: 0.0 0.98;
1034 offset: -9 -9;
1035 }
1036 }
1037 }
1038 program {
1039 signal: "optdetails,show"; source: "terminology";
1040 action: STATE_SET "visible" 0.0;
1041 transition: DECELERATE 0.4;
1042 target: "terminology.optdetails";
1043 }
1044 program {
1045 signal: "optdetails,hide"; source: "terminology";
1046 action: STATE_SET "default" 0.0;
1047 transition: DECELERATE 0.2;
1048 target: "terminology.optdetails";
1049 after: "opdt_hide2";
1050 }
1051 program { name: "opdt_hide2";
1052 action: SIGNAL_EMIT "optdetails,hide,done" "terminology";
1053 }
1054
1055 part { name: "terminology.options"; type: SWALLOW;
1056 scale: 1;
1057 description { state: "default" 0.0;
1058 fixed: 1 1;
1059 align: 0.0 0.5;
1060 visible: 0;
1061 rel1 {
1062 relative: 1.0 0.02;
1063 offset: 8 8;
1064 }
1065 rel2 {
1066 relative: 1.0 0.98;
1067 offset: 8 -9;
1068 }
1069 }
1070 description { state: "visible" 0.0;
1071 inherit: "default" 0.0;
1072 visible: 1;
1073 align: 1.0 0.5;
1074 rel1 {
1075 offset: -9 8;
1076 }
1077 rel2 {
1078 offset: -9 -9;
1079 }
1080 }
1081 }
1082 program {
1083 signal: "options,show"; source: "terminology";
1084 action: STATE_SET "visible" 0.0;
1085 transition: DECELERATE 0.4;
1086 target: "terminology.options";
1087 }
1088 program {
1089 signal: "options,hide"; source: "terminology";
1090 action: STATE_SET "default" 0.0;
1091 transition: DECELERATE 0.6;
1092 target: "terminology.options";
1093 }
1094
1095 part { name: "terminology.controls"; type: SWALLOW;
1096 scale: 1;
1097 description { state: "default" 0.0;
1098 fixed: 1 1;
1099 min: 10 10;
1100 align: 0.0 0.5;
1101 visible: 0;
1102 rel1 {
1103 relative: 1.0 0.5;
1104 offset: 8 8;
1105 }
1106 rel2 {
1107 relative: 1.0 0.5;
1108 offset: 8 -9;
1109 }
1110 }
1111 description { state: "visible" 0.0;
1112 inherit: "default" 0.0;
1113 visible: 1;
1114 align: 1.0 0.5;
1115 rel1 {
1116 relative: 1.0 0.5;
1117 offset: -9 8;
1118 }
1119 rel2 {
1120 offset: -9 -9;
1121 }
1122 }
1123 }
1124 program {
1125 signal: "controls,show"; source: "terminology";
1126 action: STATE_SET "visible" 0.0;
1127 transition: DECELERATE 0.3;
1128 target: "terminology.controls";
1129 }
1130 program {
1131 signal: "controls,hide"; source: "terminology";
1132 action: STATE_SET "default" 0.0;
1133 transition: DECELERATE 0.5;
1134 target: "terminology.controls";
1135 }
1136 }
1137 }
1138
1139//////////////////////////////////////////////////////////////////////////////
1140 //// the selection
1141 // selections come in 5 modes:
1142 //
1143 // oneline (also multiple lines but all fill the row):
1144 // | ######### |
1145 //
1146 // disjoint:
1147 // | #######|
1148 // |## |
1149 //
1150 // default:
1151 // | ###########|
1152 // |######### |
1153 //
1154 // topfull:
1155 // |##############|
1156 // |###### |
1157 //
1158 // bottomfull:
1159 // | ######|
1160 // |##############|
1161#define PATCOL 51 153 255 128
1162#define PATCOL2 51 153 255 144
1163#define OUTCOL 51 153 255 128
1164#define OUTCOL2 51 153 255 255
1165
1166 group { name: "terminology/selection";
1167 images {
1168 image: "sl_stripe.png" COMP;
1169 image: "sl_left.png" COMP;
1170 image: "sl_right.png" COMP;
1171 image: "sl_top.png" COMP;
1172 image: "sl_bottom.png" COMP;
1173 image: "sl_htop.png" COMP;
1174 image: "sl_hbottom.png" COMP;
1175 }
1176 parts {
1177 // background pattern. duplicated because clips cut out regions of
1178 // it to see and clips don't overlap
1179 part { name: "background_top";
1180 mouse_events: 0;
1181 clip_to: "top_clip";
1182 description { state: "default" 0.0;
1183 color: PATCOL;
1184 image.normal: "sl_stripe.png";
1185 fill.size.relative: 0.0 0.0;
1186 fill.size.offset: 40 40;
1187 }
1188 description { state: "pulse" 0.0;
1189 inherit: "default" 0.0;
1190 color: PATCOL2;
1191 }
1192 }
1193 part { name: "background_middle";
1194 mouse_events: 0;
1195 clip_to: "middle_clip";
1196 description { state: "default" 0.0;
1197 color: PATCOL;
1198 image.normal: "sl_stripe.png";
1199 fill.size.relative: 0.0 0.0;
1200 fill.size.offset: 40 40;
1201 }
1202 description { state: "pulse" 0.0;
1203 inherit: "default" 0.0;
1204 color: PATCOL2;
1205 }
1206 }
1207 part { name: "background_bottom";
1208 mouse_events: 0;
1209 clip_to: "bottom_clip";
1210 description { state: "default" 0.0;
1211 color: PATCOL;
1212 image.normal: "sl_stripe.png";
1213 fill.size.relative: 0.0 0.0;
1214 fill.size.offset: 40 40;
1215 }
1216 description { state: "pulse" 0.0;
1217 inherit: "default" 0.0;
1218 color: PATCOL2;
1219 }
1220 }
1221
1222 // clips that clip the above pattern images to occupy specific
1223 // regions of the object (or be invisible since clip is invisible)
1224 part { name: "top_clip"; type: RECT;
1225 mouse_events: 0;
1226 description { state: "default" 0.0;
1227 rel1.to: "terminology.top_left";
1228 rel1.relative: 1.0 0.0;
1229 rel2.to_y: "terminology.top_left";
1230 rel2.relative: 1.0 1.0;
1231 }
1232 description { state: "oneline" 0.0;
1233 visible: 0;
1234 }
1235 }
1236 part { name: "middle_clip"; type: RECT;
1237 mouse_events: 0;
1238 description { state: "default" 0.0;
1239 rel1.to: "terminology.top_left";
1240 rel1.relative: 0.0 1.0;
1241 rel2.to: "terminology.bottom_right";
1242 rel2.relative: 1.0 0.0;
1243 }
1244 description { state: "oneline" 0.0;
1245 rel1.to: "terminology.top_left";
1246 rel1.relative: 1.0 0.0;
1247 rel2.to: "terminology.bottom_right";
1248 rel2.relative: 0.0 1.0;
1249 }
1250 }
1251 part { name: "bottom_clip"; type: RECT;
1252 mouse_events: 0;
1253 description { state: "default" 0.0;
1254 rel1.to_y: "terminology.bottom_right";
1255 rel1.relative: 0.0 0.0;
1256 rel2.to_x: "terminology.bottom_right";
1257 rel2.relative: 0.0 1.0;
1258 }
1259 description { state: "oneline" 0.0;
1260 visible: 0;
1261 }
1262 }
1263
1264 // the outline around the selection...
1265#define TARGETS \
1266target: "top_clip"; target: "middle_clip"; target: "bottom_clip"; \
1267target: "0.clip"; target: "1.clip"; target: "2.clip"; target: "3.clip"; target: "4.clip"
1268
1269 part { name: "0.clip"; type: RECT;
1270 mouse_events: 0;
1271 description { state: "default" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1272 description { state: "oneline" 0.0; visible: 1; rel1.offset: -100 -100; rel2.offset: 101 101; }
1273 description { state: "disjoint" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1274 description { state: "topfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1275 description { state: "bottomfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1276 }
1277 part { name: "1.clip"; type: RECT;
1278 mouse_events: 0;
1279 description { state: "default" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1280 description { state: "oneline" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1281 description { state: "disjoint" 0.0; visible: 1; rel1.offset: -100 -100; rel2.offset: 101 101; }
1282 description { state: "topfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1283 description { state: "bottomfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1284 }
1285 part { name: "2.clip"; type: RECT;
1286 mouse_events: 0;
1287 description { state: "default" 0.0; visible: 1; rel1.offset: -100 -100; rel2.offset: 101 101; }
1288 description { state: "oneline" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1289 description { state: "disjoint" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1290 description { state: "topfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1291 description { state: "bottomfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1292 }
1293 part { name: "3.clip"; type: RECT;
1294 mouse_events: 0;
1295 description { state: "default" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1296 description { state: "oneline" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1297 description { state: "disjoint" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1298 description { state: "topfull" 0.0; visible: 1; rel1.offset: -100 -100; rel2.offset: 101 101; }
1299 description { state: "bottomfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1300 }
1301 part { name: "4.clip"; type: RECT;
1302 mouse_events: 0;
1303 description { state: "default" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1304 description { state: "oneline" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1305 description { state: "disjoint" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1306 description { state: "topfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
1307 description { state: "bottomfull" 0.0; visible: 1; rel1.offset: -100 -100; rel2.offset: 101 101; }
1308 }
1309
1310 // oneline (also multiple lines but all fill the row):
1311 // | ######### |
1312 part { name: "0.left";
1313 mouse_events: 0;
1314 clip_to: "0.clip";
1315 description { state: "default" 0.0;
1316 rel1 {
1317 to_x: "terminology.top_left";
1318 relative: 1.0 0.0;
1319 offset: -1 -1;
1320 }
1321 rel2 {
1322 to_x: "terminology.top_left";
1323 relative: 1.0 1.0;
1324 offset: 2 0;
1325 }
1326 color: OUTCOL;
1327 image.normal: "sl_left.png";
1328 image.border: 0 0 4 4;
1329 fill.smooth: 0;
1330 }
1331 description { state: "pulse" 0.0;
1332 inherit: "default" 0.0;
1333 color: OUTCOL2;
1334 }
1335 }
1336 part { name: "0.right";
1337 mouse_events: 0;
1338 clip_to: "0.clip";
1339 description { state: "default" 0.0;
1340 rel1 {
1341 to_x: "terminology.bottom_right";
1342 relative: 0.0 0.0;
1343 offset: -3 -1;
1344 }
1345 rel2 {
1346 to_x: "terminology.bottom_right";
1347 relative: 0.0 1.0;
1348 offset: 0 0;
1349 }
1350 color: OUTCOL;
1351 image.normal: "sl_right.png";
1352 image.border: 0 0 4 4;
1353 fill.smooth: 0;
1354 }
1355 description { state: "pulse" 0.0;
1356 inherit: "default" 0.0;
1357 color: OUTCOL2;
1358 }
1359 }
1360 part { name: "0.top";
1361 mouse_events: 0;
1362 clip_to: "0.clip";
1363 description { state: "default" 0.0;
1364 rel1 {
1365 to: "0.left";
1366 relative: 1.0 0.0;
1367 offset: 0 0;
1368 }
1369 rel2 {
1370 to: "0.right";
1371 relative: 0.0 0.0;
1372 offset: -1 3;
1373 }
1374 color: OUTCOL;
1375 image.normal: "sl_htop.png";
1376 fill.smooth: 0;
1377 }
1378 description { state: "pulse" 0.0;
1379 inherit: "default" 0.0;
1380 color: OUTCOL2;
1381 }
1382 }
1383 part { name: "0.bottom";
1384 mouse_events: 0;
1385 clip_to: "0.clip";
1386 description { state: "default" 0.0;
1387 rel1 {
1388 to: "0.left";
1389 relative: 1.0 1.0;
1390 offset: 0 -4;
1391 }
1392 rel2 {
1393 to: "0.right";
1394 relative: 0.0 1.0;
1395 offset: -1 -1;
1396 }
1397 color: OUTCOL;
1398 image.normal: "sl_hbottom.png";
1399 fill.smooth: 0;
1400 }
1401 description { state: "pulse" 0.0;
1402 inherit: "default" 0.0;
1403 color: OUTCOL2;
1404 }
1405 }
1406 program { name: "oneline";
1407 signal: "mode,oneline";
1408 source: "terminology";
1409 action: STATE_SET "oneline" 0.0;
1410 TARGETS;
1411 }
1412
1413 // disjoint:
1414 // | #######|
1415 // |## |
1416 part { name: "1.left";
1417 mouse_events: 0;
1418 clip_to: "1.clip";
1419 description { state: "default" 0.0;
1420 rel1 {
1421 to: "terminology.top_left";
1422 relative: 1.0 0.0;
1423 offset: -1 -1;
1424 }
1425 rel2 {
1426 to: "terminology.top_left";
1427 relative: 1.0 1.0;
1428 offset: 2 0;
1429 }
1430 color: OUTCOL;
1431 image.normal: "sl_left.png";
1432 image.border: 0 0 4 4;
1433 fill.smooth: 0;
1434 }
1435 description { state: "pulse" 0.0;
1436 inherit: "default" 0.0;
1437 color: OUTCOL2;
1438 }
1439 }
1440 part { name: "1.right";
1441 mouse_events: 0;
1442 clip_to: "1.clip";
1443 description { state: "default" 0.0;
1444 rel1 {
1445 to_y: "terminology.top_left";
1446 relative: 1.0 0.0;
1447 offset: -4 -1;
1448 }
1449 rel2 {
1450 to_y: "terminology.top_left";
1451 relative: 1.0 1.0;
1452 offset: -1 0;
1453 }
1454 color: OUTCOL;
1455 image.normal: "sl_right.png";
1456 image.border: 0 0 4 4;
1457 fill.smooth: 0;
1458 }
1459 description { state: "pulse" 0.0;
1460 inherit: "default" 0.0;
1461 color: OUTCOL2;
1462 }
1463 }
1464 part { name: "1.top";
1465 mouse_events: 0;
1466 clip_to: "1.clip";
1467 description { state: "default" 0.0;
1468 rel1 {
1469 to: "1.left";
1470 relative: 1.0 0.0;
1471 offset: 0 0;
1472 }
1473 rel2 {
1474 to: "1.right";
1475 relative: 0.0 0.0;
1476 offset: -1 3;
1477 }
1478 color: OUTCOL;
1479 image.normal: "sl_htop.png";
1480 fill.smooth: 0;
1481 }
1482 description { state: "pulse" 0.0;
1483 inherit: "default" 0.0;
1484 color: OUTCOL2;
1485 }
1486 }
1487 part { name: "1.bottom";
1488 mouse_events: 0;
1489 clip_to: "1.clip";
1490 description { state: "default" 0.0;
1491 rel1 {
1492 to: "1.left";
1493 relative: 1.0 1.0;
1494 offset: 0 -4;
1495 }
1496 rel2 {
1497 to: "1.right";
1498 relative: 0.0 1.0;
1499 offset: -1 -1;
1500 }
1501 color: OUTCOL;
1502 image.normal: "sl_hbottom.png";
1503 fill.smooth: 0;
1504 }
1505 description { state: "pulse" 0.0;
1506 inherit: "default" 0.0;
1507 color: OUTCOL2;
1508 }
1509 }
1510 part { name: "1.left2";
1511 mouse_events: 0;
1512 clip_to: "1.clip";
1513 description { state: "default" 0.0;
1514 rel1 {
1515 to_y: "terminology.bottom_right";
1516 offset: -1 -1;
1517 }
1518 rel2 {
1519 to_y: "terminology.bottom_right";
1520 relative: 0.0 1.0;
1521 offset: 2 0;
1522 }
1523 color: OUTCOL;
1524 image.normal: "sl_left.png";
1525 image.border: 0 0 4 4;
1526 fill.smooth: 0;
1527 }
1528 description { state: "pulse" 0.0;
1529 inherit: "default" 0.0;
1530 color: OUTCOL2;
1531 }
1532 }
1533 part { name: "1.right2";
1534 mouse_events: 0;
1535 clip_to: "1.clip";
1536 description { state: "default" 0.0;
1537 rel1 {
1538 to: "terminology.bottom_right";
1539 relative: 0.0 0.0;
1540 offset: -3 -1;
1541 }
1542 rel2 {
1543 to: "terminology.bottom_right";
1544 relative: 0.0 1.0;
1545 offset: 0 0;
1546 }
1547 color: OUTCOL;
1548 image.normal: "sl_right.png";
1549 image.border: 0 0 4 4;
1550 fill.smooth: 0;
1551 }
1552 description { state: "pulse" 0.0;
1553 inherit: "default" 0.0;
1554 color: OUTCOL2;
1555 }
1556 }
1557 part { name: "1.top2";
1558 mouse_events: 0;
1559 clip_to: "1.clip";
1560 description { state: "default" 0.0;
1561 rel1 {
1562 to: "1.left2";
1563 relative: 1.0 0.0;
1564 offset: 0 0;
1565 }
1566 rel2 {
1567 to: "1.right2";
1568 relative: 0.0 0.0;
1569 offset: -1 3;
1570 }
1571 color: OUTCOL;
1572 image.normal: "sl_htop.png";
1573 fill.smooth: 0;
1574 }
1575 description { state: "pulse" 0.0;
1576 inherit: "default" 0.0;
1577 color: OUTCOL2;
1578 }
1579 }
1580 part { name: "1.bottom2";
1581 mouse_events: 0;
1582 clip_to: "1.clip";
1583 description { state: "default" 0.0;
1584 rel1 {
1585 to: "1.left2";
1586 relative: 1.0 1.0;
1587 offset: 0 -4;
1588 }
1589 rel2 {
1590 to: "1.right2";
1591 relative: 0.0 1.0;
1592 offset: -1 -1;
1593 }
1594 color: OUTCOL;
1595 image.normal: "sl_hbottom.png";
1596 fill.smooth: 0;
1597 }
1598 description { state: "pulse" 0.0;
1599 inherit: "default" 0.0;
1600 color: OUTCOL2;
1601 }
1602 }
1603 program { name: "disjoint";
1604 signal: "mode,disjoint";
1605 source: "terminology";
1606 action: STATE_SET "disjoint" 0.0;
1607 TARGETS;
1608 }
1609
1610 // default:
1611 // | ###########|
1612 // |######### |
1613 part { name: "2.topkink";
1614 mouse_events: 0;
1615 clip_to: "2.clip";
1616 description { state: "default" 0.0;
1617 rel1 {
1618 to: "top_clip";
1619 relative: 0.0 0.0;
1620 offset: -4 -1;
1621 }
1622 rel2 {
1623 to: "top_clip";
1624 relative: 0.0 1.0;
1625 offset: 2 2;
1626 }
1627 color: OUTCOL;
1628 image.normal: "sl_top.png";
1629 image.border: 0 0 4 7;
1630 }
1631 description { state: "pulse" 0.0;
1632 inherit: "default" 0.0;
1633 color: OUTCOL2;
1634 }
1635 }
1636 part { name: "2.bottomkink";
1637 mouse_events: 0;
1638 clip_to: "2.clip";
1639 description { state: "default" 0.0;
1640 rel1 {
1641 to: "bottom_clip";
1642 relative: 1.0 0.0;
1643 offset: -3 -3;
1644 }
1645 rel2 {
1646 to: "bottom_clip";
1647 relative: 1.0 1.0;
1648 offset: 3 0;
1649 }
1650 color: OUTCOL;
1651 image.normal: "sl_bottom.png";
1652 image.border: 0 0 7 4;
1653 }
1654 description { state: "pulse" 0.0;
1655 inherit: "default" 0.0;
1656 color: OUTCOL2;
1657 }
1658 }
1659 part { name: "2.left";
1660 mouse_events: 0;
1661 clip_to: "2.clip";
1662 description { state: "default" 0.0;
1663 rel1 {
1664 to: "middle_clip";
1665 offset: -1 -1;
1666 }
1667 rel2 {
1668 to: "bottom_clip";
1669 relative: 0.0 1.0;
1670 offset: 2 0;
1671 }
1672 color: OUTCOL;
1673 image.normal: "sl_left.png";
1674 image.border: 0 0 4 4;
1675 fill.smooth: 0;
1676 }
1677 description { state: "pulse" 0.0;
1678 inherit: "default" 0.0;
1679 color: OUTCOL2;
1680 }
1681 }
1682 part { name: "2.right";
1683 mouse_events: 0;
1684 clip_to: "2.clip";
1685 description { state: "default" 0.0;
1686 rel1 {
1687 to: "top_clip";
1688 relative: 1.0 0.0;
1689 offset: -3 -1;
1690 }
1691 rel2 {
1692 to: "middle_clip";
1693 offset: 0 0;
1694 }
1695 color: OUTCOL;
1696 image.normal: "sl_right.png";
1697 image.border: 0 0 4 4;
1698 fill.smooth: 0;
1699 }
1700 description { state: "pulse" 0.0;
1701 inherit: "default" 0.0;
1702 color: OUTCOL2;
1703 }
1704 }
1705 part { name: "2.top";
1706 mouse_events: 0;
1707 clip_to: "2.clip";
1708 description { state: "default" 0.0;
1709 rel1 {
1710 to: "2.topkink";
1711 relative: 1.0 0.0;
1712 offset: 0 0;
1713 }
1714 rel2 {
1715 to: "2.right";
1716 relative: 0.0 0.0;
1717 offset: -1 3;
1718 }
1719 color: OUTCOL;
1720 image.normal: "sl_htop.png";
1721 fill.smooth: 0;
1722 }
1723 description { state: "pulse" 0.0;
1724 inherit: "default" 0.0;
1725 color: OUTCOL2;
1726 }
1727 }
1728 part { name: "2.top2";
1729 mouse_events: 0;
1730 clip_to: "2.clip";
1731 description { state: "default" 0.0;
1732 rel1 {
1733 to: "2.left";
1734 relative: 1.0 0.0;
1735 offset: 0 0;
1736 }
1737 rel2 {
1738 to: "2.topkink";
1739 relative: 0.0 1.0;
1740 offset: -1 -1;
1741 }
1742 color: OUTCOL;
1743 image.normal: "sl_htop.png";
1744 fill.smooth: 0;
1745 }
1746 description { state: "pulse" 0.0;
1747 inherit: "default" 0.0;
1748 color: OUTCOL2;
1749 }
1750 }
1751 part { name: "2.bottom";
1752 mouse_events: 0;
1753 clip_to: "2.clip";
1754 description { state: "default" 0.0;
1755 rel1 {
1756 to: "2.left";
1757 relative: 1.0 1.0;
1758 offset: 0 -4;
1759 }
1760 rel2 {
1761 to: "2.bottomkink";
1762 relative: 0.0 1.0;
1763 offset: -1 -1;
1764 }
1765 color: OUTCOL;
1766 image.normal: "sl_hbottom.png";
1767 fill.smooth: 0;
1768 }
1769 description { state: "pulse" 0.0;
1770 inherit: "default" 0.0;
1771 color: OUTCOL2;
1772 }
1773 }
1774 part { name: "2.bottom2";
1775 mouse_events: 0;
1776 clip_to: "2.clip";
1777 description { state: "default" 0.0;
1778 rel1 {
1779 to: "2.bottomkink";
1780 relative: 1.0 0.0;
1781 offset: 0 0;
1782 }
1783 rel2 {
1784 to: "2.right";
1785 relative: 0.0 1.0;
1786 offset: -1 -1;
1787 }
1788 color: OUTCOL;
1789 image.normal: "sl_hbottom.png";
1790 fill.smooth: 0;
1791 }
1792 description { state: "pulse" 0.0;
1793 inherit: "default" 0.0;
1794 color: OUTCOL2;
1795 }
1796 }
1797 program { name: "multiline";
1798 signal: "mode,multiline";
1799 source: "terminology";
1800 action: STATE_SET "default" 0.0;
1801 TARGETS;
1802 }
1803
1804 // topfull:
1805 // |##############|
1806 // |###### |
1807 part { name: "3.bottomkink";
1808 mouse_events: 0;
1809 clip_to: "3.clip";
1810 description { state: "default" 0.0;
1811 rel1 {
1812 to: "bottom_clip";
1813 relative: 1.0 0.0;
1814 offset: -3 -3;
1815 }
1816 rel2 {
1817 to: "bottom_clip";
1818 relative: 1.0 1.0;
1819 offset: 3 0;
1820 }
1821 color: OUTCOL;
1822 image.normal: "sl_bottom.png";
1823 image.border: 0 0 7 4;
1824 }
1825 description { state: "pulse" 0.0;
1826 inherit: "default" 0.0;
1827 color: OUTCOL2;
1828 }
1829 }
1830 part { name: "3.left";
1831 mouse_events: 0;
1832 clip_to: "3.clip";
1833 description { state: "default" 0.0;
1834 rel1 {
1835 to: "top_clip";
1836 offset: -1 -1;
1837 }
1838 rel2 {
1839 to: "bottom_clip";
1840 relative: 0.0 1.0;
1841 offset: 2 0;
1842 }
1843 color: OUTCOL;
1844 image.normal: "sl_left.png";
1845 image.border: 0 0 4 4;
1846 fill.smooth: 0;
1847 }
1848 description { state: "pulse" 0.0;
1849 inherit: "default" 0.0;
1850 color: OUTCOL2;
1851 }
1852 }
1853 part { name: "3.right";
1854 mouse_events: 0;
1855 clip_to: "3.clip";
1856 description { state: "default" 0.0;
1857 rel1 {
1858 to: "top_clip";
1859 relative: 1.0 0.0;
1860 offset: -3 -1;
1861 }
1862 rel2 {
1863 to: "middle_clip";
1864 offset: 0 0;
1865 }
1866 color: OUTCOL;
1867 image.normal: "sl_right.png";
1868 image.border: 0 0 4 4;
1869 fill.smooth: 0;
1870 }
1871 description { state: "pulse" 0.0;
1872 inherit: "default" 0.0;
1873 color: OUTCOL2;
1874 }
1875 }
1876 part { name: "3.top";
1877 mouse_events: 0;
1878 clip_to: "3.clip";
1879 description { state: "default" 0.0;
1880 rel1 {
1881 to: "3.left";
1882 relative: 1.0 0.0;
1883 offset: 0 0;
1884 }
1885 rel2 {
1886 to: "3.right";
1887 relative: 0.0 0.0;
1888 offset: -1 3;
1889 }
1890 color: OUTCOL;
1891 image.normal: "sl_htop.png";
1892 fill.smooth: 0;
1893 }
1894 description { state: "pulse" 0.0;
1895 inherit: "default" 0.0;
1896 color: OUTCOL2;
1897 }
1898 }
1899 part { name: "3.bottom";
1900 mouse_events: 0;
1901 clip_to: "3.clip";
1902 description { state: "default" 0.0;
1903 rel1 {
1904 to: "3.left";
1905 relative: 1.0 1.0;
1906 offset: 0 -4;
1907 }
1908 rel2 {
1909 to: "3.bottomkink";
1910 relative: 0.0 1.0;
1911 offset: -1 -1;
1912 }
1913 color: OUTCOL;
1914 image.normal: "sl_hbottom.png";
1915 fill.smooth: 0;
1916 }
1917 description { state: "pulse" 0.0;
1918 inherit: "default" 0.0;
1919 color: OUTCOL2;
1920 }
1921 }
1922 part { name: "3.bottom2";
1923 mouse_events: 0;
1924 clip_to: "3.clip";
1925 description { state: "default" 0.0;
1926 rel1 {
1927 to: "3.bottomkink";
1928 relative: 1.0 0.0;
1929 offset: 0 0;
1930 }
1931 rel2 {
1932 to: "3.right";
1933 relative: 0.0 1.0;
1934 offset: -1 -1;
1935 }
1936 color: OUTCOL;
1937 image.normal: "sl_hbottom.png";
1938 fill.smooth: 0;
1939 }
1940 description { state: "pulse" 0.0;
1941 inherit: "default" 0.0;
1942 color: OUTCOL2;
1943 }
1944 }
1945 program { name: "topfull";
1946 signal: "mode,topfull";
1947 source: "terminology";
1948 action: STATE_SET "topfull" 0.0;
1949 TARGETS;
1950 }
1951
1952 // bottomfull:
1953 // | ######|
1954 // |##############|
1955 part { name: "4.topkink";
1956 mouse_events: 0;
1957 clip_to: "4.clip";
1958 description { state: "default" 0.0;
1959 rel1 {
1960 to: "top_clip";
1961 relative: 0.0 0.0;
1962 offset: -4 -1;
1963 }
1964 rel2 {
1965 to: "top_clip";
1966 relative: 0.0 1.0;
1967 offset: 2 2;
1968 }
1969 color: OUTCOL;
1970 image.normal: "sl_top.png";
1971 image.border: 0 0 4 7;
1972 }
1973 description { state: "pulse" 0.0;
1974 inherit: "default" 0.0;
1975 color: OUTCOL2;
1976 }
1977 }
1978 part { name: "4.left";
1979 mouse_events: 0;
1980 clip_to: "4.clip";
1981 description { state: "default" 0.0;
1982 rel1 {
1983 to: "middle_clip";
1984 offset: -1 -1;
1985 }
1986 rel2 {
1987 to: "bottom_clip";
1988 relative: 0.0 1.0;
1989 offset: 2 0;
1990 }
1991 color: OUTCOL;
1992 image.normal: "sl_left.png";
1993 image.border: 0 0 4 4;
1994 fill.smooth: 0;
1995 }
1996 description { state: "pulse" 0.0;
1997 inherit: "default" 0.0;
1998 color: OUTCOL2;
1999 }
2000 }
2001 part { name: "4.right";
2002 mouse_events: 0;
2003 clip_to: "4.clip";
2004 description { state: "default" 0.0;
2005 rel1 {
2006 to: "top_clip";
2007 relative: 1.0 0.0;
2008 offset: -3 -1;
2009 }
2010 rel2 {
2011 offset: 0 0;
2012 }
2013 color: OUTCOL;
2014 image.normal: "sl_right.png";
2015 image.border: 0 0 4 4;
2016 fill.smooth: 0;
2017 }
2018 description { state: "pulse" 0.0;
2019 inherit: "default" 0.0;
2020 color: OUTCOL2;
2021 }
2022 }
2023 part { name: "4.top";
2024 mouse_events: 0;
2025 clip_to: "4.clip";
2026 description { state: "default" 0.0;
2027 rel1 {
2028 to: "4.topkink";
2029 relative: 1.0 0.0;
2030 offset: 0 0;
2031 }
2032 rel2 {
2033 to: "4.right";
2034 relative: 0.0 0.0;
2035 offset: -1 3;
2036 }
2037 color: OUTCOL;
2038 image.normal: "sl_htop.png";
2039 fill.smooth: 0;
2040 }
2041 description { state: "pulse" 0.0;
2042 inherit: "default" 0.0;
2043 color: OUTCOL2;
2044 }
2045 }
2046 part { name: "4.top2";
2047 mouse_events: 0;
2048 clip_to: "4.clip";
2049 description { state: "default" 0.0;
2050 rel1 {
2051 to: "4.left";
2052 relative: 1.0 0.0;
2053 offset: 0 0;
2054 }
2055 rel2 {
2056 to: "4.topkink";
2057 relative: 0.0 1.0;
2058 offset: -1 -1;
2059 }
2060 color: OUTCOL;
2061 image.normal: "sl_htop.png";
2062 fill.smooth: 0;
2063 }
2064 description { state: "pulse" 0.0;
2065 inherit: "default" 0.0;
2066 color: OUTCOL2;
2067 }
2068 }
2069 part { name: "4.bottom";
2070 mouse_events: 0;
2071 clip_to: "4.clip";
2072 description { state: "default" 0.0;
2073 rel1 {
2074 to: "4.left";
2075 relative: 1.0 1.0;
2076 offset: 0 -4;
2077 }
2078 rel2 {
2079 to: "4.right";
2080 relative: 1.0 1.0;
2081 offset: -1 -1;
2082 }
2083 color: OUTCOL;
2084 image.normal: "sl_hbottom.png";
2085 fill.smooth: 0;
2086 }
2087 description { state: "pulse" 0.0;
2088 inherit: "default" 0.0;
2089 color: OUTCOL2;
2090 }
2091 }
2092 program {
2093 signal: "mode,bottomfull"; source: "terminology";
2094 action: STATE_SET "bottomfull" 0.0;
2095 TARGETS;
2096 }
2097
2098#define SELPULSE \
2099target: "background_top"; \
2100target: "background_middle"; \
2101target: "background_bottom"; \
2102target: "0.left"; \
2103target: "0.right"; \
2104target: "0.top"; \
2105target: "0.bottom"; \
2106target: "1.left"; \
2107target: "1.right"; \
2108target: "1.top"; \
2109target: "1.bottom"; \
2110target: "1.left2"; \
2111target: "1.right2"; \
2112target: "1.top2"; \
2113target: "1.bottom2"; \
2114target: "2.topkink"; \
2115target: "2.bottomkink"; \
2116target: "2.left"; \
2117target: "2.right"; \
2118target: "2.top2"; \
2119target: "2.top"; \
2120target: "2.bottom"; \
2121target: "2.bottom2"; \
2122target: "3.bottomkink"; \
2123target: "3.left"; \
2124target: "3.right"; \
2125target: "3.top"; \
2126target: "3.bottom"; \
2127target: "3.bottom2"; \
2128target: "4.topkink"; \
2129target: "4.left"; \
2130target: "4.right"; \
2131target: "4.top2"; \
2132target: "4.top"; \
2133target: "4.bottom"
2134
2135 program { name: "selpulse";
2136 signal: "show"; source: "";
2137 action: STATE_SET "pulse" 0.0;
2138 transition: SINUSOIDAL 0.5;
2139 SELPULSE;
2140 after: "selpulse2";
2141 }
2142 program { name: "selpulse2";
2143 action: STATE_SET "default" 0.0;
2144 transition: SINUSOIDAL 1.0;
2145 SELPULSE;
2146 after: "selpulse";
2147 }
2148
2149 // top and bottom swallows used to coimmunicate via min/max size the
2150 // size of the top and bottom lines
2151 part { name: "terminology.top_left"; type: SWALLOW;
2152 mouse_events: 0;
2153 description { state: "default" 0.0;
2154 align: 0.0 0.0;
2155 rel2.relative: 0.0 0.0;
2156 visible: 0;
2157 }
2158 }
2159 part { name: "terminology.bottom_right"; type: SWALLOW;
2160 mouse_events: 0;
2161 description { state: "default" 0.0;
2162 align: 1.0 1.0;
2163 rel1.relative: 1.0 1.0;
2164 visible: 0;
2165 }
2166 }
2167
2168 // blinky cursors indicating you can drag the ends of the selection
2169 part { name: "cursor.top_left"; type: RECT;
2170 mouse_events: 0;
2171 description { state: "default" 0.0;
2172 rel1.to: "terminology.top_left";
2173 rel1.relative: 1.0 0.0;
2174 rel2.to: "terminology.top_left";
2175 rel2.relative: 1.0 1.0;
2176 rel2.offset: 0 -1;
2177 color: 255 0 0 128;
2178 }
2179 }
2180 part { name: "cursor_blink.top_left"; type: RECT;
2181 mouse_events: 0;
2182 description { state: "default" 0.0;
2183 rel1.to: "cursor.top_left";
2184 rel2.to: "cursor.top_left";
2185 visible: 0;
2186 }
2187 description { state: "fading" 0.0;
2188 inherit: "default" 0.0;
2189 color: 255 0 0 255;
2190 visible: 1;
2191 }
2192 description { state: "fading" 1.0;
2193 inherit: "fading" 0.0;
2194 color: 255 0 0 64;
2195 rel1.offset: -5 0;
2196 }
2197 }
2198 part { name: "zone.top_left"; type: RECT;
2199 description { state: "default" 0.0;
2200 rel1.to: "cursor.top_left";
2201 rel1.offset: -15 0;
2202 rel2.to: "cursor.top_left";
2203 rel2.offset: 15 0;
2204 color: 0 0 0 0;
2205 }
2206 program { name: "top_left.blink";
2207 signal: "mouse,in";
2208 source: "zone.top_left";
2209 action: STATE_SET "fading" 0.0;
2210 target: "cursor_blink.top_left";
2211 after: "top_left.fade";
2212 }
2213 program { name: "top_left.fade";
2214 action: STATE_SET "fading" 1.0;
2215 transition: LINEAR 0.3;
2216 target: "cursor_blink.top_left";
2217 after: "top_left.blink";
2218 }
2219 program { name: "top_left.stop";
2220 signal: "mouse,out";
2221 source: "zone.top_left";
2222 action: STATE_SET "default" 0.0;
2223 target: "cursor_blink.top_left";
2224 }
2225 }
2226 part { name: "cursor.bottom_right"; type: RECT;
2227 mouse_events: 0;
2228 description { state: "default" 0.0;
2229 rel1.to: "terminology.bottom_right";
2230 rel1.relative: 0.0 0.0;
2231 rel1.offset: -1 0;
2232 rel2.to: "terminology.bottom_right";
2233 rel2.relative: 0.0 1.0;
2234 rel2.offset: -1 -1;
2235 color: 255 0 0 128;
2236 }
2237 }
2238 part { name: "cursor_blink.bottom_right"; type: RECT;
2239 mouse_events: 0;
2240 description { state: "default" 0.0;
2241 rel1.to: "cursor.bottom_right";
2242 rel2.to: "cursor.bottom_right";
2243 visible: 0;
2244 }
2245 description { state: "fading" 0.0;
2246 inherit: "default" 0.0;
2247 color: 255 0 0 255;
2248 visible: 1;
2249 }
2250 description { state: "fading" 1.0;
2251 inherit: "fading" 0.0;
2252 color: 255 0 0 64;
2253 rel2.offset: +5 0;
2254 }
2255 }
2256 part { name: "zone.bottom_right"; type: RECT;
2257 description { state: "default" 0.0;
2258 rel1.to: "cursor.bottom_right";
2259 rel1.offset: -15 0;
2260 rel2.to: "cursor.bottom_right";
2261 rel2.offset: 15 0;
2262 color: 0 0 0 0;
2263 }
2264 program { name: "bottom_right.blink";
2265 signal: "mouse,in"; source: "zone.bottom_right";
2266 action: STATE_SET "fading" 0.0;
2267 target: "cursor_blink.bottom_right";
2268 after: "bottom_right.fade";
2269 }
2270 program { name: "bottom_right.fade";
2271 action: STATE_SET "fading" 1.0;
2272 transition: LINEAR 0.3;
2273 target: "cursor_blink.bottom_right";
2274 after: "bottom_right.blink";
2275 }
2276 program { name: "bottom_right.stop";
2277 signal: "mouse,out"; source: "zone.bottom_right";
2278 action: STATE_SET "default" 0.0;
2279 target: "cursor_blink.bottom_right";
2280 }
2281 }
2282 }
2283 }
2284
2285
2286//////////////////////////////////////////////////////////////////////////////
2287 //// the cursor to show where text is typed
2288 group { name: "terminology/cursor";
2289 images {
2290 image: "cr_key.png" COMP;
2291 image: "cr_out.png" COMP;
2292 image: "cr_pulse.png" COMP;
2293 image: "cr_glow.png" COMP;
2294 }
2295 sounds {
2296 sample { name: "key-tap1" LOSSY 64;
2297 source: "kbd-tap.wav";
2298 }
2299 sample { name: "key-tap2" LOSSY 64;
2300 source: "kbd-tap2.wav";
2301 }
2302 sample { name: "key-tap3" LOSSY 64;
2303 source: "kbd-tap3.wav";
2304 }
2305 sample { name: "key-tap4" LOSSY 64;
2306 source: "kbd-tap4.wav";
2307 }
2308 sample { name: "key-tap5" LOSSY 64;
2309 source: "kbd-tap5.wav";
2310 }
2311 }
2312 parts {
2313 part { name: "key";
2314 mouse_events: 0;
2315 description { state: "default" 0.0;
2316 rel1 {
2317 to: "outline";
2318 offset: -5 -5;
2319 }
2320 rel2 {
2321 to: "outline";
2322 offset: 4 4;
2323 }
2324 image {
2325 normal: "cr_key.png";
2326 border: 4 4 4 4;
2327 }
2328 color: 51 153 255 0;
2329 }
2330 description { state: "on" 0.0;
2331 inherit: "default" 0.0;
2332 color: 51 153 255 255;
2333 }
2334 description { state: "out" 0.0;
2335 inherit: "default" 0.0;
2336 color: 51 153 255 0;
2337 rel1.offset: -7 -15;
2338 rel2.offset: 6 14;
2339 }
2340 }
2341 part { name: "pulse";
2342 mouse_events: 0;
2343 description { state: "default" 0.0;
2344 rel1 {
2345 to: "outline";
2346 offset: -4 -4;
2347 }
2348 rel2 {
2349 to: "outline";
2350 offset: 3 3;
2351 }
2352 image {
2353 normal: "cr_pulse.png";
2354 border: 4 4 4 4;
2355 }
2356 color: 51 153 255 0;
2357 }
2358 description { state: "on" 0.0;
2359 inherit: "default" 0.0;
2360 color: 51 153 255 255;
2361 }
2362 description { state: "out" 0.0;
2363 inherit: "default" 0.0;
2364 color: 51 153 255 0;
2365 rel1.offset: -8 -8;
2366 rel2.offset: 7 7;
2367 }
2368 }
2369 part { name: "glow";
2370 mouse_events: 0;
2371 description { state: "default" 0.0;
2372 rel1.offset: -4 -4;
2373 rel2.offset: 3 3;
2374 image {
2375 normal: "cr_glow.png";
2376 border: 9 9 9 9;
2377 }
2378 color: 51 153 255 40;
2379 }
2380 description { state: "focused" 0.0;
2381 inherit: "default" 0.0;
2382 color: 51 153 255 255;
2383 }
2384 }
2385 part { name: "outline";
2386 mouse_events: 0;
2387 description { state: "default" 0.0;
2388 image {
2389 normal: "cr_out.png";
2390 border: 3 3 3 3;
2391 }
2392 color: 51 153 255 80;
2393 }
2394 description { state: "focused" 0.0;
2395 inherit: "default" 0.0;
2396 color: 255 255 255 255;
2397 }
2398 }
2399 programs {
2400 program {
2401 signal: "focus,in,noblink"; source: "terminology";
2402 action: STATE_SET "focused" 0.0;
2403 target: "glow";
2404 target: "outline";
2405 }
2406 program { name: "focus_in";
2407 signal: "focus,in"; source: "terminology";
2408 action: STATE_SET "focused" 0.0;
2409 target: "glow";
2410 target: "outline";
2411 after: "focus2";
2412 after: "pulse";
2413 }
2414 program { name: "focus2";
2415 in: 0.5 0.0;
2416 action: STATE_SET "default" 0.0;
2417 transition: DECELERATE 0.2;
2418 target: "glow";
2419 target: "outline";
2420 after: "focus3";
2421 }
2422 program { name: "focus3";
2423 in: 0.5 0.0;
2424 action: STATE_SET "focused" 0.0;
2425 target: "glow";
2426 target: "outline";
2427 after: "focus2";
2428 after: "pulse";
2429 }
2430 program { name: "pulse";
2431 action: STATE_SET "on" 0.0;
2432 target: "pulse";
2433 after: "pulse2";
2434 }
2435 program { name: "pulse2";
2436 action: STATE_SET "out" 0.0;
2437 transition: DECELERATE 0.4;
2438 target: "pulse";
2439 }
2440 program {
2441 signal: "focus,out"; source: "terminology";
2442 action: ACTION_STOP;
2443 target: "focus_in";
2444 target: "focus2";
2445 target: "focus3";
2446 target: "pulse";
2447 target: "pulse2";
2448 after: "focus_out2";
2449 }
2450 program { name: "focus_out2";
2451 action: STATE_SET "default" 0.0;
2452 target: "glow";
2453 target: "outline";
2454 }
2455 program {
2456 signal: "key,down"; source: "terminology";
2457 script {
2458 new buf[32];
2459 snprintf(buf, 31, "key-down%i", (rand() % 5) + 1);
2460 run_program(get_program_id(buf));
2461 }
2462 }
2463 program { name: "key-down1";
2464 action: PLAY_SAMPLE "key-tap1" 1.0;
2465 }
2466 program { name: "key-down2";
2467 action: PLAY_SAMPLE "key-tap2" 1.0;
2468 }
2469 program { name: "key-down3";
2470 action: PLAY_SAMPLE "key-tap3" 1.0;
2471 }
2472 program { name: "key-down4";
2473 action: PLAY_SAMPLE "key-tap4" 1.0;
2474 }
2475 program { name: "key-down5";
2476 action: PLAY_SAMPLE "key-tap5" 1.0;
2477 }
2478 program {
2479 signal: "key,down"; source: "terminology";
2480 action: STATE_SET "default" 0.0;
2481 target: "key";
2482 after: "key2";
2483 }
2484 program { name: "key2";
2485 action: STATE_SET "on" 0.0;
2486 target: "key";
2487 after: "key3";
2488 }
2489 program { name: "key3";
2490 action: STATE_SET "out" 0.0;
2491 transition: DECELERATE 0.3;
2492 target: "key";
2493 }
2494 }
2495 }
2496 }
2497//////////////////////////////////////////////////////////////////////////////
2498 //// an object to contain the selection tool used for selecting tabs (with
2499 //// a glow grid of terms
2500 group { name: "terminology/sel/base";
2501 images {
2502 image: "pm_overlay.png" COMP;
2503 image: "pm_fill.png" COMP;
2504 image: "bg_shadow.png" COMP;
2505 image: "inset_shadow.png" COMP;
2506 }
2507 parts {
2508 ////////////////////////////////////////////////////////////////////
2509 // background and shadows
2510 part { name: "shadow";
2511 mouse_events: 0;
2512 description { state: "default" 0.0;
2513 image.normal: "bg_shadow.png";
2514 fill.smooth: 0;
2515 }
2516 }
2517 part { name: "fill";
2518 mouse_events: 0;
2519 description { state: "default" 0.0;
2520 image.normal: "pm_fill.png";
2521 fill {
2522 size.relative: 0.0 0.0;
2523 size.offset: 64 64;
2524 }
2525 }
2526 description { state: "translucent" 0.0;
2527 inherit: "default" 0.0;
2528 visible: 0;
2529 }
2530 }
2531 program {
2532 signal: "translucent,on"; source: "terminology";
2533 action: STATE_SET "translucent" 0.0;
2534 target: "fill";
2535 }
2536 program {
2537 signal: "translucent,off"; source: "terminology";
2538 action: STATE_SET "default" 0.0;
2539 target: "fill";
2540 }
2541
2542 ////////////////////////////////////////////////////////////////////
2543 // content (where the grid of terms goes)
2544 part { name: "clip"; type: RECT;
2545 description { state: "default" 0.0;
2546 }
2547 }
2548 part { name: "terminology.content"; type: SWALLOW;
2549 clip_to: "clip";
2550 description { state: "default" 0.0;
2551 }
2552 }
2553
2554 ////////////////////////////////////////////////////////////////////
2555 // fancy stuff on top
2556 part { name: "overlay";
2557 mouse_events: 0;
2558 description { state: "default" 0.0;
2559 image.normal: "pm_overlay.png";
2560 color: 255 255 255 0;
2561 fill.smooth: 0;
2562 }
2563 description { state: "visible" 0.0;
2564 inherit: "default" 0.0;
2565 color: 255 255 255 255;
2566 }
2567 }
2568 part { name: "overlay_shadow"; mouse_events: 0;
2569 description { state: "default" 0.0;
2570 image.normal: "inset_shadow.png";
2571 image.border: 5 5 7 3;
2572 image.middle: 0;
2573 fill.smooth: 0;
2574 color: 255 255 255 0;
2575 }
2576 description { state: "visible" 0.0;
2577 inherit: "default" 0.0;
2578 color: 255 255 255 255;
2579 }
2580 }
2581 program {
2582 signal: "begin"; source: "terminology";
2583 action: STATE_SET "visible" 0.0;
2584 transition: DECELERATE 0.3;
2585 target: "overlay";
2586 target: "overlay_shadow";
2587 }
2588 program {
2589 signal: "end"; source: "terminology";
2590 action: STATE_SET "default" 0.0;
2591 transition: DECELERATE 0.3 CURRENT;
2592 target: "overlay";
2593 target: "overlay_shadow";
2594 }
2595 }
2596 }
2597
2598 group { name: "terminology/sel/item";
2599 images {
2600 image: "bg_bevel.png" COMP;
2601 image: "bg_shine.png" COMP;
2602 image: "bg_glint.png" COMP;
2603 image: "pm_shadow.png" COMP;
2604 image: "cr_glow.png" COMP;
2605 image: "bg_led_glow.png" COMP;
2606 image: "bg_led_base.png" COMP;
2607 image: "bg_led.png" COMP;
2608 image: "bg_led_strobe.png" COMP;
2609 }
2610 parts {
2611 ////////////////////////////////////////////////////////////////////
2612 // base background and selection image
2613 part { name: "clip"; type: RECT;
2614 description { state: "default" 0.0;
2615 rel1.to: "terminology.content";
2616 rel2.to: "terminology.content";
2617 color: 128 128 128 255;
2618 }
2619 description { state: "selected" 0.0;
2620 inherit: "default" 0.0;
2621 color: 255 255 255 255;
2622 }
2623 }
2624 part { name: "shadow";
2625 mouse_events: 0;
2626 description { state: "default" 0.0;
2627 fixed: 1 1;
2628 rel1.to: "terminology.content";
2629 rel2.to: "terminology.content";
2630 rel1.offset: -5 -5;
2631 rel2.offset: 4 4;
2632 image.normal: "pm_shadow.png";
2633 image.border: 64 64 64 64;
2634 image.border_scale_by: 0.1;
2635 color: 255 255 255 128;
2636 fill.smooth: 0;
2637 }
2638 description { state: "selected" 0.0;
2639 inherit: "default" 0.0;
2640 rel1.offset: -40 -40;
2641 rel2.offset: 39 39;
2642 image.border_scale_by: 1.0;
2643 color: 255 255 255 255;
2644 }
2645 }
2646 part { name: "glow";
2647 mouse_events: 0;
2648 description { state: "default" 0.0;
2649 rel1.to: "terminology.content";
2650 rel2.to: "terminology.content";
2651 rel1.offset: -4 -4;
2652 rel2.offset: 3 3;
2653 image {
2654 normal: "cr_glow.png";
2655 border: 9 9 9 9;
2656 }
2657 color: 51 153 255 0;
2658 }
2659 description { state: "selected" 0.0;
2660 inherit: "default" 0.0;
2661 color: 51 153 255 255;
2662 }
2663 }
2664
2665 ////////////////////////////////////////////////////////////////////
2666 // swallowed terminal content + bg inside it
2667 part { name: "base"; type: RECT;
2668 clip_to: "clip";
2669 description { state: "default" 0.0;
2670 color: 32 32 32 255;
2671 rel1.to: "terminology.content";
2672 rel2.to: "terminology.content";
2673 }
2674 }
2675 part { name: "terminology.content"; type: SWALLOW;
2676 clip_to: "clip";
2677 description { state: "default" 0.0;
2678 rel1.relative: 0.1 0.1;
2679 rel2.relative: 0.9 0.9;
2680 }
2681 description { state: "selected" 0.0;
2682 inherit: "default" 0.0;
2683 rel1.relative: 0.0 0.0;
2684 rel2.relative: 1.0 1.0;
2685 }
2686 }
2687 program {
2688 signal: "selected"; source: "terminology";
2689 action: STATE_SET "selected" 0.0;
2690 transition: DECELERATE 0.2 CURRENT;
2691 target: "terminology.content";
2692 target: "terminology.label";
2693 target: "shadow";
2694 target: "clip";
2695 target: "glow";
2696 }
2697 program {
2698 signal: "selected,start"; source: "terminology";
2699 action: STATE_SET "selected" 0.0;
2700 target: "terminology.content";
2701 target: "terminology.label";
2702 target: "shadow";
2703 target: "clip";
2704 target: "glow";
2705 }
2706 program {
2707 signal: "unselected"; source: "terminology";
2708 action: STATE_SET "default" 0.0;
2709 transition: DECELERATE 0.4 CURRENT;
2710 target: "terminology.content";
2711 target: "terminology.label";
2712 target: "shadow";
2713 target: "clip";
2714 target: "glow";
2715 }
2716
2717 ////////////////////////////////////////////////////////////////////
2718 // fancy stuff over the top of the terminal for shading and labelling
2719 part { name: "overlay";
2720 mouse_events: 0;
2721 description { state: "default" 0.0;
2722 fixed: 1 1;
2723 rel1.to: "terminology.content";
2724 rel2.to: "terminology.content";
2725 image.normal: "pm_overlay.png";
2726 fill.smooth: 0;
2727 }
2728 }
2729 part { name: "bevel";
2730 mouse_events: 0;
2731 description { state: "default" 0.0;
2732 fixed: 1 1;
2733 rel1.to: "terminology.content";
2734 rel2.to: "terminology.content";
2735 image.normal: "bg_bevel.png";
2736 image.border: 3 3 5 3;
2737 image.middle: 0;
2738 fill.smooth: 0;
2739 }
2740 }
2741 part { name: "terminology.label"; type: TEXT; mouse_events: 0;
2742 effect: GLOW;
2743 scale: 1;
2744 description { state: "default" 0.0;
2745 rel1.to: "terminology.content";
2746 rel2.to: "terminology.content";
2747 color: 51 153 255 255;
2748 color2: 51 153 255 24;
2749 color3: 51 153 255 18;
2750 align: 0.5 1.0;
2751 text { font: "Sans"; size: 10;
2752 align: 0.5 1.0;
2753 min: 0 1;
2754 }
2755 }
2756 description { state: "selected" 0.0;
2757 inherit: "default" 0.0;
2758 color: 255 255 255 255;
2759 color2: 51 153 255 128;
2760 color3: 51 153 255 20;
2761 }
2762 }
2763 part { name: "clip2"; type: RECT;
2764 description { state: "default" 0.0;
2765 rel1.to: "terminology.content";
2766 rel2.to: "terminology.content";
2767 }
2768 }
2769
2770 ////////////////////////////////////////////////////////////////////
2771 // fancy stuff on top
2772 part { name: "glint";
2773 mouse_events: 0;
2774 clip_to: "clip2";
2775 description { state: "default" 0.0;
2776 fixed: 1 1;
2777 min: 79 5;
2778 max: 79 5;
2779 rel1 {
2780 to: "terminology.content";
2781 relative: 0.0 0.0;
2782 offset: 0 0;
2783 }
2784 rel2 {
2785 to: "terminology.content";
2786 relative: 1.0 0.0;
2787 offset: -1 0;
2788 }
2789 image.normal: "bg_glint.png";
2790 }
2791 }
2792 part { name: "shine";
2793 mouse_events: 0;
2794 clip_to: "clip2";
2795 description { state: "default" 0.0;
2796 fixed: 1 1;
2797 rel1.to: "terminology.content";
2798 rel2.to: "terminology.content";
2799 image.normal: "bg_shine.png";
2800 fill.smooth: 0;
2801 align: 0.5 0.0;
2802 aspect: (255/120) (255/120);
2803 aspect_preference: HORIZONTAL;
2804 }
2805 }
2806
2807 ////////////////////////////////////////////////////////////////////
2808 // visual bell - spinning red siren light
2809 part { name: "bell_glow";
2810 mouse_events: 0;
2811 description { state: "default" 0.0;
2812 fixed: 1 1;
2813 visible: 0;
2814 color: 255 255 255 0;
2815 rel1.to: "bell_base";
2816 rel2.to: "bell_base";
2817 min: 200 200;
2818 fill.smooth: 0;
2819 image.normal: "bg_led_glow.png";
2820 }
2821 description { state: "visible" 0.0;
2822 inherit: "default" 0.0;
2823 visible: 1;
2824 color: 255 255 255 255;
2825 }
2826 }
2827 part { name: "bell_base";
2828 mouse_events: 0;
2829 description { state: "default" 0.0;
2830 fixed: 1 1;
2831 visible: 0;
2832 color: 255 255 255 0;
2833 min: 32 32;
2834 max: 32 32;
2835 rel1.to: "terminology.content";
2836 rel2.to: "terminology.content";
2837 align: 1.0 1.0;
2838 image.normal: "bg_led_base.png";
2839 }
2840 description { state: "visible" 0.0;
2841 inherit: "default" 0.0;
2842 visible: 1;
2843 color: 255 255 255 255;
2844 }
2845 }
2846 part { name: "bell";
2847 mouse_events: 0;
2848 description { state: "default" 0.0;
2849 fixed: 1 1;
2850 visible: 0;
2851 color: 255 255 255 0;
2852 rel1.to: "bell_base";
2853 rel2.to: "bell_base";
2854 image.normal: "bg_led.png";
2855 }
2856 description { state: "visible" 0.0;
2857 inherit: "default" 0.0;
2858 visible: 1;
2859 color: 255 255 255 255;
2860 }
2861 }
2862 part { name: "bell_strobe";
2863 mouse_events: 0;
2864 description { state: "default" 0.0;
2865 fixed: 1 1;
2866 visible: 0;
2867 color: 255 255 255 0;
2868 rel1.to: "bell";
2869 rel2.to: "bell";
2870 image.normal: "bg_led_strobe.png";
2871 map {
2872 on: 1;
2873 smooth: 1;
2874 rotation.center: "bell";
2875 }
2876 }
2877 description { state: "spin" 0.0;
2878 inherit: "default" 0.0;
2879 visible: 1;
2880 color: 255 255 255 255;
2881 map.rotation.z: 36.0;
2882 }
2883 description { state: "spin_done" 0.0;
2884 inherit: "spin" 0.0;
2885 map.rotation.z: 720.0;
2886 }
2887 description { state: "spin_done2" 0.0;
2888 inherit: "spin" 0.0;
2889 map.rotation.z: 1440.0;
2890 }
2891 }
2892 program {
2893 signal: "bell"; source: "terminology";
2894 action: STATE_SET "default" 0.0;
2895 target: "bell_base";
2896 target: "bell";
2897 target: "bell_strobe";
2898 target: "bell_glow";
2899 after: "bell";
2900 }
2901 program { name: "bell";
2902 action: STATE_SET "visible" 0.0;
2903 target: "bell_base";
2904 target: "bell_glow";
2905 after: "bell2";
2906 }
2907 program { name: "bell2";
2908 action: STATE_SET "visible" 0.0;
2909 transition: DECELERATE 0.1;
2910 target: "bell";
2911 target: "bell_glow";
2912 after: "bell3";
2913 }
2914 program { name: "bell3";
2915 action: STATE_SET "spin" 0.0;
2916 transition: LINEAR 0.1;
2917 target: "bell_strobe";
2918 after: "bell4.2";
2919 }
2920 program { name: "bell4.2";
2921 action: STATE_SET "spin_done" 0.0;
2922 transition: LINEAR 0.9;
2923 target: "bell_strobe";
2924 after: "bell4.3";
2925 }
2926 program { name: "bell4.3";
2927 action: STATE_SET "spin_done2" 0.0;
2928 transition: LINEAR 1.0;
2929 target: "bell_strobe";
2930 after: "bell4.4";
2931 }
2932 program { name: "bell4.4";
2933 action: STATE_SET "spin_done" 0.0;
2934 target: "bell_strobe";
2935 after: "bell4.3";
2936 }
2937 }
2938 }
2939
2940//////////////////////////////////////////////////////////////////////////////
2941 //// an object overlayd on text that is a link
2942 group { name: "terminology/link";
2943 images {
2944 image: "lk_bottom.png" COMP;
2945 image: "lk_left.png" COMP;
2946 image: "lk_right.png" COMP;
2947 }
2948 parts {
2949 part { name: "bottom";
2950 mouse_events: 0;
2951 description { state: "default" 0.0;
2952 image.normal: "lk_bottom.png";
2953 image.border: 9 9 0 0;
2954 align: 0.5 1.0;
2955 min: 20 8;
2956 rel1.offset: -6 0;
2957 rel1.relative: 0.0 1.0;
2958 rel2.offset: 5 0;
2959 color: 51 153 255 255;
2960 fill.smooth: 0;
2961 }
2962 }
2963 part { name: "l";
2964 mouse_events: 0;
2965 description { state: "default" 0.0;
2966 image.normal: "lk_left.png";
2967 align: 0.0 1.0;
2968 min: 4 4;
2969 rel1.offset: 16 -1;
2970 rel1.relative: 0.0 1.0;
2971 rel2.offset: 16 -1;
2972 rel2.relative: 0.0 1.0;
2973 color: 51 153 255 0;
2974 }
2975 description { state: "out" 0.0;
2976 inherit: "default" 0.0;
2977 min: 16 16;
2978 rel1.offset: -10 -1;
2979 rel2.offset: -10 -1;
2980 color: 51 153 255 255;
2981 }
2982 description { state: "out2" 0.0;
2983 inherit: "default" 0.0;
2984 min: 32 32;
2985 rel1.offset: -26 -1;
2986 rel2.offset: -26 -1;
2987 color: 51 153 255 0;
2988 }
2989 }
2990 part { name: "r";
2991 mouse_events: 0;
2992 description { state: "default" 0.0;
2993 image.normal: "lk_right.png";
2994 align: 1.0 1.0;
2995 min: 4 4;
2996 rel1.offset: -15 0;
2997 rel1.relative: 1.0 1.0;
2998 rel2.offset: -15 0;
2999 rel2.relative: 1.0 1.0;
3000 color: 51 153 255 0;
3001 }
3002 description { state: "out" 0.0;
3003 inherit: "default" 0.0;
3004 min: 16 16;
3005 rel1.offset: 9 -1;
3006 rel2.offset: 9 -1;
3007 color: 51 153 255 255;
3008 }
3009 description { state: "out2" 0.0;
3010 inherit: "default" 0.0;
3011 min: 32 32;
3012 rel1.offset: 25 -1;
3013 rel2.offset: 25 -1;
3014 color: 51 153 255 0;
3015 }
3016 }
3017 part { name: "event"; type: RECT;
3018 mouse_events: 1;
3019 repeat_events: 1;
3020 description { state: "default" 0.0;
3021 color: 0 0 0 0;
3022 }
3023 }
3024 programs {
3025 program { name: "show";
3026 signal: "show"; source: "";
3027 action: STATE_SET "out" 0.0;
3028 transition: LINEAR 0.3;
3029 target: "l";
3030 target: "r";
3031 after: "show2";
3032 }
3033 program { name: "show2";
3034 action: STATE_SET "default" 0.0;
3035 action: STATE_SET "out2" 0.0;
3036 transition: LINEAR 0.3;
3037 target: "l";
3038 target: "r";
3039 after: "show3";
3040 }
3041 program { name: "show3";
3042 action: STATE_SET "default" 0.0;
3043 target: "l";
3044 target: "r";
3045 after: "show";
3046 }
3047 }
3048 }
3049 }
3050
3051//////////////////////////////////////////////////////////////////////////////
3052 //// the multimedia controls
3053 group { name: "terminology/mediabusy";
3054 images {
3055 image: "media_busy_knob.png" COMP;
3056 image: "media_busy_spinner.png" COMP;
3057 image: "media_busy_progress.png" COMP;
3058 }
3059 script {
3060 public message(Msg_Type:type, id, ...) {
3061 if ((type == MSG_FLOAT) && (id == 1)) {
3062 new Float:val;
3063 val = getfarg(2);
3064 // val 0.0 -. 1.0 percentage
3065 custom_state(PART:"progress", "default", 0.0);
3066 set_state_val(PART:"progress", STATE_REL2, val, 1.0);
3067 set_state(PART:"progress", "custom", 0.0);
3068 }
3069 }
3070 }
3071 parts {
3072 part { name: "progress_area"; type: SPACER;
3073 mouse_events: 0;
3074 description { state: "default" 0.0;
3075 fixed: 1 1;
3076 rel2.to_x: "knob";
3077 rel2.relative: 0.0 1.0;
3078 min: 10 40;
3079 max: 99999 40;
3080 align: 0.0 1.0;
3081 }
3082 }
3083 part { name: "progress";
3084 mouse_events: 0;
3085 clip_to: "fade";
3086 description { state: "default" 0.0;
3087 fixed: 1 1;
3088 rel1.to: "progress_area";
3089 rel2.to: "progress_area";
3090 rel2.relative: 0.0 1.0;
3091 color: 51 153 255 255;
3092 image.normal: "media_busy_progress.png";
3093 image.border: 5 5 0 0;
3094 min: 10 40;
3095 align: 0.0 1.0;
3096 }
3097 }
3098 part { name: "fade"; type: RECT;
3099 mouse_events: 0;
3100 description { state: "default" 0.0;
3101 color: 255 255 255 0;
3102 visible: 0;
3103 }
3104 description { state: "visible" 0.0;
3105 inherit: "default" 0.0;
3106 visible: 1;
3107 color: 255 255 255 255;
3108 }
3109 }
3110 part { name: "knob";
3111 clip_to: "fade";
3112 mouse_events: 0;
3113 description { state: "default" 0.0;
3114 fixed: 1 1;
3115 image.normal: "media_busy_knob.png";
3116 min: 40 40;
3117 max: 40 40;
3118 align: 1.0 1.0;
3119 }
3120 }
3121 part { name: "knob_spinner";
3122 clip_to: "fade";
3123 mouse_events: 0;
3124 description { state: "default" 0.0;
3125 fixed: 1 1;
3126 color: 51 153 255 255;
3127 rel1.to: "knob";
3128 rel2.to: "knob";
3129 image.normal: "media_busy_spinner.png";
3130 map {
3131 on: 1;
3132 smooth: 1;
3133 rotation.center: "knob";
3134 }
3135 }
3136 description { state: "spin" 0.0;
3137 inherit: "default" 0.0;
3138 visible: 1;
3139 map.rotation.z: 360;
3140 }
3141 }
3142 }
3143 programs {
3144 program {
3145 signal: "busy"; source: "terminology";
3146 action: STATE_SET "visible" 0.0;
3147 transition: DECELERATE 0.5;
3148 target: "fade";
3149 }
3150 program { name: "spin1";
3151 signal: "busy"; source: "terminology";
3152 action: STATE_SET "spin" 0.0;
3153 transition: LINEAR 0.5;
3154 target: "knob_spinner";
3155 after: "spin2";
3156 }
3157 program { name: "spin2";
3158 action: STATE_SET "default" 0.0;
3159 target: "knob_spinner";
3160 after: "spin1";
3161 }
3162// program { name: "downloading";
3163// signal: "busy";
3164// source: "terminology";
3165// action: STATE_SET "default" 0.0;
3166// }
3167 program {
3168 signal: "done"; source: "terminology";
3169 action: STATE_SET "default" 0.0;
3170 transition: DECELERATE 1.5;
3171 target: "fade";
3172 }
3173 }
3174 }
3175//////////////////////////////////////////////////////////////////////////////
3176 //// the multimedia controls
3177 group { name: "terminology/mediactrl";
3178 images {
3179 image: "media_bg.png" COMP;
3180 image: "media_play.png" COMP;
3181 image: "media_stop.png" COMP;
3182 image: "media_pause.png" COMP;
3183 image: "media_line.png" COMP;
3184 image: "media_knob_vol.png" COMP;
3185 image: "media_knob_pos.png" COMP;
3186 }
3187 parts {
3188 part { name: "media_clip"; type: RECT;
3189 mouse_events: 0;
3190 description { state: "default" 0.0;
3191 rel1.to: "media_bg";
3192 rel2.to: "media_bg";
3193 }
3194 }
3195 part { name: "media_bg";
3196 clip_to: "media_clip";
3197 description { state: "default" 0.0;
3198 image.normal: "media_bg.png";
3199 image.border: 11 11 11 11;
3200 min: 24 24;
3201 max: 24 24;
3202 align: 1.0 0.0;
3203 }
3204 description { state: "expanded" 0.0;
3205 inherit: "default" 0.0;
3206 min: 216 24;
3207 max: 216 24;
3208 }
3209 }
3210 part { name: "play";
3211 mouse_events: 1;
3212 repeat_events: 1;
3213 clip_to: "media_clip";
3214 description { state: "default" 0.0;
3215 image.normal: "media_pause.png";
3216 max: 24 24;
3217 align: 1.0 0.0;
3218 }
3219 description { state: "paused" 0.0;
3220 inherit: "default" 0.0;
3221 image.normal: "media_play.png";
3222 }
3223 }
3224 part { name: "stop";
3225 mouse_events: 1;
3226 repeat_events: 1;
3227 clip_to: "media_clip";
3228 description { state: "default" 0.0;
3229 image.normal: "media_stop.png";
3230 max: 24 24;
3231 rel1.to: "play";
3232 rel2.to: "play";
3233 rel1.offset: -16 0;
3234 rel2.offset: -16 0;
3235 }
3236 }
3237 part { name: "posline";
3238 mouse_events: 0;
3239 repeat_events: 1;
3240 clip_to: "media_clip";
3241 description { state: "default" 0.0;
3242 image.normal: "media_line.png";
3243 image.border: 15 15 0 0;
3244 min: 90 14;
3245 max: 90 14;
3246 rel1.to: "stop";
3247 rel2.to: "stop";
3248 rel1.offset: -25 0;
3249 rel2.offset: -90 0;
3250 }
3251 }
3252 part { name: "terminology.posdrag";
3253 mouse_events: 1;
3254 repeat_events: 1;
3255 clip_to: "media_clip";
3256 dragable {
3257 confine: "posline";
3258 x: 1 1 0;
3259 y: 0 0 0;
3260 }
3261 description { state: "default" 0.0;
3262 image.normal: "media_knob_pos.png";
3263 min: 14 14;
3264 max: 14 14;
3265 }
3266 description { state: "muted" 0.0;
3267 visible: 0;
3268 }
3269 }
3270 part { name: "volline";
3271 mouse_events: 0;
3272 repeat_events: 1;
3273 clip_to: "media_clip";
3274 description { state: "default" 0.0;
3275 image.normal: "media_line.png";
3276 image.border: 15 15 0 0;
3277 min: 60 14;
3278 max: 60 14;
3279 rel1 {
3280 to: "posline";
3281 offset: -25 0;
3282 }
3283 rel2 {
3284 to: "posline";
3285 relative: 0.0 1.0;
3286 offset: -60 0;
3287 }
3288 }
3289 }
3290 part { name: "terminology.voldrag"; type: IMAGE;
3291 mouse_events: 1;
3292 repeat_events: 1;
3293 clip_to: "media_clip";
3294 dragable {
3295 confine: "volline";
3296 x: 1 1 0;
3297 y: 0 0 0;
3298 }
3299 description { state: "default" 0.0;
3300 image.normal: "media_knob_vol.png";
3301 min: 14 14;
3302 max: 14 14;
3303 }
3304 description { state: "muted" 0.0;
3305 visible: 0;
3306 }
3307 }
3308 }
3309 programs {
3310 program {
3311 signal: "mouse,in"; source: "media_bg";
3312 action: STATE_SET "expanded" 0.0;
3313 transition: SINUSOIDAL 0.4 CURRENT;
3314 target: "media_bg";
3315 }
3316 program {
3317 signal: "mouse,out"; source: "media_bg";
3318 action: STATE_SET "default" 0.0;
3319 transition: SINUSOIDAL 0.4 CURRENT;
3320 target: "media_bg";
3321 }
3322 program {
3323 signal: "mouse,up,*"; source: "play";
3324 filter: "play" "default";
3325 action: SIGNAL_EMIT "pause" "";
3326 }
3327 program {
3328 signal: "mouse,up,1"; source: "play";
3329 filter: "play" "paused";
3330 action: SIGNAL_EMIT "play" "";
3331 }
3332 program {
3333 signal: "mouse,up,1"; source: "stop";
3334 action: SIGNAL_EMIT "stop" "";
3335 }
3336 program {
3337 signal: "pause,set"; source: "terminology";
3338 action: STATE_SET "paused" 0.0;
3339 target: "play";
3340 }
3341 program {
3342 signal: "play,set"; source: "terminology";
3343 action: STATE_SET "default" 0.0;
3344 target: "play";
3345 }
3346 program {
3347 signal: "mute,set"; source: "terminology";
3348 action: STATE_SET "muted" 0.0;
3349 target: "terminology.voldrag";
3350 }
3351 program {
3352 signal: "mute,unset"; source: "terminology";
3353 action: STATE_SET "default" 0.0;
3354 target: "terminology.voldrag";
3355 }
3356 }
3357 }
3358
3359#define ICON(Grp, Img) \
3360 group { name: "elm/icon/"##Grp##"/default"; min: 10 10; max: 80 80; \
3361 images.image: Img COMP; \
3362 parts { part { name: "base"; description { state: "default" 0.0; \
3363 aspect: 1.0 1.0; aspect_preference: BOTH; image.normal: Img; \
3364 } } } }
3365 ICON("new", "icon_new.png");
3366 ICON("split-h", "icon_split_h.png");
3367 ICON("split-v", "icon_split_v.png");
3368 ICON("close", "icon_close.png");
3369 ICON("copy", "icon_copy.png");
3370 ICON("paste", "icon_paste.png");
3371 ICON("settings", "icon_settings.png");
3372 ICON("about", "icon_about.png");
3373#undef ICON
3374
3375//////////////////////////////////////////////////////////////////////////////
3376 //// the about box content image
3377 group { name: "terminology/about";
3378 images {
3379 image: "ab_base.png" COMP;
3380 image: "ab_shell.png" COMP;
3381 }
3382 styles {
3383 style { name: "aboutstyle";
3384 base: "font=Sans font_size=8 color=#3f1 style=glow glow2_color=#3f13 glow_color=#3f11 wrap=word";
3385 tag: "b" "+ color=#8f8 glow2_color=#3f15 glow_color=#3f12";
3386 }
3387 }
3388 parts {
3389 part { name: "base";
3390 mouse_events: 0;
3391 description { state: "default" 0.0;
3392 rel1 {
3393 relative: (39/198) (27/198);
3394 to: "shell";
3395 }
3396 rel2 {
3397 relative: (151/198) (115/198);
3398 to: "shell";
3399 }
3400 image.normal: "ab_base.png";
3401 }
3402 }
3403 part { name: "baseclip"; type: RECT;
3404 description { state: "default" 0.0;
3405 color: 255 255 255 255;
3406 rel1.to: "base";
3407 rel2.to: "base";
3408 }
3409 }
3410 part { name: "terminology.text"; type: TEXTBLOCK;
3411 clip_to: "baseclip";
3412 mouse_events: 1;
3413 description { state: "default" 0.0;
3414 fixed: 1 1;
3415 align: 0.5 0.0;
3416 max: 10000 10000;
3417 rel1 {
3418 to: "base";
3419 relative: 0.08 1.0;
3420 }
3421 rel2 {
3422 to: "base";
3423 relative: 0.97 1.0;
3424 }
3425 text {
3426 style: "aboutstyle";
3427 text: "Hello world.<br>This is <b>Terminology</b>, your friendly neighbourhood terminal.<br><br>This needs more text to test vertical scrolling to see if the animation works right.<br>I hope this will be enough now.";
3428 min: 0 1;
3429 }
3430 }
3431 description { state: "up" 0.0;
3432 inherit: "default" 0.0;
3433 align: 0.5 1.0;
3434 rel1.relative: 0.08 0.0;
3435 rel2.relative: 0.97 0.0;
3436 }
3437 }
3438 part { name: "shell";
3439 description { state: "default" 0.0;
3440 max: 198 198;
3441 aspect: 1.0 1.0;
3442 aspect_preference: BOTH;
3443 image.normal: "ab_shell.png";
3444 }
3445 }
3446 }
3447 programs {
3448 program {
3449 signal: "begin"; source: "terminology";
3450 action: ACTION_STOP;
3451 target: "show";
3452 target: "show2";
3453 after: "begin2";
3454 }
3455 program { name: "begin2";
3456 action: STATE_SET "default" 0.0;
3457 target: "terminology.text";
3458 after: "show";
3459 }
3460 program { name: "show";
3461 action: STATE_SET "up" 0.0;
3462 transition: LINEAR 60.0;
3463 target: "terminology.text";
3464 after: "show2";
3465 }
3466 program { name: "show2";
3467 action: STATE_SET "default" 0.0;
3468 target: "terminology.text";
3469 after: "show";
3470 }
3471 }
3472 }
3473
3474//////////////////////////////////////////////////////////////////////////////
3475 //// used in the font selection dialog to give a base for black text
3476 //// previews so they are always visible
3477 group { name: "terminology/fontpreview";
3478 images {
3479 image: "fn_shadow.png" COMP;
3480 }
3481 parts {
3482 part { name: "shadow";
3483 mouse_events: 0;
3484 description { state: "default" 0.0;
3485 rel1 {
3486 offset: -2 -1;
3487 to: "base";
3488 }
3489 rel2 {
3490 offset: 1 2;
3491 to: "base";
3492 }
3493 image {
3494 normal: "fn_shadow.png";
3495 border: 5 5 5 5;
3496 }
3497 fill.smooth: 0;
3498 }
3499 }
3500 part { name: "base"; type: RECT;
3501 mouse_events: 1;
3502 description { state: "default" 0.0;
3503 color: 255 255 255 255;
3504 rel1.offset: 2 2;
3505 rel2.offset: -3 -3;
3506 }
3507 }
3508 part { name: "clip"; type: RECT;
3509 description { state: "default" 0.0;
3510 rel1.to: "base";
3511 rel2.to: "base";
3512 color: 255 255 255 255;
3513 }
3514 }
3515 part { name: "terminology.text.preview"; type: SWALLOW;
3516 clip_to: "clip";
3517 description { state: "default" 0.0;
3518 rel1 {
3519 to: "base";
3520 offset: 1 1;
3521 }
3522 rel2 {
3523 to: "base";
3524 offset: -2 -2;
3525 }
3526 }
3527 }
3528 }
3529 }
3530}