KIV: save desktop image set by IgorA

Palitra: save desktop colors set by IgorA
Docky: no close by Alt+F4
IconNew: fix system hang when use an icon with number >99 by GerdtR
Gears (TinyGL asm): add key description to window, uncomment zoom code, add key shortcut "+" for zoom-in
TinyGL asm images: much better compression, for instance, TEXT_2.PNG from 235Kb to 106Kb without any visible degradation


git-svn-id: svn://kolibrios.org@7421 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
2018-10-01 15:18:07 +00:00
parent 01ba9472ef
commit dd9e50c167
8 changed files with 243 additions and 279 deletions

View File

@@ -149,7 +149,14 @@ key:
cmp ah,27 ;Esc cmp ah,27 ;Esc
je button.exit je button.exit
cmp ah,61 ;+ cmp ah,43 ;+
jne @f
fld dword[scale]
fdiv dword[delt_sc]
fstp dword[scale]
call draw_3d
@@:
cmp ah,61 ;=
jne @f jne @f
fld dword[scale] fld dword[scale]
fdiv dword[delt_sc] fdiv dword[delt_sc]
@@ -208,7 +215,7 @@ title1: db 'TinyGL in KolibriOS'
.end: db 0 .end: db 0
title2: db 'F full screen' title2: db 'F full screen'
.end: db 0 .end: db 0
title3: db 'ESC - exit' title3: db 'ESC - exit Arrow keys - rotate +/- zoom'
.end: db 0 .end: db 0
fps: db 'FPS:' fps: db 'FPS:'
.end: db 0 .end: db 0
@@ -222,7 +229,7 @@ draw_3d:
stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT
stdcall [glPushMatrix] stdcall [glPushMatrix]
;stdcall [glScalef], [scale], [scale], [scale] stdcall [glScalef], [scale], [scale], [scale]
stdcall [glRotatef], [view_rotx], 1.0, 0.0, 0.0 stdcall [glRotatef], [view_rotx], 1.0, 0.0, 0.0
stdcall [glRotatef], [view_roty], 0.0, 1.0, 0.0 stdcall [glRotatef], [view_roty], 0.0, 1.0, 0.0
stdcall [glRotatef], [view_rotz], 0.0, 0.0, 1.0 stdcall [glRotatef], [view_rotz], 0.0, 0.0, 1.0
@@ -283,7 +290,7 @@ draw_3d:
align 4 align 4
an_9 dd 9.0 an_9 dd 9.0
an_25 dd 25.0 an_25 dd 25.0
scale dd 0.14 ;??? scale dd 1.0 ;???
delt_sc dd 0.85 ;??? delt_sc dd 0.85 ;???
delt_size dd 5.0 delt_size dd 5.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View File

@@ -4,7 +4,7 @@ use32
org 0x0 org 0x0
db 'MENUET01' db 'MENUET01'
dd 0x01, START, I_END, F_END, stacktop, @PARAMS, 0x0 dd 0x01, START, I_END, F_END, stacktop, @PARAMS, sys_path
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
@@ -503,6 +503,32 @@ set_as_bgr:
@@: @@:
mcall SF_BACKGROUND_SET, SSF_REDRAW_BG mcall SF_BACKGROUND_SET, SSF_REDRAW_BG
;save to file eskin.ini
xor al,al
mov ecx,1024
mov edi,sys_path+2
repne scasb
sub edi,sys_path+3
invoke ini_set_str, inifileeskin, amain, aprogram, sys_path+2, edi
;add param '\S__'
cmp word[@PARAMS],'\S'
je @f
mov esi, @PARAMS+4096-8
mov edi, @PARAMS+4096-4
mov ecx, 4096/4-1
std
rep movsd
cld
mov dword[@PARAMS],'\S__'
@@:
;
xor al,al
mov ecx,4096
mov edi,@PARAMS
repne scasb
sub edi,@PARAMS+1
invoke ini_set_str, inifileeskin, amain, aparam, @PARAMS, edi
ret ret
slide_show: slide_show:
@@ -1217,7 +1243,8 @@ import libimg , \
img.draw , 'img_draw' img.draw , 'img_draw'
import libini, \ import libini, \
ini_get_shortcut, 'ini_get_shortcut' ini_get_shortcut, 'ini_get_shortcut',\
ini_set_str, 'ini_set_str'
import sort, sort.START, 'START', SortDir, 'SortDir', strcmpi, 'strcmpi' import sort, sort.START, 'START', SortDir, 'SortDir', strcmpi, 'strcmpi'
@@ -1279,6 +1306,11 @@ aPrev db 'Prev',0
aSlide db 'SlideShow',0 aSlide db 'SlideShow',0
aTglbar db 'ToggleBar',0 aTglbar db 'ToggleBar',0
inifileeskin db '/sys/settings/eskin.ini',0
amain db 'main',0
aprogram db 'program',0
aparam db 'param',0
align 4 align 4
check_modifier_table: check_modifier_table:
dd check_modifier_0 dd check_modifier_0
@@ -1385,10 +1417,12 @@ tglbar_key dd ?
toolbar_height_old rd 1 toolbar_height_old rd 1
procinfo process_information procinfo process_information
align 16
path: rb 4096 ;1024+16 path: rb 4096 ;1024+16
real_header rb 256 real_header rb 256
@PARAMS rb 4096 ;512 @PARAMS rb 4096 ;512
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
sys_path rb 1024
temp_dir_pach: temp_dir_pach:
rb 4096 rb 4096
;--------------------------------------------------------------------- ;---------------------------------------------------------------------

View File

