Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 7648 → Rev 7649

/programs/other/outdated/mv/trunk/mv.asm
0,0 → 1,1176
; Picture browser by lisovin@26.ru
; Modified by Ivan Poddubny - v.0.3
; Modified by Diamond - v.0.4
; Modified by Mario79:
; v.0.5 18.07.08 Dinamic Allocation Memory
; v.0.6 20.07.08
; 1) Use Editbox (Author <Lrz>)
; 2) Draw window without fill working area (C = 1)
; 3) Open file with parameter in patch:
; Size of parameter - 4 bytes. Parameter starts with the
; character "\", the unused characters are filled
; by a blank (ASCII 20h).
; '\T /hd0/1/1.bmp' - set background, mode: tile
; '\S /hd0/1/1.bmp' - set background, mode: stretch
; v.0.65 23.07.08
; 1) Use new version Editbox (Thanks <Lrz>)
; (mouse correctly works in secondary thread)
; 2) The memory used for storage of the file BMP
; after conversion in RAW comes back to OS.
; 3) Usage of keys 1,2,3,4 for call of buttons of the application
; without the mouse, before the key were defined incorrectly.
; 4) Deleting of the unnecessary procedure of clearing of
; a background of a picture at pressing the button "Open".
; Compile with FASM for Menuet
 
;******************************************************************************
use32
org 0x0
db 'MENUET01' ; 8 byte id
dd 0x01 ; header version
dd START ; start of code
dd IM_END ; size of image
dd I_END ; memory for app
dd I_END ; esp
dd temp_area , 0x0 ; I_Param , I_Icon
 
include 'lang.inc'
include '..\..\..\..\macros.inc'
include '..\..\..\..\develop\examples\editbox\trunk\editbox.inc'
;include 'macros.inc'
;include 'EDITBOX.INC'
use_edit_box
;******************************************************************************
 
START: ; start of execution
mcall 68, 11
mcall 66, 1,1
; check for parameters
cmp dword [temp_area],'BOOT'
jne .no_boot
.background:
call load_image
call convert
 
call background
.exit:
or eax,-1
mcall
.no_boot:
 
cmp byte [temp_area],0
jz .no_param
 
 
mov edi,string ; clear string
mov ecx,256/4 ; length of a string
xor eax,eax ; symbol <0>
rep stosd
 
 
mov edi,temp_area ; look for <0> in temp_area
 
cmp [edi],byte "\"
jne .continue
cmp [edi+1],byte "T"
jne @f
mov [bgrmode],dword 1
jmp .continue_1
@@:
cmp [edi+1],byte "S"
jne START.exit
mov [bgrmode],dword 2
.continue_1:
add edi,4
.continue:
mov esi,edi
mov ecx,257 ; strlen
repne scasb
lea ecx, [edi-temp_area]
 
mov edi,string
rep movsb ; copy string from temp_area to "string" (filename)
cmp [temp_area],byte "\"
je START.background
call load_image
call convert
 
.no_param:
 
 
or ecx,-1 ; get information about me
call getappinfo
 
mov edx,[process_info+30] ; ⥯¥àì ¢ edx ­ è ¨¤¥­â¨ä¨ª â®à
mov ecx,eax
 
@@:
call getappinfo
cmp edx,[process_info+30]
je @f ; ¥á«¨ ­ è PID ᮢ¯ « á PID à áᬠâਢ ¥¬®£® ¯à®æ¥áá , ¬ë ­ è«¨ ᥡï
dec ecx ; ¨­ ç¥ ᬮâਬ á«¥¤ãî騩 ¯à®æ¥áá
jne @b ; ¢®§¢à é ¥¬áï, ¥á«¨ ­¥ ¢á¥ ¯à®æ¥ááë à áᬮâ७ë
@@:
 
; ⥯¥àì ¢ ecx ­®¬¥à ¯à®æ¥áá 
mov [process],ecx
 
draw_still:
call draw_window
 
