forked from KolibriOS/kolibrios
crownscr: can be used as a screensaver now
git-svn-id: svn://kolibrios.org@9449 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
e4ec81f666
commit
0dea1e1980
Binary file not shown.
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@ -71,6 +71,7 @@
|
||||
59 Hotkeys |mykey
|
||||
56 Clipboard viewer |develop/clipview
|
||||
62 Calendar |calendar
|
||||
33 Online update * |/kolibrios/utils/osupdate
|
||||
48 Process manager |cpu
|
||||
24 Terminal |terminal
|
||||
05 Save ramdisk |rdsave
|
||||
|
@ -74,6 +74,7 @@
|
||||
24 ’¥à¬¨ « |terminal
|
||||
24 Š®á®«ì SHELL |shell
|
||||
05 ‘®åà ¥¨¥ ®¡à § |rdsave
|
||||
33 𦀩<>帛 恣陋◤平言 * |/kolibrios/utils/osupdate
|
||||
#8 **** ‘¨á⥬ > ”Œ
|
||||
50 Eolite |File Managers/Eolite
|
||||
05 KFM2 |File Managers/kfm2
|
||||
|
@ -12,6 +12,7 @@
|
||||
fullscreen = 1
|
||||
n_points = 0x1800
|
||||
delay = 2
|
||||
const480 = 480
|
||||
speed equ 0.004
|
||||
|
||||
|
||||
@ -25,16 +26,32 @@ use32
|
||||
dd i_end ; size of image
|
||||
dd i_end+0x1000 ; memory for app
|
||||
dd i_end+0x1000 ; esp
|
||||
dd 0x0 ; I_Param
|
||||
dd params ; I_Param
|
||||
dd 0x0 ; I_Icon
|
||||
|
||||
copyright db 'Crown_s Soft(c) Screensaver v1.13m www.crown-s-soft.com',0
|
||||
copyright db 'Crown_s Soft(c) Screensaver - www.crown-s-soft.com',0
|
||||
copyrightlen:
|
||||
|
||||
include "lang.inc"
|
||||
include "figuresi.inc"
|
||||
include "..\..\..\macros.inc"
|
||||
start:
|
||||
cmp dword[params], '@ss'
|
||||
setz [screensaver]
|
||||
mov ebx, EVM_REDRAW + EVM_KEY
|
||||
cmovz ebx, EVM_REDRAW + EVM_KEY + EVM_MOUSE
|
||||
mcall 40
|
||||
|
||||
cmp [flscr],0
|
||||
jz @f
|
||||
mov edi, transparent_cursor
|
||||
xor eax, eax
|
||||
mov ecx, 32*32
|
||||
rep stosd
|
||||
mcall 37, 4, transparent_cursor, 2
|
||||
mov ecx, eax
|
||||
mcall 37, 5
|
||||
@@:
|
||||
cld
|
||||
finit
|
||||
call filling_alfbet ; fill table alfbet by casual numbers
|
||||
@ -49,7 +66,7 @@ start:
|
||||
mcall
|
||||
|
||||
mov [maxy],ax
|
||||
sub ax,480
|
||||
sub ax,const480
|
||||
jnc m5
|
||||
xor ax,ax
|
||||
m5:
|
||||
@ -58,47 +75,49 @@ start:
|
||||
|
||||
shr eax,16
|
||||
mov [maxx],ax
|
||||
sub ax,480
|
||||
sub ax,const480
|
||||
jnc m6
|
||||
xor ax,ax
|
||||
m6:
|
||||
shr ax,1
|
||||
mov [posx],ax
|
||||
|
||||
mov [outsize],480+65536*480
|
||||
mov [outsize],const480+65536*const480
|
||||
jmp m4
|
||||
nofullscreen:
|
||||
mov [posx],75
|
||||
mov [posy],20
|
||||
|
||||
mov [outsize],450+65536*480
|
||||
mov [outsize],const480+65536*const480
|
||||
m4:
|
||||
|
||||
red:
|
||||
call draw_window
|
||||
|
||||
still:
|
||||
mov eax,23
|
||||
mov ebx,delay
|
||||
mcall ; wait here for event
|
||||
mcall 23,delay ; wait here for event
|
||||
|
||||
cmp eax,1 ; redraw request ?
|
||||
je red
|
||||
cmp eax,2 ; key in buffer ?
|
||||
je key
|
||||
cmp eax,3 ; button in buffer ?
|
||||
je button
|
||||
|
||||
je close
|
||||
cmp eax,6 ; mouse moved ?
|
||||
je close
|
||||
|
||||
call calcframe
|
||||
mov edx,dword [posy] ; edx=image position in window [x]*65536+[y]
|
||||
mov ecx,[outsize] ; ecx=image position in window [x]*65536+[y]
|
||||
mov ebx,scr ; ebx pointer to image in memory
|
||||
mov eax,07 ; putimage
|
||||
mov ebx,scr ; ebx pointer to image in memory
|
||||
mov ecx,[outsize] ; ecx=image position in window [w]*65536+[h]
|
||||
mov edx,dword [posy] ; edx=image position in window [x]*65536+[y]
|
||||
mcall
|
||||
jmp still
|
||||
|
||||
key:
|
||||
cmp [screensaver], 0
|
||||
jnz close
|
||||
|
||||
mov eax,2
|
||||
mcall
|
||||
|
||||
@ -108,16 +127,12 @@ key:
|
||||
jz close
|
||||
jmp still
|
||||
|
||||
button: ; button
|
||||
mov eax,17 ; get id
|
||||
mcall
|
||||
|
||||
; cmp ah,1 ; button id=1 ?
|
||||
; jne still
|
||||
|
||||
close:
|
||||
mov eax,-1 ; close this program
|
||||
mcall
|
||||
cmp [screensaver], 0
|
||||
jz @f
|
||||
mcall 70, f70
|
||||
@@:
|
||||
mcall -1
|
||||
|
||||
|
||||
; *********************************************
|
||||
@ -126,35 +141,17 @@ close:
|
||||
|
||||
|
||||
draw_window:
|
||||
mov eax,12 ; function 12:tell os about windowdraw
|
||||
mov ebx,1 ; 1, start of draw
|
||||
mcall
|
||||
mcall 12, 1 ;start draw
|
||||
|
||||
cmp [flscr],0
|
||||
jnz m2
|
||||
mov ebx,1*65536+638 ; [x start] *65536 + [x size]
|
||||
mov ecx,1*65536+478 ; [y start] *65536 + [y size]
|
||||
mov edx,0x02000000 ; color of work area RRGGBB,8->color gl
|
||||
mov esi,0x805080d0 ; color of grab bar RRGGBB,8->color gl
|
||||
mov edi,0x005080d0 ; color of frames RRGGBB
|
||||
xor eax,eax ; function 0 : define and draw window
|
||||
mcall
|
||||
mcall 48,4
|
||||
mov esi, eax
|
||||
; DRAW WINDOW
|
||||
mov ecx,100*65536+const480+4 ; [y start] *65536 + [y size]
|
||||
add ecx, esi
|
||||
mcall 0, 100*65536+const480+9,,0x74000000,,copyright
|
||||
|
||||
; WINDOW LABEL
|
||||
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
|
||||
mov ecx,0x10ddeeff ; color of text RRGGBB
|
||||
mov edx,copyright ; pointer to text beginning
|
||||
mov esi,copyrightlen-copyright; text length
|
||||
mov eax,4 ; function 4 : write text to window
|
||||
mcall
|
||||
|
||||
; CLOSE BUTTON
|
||||
mov ebx,(640-19)*65536+12 ; [x start] *65536 + [x size]
|
||||
mov ecx,5*65536+12 ; [y start] *65536 + [y size]
|
||||
mov edx,1 ; button id
|
||||
mov esi,0x6688dd ; button color RRGGBB
|
||||
mov eax,8 ; function 8 : define and draw button
|
||||
mcall
|
||||
jmp m3
|
||||
m2:
|
||||
movzx ebx,[maxx] ; [x start] *65536 + [x size]
|
||||
@ -172,16 +169,14 @@ draw_window:
|
||||
mcall
|
||||
m3:
|
||||
|
||||
mov eax,12 ; function 12:tell os about windowdraw
|
||||
mov ebx,2 ; 2, end of draw
|
||||
mcall
|
||||
mcall 12, 2 ;end draw
|
||||
ret
|
||||
|
||||
|
||||
calcframe:
|
||||
cld
|
||||
mov edi,scr
|
||||
mov ecx,480*480*3/4
|
||||
mov ecx,const480*const480*3/4
|
||||
xor eax,eax
|
||||
rep stosd ; CLS
|
||||
|
||||
@ -292,7 +287,7 @@ turn:
|
||||
|
||||
mov eax,[x1]
|
||||
add eax,[mid]
|
||||
mul [const480]
|
||||
mul [consts]
|
||||
add eax,[y1]
|
||||
add eax,[mid]
|
||||
mul [const3]
|
||||
@ -361,7 +356,7 @@ align 2
|
||||
|
||||
const3 dd 3
|
||||
const6 dw 6
|
||||
const480 dd 480
|
||||
consts dd const480
|
||||
|
||||
mFl dd n_points
|
||||
pp1 dw 0
|
||||
@ -398,7 +393,15 @@ align 2
|
||||
y1 dd ?
|
||||
z1 dd ?
|
||||
|
||||
f70: ; run
|
||||
dd 7, 0, 0, 0, 0
|
||||
db '/sys/@SS',0
|
||||
|
||||
screensaver db ?
|
||||
params rb 4
|
||||
transparent_cursor rd 32*32
|
||||
|
||||
align 16
|
||||
alfbet: ; alfbet db n_points*4 dup (?)
|
||||
scr = alfbet+n_points*4 ; scr db 480*480*3+1 dup (?)
|
||||
i_end = scr+480*480*3+1 ; i_param db 256 dup (?)
|
||||
i_end = scr+const480*const480*3+1 ; i_param db 256 dup (?)
|
||||
|
@ -360,7 +360,7 @@ start:
|
||||
mov edi, transparent_cursor
|
||||
xor eax, eax
|
||||
mov ecx, 32*32
|
||||
rep stosd
|
||||
rep stosd
|
||||
mcall 37, 4, transparent_cursor, 2
|
||||
mov ecx, eax
|
||||
mcall 37, 5
|
||||
@ -417,7 +417,7 @@ turtle Turtle 0.0, 0.0, 0.0, <180, 255, 255>
|
||||
|
||||
f70: ; run
|
||||
dd 7, 0, 0, 0, 0
|
||||
db '/sys/@ss',0
|
||||
db '/sys/@SS',0
|
||||
i_end:
|
||||
|
||||
align 4
|
||||
@ -427,7 +427,7 @@ frame_start dd ?
|
||||
color dd ?
|
||||
|
||||
proc_info process_information
|
||||
params rb 0x400
|
||||
params rb 4
|
||||
transparent_cursor rd 32*32
|
||||
screensaver db ?
|
||||
align 4
|
||||
|
Loading…
Reference in New Issue
Block a user