@@ -65,18 +65,14 @@
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> | ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> |
;----------------------------------------------------------------------------------------------------/ ;----------------------------------------------------------------------------------------------------/
use32 use32
org 0x0 org 0
db 'MENUET01' db 'MENUET01'
dd 0x01 dd 1,START,I_END,I_MEM,stacktop,params,sys_path
dd START
dd I_END
dd I_MEM
dd I_MEM
dd params
dd 0x0
include '../../../macros.inc' include '../../../macros.inc'
include '../../../proc32.inc' include '../../../proc32.inc'
include '../../../KOSfuncs.inc'
include '../../../dll.inc'
WIN_W equ 295 ; <20><><EFBFBD> <20><><EFBFBD><EFBFBD> WIN_W equ 295 ; <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
WIN_H equ 195 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> WIN_H equ 195 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
@@ -87,8 +83,11 @@ panel:
file "panel.raw" file "panel.raw"
START: START:
mcall 68,11 ; <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> mcall SF_SYS_MISC,SSF_HEAP_INIT ; <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mcall 40,0x27 ; <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><> stdcall dll.Load, @IMPORT
or eax,eax
jnz bexit
mcall SF_SET_EVENTS_MASK,0x27 ; <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><>
include 'params_init.inc' ; <20><><EFBFBD><20><><EFBFBD><E0A0AC><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> include 'params_init.inc' ; <20><><EFBFBD><20><><EFBFBD><E0A0AC><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
;#___________________________________________________________________________________________________ ;#___________________________________________________________________________________________________
@@ -98,7 +97,7 @@ START:
red: red:
call draw_main ; <20><><EFBFBD><EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> call draw_main ; <20><><EFBFBD><EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
still: still:
mcall 10 ; <20><EFBFBD><E3ADAA><EFBFBD> 10 - <20><><EFBFBD><EFBFBD><EFBFBD><><E1AEA1><EFBFBD><EFBFBD> mcall SF_WAIT_EVENT ; <20><EFBFBD><E3ADAA><EFBFBD> 10 - <20><><EFBFBD><EFBFBD><EFBFBD><><E1AEA1><EFBFBD><EFBFBD>
cmp eax,1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> ? cmp eax,1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> ?
je red ; <20><20><> - <20><> <20><><EFBFBD><EFBFBD><EFBFBD> red je red ; <20><20><> - <20><> <20><><EFBFBD><EFBFBD><EFBFBD> red
cmp eax,2 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ? cmp eax,2 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ?
@@ -111,7 +110,7 @@ still:
;end_still ;end_still
key: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> key: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mcall 2 ; <20><EFBFBD><E3ADAA><EFBFBD> 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1A8AC><EFBFBD><EFBFBD> (<28> ah) (<28><><EFBFBD> <20> <20>ਭ樯<E0A8AD> <20><> <20><EFBFBD>) mcall SF_GET_KEY ; <20><EFBFBD><E3ADAA><EFBFBD> 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1A8AC><EFBFBD><EFBFBD> (<28> ah) (<28><><EFBFBD> <20> <20>ਭ樯<E0A8AD> <20><> <20><EFBFBD>)
jmp still ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><><E6A8AA> jmp still ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><><E6A8AA>
;end_key ;end_key
@@ -121,7 +120,7 @@ mouse:
call cyrcle_draw call cyrcle_draw
jmp center jmp center
left: left:
mcall 37,2 mcall SF_MOUSE_GET,SSF_BUTTON
cmp al,1b cmp al,1b
jne right jne right
mov [mouse_f],1 mov [mouse_f],1
@@ -132,7 +131,7 @@ mouse:
mov [mouse_f],2 mov [mouse_f],2
jmp still jmp still
center: center:
mcall 37,2 mcall SF_MOUSE_GET,SSF_BUTTON
cmp al,100b cmp al,100b
jne still jne still
mov [mouse_f],3 mov [mouse_f],3
@@ -142,7 +141,7 @@ mouse:
;end_mouse ;end_mouse
button: button:
mcall 17 ; 17 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mcall SF_GET_BUTTON ; 17 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp ah, 1 ; <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>஬ 1, cmp ah, 1 ; <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>஬ 1,
jz bexit ; <20><><EFBFBD><E5AEA4> jz bexit ; <20><><EFBFBD><E5AEA4>
;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Next ;<3B><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Next
@@ -222,7 +221,7 @@ button:
call set_spectr call set_spectr
jmp still ; <20><EFBFBD><E5AEA4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E3A3AE><><E1AEA1><EFBFBD><EFBFBD> jmp still ; <20><EFBFBD><E5AEA4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E3A3AE><><E1AEA1><EFBFBD><EFBFBD>
bexit: bexit:
mcall -1 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> mcall SF_TERMINATE_PROCESS ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
;end_button ;end_button
;#___________________________________________________________________________________________________ ;#___________________________________________________________________________________________________
@@ -230,19 +229,14 @@ button:
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
;----------------------------------------------------------------------------------------------------/ ;----------------------------------------------------------------------------------------------------/
draw_main: draw_main:
mov eax,12 ; <20><EFBFBD><E3ADAA><EFBFBD> 12: <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ; <20><EFBFBD><E3ADAA><EFBFBD> 12: <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mov ebx,1 ; 1,<2C><><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> mcall SF_REDRAW,SSF_BEGIN_DRAW
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD>
mov eax,48 ; <20><EFBFBD><E3ADAA><EFBFBD> 48 - <20><EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ; <20><EFBFBD><E3ADAA><EFBFBD> 48 - <20><EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mov ebx,3 ; <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 3 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E6A2A5> <20><><EFBFBD><EFBFBD>. mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
mov ecx,sc ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><><E0A0A7>஬ edx <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov edx,sizeof.system_colors ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A0A1><EFBFBD><EFBFBD> 梥⮢ (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 40 <20><><EFBFBD><EFBFBD>)
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD>
mov eax,48 ; <20><EFBFBD><E3ADAA><EFBFBD> 48 - <20><EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. ; <20><EFBFBD><E3ADAA><EFBFBD> 48 - <20><EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mov ebx,4 ; <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> eax = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AAA8>. mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD>
mov ecx,eax ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AAA8> mov ecx,eax ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AAA8>
mov edi,[runmode] mov edi,[runmode]
@@ -271,16 +265,11 @@ draw_main:
call draw_palitra ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> call draw_palitra ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
call draw_result ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> call draw_result ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov eax,8 ; <20><EFBFBD><E3ADAA><EFBFBD> 8 - <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>/㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; <20><EFBFBD><E3ADAA><EFBFBD> 8 - <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>/㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ebx,110 shl 16+147 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20> [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>] mcall SF_DEFINE_BUTTON, (110 shl 16)+147, (9 shl 16)+147, 0x60000007
mov ecx,9 shl 16+147 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov edx,0x60000007 ; <20><>砫쭮<E7A0AB> ID <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 0xXYnnnnnn
int 0x40
mov ebx,13 shl 16+12 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20> [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>] inc edx
mov edx,0x60000008 ; ID = 8 mcall , (13 shl 16)+12, (51 shl 16)+85 ; <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1ABA0><EFBFBD>஬ red
mov ecx,51 shl 16+85 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40 ; <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1ABA0><EFBFBD>஬ red
add ebx,23 shl 16 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> add ebx,23 shl 16 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
inc edx ; ID = 9 inc edx ; ID = 9
int 0x40 ; <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1ABA0><EFBFBD>஬ green int 0x40 ; <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1ABA0><EFBFBD>஬ green
@@ -291,18 +280,14 @@ draw_main:
inc edx ; ID = 11 inc edx ; ID = 11
int 0x40 ; <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1ABA0><EFBFBD>஬ alpha int 0x40 ; <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1ABA0><EFBFBD>஬ alpha
mov eax,8 ; <20><EFBFBD><E3ADAA><EFBFBD> 8 - <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>/㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>) ; <20><EFBFBD><E3ADAA><EFBFBD> 8 - <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>/㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>)
mov ebx,11 shl 16+20 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20> [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>] mcall , (11 shl 16)+20, (12 shl 16)+20, 0x6000000D
mov ecx,12 shl 16+20 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov edx,0x6000000D ; ID = 13
int 0x40
call draw_bottom_panel call draw_bottom_panel
call draw_left_panel call draw_left_panel
mov eax,12 ; <20><EFBFBD><E3ADAA><EFBFBD> 12: <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ; <20><EFBFBD><E3ADAA><EFBFBD> 12: <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mov ebx,2 ; 2 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> mcall SF_REDRAW,SSF_END_DRAW
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD>
ret ret
;#___________________________________________________________________________________________________ ;#___________________________________________________________________________________________________
@@ -314,22 +299,14 @@ draw_main:
;------------------------------------------------------------------------------------------------+ ;------------------------------------------------------------------------------------------------+
draw_left_panel: ; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> draw_left_panel: ; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;................................................................................................. ;.................................................................................................
mov eax,8 ; button_next_colorsheme ; button_next_colorsheme
mov ebx,266 shl 16+16 ; [x] + [size] mcall SF_DEFINE_BUTTON, (266 shl 16)+16, (9 shl 16)+16, 0x6000000C, [sc.work_button]
mov ecx,9 shl 16+16 ; [y] + [size]
mov edx,0x6000000C ; ID = 12
mov esi,[sc.work_button] ; RGB
int 0x40 ; call
; circle diagram ; circle diagram
add ecx,19 shl 16 ; move rect add ecx,19 shl 16 ; move rect
mov edx,0x6000000F ; ID = 15 mov edx,0x6000000F ; ID = 15
int 0x40 ; call int 0x40 ; call
mov eax,7 ; 7 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 mcall SF_PUT_IMAGE, panel, (16 shl 16)+149, (266 shl 16)+9
mov ebx,panel ; 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0ACA0> BBGGRRBBGGRR...
mov ecx, 16 shl 16 + 149 ; [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> y]
mov edx,266 shl 16 + 9 ; [<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]
int 0x40
;mov eax,13 ; draw rect ;mov eax,13 ; draw rect
;mov ebx,266 shl 16+16 ; [x] + [size] ;mov ebx,266 shl 16+16 ; [x] + [size]
@@ -373,23 +350,16 @@ draw_main:
;------------------------------------------------------------------------------------------------+ ;------------------------------------------------------------------------------------------------+
draw_bottom_panel: ; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> draw_bottom_panel: ; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;................................................................................................. ;.................................................................................................
mov eax,8 ; draw button mcall SF_DEFINE_BUTTON, (92 shl 16)+90, (169 shl 16)+16, 14, [sc.work_button]
mov ebx,(92) shl 16+90 ; [x] + [size]
mov ecx,169 shl 16+16 ; [y] + [size]
mov edx,14 ; ID = 14
mov esi,[sc.work_button] ; RGB
int 0x40 ; call
add ebx, 100 shl 16 add ebx, 100 shl 16
add edx, 2 add edx, 2
int 0x40 int 0x40
mov eax,4 ; Write string ; Write string
mov ebx,(113 - 104) shl 16+174 ; [x] + [y]
mov ecx,[sc.work_text] ; RGB mov ecx,[sc.work_text] ; RGB
or ecx, 1 shl 31 or ecx, 1 shl 31
mov edx,bground ; string pointer mcall SF_DRAW_TEXT, (113 - 104) shl 16+174, ,bground
int 0x40 ; call
mov ecx, [sc.work_button_text] mov ecx, [sc.work_button_text]
or ecx, 1 shl 31 or ecx, 1 shl 31
@@ -402,11 +372,7 @@ draw_main:
mov edx, bground2 mov edx, bground2
int 0x40 int 0x40
mov eax,38 ; draw line mcall SF_DRAW_LINE, 4 shl 16+282, 163 shl 16+163, 0x00666666
mov ebx,4 shl 16+282 ; [start x] + [end x]
mov ecx,163 shl 16+163 ; [start y] + [end y]
mov edx,0x00666666 ; RGB
int 0x40 ; call
ret ; return ret ; return
;................................................................................................. ;.................................................................................................
@@ -414,9 +380,8 @@ mouse_global:
;................................................................................................. ;.................................................................................................
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
;................................................................................................. ;.................................................................................................
mov eax,37 ; <20><EFBFBD><E3ADAA><EFBFBD> 37 - ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> mcall SF_MOUSE_GET,SSF_SCREEN_POSITION
mov ebx,0 ; <20><><EFBFBD> <20><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; eax = x*65536 + y, (x,y)=<3D><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
int 0x40 ; eax = x*65536 + y, (x,y)=<3D><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mov ecx,eax ; mov ecx,eax ;
shr ecx,16 ; ecx = x+1 shr ecx,16 ; ecx = x+1
movzx edx,ax ; edx = y+1 movzx edx,ax ; edx = y+1
@@ -431,9 +396,8 @@ mouse_local:
;................................................................................................. ;.................................................................................................
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD> ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD>
;................................................................................................. ;.................................................................................................
mov eax,37 ; <20><EFBFBD><E3ADAA><EFBFBD> 37 - ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
mov ebx,1 ; <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; eax = x*65536 + y, (x,y)=<3D><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int 0x40 ; eax = x*65536 + y, (x,y)=<3D><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mov ecx,eax ; mov ecx,eax ;
shr ecx,16 ; ecx = x+1 shr ecx,16 ; ecx = x+1
movzx edx,ax ; edx = y+1 movzx edx,ax ; edx = y+1
@@ -448,16 +412,14 @@ set_background:
;................................................................................................. ;.................................................................................................
; <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭 ࠡ<><EFBFBD> <20><EFBFBD> ; <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭 ࠡ<><EFBFBD> <20><EFBFBD>
;................................................................................................. ;.................................................................................................
mov eax,15 ; <20><EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20><><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8AA> ; <20><EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20><><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8AA>
mov ebx,4 ; <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <><E0A5A6> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><>. ; <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <><E0A5A6> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><>.
mov ecx,2 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (1) ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (1), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (2)
int 0x40 ; <20><><EFBFBD><EFBFBD><EBA2A0> mcall SF_BACKGROUND_SET,SSF_MODE_BG,2
mov eax,15 ; <20><EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20><><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8AA> ; <20><EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20><><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8AA>
mov ebx,1 ; <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 1 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>. ; <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 1 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>.
mov ecx,2 ; <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> mcall SF_BACKGROUND_SET,SSF_SIZE_BG,2,2
mov edx,2 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
int 0x40 ; <20><><EFBFBD><EFBFBD><EBA2A0>
mov eax,[color] mov eax,[color]
mov [cm+0],al mov [cm+0],al
@@ -479,16 +441,68 @@ set_background:
mov [cm+5],al mov [cm+5],al
mov [cm+8],al mov [cm+8],al
mov eax,15 ; <20><EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20><><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8AA> ; <20><EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20><><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8AA>
mov ebx,5 ; <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 5 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1A5AB> <20><> 䮭. ; <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 5 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1A5AB> <20><> 䮭.
mov ecx,cm ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0ACA0> BBGGRRBBGGRR ; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0ACA0> BBGGRRBBGGRR
mov edx,0 ; C<><43><EFBFBD><E9A5AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> ; - C<><43><EFBFBD><E9A5AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
mov esi,3*4 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = 3 * <20><><20><><EFBFBD><EFBFBD><E1A5AB> ; - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = 3 * <20><><20><><EFBFBD><EFBFBD><E1A5AB>
int 0x40 ; <20><><EFBFBD><EFBFBD><EBA2A0> mcall SF_BACKGROUND_SET,SSF_IMAGE_BG,cm,0,3*4
mov eax,15 ; <20><EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20><><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8AA> ; <20><EFBFBD><E3ADAA><EFBFBD> 15 - ࠡ<><E0A0A1><EFBFBD> <20><><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8AA>
mov ebx,3 ; <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 3 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> 䮭. ; <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 3 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> 䮭.
int 0x40 ; <20><><EFBFBD><EFBFBD><EBA2A0> mcall SF_BACKGROUND_SET,SSF_REDRAW_BG
;save to file eskin.ini
xor al,al
mov ecx,1024
mov edi,sys_path+2
repne scasb
sub edi,sys_path+3
invoke ini_set_str, inifileeskin, amain, aprogram, sys_path+2, edi
;add param 'H '
mov word[params],'H '
mov eax,[color]
or eax,0xf ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E7ADAE><><E6A8AA> <20>᫨ eax=0
mov edi,params+2
@@:
rol eax,8
or al,al
jnz @f
mov word[edi],'00' ;<3B><20><><20><><EFBFBD>
add edi,2
jmp @b
@@:
and al,0xf0
jnz @f
mov byte[edi],'0'
inc edi
@@:
mov eax,[color]
mov ebx,16
call int2ascii
mov byte[params+10],' '
;add color2
mov eax,[color2]
or eax,0xf ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E7ADAE><><E6A8AA> <20>᫨ eax=0
mov edi,params+11
@@:
rol eax,8
or al,al
jnz @f
mov word[edi],'00' ;<3B><20><><20><><EFBFBD>
add edi,2
jmp @b
@@:
and al,0xf0
jnz @f
mov byte[edi],'0'
inc edi
@@:
mov eax,[color2]
mov ebx,16
call int2ascii
invoke ini_set_str, inifileeskin, amain, aparam, params, 19
ret ret
;end_set_background ;end_set_background
@@ -497,8 +511,8 @@ desktop_get:
;................................................................................................. ;.................................................................................................
; <20><><EFBFBD><E0A5A4><20><><EFBFBD> <20><><EFBFBD> ; <20><><EFBFBD><E0A5A4><20><><EFBFBD> <20><><EFBFBD>
;................................................................................................. ;.................................................................................................
mov eax,14 ; <20><><EFBFBD><E0A5A4><20><><EFBFBD> <20><><EFBFBD> (eax = [xsize]*65536 + [ysize]) ; <20><><EFBFBD><E0A5A4><20><><EFBFBD> <20><><EFBFBD> (eax = [xsize]*65536 + [ysize])
int 0x40 ; xsize = ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD><E0A8A7><EFBFBD> - 1 mcall SF_GET_SCREEN_SIZE ; xsize = ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD><E0A8A7><EFBFBD> - 1
mov ebx,eax ; mov ebx,eax ;
shr ebx,16 ; ebx = xsize-1 shr ebx,16 ; ebx = xsize-1
movzx edx,ax ; edx = ysize-1 (<28><><EFBFBD> <20><><EFBFBD>) movzx edx,ax ; edx = ysize-1 (<28><><EFBFBD> <20><><EFBFBD>)
@@ -521,9 +535,8 @@ mouse_get:
;................................................................................................. ;.................................................................................................
; <20><>६ 梥<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> ; <20><>६ 梥<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
;................................................................................................. ;.................................................................................................
mov eax,35 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ;mov ebx,ecx ;; ebx = y*xsize+x (<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>)
;mov ebx,ecx ;; ebx = y*xsize+x (<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>) mcall SF_GET_PIXEL ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <20> eax
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><> <20> eax
cmp eax,[sc.work] ; <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E4AEAD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cmp eax,[sc.work] ; <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E4AEAD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
je mouse_err ; <20><20><><EFBFBD> <20><> - <20><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> je mouse_err ; <20><20><><EFBFBD> <20><> - <20><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp eax,0x222222 ; <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 梥⮬ <20><> cmp eax,0x222222 ; <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 梥⮬ <20><>
@@ -552,11 +565,8 @@ mouse_get:
;end_mouse_get---------------------------------------------------------------------------------------- ;end_mouse_get----------------------------------------------------------------------------------------
draw_palitra: draw_palitra:
mov eax,13 ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD> ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>
mov ebx,110 shl 16+148 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>] mcall SF_DRAW_RECT, 110 shl 16+148, 9 shl 16+148, [sc.work]
mov ecx,9 shl 16+148 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov edx,[sc.work] ; 梥<>
int 0x40
cmp [renmode],2 cmp [renmode],2
je cyrcle_draw je cyrcle_draw
@@ -604,7 +614,7 @@ draw_palitra:
jle end_cyrcle_draw jle end_cyrcle_draw
cyrcle_draw_2: cyrcle_draw_2:
mcall 5,10 mcall SF_SLEEP,10
call desktop_get call desktop_get
call mouse_global call mouse_global
@@ -614,9 +624,8 @@ draw_palitra:
mov ecx, 10*65536+11 mov ecx, 10*65536+11
mov edi,0 mov edi,0
circle_loop2: circle_loop2:
mov eax,13
call circle_pixel_read call circle_pixel_read
mcall mcall SF_DRAW_RECT
add ecx,11 shl 16 add ecx,11 shl 16
inc edi inc edi
cmp edi,13 cmp edi,13
@@ -627,12 +636,7 @@ draw_palitra:
cmp esi,13 cmp esi,13
jne circle_loop jne circle_loop
mcall SF_DRAW_RECT, 177*65536+13, 76*65536+13, 0
mov eax,13
mov edx,0x0
mov ebx,177*65536+13
mov ecx, 76*65536+13
mcall
mov ecx, [mouse_x] mov ecx, [mouse_x]
mov edx, [mouse_y] mov edx, [mouse_y]
inc ecx inc ecx
@@ -640,26 +644,16 @@ draw_palitra:
mov ebx, edx mov ebx, edx
imul ebx, [desctop_w] imul ebx, [desctop_w]
add ebx, ecx add ebx, ecx
mov eax, 35 mcall SF_GET_PIXEL
mcall
mov edx,eax mov edx,eax
mov eax,13 mcall SF_DRAW_RECT, 178*65536+11, 77*65536+11
mov ebx,178*65536+11
mov ecx, 77*65536+11
mcall
ret ret
end_cyrcle_draw: end_cyrcle_draw:
mov eax,13 mcall SF_DRAW_RECT, 111*65536+145, 9*65536+145, 0x666666
mov edx,0x666666
mov ebx,111*65536+145
mov ecx, 9*65536+145
mcall
ret ret
circle_pixel_read: circle_pixel_read:
push ecx push ecx ebx
push ebx
push eax
mov ecx, [mouse_x] mov ecx, [mouse_x]
mov edx, [mouse_y] mov edx, [mouse_y]
inc ecx inc ecx
@@ -676,19 +670,14 @@ draw_palitra:
mov ebx, edx mov ebx, edx
imul ebx, [desctop_w] imul ebx, [desctop_w]
add ebx, ecx add ebx, ecx
mov eax, 35 mcall SF_GET_PIXEL
mcall
mov edx,eax mov edx,eax
pop eax pop ebx ecx
pop ebx
pop ecx
ret ret
_cpr_exit: _cpr_exit:
mov edx,0x00000000 xor edx,edx
pop eax pop ebx ecx
pop ebx
pop ecx
ret ret
;picker_draw: ;picker_draw:
@@ -698,7 +687,7 @@ draw_palitra:
; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;................................................................................................. ;.................................................................................................
sheme_draw: sheme_draw:
mov eax,13 ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD> mov eax,SF_DRAW_RECT ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>
mov edx,0x222222 ; 梥<> mov edx,0x222222 ; 梥<>
mov ecx,9 shl 16+73 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>] mov ecx,9 shl 16+73 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov esi,2 ; <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov esi,2 ; <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -719,7 +708,7 @@ draw_palitra:
;................................................................................................. ;.................................................................................................
; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E6A8AA> ; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E6A8AA>
;................................................................................................. ;.................................................................................................
mov eax,13 ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD> mov eax,SF_DRAW_RECT ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>
mov edx,0x0FFFFFFF ; 梥<> mov edx,0x0FFFFFFF ; 梥<>
mov esi,4 ; <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>楢 (#4,8) mov esi,4 ; <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>楢 (#4,8)
mov ebx,99 shl 16+8 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>] mov ebx,99 shl 16+8 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
@@ -849,64 +838,33 @@ draw_result:
;................................................................................................. ;.................................................................................................
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0AC> <20><EFBFBD><EBA2AE><><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0AC> <20><EFBFBD><EBA2AE><><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;................................................................................................. ;.................................................................................................
mov eax,13 ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD> mcall SF_DRAW_RECT, 4 shl 16+98, 9 shl 16+148, 0x00666666
mov edx,0x00666666 ; 梥<>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mcall , 5 shl 16+96, 10 shl 16+146, 0x00F3F3F3
mov ebx,4 shl 16+98 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov ecx,9 shl 16+148 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40
mov edx,0x00F3F3F3 ; 梥<>-䮭<>
mov ebx,5 shl 16+96 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov ecx,10 shl 16+146 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40
;................................................................................................. ;.................................................................................................
; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E6A2A5> <20> hex color2 ; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E6A2A5> <20> hex color2
;................................................................................................. ;.................................................................................................
mov eax,13 ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD> mcall , 16 shl 16+15, 16 shl 16+15, 0x222222
; color 2 - draw fringle
mov edx,0x222222 ; 梥<>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ebx,16 shl 16+15 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov ecx,16 shl 16+15 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>)
; color 2 - draw color ; color 2 - draw color
mov edx,[color2] ; 梥<> mcall , 17 shl 16+13, 17 shl 16+13, [color2]
mov ebx,17 shl 16+13 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov ecx,17 shl 16+13 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>)
; color 1 - draw fringle ; color 1 - draw fringle
mov edx,0x222222 ; 梥<>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mcall , 11 shl 16+15, 12 shl 16+15, 0x222222
mov ebx,11 shl 16+15 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov ecx,12 shl 16+15 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>)
; value - draw fringle ; value - draw fringle
mov ebx,34 shl 16+62 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>] mcall , 34 shl 16+62, 16 shl 16+15
mov ecx,16 shl 16+15 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>)
; color 2 - draw color ; color 2 - draw color
mov edx,[color] ; 梥<> mcall , 12 shl 16+13, 13 shl 16+13, [color]
mov ebx,12 shl 16+13 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov ecx,13 shl 16+13 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>)
; value - draw background ; value - draw background
mov edx,0xFFFFFF ; 梥<>-䮭<> mcall , 35 shl 16+60, 17 shl 16+13, 0xFFFFFF
mov ebx,35 shl 16+60 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov ecx,17 shl 16+13 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>)
mov eax,47 ; <20><EFBFBD><E3ADAA><EFBFBD> 47 - <20><EFBFBD> <20><><20> <20><><EFBFBD><EFBFBD> ; <20><EFBFBD><E3ADAA><EFBFBD> 47 - <20><EFBFBD> <20><><20> <20><><EFBFBD><EFBFBD>
mov ecx,[color] ; <20><>᫮ (<28><><EFBFBD> bl=0) <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> bl=1) ;ebx - <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><><E2A5AA> (HEX)
mov esi,0x0 ; 0xX0RRGGBB mcall SF_DRAW_NUMBER, 256+8 shl 16, [color], (45 shl 16)+20,, 0
mov ebx,256+8 shl 16 ; <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><><E2A5AA> (HEX)
mov edx,45 shl 16+20 ; [<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD> - <20><EFBFBD><EBA2AE><EFBFBD><><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> (HEX)
mov eax,4 ; <20><EFBFBD><E3ADAA><EFBFBD> 4: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA> <20> <20><><EFBFBD><EFBFBD> ; <20><EFBFBD><E3ADAA><EFBFBD> 4: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA> <20> <20><><EFBFBD><EFBFBD>
mov ebx,38*65536+20 ; [x <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD>] *65536 + [y <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD>] ; edx - <20><><EFBFBD>㥬 '#'
mov ecx,0x0 ; 梥<><><E2A5AA><EFBFBD> RRGGBB ; esi - <20><><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov edx,hex ; <20><><EFBFBD>㥬 '#' mcall SF_DRAW_TEXT,38*65536+20,0,hex,1
mov esi,1 ; <20><><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int 0x40
;................................................................................................. ;.................................................................................................
; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> r g b <20><><EFBFBD><EFBFBD><E7A5AD> ; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> r g b <20><><EFBFBD><EFBFBD><E7A5AD>
@@ -932,7 +890,7 @@ draw_result:
;................................................................................................. ;.................................................................................................
; <20><EFBFBD><EBA2AE><EFBFBD> <20><EFBFBD> r g b a ; <20><EFBFBD><EBA2AE><EFBFBD> <20><EFBFBD> r g b a
;................................................................................................. ;.................................................................................................
mov eax,4 ; 4 - <20><EFBFBD><EBA2A5><EFBFBD> <20><><EFBFBD><><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD> mov eax,SF_DRAW_TEXT ; 4 - <20><EFBFBD><EBA2A5><EFBFBD> <20><><EFBFBD><><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
mov ebx,16 shl 16+40 ; [<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y] mov ebx,16 shl 16+40 ; [<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]
mov ecx,0x0 ; 0xX0RRGGBB (RR, GG, BB <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><><E2A5AA><EFBFBD>) mov ecx,0x0 ; 0xX0RRGGBB (RR, GG, BB <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><><E2A5AA><EFBFBD>)
mov edx,cname ; 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD> mov edx,cname ; 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD>
@@ -940,18 +898,15 @@ draw_result:
newline: ; 横<> newline: ; 横<>
int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD> int 0x40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD>
add ebx,23 shl 16 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> add ebx,23 shl 16 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
add edx,1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> inc edx ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp [edx],byte 'x' ; <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><20> cmp [edx],byte 'x' ; <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><20>
jne newline ; <20><20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><><E0A0A2> jne newline ; <20><20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><><E0A0A2>
;................................................................................................. ;.................................................................................................
; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><><E1ABA0><EFBFBD> ; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><><E1ABA0><EFBFBD>
;................................................................................................. ;.................................................................................................
mov eax,13 ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD> ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>
mov edx,0x222222 ; 梥<>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mcall SF_DRAW_RECT, 16 shl 16+4, 51 shl 16+86, 0x222222
mov ebx,16 shl 16+4 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov ecx,51 shl 16+86 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40
add ebx,23 shl 16 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>] add ebx,23 shl 16 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40 int 0x40
add ebx,23 shl 16 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>] add ebx,23 shl 16 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
@@ -959,10 +914,7 @@ draw_result:
add ebx,23 shl 16 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>] add ebx,23 shl 16 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40 int 0x40
mov edx,0xFA0919 ; 梥<>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mcall , 17 shl 16+2, 52 shl 16+84, 0xFA0919
mov ebx,17 shl 16+2 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> x]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
mov ecx,52 shl 16+84 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> y [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40
mov edx,0x08CE19 ; 梥<>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov edx,0x08CE19 ; 梥<>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
add ebx,23 shl 16 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>] add ebx,23 shl 16 ; <20><><EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x [<5B>-<2D><> y]*65536 + [ࠧ<><E0A0A7><EFBFBD>]
int 0x40 int 0x40
@@ -1000,10 +952,9 @@ draw_slider:
mov cl,136 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD> mov cl,136 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD>
sub cl,al ; cl=cl-al sub cl,al ; cl=cl-al
shl ecx,16 shl ecx,16
add ecx,1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>砫쭮<E7A0AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> inc ecx ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>砫쭮<E7A0AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov eax,13 ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD> mcall SF_DRAW_RECT ; <20><EFBFBD><E3ADAA><EFBFBD> 13 - <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><EFBFBD>
int 0x40 push ebx ; <20><><EFBFBD>࠭塞 <20><><EFBFBD><><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> x+w
push ebx ; <20><><EFBFBD>࠭塞 <20><><EFBFBD><><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> x+w
sub ebx,8 ; ⠪ <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 11 <20><> <20><EFBFBD><E2ADA8><EFBFBD><EFBFBD> 8 <20><EFBFBD> <20><EFBFBD> <20><20><><EFBFBD><E0A8AD> 3 sub ebx,8 ; ⠪ <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 11 <20><> <20><EFBFBD><E2ADA8><EFBFBD><EFBFBD> 8 <20><EFBFBD> <20><EFBFBD> <20><20><><EFBFBD><E0A8AD> 3
add ebx,8 shl 16 ; <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ᬥ頥<E1ACA5> <20><> 8 <20> <20><EFBFBD> add ebx,8 shl 16 ; <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> x <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ᬥ頥<E1ACA5> <20><> 8 <20> <20><EFBFBD>
inc ecx ; <20><EFBFBD><EBA4AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> 3-<2D> (1+1=2) inc ecx ; <20><EFBFBD><EBA4AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> 3-<2D> (1+1=2)
@@ -1020,9 +971,9 @@ draw_value:
;................................................................................................. ;.................................................................................................
push ebx ; <20><><EFBFBD>࠭塞 <20><><EFBFBD><EFBFBD><E1ABA0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> push ebx ; <20><><EFBFBD>࠭塞 <20><><EFBFBD><EFBFBD><E1ABA0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD>
mov ebx,10 ; <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD> mov ebx,10 ; <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD>
mov edi,buff ; 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov edi,buff ; 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
call int2ascii ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> + esi <20><><EFBFBD><EFBFBD><EFBFBD> call int2ascii ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> + esi <20><><EFBFBD><EFBFBD><EFBFBD>
mov eax,4 ; <20><EFBFBD><E3ADAA><EFBFBD> 4: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA> <20> <20><><EFBFBD><EFBFBD> mov eax,SF_DRAW_TEXT ; <20><EFBFBD><E3ADAA><EFBFBD> 4: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA> <20> <20><><EFBFBD><EFBFBD>
pop ebx ; <20><><EFBFBD><EFBFBD> <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> pop ebx ; <20><><EFBFBD><EFBFBD> <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD>
cmp esi,2 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cmp esi,2 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jne draw_value_1 jne draw_value_1
@@ -1041,58 +992,22 @@ draw_value:
_read_params: _read_params:
mov al,[params+2] mov eax,dword[params+2]
mov [params_c+0],al mov dword[params_c+0],eax
mov al,[params+3] mov eax,dword[params+6]
mov [params_c+1],al mov dword[params_c+4],eax
mov al,[params+4]
mov [params_c+2],al
mov al,[params+5]
mov [params_c+3],al
mov al,[params+6]
mov [params_c+4],al
mov al,[params+7]
mov [params_c+5],al
mov al,[params+8]
mov [params_c+6],al
mov al,[params+9]
mov [params_c+7],al
mov esi,params_c mov esi,params_c
mov ecx,16 mov ecx,16
call ascii2int call ascii2int
mov [color],eax mov [color],eax
mov al,[params+11] mov eax,dword[params+11]
mov [params_c+0],al mov dword[params_c+0],eax
mov al,[params+12] mov eax,dword[params+15]
mov [params_c+1],al mov dword[params_c+4],eax
mov al,[params+13]
mov [params_c+2],al
mov al,[params+14]
mov [params_c+3],al
mov al,[params+15]
mov [params_c+4],al
mov al,[params+16]
mov [params_c+5],al
mov al,[params+17]
mov [params_c+6],al
mov al,[params+18]
mov [params_c+7],al
mov esi,params_c mov esi,params_c
mov ecx,16 mov ecx,16
@@ -1122,7 +1037,7 @@ int2ascii:
; ebx - <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD> ; ebx - <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD>
; edi - 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; edi - 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> esi - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> esi - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
;pushad push edi
xor esi,esi ; <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>稪 ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> xor esi,esi ; <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>稪 ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>
convert_loop: convert_loop:
xor edx,edx ; <20><><EFBFBD><EFBFBD><EFBFBD>塞 ॣ<><E0A5A3><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> xor edx,edx ; <20><><EFBFBD><EFBFBD><EFBFBD>塞 ॣ<><E0A5A3><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
@@ -1140,9 +1055,8 @@ int2ascii:
test esi,esi ; <20><20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E2A0A2><EFBFBD> <20><> <20><EFBFBD> test esi,esi ; <20><20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E2A0A2><EFBFBD> <20><> <20><EFBFBD>
jnz write_loop ; <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> jnz write_loop ; <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov byte [edi],0 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20><EFBFBD><E3ABA5><EFBFBD> <20><><EFBFBD><EFBFBD> mov byte [edi],0 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20><EFBFBD><E3ABA5><EFBFBD> <20><><EFBFBD><EFBFBD>
;popad ; <20><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD><><E0A5A3><EFBFBD> pop edi
; <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20> <20>㭪樨, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E7A5AD><EFBFBD> <20><><EFBFBD> ; <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20> <20>㭪樨, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E7A5AD><EFBFBD> <20><><EFBFBD>
mov edi,buff ; 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><><E2A5AA><EFBFBD>
call str_len call str_len
mov esi,eax mov esi,eax
ret ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> ret ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
@@ -1227,9 +1141,7 @@ str_len:
;................................................................................................. ;.................................................................................................
; <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (<28>室->EDI ZS offset ; <20><>室->EAX ZS length) ; <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (<28>室->EDI ZS offset ; <20><>室->EAX ZS length)
;................................................................................................. ;.................................................................................................
push ecx push ecx esi edi
push esi
push edi
cld cld
xor al, al xor al, al
@@ -1240,9 +1152,7 @@ str_len:
mov eax, edi mov eax, edi
dec eax dec eax
pop edi pop edi esi ecx
pop esi
pop ecx
ret ret
;end_str_len ;end_str_len
@@ -1287,8 +1197,8 @@ str_len:
endp endp
set_background2: set_background2:
mcall 68, 11 mcall SF_SYS_MISC, SSF_HEAP_INIT
mcall 68, 12, 256 * 256 * 3 mcall SF_SYS_MISC, SSF_MEM_ALLOC, 256 * 256 * 3
mov [image], eax mov [image], eax
mov edx, eax mov edx, eax
@@ -1309,12 +1219,12 @@ set_background2:
add edx, 3 add edx, 3
loop @b loop @b
mcall 15, 1, 256, 256 mcall SF_BACKGROUND_SET, SSF_SIZE_BG, 256, 256
mcall 15, 4, 1 mcall SF_BACKGROUND_SET, SSF_MODE_BG, 1
mcall 15, 5, [image], 0, 256 * 256 * 3 mcall SF_BACKGROUND_SET, SSF_IMAGE_BG, [image], 0, 256 * 256 * 3
mcall 15, 3 mcall SF_BACKGROUND_SET, SSF_REDRAW_BG
mcall 68, 13, [image] mcall SF_SYS_MISC, SSF_MEM_FREE, [image]
ret ret
;#___________________________________________________________________________________________________ ;#___________________________________________________________________________________________________
@@ -1322,7 +1232,7 @@ ret
; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
;----------------------------------------------------------------------------------------------------/ ;----------------------------------------------------------------------------------------------------/
circle: circle:
title db 'Palitra v0.76',0 ; <20><EFBFBD><E0A0AD> <20><><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> title db 'Palitra v0.77',0 ; <20><EFBFBD><E0A0AD> <20><><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
hidden db 'Hidden',0 hidden db 'Hidden',0
hex db '#',0 ; <20><><EFBFBD> <20><EFBFBD><EBA2AE> <20><><EFBFBD><EFBFBD><20><><EFBFBD><><E2A5AA><EFBFBD> hex db '#',0 ; <20><><EFBFBD> <20><EFBFBD><EBA2AE> <20><><EFBFBD><EFBFBD><20><><EFBFBD><><E2A5AA><EFBFBD>
cname db 'RGBAx' ; <20><EFBFBD><E0A0AD><><E0A0A7><EFBFBD><EFBFBD> 梥⮢ (red,green,blue) x-<2D><><20><><EFBFBD><EFBFBD><EFBFBD> cname db 'RGBAx' ; <20><EFBFBD><E0A0AD><><E0A0A7><EFBFBD><EFBFBD> 梥⮢ (red,green,blue) x-<2D><><20><><EFBFBD><EFBFBD><EFBFBD>
@@ -1334,7 +1244,19 @@ circle:
runmode dd 1 ; <><E0A5A6> <20><><EFBFBD><EFBFBD>᪠ (1-normal, 2-hidden, 3-colordialog) runmode dd 1 ; <><E0A5A6> <20><><EFBFBD><EFBFBD>᪠ (1-normal, 2-hidden, 3-colordialog)
color2 dd 00FFFFFFh ; <20><EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><EFBFBD><><E6A2A5> color2 dd 00FFFFFFh ; <20><EFBFBD><E0A0AD> <20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><EFBFBD><><E6A2A5>
inifileeskin db '/sys/settings/eskin.ini',0
amain db 'main',0
aprogram db 'program',0
aparam db 'param',0
align 16
@IMPORT:
library \
libini , 'libini.obj'
import libini, \
ini_set_str, 'ini_set_str'
I_END: I_END:
cm rb 12 cm rb 12
@@ -1353,9 +1275,9 @@ I_END:
renmode rd 1 ; <><E0A5A6> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> (1-梥⮢<E6A2A5><E2AEA2> <20><EFBFBD>,2-<2D><><EFBFBD><EFBFBD>⪠,3-<2D><><EFBFBD><E3A3AE><EFBFBD>) renmode rd 1 ; <><E0A5A6> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> (1-梥⮢<E6A2A5><E2AEA2> <20><EFBFBD>,2-<2D><><EFBFBD><EFBFBD>⪠,3-<2D><><EFBFBD><E3A3AE><EFBFBD>)
params rb 20 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC> params rb 20 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC>
params_c rb 9 ; <20><><EFBFBD>񬭨<EFBFBD> <20><><EFBFBD><><E6A2A5> params_c rb 9 ; <20><><EFBFBD>񬭨<EFBFBD> <20><><EFBFBD><><E6A2A5>
image rd 1
image rd 1 rd 1024
stacktop:
sys_path rb 1024
rd 1024
I_MEM: I_MEM:

View File

@@ -410,16 +410,17 @@ DRAW_WINDOW:
event_button: event_button:
mcall 17 mcall 17
cmp ah, 1 ;; it must not be possible to close dock
je .button_close ;cmp ah, 1
;je .button_close
cmp ah, 2 cmp ah, 2
je .button_dock je .button_dock
jmp @f jmp @f
.button_close: ;.button_close:
jmp exit ; jmp exit
.button_dock: .button_dock:
mov edi, [win.button_index] mov edi, [win.button_index]

View File

@@ -534,8 +534,8 @@ local IconData:DWORD
repne scasb repne scasb
repne scasb repne scasb
mov al,[edi] mov al,[edi]
cmp al,'9' ;cmp al,'9'
ja PathToIcon ;ja PathToIcon
cmp al,'/' cmp al,'/'
jne GetIconInd jne GetIconInd