still:
 
mov eax,10 ; wait here for event
mcall
 
dec eax
jz red
dec eax
jnz button
 
key: ; key
mov al,2
mcall
mov al,ah
cmp al,130 ; 1
je kfile
cmp al,131 ; 2
je kopen
cmp al,132 ; 3
je kinfo
cmp al,133 ; 4
je kbgrd
jmp still
 
red:
test byte [status], 4
jz draw_still
mov al, 18
mov ebx, 3
mov ecx, [process]
mcall
and byte [status], not 4
jmp still
 
button: ; button
mov eax,17 ; get id
mcall
 
cmp ah,1 ; button id=1 ?
jne noclose
 
mov eax,-1 ; close this program
mcall
noclose:
cmp ah,2
jne nofile
kfile:
test byte [status], 1
jnz still
or byte [status], 1
mov eax,51
mov ebx,1
mov ecx,thread1
mov edx,thread ;0x29fff0
mcall
jmp still
nofile:
cmp ah,3
jne noopen
 
kopen:
mov ecx,-1
call getappinfo
 
call load_image
 
open1:
mov eax,[image_file]
cmp [eax],word 'BM'
jne still
call convert
jmp draw_still
noopen:
 
cmp ah,4
jne noinfo
kinfo:
test byte [status], 2
jnz still
or byte [status], 2
mov eax,51
mov ebx,1
mov ecx,thread2
mov edx,thread-512
mcall
jmp still
noinfo:
 
; “‘’€Ž‚ˆ’œ ”Ž
cmp ah,5
jne still
kbgrd:
test byte [status], 8
jnz still
or byte [status], 8
mov eax,51
mov ebx,1
mov ecx,thread3
mov edx,thread-512*2
mcall
jmp still
;call background
 
getappinfo:
mov eax,9
mov ebx,process_info
mcall
ret
 
 
load_image:
 
mov [fileinfo+0],dword 5
mov [fileinfo+12],dword 0
mov [fileinfo+16],dword process_info
 
cmp [image_file],0
je @f
mov ecx,[image_file]
mcall 68, 13,
 
@@:
mcall 70, fileinfo
 
mov [fileinfo+0],dword 0
mov [fileinfo+12],dword 512
mov [fileinfo+16],dword process_info+40
 
mcall 70, fileinfo
 
mov ecx,[process_info+32]
mov [fileinfo+12],ecx
 
mcall 68, 12
 
 
mov [fileinfo+16],eax
mov [image_file_1],eax
 
mov eax,[process_info+40+28]
 
cmp eax, 24
jz .convert24
cmp eax, 8
jz .convert8
cmp eax, 4
jz .convert4
shl ecx,2
.convert4:
shl ecx,1
.convert8:
lea ecx,[ecx*3]
.convert24:
 
;@@:
 
add ecx,512
mcall 68, 12
 
mov [image_file],eax
 
mcall 70, fileinfo
 
mov esi,[image_file_1]
mov edi,[image_file]
mov ecx,512/4
cld
rep movsd
 
mov eax,[image_file]
mov ebx,[eax+22]
mov eax,[eax+18]
test ebx, ebx
jns @f
neg ebx
@@:
add eax,9
cmp eax,210
jae @f
mov eax,210
@@:
add ebx,54
cmp ebx,56
jae @f
mov ebx,56
@@:
mov [wnd_width],eax
mov [wnd_height],ebx
test [bWasDraw],1
jz @f
mov esi,ebx
mov edx,eax
mcall 67,-1,-1
@@:
ret
 
 
drawimage:
mov eax,[image_file]
cmp [eax],word 'BM'
jne nodrawimage
mov ecx, dword [eax+18-2]
mov cx, [eax+22]
test cx, cx
jns @f
neg cx
@@:
mov edx,5*65536+50
mcall 7,[soi]
nodrawimage:
ret
 
