SCRSHOOT - Support for boot parameter 'DIRECT'
git-svn-id: svn://kolibrios.org@2628 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en >lang.inc
|
@echo lang fix en >lang.inc
|
||||||
@fasm scrshoot.asm scrshoot
|
@fasm -m 16384 scrshoot.asm scrshoot
|
||||||
@kpack scrshoot
|
@kpack scrshoot
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
@@ -1,6 +1,6 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru >lang.inc
|
@echo lang fix ru >lang.inc
|
||||||
@fasm scrshoot.asm scrshoot
|
@fasm -m 16384 scrshoot.asm scrshoot
|
||||||
@kpack scrshoot
|
@kpack scrshoot
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
@@ -158,6 +158,51 @@ red:
|
|||||||
edit_boxes_set_sys_color editboxes,editboxes_end,sc ; /
|
edit_boxes_set_sys_color editboxes,editboxes_end,sc ; /
|
||||||
|
|
||||||
get_screen_prop scr ; <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20><> <20><>࠭<EFBFBD>
|
get_screen_prop scr ; <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20><> <20><>࠭<EFBFBD>
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
; Boot with "DIRECT" parameter - get screen and save
|
||||||
|
mov eax,cmdstr
|
||||||
|
cmp [eax],byte 0
|
||||||
|
je no_boot
|
||||||
|
|
||||||
|
cmp [eax],dword 'DIRE'
|
||||||
|
jne no_boot
|
||||||
|
|
||||||
|
cmp [eax+4],word 'CT'
|
||||||
|
jne no_boot
|
||||||
|
|
||||||
|
and [ch2.flags],dword 0
|
||||||
|
or [ch5.flags],dword 1
|
||||||
|
and [ch3.flags],dword 0
|
||||||
|
mov [OpenDialog_data.draw_window],dword draw_window_direct
|
||||||
|
|
||||||
|
call shoot
|
||||||
|
jmp close
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
draw_window_direct:
|
||||||
|
mcall 12,1
|
||||||
|
mcall 14
|
||||||
|
; eax = [xsize]*65536 + [ysize]
|
||||||
|
mov ebx,eax
|
||||||
|
shr ebx,17
|
||||||
|
sub ebx,100
|
||||||
|
shl ebx,16
|
||||||
|
mov bx,200
|
||||||
|
mov ecx,eax
|
||||||
|
and ecx,0xffff
|
||||||
|
shr ecx,1
|
||||||
|
sub ecx,50
|
||||||
|
shl ecx,16
|
||||||
|
mov cx,100
|
||||||
|
xor eax,eax
|
||||||
|
xor esi,esi
|
||||||
|
mcall ,,,0x34ffffff,,grab_text
|
||||||
|
|
||||||
|
mcall 4,<10,30>,0x90000000,saving
|
||||||
|
|
||||||
|
mcall 12,2
|
||||||
|
ret
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
no_boot:
|
||||||
call draw_window ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ뢠<E1AEA2><EBA2A0> <20><><EFBFBD><EFBFBD>
|
call draw_window ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ뢠<E1AEA2><EBA2A0> <20><><EFBFBD><EFBFBD>
|
||||||
still:
|
still:
|
||||||
wait_event red,key,button,mouse,ipc,still ; <20><><EFBFBD><EFBFBD> ᮡ<>⨩
|
wait_event red,key,button,mouse,ipc,still ; <20><><EFBFBD><EFBFBD> ᮡ<>⨩
|
||||||
@@ -412,6 +457,7 @@ shoot:
|
|||||||
bt dword [ch5.flags],1 ; <20><><EFBFBD><EFBFBD>祭<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> ?
|
bt dword [ch5.flags],1 ; <20><><EFBFBD><EFBFBD>祭<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> ?
|
||||||
jnc @f
|
jnc @f
|
||||||
|
|
||||||
|
call [OpenDialog_data.draw_window]
|
||||||
; invoke OpenDialog
|
; invoke OpenDialog
|
||||||
push dword OpenDialog_data
|
push dword OpenDialog_data
|
||||||
call [OpenDialog_Start]
|
call [OpenDialog_Start]
|
||||||
@@ -422,6 +468,8 @@ shoot:
|
|||||||
; prepare for PathShow
|
; prepare for PathShow
|
||||||
push dword PathShow_data_1
|
push dword PathShow_data_1
|
||||||
call [PathShow_prepare]
|
call [PathShow_prepare]
|
||||||
|
|
||||||
|
call [OpenDialog_data.draw_window]
|
||||||
|
|
||||||
call save_file
|
call save_file
|
||||||
@@:
|
@@:
|
||||||
|
Reference in New Issue
Block a user