You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gfxboot-theme-calculate/bsplash.inc

113 lines
2.3 KiB

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%
% Boot loader splash code.
%
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Some global vars.
% Boot loader splash areas to uncover.
%
/bsplash.areas [
[ 327 230 144 108 true ]
[ 82 68 131 35 false ]
[ 205 157 125 32 false ]
[ 431 77 173 37 false ]
[ 661 125 61 112 false ]
[ 62 358 162 51 false ]
[ 204 461 95 36 false ]
[ 388 397 127 34 false ]
[ 560 450 169 39 false ]
] def
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Show boot loader splash.
%
% ( ) ==> ( )
%
/bsplash.show {
currentimage
"splash.jpg" findfile /splash.file over def setimage loadpalette
/max_image_colors max_image_colors image.colors max def
% 0 0 moveto currentpoint 1 1 image getpixel setcolor screen.size fillrect
% 7 0xffffff setpalette
0 0 moveto 0 0 image.size image
"greeting.jpg" findfile /splash.file2 over def setimage
% center image
image.size screen.size exch 4 -1 roll sub 2 div 3 1 roll exch sub 2 div
/bsplash.y exch def
/bsplash.x exch def
bsplash.areas 0 get
dup 0 get over 1 get moveto currentpoint bsplash.x bsplash.y rmoveto
2 index 2 get 3 index 3 get 5 -1 roll pop blendit
700000 usleep
{
bsplash.areas rand over length mod get
dup 4 get {
pop
} {
dup 0 get over 1 get moveto currentpoint bsplash.x bsplash.y rmoveto
2 index 2 get 3 index 3 get 5 -1 roll 4 true put blendit
70000 usleep
} ifelse
true
0 1 bsplash.areas length 1 sub {
bsplash.areas exch get 4 get and
} for
{ exit } if
} loop
setimage
splash.file2 free /splash.file2 .undef def
splash.file free /splash.file .undef def
} def
/blendit {
/b.w exch def
/b.h exch def
moveto
/b.back b.h b.w savescreen def
/b.mask currentpoint b.h 1 add b.w 1 add unpackimage def
currentpoint
0 0 moveto
0x303030 b.mask b.back blend
1 1 moveto
white b.mask b.back blend
moveto
b.back restorescreen
b.mask free
b.back free
} def
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Just wait.
%
% ( ) ==> ( )
%
/bsplash.done {
3000000 usleep
} def