; “‘’€Ž‚ˆ’œ ”Ž
background:
mov eax,[image_file]
cmp [eax],word 'BM'
jne @f
mov ecx,[eax+18] ; è¨à¨­ 
mov edx,[eax+22] ; ¢ëá®â 
mcall 15,1
 
mov esi, ecx
imul esi, edx
lea esi, [esi+esi*2]
mov ebx,5
mov ecx,[soi]
xor edx,edx
;;; mov esi, ;640*480*3
mcall
 
dec ebx ;tile/stretch
mov ecx,dword [bgrmode]
mcall
 
dec ebx
mcall
@@:
ret
 
convert:
call convert_1
mov ecx,[image_file_1]
mcall 68, 13,
ret
convert_1:
mov ecx, [image_file]
add ecx,512
mov [soi], ecx
mov eax,[image_file_1]
mov ebp, [eax+18]
lea ebp, [ebp*3] ; ebp = size of output scanline
mov eax, [eax+22]
dec eax
mul ebp
add eax, ecx
mov edi, eax ; edi points to last scanline
mov esi, [image_file_1]
add esi, [esi+10]
mov ebx,[image_file_1]
mov edx, [ebx+22]
add ebx,54
lea eax, [ebp*2]
mov [delta], eax
test edx, edx
jz .ret
jns @f
neg edx
and [delta], 0
mov edi, ecx
@@:
mov eax,[image_file_1]
movzx eax,word [eax+28]
cmp eax, 24
jz convert24
cmp eax, 8
jz convert8
cmp eax, 4
jz convert4
dec eax
jz convert1
.ret:
ret
convert24:
mov ecx, ebp
rep movsb
sub edi, [delta]
mov eax, ebp
neg eax
and eax, 3
add esi, eax
dec edx
jnz convert24
ret
convert8:
push edi
add [esp], ebp
.loopi:
xor eax, eax
lodsb
push eax
mov eax,[image_file_1]
cmp dword [eax+30],1
pop eax
jnz .nocompressed
.compressed:
mov ecx, eax
jecxz .special
lodsb
mov eax, [ebx+eax*4]
@@:
call putpixel
loop @b
jmp .loopi
.nocompressed:
mov eax, [ebx+eax*4]
call putpixel
.loopicont:
cmp edi, [esp]
jnz .loopi
.next:
pop edi
sub edi, [delta]
mov eax, ebp
and eax, 3
add esi, eax
dec edx
jnz convert8
ret
.special:
lodsb
test al, al
jz .next
cmp al, 2
jbe .end
mov ecx, eax
push ecx
@@:
xor eax, eax
lodsb
mov eax, [ebx+eax*4]
call putpixel
loop @b
pop ecx
and ecx, 1
add esi, ecx
jmp .loopi
.end:
pop edi
ret
convert4:
push edi
add [esp], ebp
.loopi:
xor eax, eax
lodsb
shr eax, 4
mov eax, [ebx+eax*4]
call putpixel
cmp edi, [esp]
jz .loopidone
mov al, [esi-1]
and eax, 0xF
mov eax, [ebx+eax*4]
stosd
dec edi
cmp edi, [esp]
jnz .loopi
.loopidone:
pop edi
sub edi, [delta]
call align_input
dec edx
jnz convert4
ret
convert1:
push edi
add [esp], ebp
.loopi:
lodsb
mov ecx, 8
.loopii:
add al, al
push eax
setc al
movzx eax, al
mov eax, [ebx+eax*4]
call putpixel
pop eax
cmp edi, [esp]
loopnz .loopii
jnz .loopi
pop edi
sub edi, [delta]
call align_input
dec edx
jnz convert1
ret
 
align_input:
push esi
push eax
mov eax,[image_file_1]
sub esi,eax
sub esi,[eax+10]
pop eax
neg esi
and esi, 3
add [esp], esi
pop esi
ret
 
putpixel:
push eax
stosw
shr eax, 16
stosb
pop eax
ret
 
;---------------------------------------------------------------------
get_window_param:
mcall 9, procinfo, -1
mov eax,[ebx+46]
mov [window_high],eax
mov eax,[ebx+42]
mov [window_width],eax
mcall 48,4
mov [skin_high],eax
ret
;---------------------------------------------------------------------
 
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
 
 
draw_window:
or [bWasDraw],1
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
; mov ebx,350 ; [x start] *65536 + [x size]
; mov ecx,400 ; [y start] *65536 + [y size]
mov ebx,0*65536
mov ecx,0*65536
add ebx,[wnd_width]
add ecx,[wnd_height]
cmp cx,55
ja @f
mov cx,55
@@:
mov edx,0x43ffffff ; color of work area RRGGBB,8->color gl
mcall
 
call get_window_param
 
mov ebx,5
shl ebx,16
add ebx,[window_width]
sub ebx,9
push ebx
mov ecx,[skin_high]
shl ecx,16
add ecx,50
sub ecx,[skin_high]
mcall 13, , ,0xffffff
mov eax,[image_file]
mov ecx,[eax+22]
mov ebx,[eax+18]
push ecx
add ebx,5
mov ax,bx
shl ebx,16
add ebx,[window_width]
sub ebx,4
sub bx,ax
cmp bx,0
jbe @f
add ecx,50 shl 16
mcall 13, , ,0xffffff
@@:
pop ecx
pop ebx
add ecx,50
mov ax,cx
shl ecx,16
add ecx,[window_high]
sub cx,ax
sub ecx,4
cmp cx,0
jbe @f
mcall 13, , ,0xffffff
@@:
mov eax,8
mov ebx,10*65536+46
mov ecx,25*65536+20
mov edx,2
mov esi,0x780078
newbutton:
mcall
add ebx,48*65536
inc edx
cmp edx,6
jb newbutton
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt ; pointer to text beginning
mov esi,12 ; text length
mcall
 
mov ebx,14*65536+32
mov edx,buttext
mov esi,26
mcall
 
call drawimage
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
 
ret
 
 
; DATA AREA
 
labelt:
db 'MeView v.0.4'
 
lsz buttext,\
en, ' FILE OPEN INFO BGRD',\
ru, ' ”€‰‹ Ž’Š ˆ”Ž ”Ž ',\
de, 'DATEI OEFNEN INFO HGRD'
 
thread1: ; start of thread1
 
mcall 40, 0x27
 
or ecx,-1 ; get information about me
call getappinfo
 
mov esi,string
@@:
cld
lodsb
test al,al
jne @r
sub esi,string
mov eax,esi
dec eax
mov edi, edit1
mov ed_size, eax
mov ed_pos, eax
red1:
call draw_window1
 
still1:
 
mcall 10 ; wait here for event
 
cmp eax,1 ; redraw request ?
je red1
cmp eax,2 ; key in buffer ?
je key1
cmp eax,3 ; button in buffer ?
je button1
 
mouse_edit_box name_editboxes
jmp still1
 
key1: ; key
mcall 2
cmp ah,13
je close1
cmp ah,27
je close1
 
key_edit_box name_editboxes
jmp still1
 
button1: ; button
mov eax,17 ; get id
mcall
 
cmp ah,1 ; button id=1 ?
jne still1
close1:
bts dword [status],2
btr dword [status],0
mov eax,-1 ; close this program
mcall
 
jmp still1
 
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
 
 
draw_window1:
 
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
mov ebx,100*65536+300 ; [x start] *65536 + [x size]
mov ecx,100*65536+80 ; [y start] *65536 + [y size]
mov edx,0x03780078 ; color of work area RRGGBB,8->color gl
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt1 ; pointer to text beginning
mov esi,labelt1.size ; text length
mcall
 
; call drawstring
draw_edit_box name_editboxes
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
 
ret
 
drawstring:
pusha
mov eax,8 ;invisible button
mov ebx,21*65536+258
mov ecx,40*65536+15
mov edx,0x60000002
mcall
 
mov eax,13 ;bar
mov edx,0xe0e0e0
mcall
push eax ;cursor
mov eax,6*65536
mul dword [pos]
add eax,21*65536+6
mov ebx,eax
pop eax
mov edx,0x6a73d0
mcall
mov eax,4 ;path
mov ebx,21*65536+44
xor ecx,ecx
mov edx,string
mov esi,43
mcall
 
 
popa
ret
 
; DATA AREA
 
lsz labelt1,\
en, 'File',\
ru, '” ©«',\
de, 'Datei'
 
thread2: ; start of info thread
 
call draw_window2
 
still2:
 
mov eax,10 ; wait here for event
mcall
 
cmp eax,1 ; redraw request ?
je thread2
cmp eax,2 ; key in buffer ?
je close2
cmp eax,3 ; button in buffer ?
je button2
 
jmp still2
 
button2: ; button
mov eax,17 ; get id
mcall
 
cmp ah,1 ; button id=1 ?
jne noclose2
close2:
btr dword [status],1
bts dword [status],2
mov eax,-1 ; close this program
mcall
noclose2:
 
jmp still2
 
 
 
 
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
 
 
draw_window2:
 
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
mov ebx,100*65536+330 ; [x start] *65536 + [x size]
mov ecx,100*65536+90 ; [y start] *65536 + [y size]
mov edx,0x03780078 ; color of work area RRGGBB,8->color gl
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt2 ; pointer to text beginning
mov esi,labelt2.size ; text length
mcall
 
mov ebx,10*65536+30
mov edx,string
mov esi,43
mcall
mov edx,fitext
mov esi,14
add ebx,70*65536+10
followstring:
mcall
add ebx,10
add edx,esi
cmp ebx,80*65536+70
jbe followstring
mov eax,47
mov edx,200*65536+40
mov esi,ecx
mov ecx,[image_file]
push ecx
mov ecx, [ecx+2]
call digitcorrect
mcall
add edx,10
pop ecx
push ecx
mov ecx, [ecx+18]
call digitcorrect
mcall
add edx,10
pop ecx
push ecx
mov ecx, [ecx+22]
call digitcorrect
mcall
add edx,10
pop ecx
movzx ecx,word [ecx+28]
call digitcorrect
mcall
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
 
ret
 
digitcorrect:
xor ebx,ebx
mov bh,6
cmp ecx,99999
ja c_end
dec bh
cmp ecx,9999
ja c_end
dec bh
cmp ecx,999
ja c_end
dec bh
cmp ecx,99
ja c_end
dec bh
cmp ecx,9
ja c_end
dec bh
c_end:
bswap ebx
ret
 
 
; DATA AREA
 
lsz labelt2,\
en, 'File info',\
ru, 'ˆ­ä®à¬ æ¨ï ® ä ©«¥',\
de, 'Dateiinfo'
 
lsz fitext,\
en, 'FILE SIZE ',\
en, 'X SIZE ',\
en, 'Y SIZE ',\
en, 'BITS PER PIXEL',\
\
ru, ' §¬¥à ä ©«  ',\
ru, '˜¨à¨­  ',\
ru, '‚ëá®â  ',\
ru, '¨â ­  ¯¨ªá¥« ',\
\
de, 'FATEIGROESSE ',\
de, 'X GROESSE ',\
de, 'Y GROESSE ',\
de, 'BITS PER PIXEL'
 
thread3: ; start of bgrd thread
 
call draw_window3
 
still3:
 
mov eax,10 ; wait here for event
mcall
 
cmp eax,1 ; redraw request ?
je thread3
cmp eax,2 ; key in buffer ?
je key3
cmp eax,3 ; button in buffer ?
je button3
 
jmp still3
 
key3:
mcall
cmp ah,27
je close3
cmp ah,13
je kok
cmp ah,178 ;up
jne nofup
cmp dword [bgrmode],1
je fdn
fup:
dec dword [bgrmode]
jmp flagcont
nofup:
cmp ah,177 ;down
jne still3
cmp dword [bgrmode],2
je fup
fdn:
inc dword [bgrmode]
jmp flagcont
 
 
button3: ; button
mov eax,17 ; get id
mcall
 
cmp ah,1 ; button id=1 ?
jne noclose3
close3:
btr dword [status],3
bts dword [status],2
mov eax,-1 ; close this program
mcall
noclose3:
cmp ah,4
jne nook
kok:
call background
jmp close3
nook:
cmp ah,2
jb still3
cmp ah,3
ja still3
dec ah
mov byte [bgrmode],ah
flagcont:
call drawflags
jmp still3
 
 
 
 
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
 
 
draw_window3:
 
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
mov ebx,100*65536+200 ; [x start] *65536 + [x size]
mov ecx,100*65536+100 ; [y start] *65536 + [y size]
mov edx,0x03780078 ; color of work area RRGGBB,8->color gl
mcall
 
mov eax,8
mov ebx,70*65536+40
mov ecx,70*65536+20
mov edx,4
mov esi,0xac0000
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt3 ; pointer to text beginning
mov esi,labelt3.size ; text length
mcall
add ebx,38*65536+20
mov ecx,0xddeeff
mov edx, bgrdtext
mov esi, bgrdtext.size
mcall
add ebx,40*65536+15
mov edx, tiled
mov esi, tiled.size
mcall
add ebx,15
mov edx, stretch
mov esi, stretch.size ;7
mcall
add ebx,18
mov edx, ok_btn
mov esi, ok_btn.size ;2
mcall
 
call drawflags
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
 
ret
 
drawflags:
mov eax,8
mov ebx,70*65536+10
mov ecx,40*65536+10
mov edx,2
mov esi,0xe0e0e0
mcall
add ecx,15*65536
inc edx
mcall
mov eax,4
mov ebx,73*65536+42
xor ecx,ecx
mov edx,vflag
mov esi,1
cmp dword [bgrmode],1
je nodownflag
add ebx,15
nodownflag:
mcall
ret
 
 
; DATA AREA
status dd 0 ;bit0=1 if file thread is created
soi dd 0
delta dd 0
process dd 0
 
bWasDraw db 0
vflag: db 'x'
bgrmode: dd 1
 
wnd_width dd 210
wnd_height dd 53
 
lsz labelt3,\
en, 'Background set',\
ru, "“áâ ­®¢ª  ä®­ ",\
de, 'Hintergrund gesetzt'
 
lsz bgrdtext,\
en, 'SET AS BACKGROUND:',\
ru, '’¨¯ ®¡®¥¢:',\
de, 'ALS HINTERGRUND'
 
lsz tiled,\
en, 'TILED',\
ru, '§ ¬®áâ¨âì',\
de, 'GEKACHELT'
 
lsz stretch,\
en, 'STRETCH',\
ru, 'à áâï­ãâì',\
de, 'GESTRECKT'
 
lsz ok_btn,\
en, 'Ok',\
ru, 'Ok',\
de, 'Ok'
 
image_file dd 0
image_file_1 dd 0
 
pos: dd 6
 
window_high dd 0
window_width dd 0
skin_high dd 0
;---------------------------------------------------------------------
; for EDITBOX
name_editboxes:
edit1 edit_box 200,10,30,0xffffff,0xbbddff,0,0,0,255,string,ed_focus+ed_always_focus,0
name_editboxes_end:
 
mouse_flag: dd 0x0
;---------------------------------------------------------------------
fileinfo:
dd 5
dd 0
dd 0
dd 0
dd process_info
string:
db '/sys/bgr.bmp',0
 
IM_END:
rb string+257-$
 
temp_area:
procinfo:
process_info:
rb 1024*4
rb 1024*2
thread:
rb 512
I_END:
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property