forked from KolibriOS/kolibrios
box_lib.obj: clear code
git-svn-id: svn://kolibrios.org@8346 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
include 'scrollbar.mac' ;macro implements scrollbar
|
||||
include 'd_button.mac' ;macro implements dinamic_button
|
||||
include 'menubar.mac' ;macro implements menubar
|
||||
include 'filebrowser.mac' ;macro implements filebrowser
|
||||
include 'pathshow.mac' ;macro implements pathshow
|
||||
include 'frame.mac' ;macro implements frame
|
||||
include 'progressbar.mac' ;macro implements progressbar
|
@@ -1,6 +1,6 @@
|
||||
;*****************************************************************************
|
||||
; Box_Lib - library of graphical components
|
||||
; Copyright (C) KolibriOS team 2008-2016. All rights reserved.
|
||||
; Copyright (C) KolibriOS team 2008-2020. All rights reserved.
|
||||
;
|
||||
; Authors:
|
||||
; Alexey Teplov aka <Lrz>
|
||||
@@ -19,7 +19,6 @@ section '.flat' code readable align 16
|
||||
include '../../../../macros.inc'
|
||||
include '../../../../proc32.inc'
|
||||
include '../../../../KOSfuncs.inc'
|
||||
include 'bl_sys.mac'
|
||||
include 'box_lib.mac' ;macro which should make life easier :)
|
||||
;include '../../../../debug.inc'
|
||||
include 'keys.inc'
|
||||
@@ -31,71 +30,20 @@ mem.realloc dd ? ;
|
||||
dll.load dd ?
|
||||
|
||||
;----------------------------------------------------
|
||||
;EditBox
|
||||
include 'editbox.asm' ;editbox
|
||||
|
||||
;----------------------------------------------------
|
||||
;CheckBox
|
||||
include 'checkbox.asm' ;checkbox
|
||||
|
||||
include 'editbox.asm' ;editbox
|
||||
include 'checkbox.asm' ;checkbox
|
||||
include 'optionbox.asm' ;optionbox
|
||||
include 'scrollbar.asm' ;scrollbar
|
||||
include 'd_button.asm' ;dinamic_button
|
||||
include 'menubar.asm' ;menubar
|
||||
include 'filebrowser.asm' ;filebrowser
|
||||
include 'tree_list.asm' ;tree_list, list_box
|
||||
include 'pathshow.asm' ;pathshow
|
||||
include 't_edit.asm' ;text_editor
|
||||
include 'frame.asm' ;frame
|
||||
include 'progressbar.asm' ;progressbar
|
||||
include 'tooltip.asm' ;tooltip
|
||||
;--------------------------------------------------
|
||||
;radiobutton Group
|
||||
include 'optionbox.asm' ;optionbox
|
||||
|
||||
;--------------------------------------------------
|
||||
;scrollbar Group
|
||||
;--------------------------------------------------
|
||||
align 16
|
||||
use_scroll_bar
|
||||
align 16
|
||||
use_scroll_bar_vertical
|
||||
align 16
|
||||
use_scroll_bar_horizontal
|
||||
|
||||
;--------------------------------------------------
|
||||
;dinamic button Group
|
||||
;--------------------------------------------------
|
||||
align 16
|
||||
use_dinamic_button
|
||||
|
||||
;--------------------------------------------------
|
||||
;menubar Group
|
||||
;--------------------------------------------------
|
||||
align 16
|
||||
use_menu_bar
|
||||
|
||||
;--------------------------------------------------
|
||||
;filebrowser Group
|
||||
;--------------------------------------------------
|
||||
align 16
|
||||
use_file_browser
|
||||
|
||||
;--------------------------------------------------
|
||||
;tree list
|
||||
include 'tree_list.asm' ;tree_list, list_box
|
||||
|
||||
;--------------------------------------------------
|
||||
;PathShow Group
|
||||
;--------------------------------------------------
|
||||
align 16
|
||||
use_path_show
|
||||
|
||||
;--------------------------------------------------
|
||||
;text editor
|
||||
include 't_edit.asm' ;text_editor
|
||||
|
||||
;--------------------------------------------------
|
||||
;Frame Group
|
||||
;--------------------------------------------------
|
||||
align 16
|
||||
use_frame
|
||||
;--------------------------------------------------
|
||||
;ProgressBar
|
||||
;--------------------------------------------------
|
||||
use_progressbar
|
||||
|
||||
;--------------------------------------------------
|
||||
include 'tooltip.asm' ;tooltip
|
||||
|
||||
;input:
|
||||
; eax = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -115,23 +63,23 @@ align 4
|
||||
proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dword, box_h:dword,\
|
||||
col_0:dword, col_1:dword, col_2:dword
|
||||
|
||||
mov esi,dword[col_1]
|
||||
mov esi,[col_1]
|
||||
and esi,111111101111111011111110b
|
||||
|
||||
mov eax,SF_DRAW_RECT
|
||||
;bottom line
|
||||
mov edx,dword[col_2]
|
||||
mov ebx,dword[box_l]
|
||||
mov edx,[col_2]
|
||||
mov ebx,[box_l]
|
||||
shl ebx,16
|
||||
add ebx,dword[box_w]
|
||||
add ebx,[box_w]
|
||||
inc ebx ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ecx,dword[box_t]
|
||||
add ecx,dword[box_h]
|
||||
mov ecx,[box_t]
|
||||
add ecx,[box_h]
|
||||
shl ecx,16
|
||||
inc ecx
|
||||
|
||||
mov edi,3 ;for cycle
|
||||
@@:
|
||||
@@:
|
||||
;calculate colors
|
||||
and edx,111111101111111011111110b
|
||||
add edx,esi
|
||||
@@ -146,17 +94,17 @@ proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dwo
|
||||
jnz @b
|
||||
|
||||
;right line
|
||||
mov edx,dword[col_2]
|
||||
mov ebx,dword[box_l]
|
||||
add ebx,dword[box_w]
|
||||
mov edx,[col_2]
|
||||
mov ebx,[box_l]
|
||||
add ebx,[box_w]
|
||||
shl ebx,16
|
||||
inc ebx
|
||||
mov ecx,dword[box_t]
|
||||
mov ecx,[box_t]
|
||||
shl ecx,16
|
||||
add ecx,dword[box_h]
|
||||
add ecx,[box_h]
|
||||
|
||||
mov edi,3 ;for cycle
|
||||
@@:
|
||||
@@:
|
||||
;calculate colors
|
||||
and edx,111111101111111011111110b
|
||||
add edx,esi
|
||||
@@ -171,11 +119,11 @@ proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dwo
|
||||
jnz @b
|
||||
|
||||
;top line
|
||||
mov edx,dword[col_0]
|
||||
mov ebx,dword[box_l]
|
||||
mov edx,[col_0]
|
||||
mov ebx,[box_l]
|
||||
shl ebx,16
|
||||
add ebx,dword[box_w]
|
||||
mov ecx,dword[box_t]
|
||||
add ebx,[box_w]
|
||||
mov ecx,[box_t]
|
||||
shl ecx,16
|
||||
inc ecx
|
||||
|
||||
@@ -195,16 +143,16 @@ proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dwo
|
||||
jnz @b
|
||||
|
||||
;left line
|
||||
mov edx,dword[col_0]
|
||||
mov ebx,dword[box_l]
|
||||
mov edx,[col_0]
|
||||
mov ebx,[box_l]
|
||||
shl ebx,16
|
||||
inc ebx
|
||||
mov ecx,dword[box_t]
|
||||
mov ecx,[box_t]
|
||||
shl ecx,16
|
||||
add ecx,dword[box_h]
|
||||
add ecx,[box_h]
|
||||
|
||||
mov edi,3 ;for cycle
|
||||
@@:
|
||||
@@:
|
||||
;calculate colors
|
||||
and edx,111111101111111011111110b
|
||||
add edx,esi
|
||||
@@ -235,9 +183,9 @@ dd sz_edit_box_mouse, edit_box_mouse
|
||||
dd sz_edit_box_set_text, edit_box_set_text
|
||||
dd szVersion_ed, 0x00000001
|
||||
|
||||
dd sz_init_checkbox2, init_checkbox2
|
||||
dd sz_check_box_draw2, check_box_draw2
|
||||
dd sz_check_box_mouse2, check_box_mouse2
|
||||
dd sz_init_checkbox, init_checkbox
|
||||
dd sz_check_box_draw, check_box_draw
|
||||
dd sz_check_box_mouse, check_box_mouse
|
||||
dd szVersion_ch2, 0x00000002
|
||||
|
||||
dd sz_option_box_draw, option_box_draw
|
||||
@@ -349,9 +297,9 @@ sz_edit_box_mouse db 'edit_box_mouse',0
|
||||
sz_edit_box_set_text db 'edit_box_set_text',0
|
||||
szVersion_ed db 'version_ed',0
|
||||
|
||||
sz_init_checkbox2 db 'init_checkbox2',0
|
||||
sz_check_box_draw2 db 'check_box_draw2',0
|
||||
sz_check_box_mouse2 db 'check_box_mouse2',0
|
||||
sz_init_checkbox db 'init_checkbox2',0
|
||||
sz_check_box_draw db 'check_box_draw2',0
|
||||
sz_check_box_mouse db 'check_box_mouse2',0
|
||||
szVersion_ch2 db 'version_ch2',0
|
||||
|
||||
sz_option_box_draw db 'option_box_draw',0
|
||||
|
@@ -108,30 +108,22 @@ macro edit_boxes_set_sys_color start,end,color_table
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;Basic macros for use CheckBox ;
|
||||
;Last change 17.01.2013 ;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
ch_text_margin equ [edi+8] ;=4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8> 祪 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ch_color equ [edi+12] ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||||
ch_border_color equ [edi+16] ; or [edi+4] ;梥<> ࠬ<><E0A0AC> checkbox <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᠬ<><E1A0AC><EFBFBD><EFBFBD><EFBFBD>⥫쭮
|
||||
ch_text_color equ [edi+20] ;[edi+4] ;梥<> ⥪<><E2A5AA><EFBFBD>
|
||||
ch_text_ptr equ [edi+24] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> ⥪<>⮢<EFBFBD><E2AEA2> <20><>ப<EFBFBD>
|
||||
ch_flags equ [edi+28] ;䫠<><E4ABA0>
|
||||
|
||||
ch_struc_size=36 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ch_flag_en=10b ;䫠<> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祪 <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||
ch_flag_top=0x0 ;䫠<> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>.<2E>. 3-<2D> <20><><EFBFBD>
|
||||
ch_flag_middle=100b ;䫠<> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD> <20> 業<><E6A5AD><EFBFBD> <20>.<2E>. 4-<2D> <20><><EFBFBD>.
|
||||
ch_flag_bottom=1000b ;䫠<> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>.<2E>. <20><> 㬮<>砭<EFBFBD><E7A0AD> <20>ਭ<EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD>⢨<EFBFBD> 3-<2D><> <20> 4-<2D><> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
2ch_left_s equ [ebp] ;<3B><>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><>砫<EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><> <20>
|
||||
2ch_top_s equ [ebp+4] ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><>砫<EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><> <20>
|
||||
2ch_text_margin equ [ebp+8] ;=4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8> 祪 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2ch_color equ [ebp+12] ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||||
2ch_border_color equ [ebp+16] ; or [edi+4] ;梥<> ࠬ<><E0A0AC> checkbox <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᠬ<><E1A0AC><EFBFBD><EFBFBD><EFBFBD>⥫쭮
|
||||
2ch_text_color equ [ebp+20] ;[edi+4] ;梥<> ⥪<><E2A5AA><EFBFBD>
|
||||
2ch_text_ptr equ [ebp+24] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> ⥪<>⮢<EFBFBD><E2AEA2> <20><>ப<EFBFBD>
|
||||
2ch_flags equ [ebp+28] ;䫠<><E4ABA0>
|
||||
2ch_sz_str equ [ebp+32] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD>樨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ch_left_s equ [ebp] ;<3B><>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><>砫<EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><> <20>
|
||||
ch_top_s equ [ebp+4] ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><>砫<EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><> <20>
|
||||
ch_text_margin equ [ebp+8] ;=4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8> 祪 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ch_color equ [ebp+12] ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||||
ch_border_color equ [ebp+16] ; or [edi+4] ;梥<> ࠬ<><E0A0AC> checkbox <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᠬ<><E1A0AC><EFBFBD><EFBFBD><EFBFBD>⥫쭮
|
||||
ch_text_color equ [ebp+20] ;[edi+4] ;梥<> ⥪<><E2A5AA><EFBFBD>
|
||||
ch_text_ptr equ [ebp+24] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> ⥪<>⮢<EFBFBD><E2AEA2> <20><>ப<EFBFBD>
|
||||
ch_flags equ [ebp+28] ;䫠<><E4ABA0>
|
||||
ch_sz_str equ [ebp+32] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD>樨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags
|
||||
{ ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC> <20><><EFBFBD> 祪 <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -143,7 +135,7 @@ struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,
|
||||
.text_color dd text_color ;梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.text dd text ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA>
|
||||
.flags dd flags+0 ;䫠<><E4ABA0>
|
||||
.size_of_str dd 0x0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD>樨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.size_of_str dd 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD>樨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>ન 饫窠 <20><>誨 <20><><EFBFBD> <20><>㯯<EFBFBD><E3AFAF> checkboxes.
|
||||
@@ -211,9 +203,9 @@ macro check_boxes_set_sys_color2 start,end,color_table
|
||||
@@:
|
||||
push dword [esi+32] ;梥<> ⥪<><E2A5AA><EFBFBD> <20> ࠡ<>祩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
or dword [esp],0x80000000 ;<3B><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD> <20>뢮<EFBFBD><EBA2AE> ASCIIZ <20><>ப
|
||||
pop dword 2ch_text_color
|
||||
pop dword ch_text_color
|
||||
push dword [esi+36] ;梥<> <20><><EFBFBD>䨪<EFBFBD> <20> <20><><EFBFBD><EFBFBD> (ࠧ<><E0A0A7><EFBFBD><EFBFBD>⥫<EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>.<2E>.)
|
||||
pop dword 2ch_border_color
|
||||
pop dword ch_border_color
|
||||
add ebp,ch_struc_size
|
||||
loop @b
|
||||
}
|
||||
|
@@ -1,15 +1,15 @@
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 07.12.2016
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 08.12.2020
|
||||
;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13.02.2009 <Lrz> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GPL2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;Checkbox
|
||||
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||||
align 16
|
||||
init_checkbox2:
|
||||
init_checkbox:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
pushad
|
||||
mov ebp,dword [esp+36] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx,dword 2ch_text_margin ;eax=0
|
||||
mov esi,dword 2ch_text_ptr ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx,dword ch_text_margin ;eax=0
|
||||
mov esi,dword ch_text_ptr ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
lodsb ;<3B> al <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
test al,al
|
||||
jz .ex_loop
|
||||
@@ -20,27 +20,27 @@ init_checkbox2:
|
||||
jnz @b
|
||||
.ex_loop:
|
||||
|
||||
mov dword 2ch_sz_str,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
or dword 2ch_text_color,0x80000000 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ASCIIZ-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov dword ch_sz_str,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
or dword ch_text_color,0x80000000 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ASCIIZ-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<3B><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
popad
|
||||
ret 4
|
||||
|
||||
|
||||
align 16
|
||||
check_box_draw2:
|
||||
check_box_draw:
|
||||
pushad ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebp,dword [esp+36] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall SF_DRAW_RECT,2ch_left_s,2ch_top_s,2ch_border_color ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall SF_DRAW_RECT,ch_left_s,ch_top_s,ch_border_color ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
mov edx,dword 2ch_color ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
mov edx,dword ch_color ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
add ebx,1 shl 16 - 2
|
||||
add ecx,1 shl 16 - 2
|
||||
mcall ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
test dword 2ch_flags,2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> CF
|
||||
test dword ch_flags,2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> CF
|
||||
jz @f ;<3B> <20><><EFBFBD><EFBFBD> CF=1, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @@
|
||||
call check_box_draw_ch2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
call check_box_draw_ch ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
@@:
|
||||
;----------------------------
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -55,44 +55,44 @@ check_box_draw2:
|
||||
; add eax,dword ch_top_s ;c<><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>. <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ebx <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Y
|
||||
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>
|
||||
mov ebx,dword 2ch_left_s ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> shl 16 + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov eax,dword 2ch_top_s ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (y shl 16 + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx,dword ch_left_s ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> shl 16 + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov eax,dword ch_top_s ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (y shl 16 + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ecx,eax
|
||||
add ebx,dword 2ch_text_margin ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
add ebx,dword ch_text_margin ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
shr eax,16 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 65536) <20> ax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
shl ebx,16 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 65536)
|
||||
|
||||
sub ecx,8 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
test dword 2ch_flags,ch_flag_bottom ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
test dword ch_flags,ch_flag_bottom ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jnz .bottom
|
||||
|
||||
test dword 2ch_flags,ch_flag_middle ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
test dword ch_flags,ch_flag_middle ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
jz .top ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> top
|
||||
|
||||
shr cx,1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 2
|
||||
.bottom:
|
||||
add ax,cx
|
||||
.top:
|
||||
add ebx,dword 2ch_left_s ;c<><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>. <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ebx <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||||
add ebx,dword ch_left_s ;c<><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>. <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ebx <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||||
mov bx,ax
|
||||
;ebx <20> shl 16 +y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
mov ecx,dword 2ch_text_color ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + flags
|
||||
mov edx,dword 2ch_text_ptr ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ecx,dword ch_text_color ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + flags
|
||||
mov edx,dword ch_text_ptr ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall SF_DRAW_TEXT
|
||||
popad ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
ret 4 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (4 <20><><EFBFBD><EFBFBD><EFBFBD>)
|
||||
|
||||
check_box_clear_ch2: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov edx,dword 2ch_color ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
check_box_clear_ch: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov edx,dword ch_color ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
jmp @f ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> @@
|
||||
check_box_draw_ch2: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
mov edx,dword 2ch_border_color ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
check_box_draw_ch: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
mov edx,dword ch_border_color ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
@@:
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||||
mov ebx,dword 2ch_left_s ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> shl 16 + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||||
mov ecx,dword 2ch_top_s ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Y shl 16 + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Y
|
||||
mov ebx,dword ch_left_s ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> shl 16 + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||||
mov ecx,dword ch_top_s ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Y shl 16 + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Y
|
||||
add ebx,2 shl 16 - 4 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (X+2) shl 16 +<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (<28>-2)
|
||||
add ecx,2 shl 16 - 4 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Y+2) shl 16 +<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (Y-2)
|
||||
mcall SF_DRAW_RECT ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
||||
@@ -104,7 +104,7 @@ check_box_draw_ch2: ;
|
||||
;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
align 16
|
||||
check_box_mouse2: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
check_box_mouse: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
pushad
|
||||
mov ebp,dword [esp+36] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mcall SF_MOUSE_GET,SSF_BUTTON ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||
@@ -115,7 +115,7 @@ pushad
|
||||
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION ;<3B><><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
;<3B><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> eax x shl 16 + y
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> Y
|
||||
mov ecx,dword 2ch_top_s ;y shl 16 +<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> y
|
||||
mov ecx,dword ch_top_s ;y shl 16 +<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> y
|
||||
mov ebx,ecx
|
||||
shr ebx,16 ;bx = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> y
|
||||
cmp ax,bx
|
||||
@@ -127,24 +127,24 @@ pushad
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
shr eax,16 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>.<2E>. <20> ax
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>
|
||||
mov ecx,dword 2ch_left_s ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> shl 16 + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ecx,dword ch_left_s ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> shl 16 + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx,ecx
|
||||
shr ebx,16 ;bx = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> X
|
||||
cmp ax,bx
|
||||
jb .check_box_mouse_end ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> X <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> X <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> X
|
||||
add bx,cx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> x <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
||||
add bx,word 2ch_sz_str ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
add bx,word ch_sz_str ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp ax,bx
|
||||
ja .check_box_mouse_end ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
btc dword 2ch_flags,1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2-<2D><> <20><><EFBFBD><EFBFBD> <20> cf <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
btc dword ch_flags,1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2-<2D><> <20><><EFBFBD><EFBFBD> <20> cf <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
jnc .enable_box ;<3B><><EFBFBD><EFBFBD> CF=1 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
push dword .check_box_mouse_end ;<3B><><EFBFBD><EFBFBD><EFBFBD> -<2D><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> check_box_clear_ch <20><> <20><><EFBFBD><EFBFBD><EFBFBD> check_box_mouse_end
|
||||
jmp check_box_clear_ch2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>.<2E>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
jmp check_box_clear_ch ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>.<2E>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
|
||||
.enable_box:
|
||||
call check_box_draw_ch2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
call check_box_draw_ch ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
.check_box_mouse_end:
|
||||
popad ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
ret 4 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
@@ -31,8 +31,7 @@ popa
|
||||
ret 4
|
||||
}
|
||||
;*****************************************************************************
|
||||
macro use_dinamic_button
|
||||
{
|
||||
align 16
|
||||
dinamic_button:
|
||||
db_type equ [edi]
|
||||
db_size_x equ [edi+4]
|
||||
@@ -89,7 +88,7 @@ dinamic_button_exit
|
||||
|
||||
push edi
|
||||
mov edi,db_palette_raw
|
||||
mcall 65
|
||||
mcall SF_PUT_IMAGE_EXT
|
||||
pop edi
|
||||
ret
|
||||
;*****************************************************************************
|
||||
@@ -97,16 +96,17 @@ dinamic_button_exit
|
||||
; mouse event
|
||||
;*****************************************************************************
|
||||
;*****************************************************************************
|
||||
align 4
|
||||
.mouse:
|
||||
pusha
|
||||
mov edi,dword [esp+36]
|
||||
mcall 37,2
|
||||
mcall SF_MOUSE_GET,SSF_BUTTON
|
||||
mov ebx,db_mouse_keys
|
||||
mov db_mouse_keys_old,ebx
|
||||
|
||||
mov db_mouse_keys,eax
|
||||
|
||||
mcall 37,1
|
||||
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
|
||||
mov db_mouse_pos,eax
|
||||
|
||||
test eax,0x80000000
|
||||
@@ -149,10 +149,10 @@ dinamic_button_exit
|
||||
|
||||
mov db_select,dword 2
|
||||
call .draw_1
|
||||
mcall 5, 25
|
||||
mcall SF_SLEEP, 25
|
||||
mov db_select,dword 1
|
||||
call .draw_1
|
||||
|
||||
|
||||
mov db_click,dword 1
|
||||
jmp .exit_menu_2
|
||||
|
||||
@@ -167,4 +167,3 @@ dinamic_button_exit
|
||||
; mov db_click,dword 0
|
||||
.exit_menu_2:
|
||||
dinamic_button_exit
|
||||
}
|
@@ -32,9 +32,6 @@ popa
|
||||
ret 4
|
||||
}
|
||||
;*****************************************************************************
|
||||
macro use_file_browser
|
||||
{
|
||||
file_browser:
|
||||
fb_type equ dword [edi] ;dword
|
||||
fb_size_x equ [edi+4] ;word
|
||||
fb_start_x equ [edi+6] ;word
|
||||
@@ -97,6 +94,7 @@ fb_mouse_pos_old equ dword [edi+196] ;dword
|
||||
fb_marked_counter equ dword [edi+200] ;dword
|
||||
fb_keymap_pointer equ dword [edi+204] ;dword
|
||||
;---------------------------------------------------------------------
|
||||
align 16
|
||||
fb_draw_panel:
|
||||
pusha
|
||||
mov edi,dword [esp+36]
|
||||
@@ -134,6 +132,7 @@ fb_draw_panel_1:
|
||||
popa
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_clear_panel:
|
||||
cmp fb_all_redraw,1
|
||||
jne @f
|
||||
@@ -142,12 +141,14 @@ fb_clear_panel:
|
||||
@@:
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_calc_folder_sysdata:
|
||||
mov eax,fb_folder_data
|
||||
mov eax,[eax+4]
|
||||
mov fb_folder_block,eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_calc_max_panel_line:
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
@@ -162,6 +163,7 @@ fb_calc_max_panel_line:
|
||||
mov fb_max_panel_line,eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_draw_panel_selection:
|
||||
cmp fb_all_redraw,2
|
||||
je .end
|
||||
@@ -197,16 +199,17 @@ fb_draw_panel_selection:
|
||||
shl eax,16
|
||||
push eax
|
||||
add ebx,eax
|
||||
mcall 13
|
||||
mcall SF_DRAW_RECT
|
||||
pop ebx
|
||||
cmp fb_all_redraw,0
|
||||
je .end
|
||||
mov bx,fb_start_x
|
||||
ror ebx,16
|
||||
mcall 13,,,fb_background_color
|
||||
mcall SF_DRAW_RECT,,,fb_background_color
|
||||
.end:
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_for_all_panel_selection:
|
||||
xor edx,edx
|
||||
mov dx,fb_line_size_y
|
||||
@@ -224,6 +227,7 @@ fb_for_all_panel_selection:
|
||||
@@:
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_draw_folder_data:
|
||||
mov eax,fb_folder_block
|
||||
sub eax,fb_max_panel_line
|
||||
@@ -325,7 +329,7 @@ fb_draw_folder_data:
|
||||
mov esi,2
|
||||
mov ecx,fb_reduct_text_color
|
||||
mov edx,dword fb_truncated_filename_char
|
||||
mcall 4
|
||||
mcall SF_DRAW_TEXT
|
||||
pop edx
|
||||
.continue:
|
||||
pop ebx
|
||||
@@ -335,6 +339,7 @@ fb_draw_folder_data:
|
||||
inc eax
|
||||
jmp .start
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.draw_name_temp_area:
|
||||
pusha
|
||||
mov eax,fb_max_name_temp_size
|
||||
@@ -370,7 +375,7 @@ fb_draw_folder_data:
|
||||
mov eax,fb_select_color
|
||||
@@:
|
||||
mov edi,eax
|
||||
mcall 4
|
||||
mcall SF_DRAW_TEXT
|
||||
popa
|
||||
ret
|
||||
;--------------------------------------
|
||||
@@ -395,10 +400,11 @@ fb_draw_folder_data:
|
||||
sub bx,3
|
||||
rol ebx,16
|
||||
mov edx,fb_background_color ;0xffffff
|
||||
mcall 13
|
||||
mcall SF_DRAW_RECT
|
||||
@@:
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_clear_line:
|
||||
mov fb_draw_panel_selection_flag,0
|
||||
pusha
|
||||
@@ -426,12 +432,12 @@ fb_clear_line:
|
||||
sub bx,fb_icon_size_x
|
||||
sub bx,3
|
||||
rol ebx,16
|
||||
mov edx,fb_background_color
|
||||
mcall 13
|
||||
mcall SF_DRAW_RECT,,,fb_background_color
|
||||
.end:
|
||||
popa
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_draw_type_size_date:
|
||||
pusha
|
||||
mov eax,fb_type_table
|
||||
@@ -503,6 +509,7 @@ fb_draw_type_size_date:
|
||||
mov [eax+6+4],word '- '
|
||||
jmp .date
|
||||
;-----------------------------------------
|
||||
align 4
|
||||
.call_decimal_string:
|
||||
mov ebx,fb_type_table
|
||||
add ebx,6
|
||||
@@ -510,14 +517,14 @@ fb_draw_type_size_date:
|
||||
mov [ebx],dl
|
||||
jmp .size_convert_end
|
||||
;-----------------------------------------
|
||||
align 4
|
||||
.copy_size:
|
||||
;/0x40000000 - Gb
|
||||
;/0x100000 - Mb
|
||||
;/0x400 Kb
|
||||
mov [eax+6],dword ' '
|
||||
mov [eax+6+4],word ' '
|
||||
push ebx
|
||||
push edx
|
||||
push ebx edx
|
||||
mov eax,[edx-40+32]
|
||||
mov ebx,eax
|
||||
shr eax,30 ; /(1024*1024*1024)
|
||||
@@ -565,8 +572,7 @@ fb_draw_type_size_date:
|
||||
jmp @r
|
||||
@@:
|
||||
pop edi
|
||||
pop edx
|
||||
pop ebx
|
||||
pop edx ebx
|
||||
;-----------------------------------------
|
||||
.date:
|
||||
xor eax,eax
|
||||
@@ -617,10 +623,11 @@ fb_draw_type_size_date:
|
||||
mov eax,fb_select_color
|
||||
@@:
|
||||
mov edi,eax
|
||||
mcall 4
|
||||
mcall SF_DRAW_TEXT
|
||||
popa
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_draw_icon:
|
||||
pusha
|
||||
xor eax,eax
|
||||
@@ -663,7 +670,7 @@ fb_draw_icon:
|
||||
xor ebp,ebp
|
||||
push edi
|
||||
mov edi,fb_palette_raw
|
||||
mcall 65
|
||||
mcall SF_PUT_IMAGE_EXT
|
||||
pop edi
|
||||
popa
|
||||
ret
|
||||
@@ -674,6 +681,7 @@ fb_draw_icon:
|
||||
; EBX - address of string
|
||||
; Output:
|
||||
; string contains the number, marked the end of the code 0
|
||||
align 4
|
||||
fb_decimal_string_2:
|
||||
push eax ebx ecx edx
|
||||
xor ecx,ecx
|
||||
@@ -702,6 +710,7 @@ fb_decimal_string_2:
|
||||
pop edx ecx ebx eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_decimal_string_4:
|
||||
push eax ecx edx
|
||||
xor ecx,ecx
|
||||
@@ -730,6 +739,7 @@ fb_decimal_string_4:
|
||||
pop edx ecx eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_get_icon_number:
|
||||
push eax
|
||||
mov ebp,fb_extension_size
|
||||
@@ -811,6 +821,7 @@ fb_get_icon_number:
|
||||
pop eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
.calculate_1:
|
||||
add ebx,eax
|
||||
.calculate:
|
||||
@@ -819,6 +830,7 @@ fb_get_icon_number:
|
||||
lodsb
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_char_toupper:
|
||||
; convert character to uppercase, using cp866 encoding
|
||||
; in: al=symbol
|
||||
@@ -843,6 +855,7 @@ fb_char_toupper:
|
||||
and al, not 0x20
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
fb_char_todown:
|
||||
; convert character to lowercase, using cp866 encoding
|
||||
; in: al=symbol
|
||||
@@ -875,16 +888,17 @@ fb_truncated_filename_char:
|
||||
; mouse event
|
||||
;*****************************************************************************
|
||||
;*****************************************************************************
|
||||
align 4
|
||||
fb_mouse:
|
||||
pusha
|
||||
mov edi,dword [esp+36]
|
||||
;-------------------------------------------------------
|
||||
mcall 37,2
|
||||
mcall SF_MOUSE_GET,SSF_BUTTON
|
||||
mov ebx,fb_mouse_keys
|
||||
mov fb_mouse_keys_old,ebx
|
||||
mov fb_mouse_keys,eax
|
||||
|
||||
mcall 37,1
|
||||
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
|
||||
mov ebx,fb_mouse_pos
|
||||
mov fb_mouse_pos_old,ebx
|
||||
mov fb_mouse_pos,eax
|
||||
@@ -999,12 +1013,12 @@ fb_mouse:
|
||||
jne .mark_mouse
|
||||
mov edx,2
|
||||
mov fb_mouse_keys_delta,edx
|
||||
mcall 26,9
|
||||
mcall SF_SYSTEM_GET,SSF_TIME_COUNT
|
||||
add eax,fb_mouse_key_delay
|
||||
mov fb_mouse_keys_tick,eax
|
||||
jmp .continue_2
|
||||
.enter_2:
|
||||
mcall 26,9
|
||||
mcall SF_SYSTEM_GET,SSF_TIME_COUNT
|
||||
cmp eax,fb_mouse_keys_tick
|
||||
ja @f
|
||||
; mov eax,fb_mouse_pos_old
|
||||
@@ -1026,6 +1040,7 @@ fb_mouse:
|
||||
call fb_prepare_selected_BDVK_adress
|
||||
file_browser_exit
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.mark_mouse:
|
||||
call fb_key.mark_1
|
||||
call fb_draw_panel_1
|
||||
@@ -1033,6 +1048,7 @@ file_browser_exit
|
||||
mov fb_mouse_keys_delta,eax
|
||||
jmp .exit_fb
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.enter_3:
|
||||
xor eax,eax
|
||||
mov fb_mouse_keys,eax
|
||||
@@ -1043,6 +1059,7 @@ file_browser_exit
|
||||
mov fb_max_name_temp_size,eax
|
||||
ret
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.store_old_cursor_line:
|
||||
push eax
|
||||
mov ax,fb_start_draw_cursor_line
|
||||
@@ -1053,6 +1070,7 @@ file_browser_exit
|
||||
ret
|
||||
;*****************************************************************************
|
||||
;*****************************************************************************
|
||||
align 4
|
||||
fb_prepare_selected_BDVK_adress:
|
||||
xor eax,eax
|
||||
mov ax,fb_start_draw_cursor_line
|
||||
@@ -1083,6 +1101,7 @@ fb_prepare_selected_BDVK_adress:
|
||||
; 12 - Search with key
|
||||
;*****************************************************************************
|
||||
;*****************************************************************************
|
||||
align 4
|
||||
fb_key:
|
||||
pusha
|
||||
mov edi,dword [esp+36]
|
||||
@@ -1097,6 +1116,7 @@ fb_key:
|
||||
je .exit_fb
|
||||
jmp dword [eax]
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.arrow_down:
|
||||
mov ax,fb_start_draw_cursor_line
|
||||
add ax,fb_line_size_y
|
||||
@@ -1126,6 +1146,7 @@ fb_key:
|
||||
call fb_draw_panel_3
|
||||
jmp .exit_fb
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.arrow_up:
|
||||
mov ax,fb_start_draw_cursor_line
|
||||
add ax,fb_start_y
|
||||
@@ -1144,6 +1165,7 @@ fb_key:
|
||||
call fb_draw_panel_3
|
||||
jmp .exit_fb
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.page_down:
|
||||
mov eax,fb_max_panel_line
|
||||
mov ebx,fb_folder_block
|
||||
@@ -1186,6 +1208,7 @@ fb_key:
|
||||
call fb_draw_panel_2
|
||||
jmp .exit_fb
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.prepare_data_down:
|
||||
mov ecx,fb_folder_block
|
||||
sub ecx,fb_start_draw_line
|
||||
@@ -1196,6 +1219,7 @@ fb_key:
|
||||
cmp cx,fb_start_draw_cursor_line
|
||||
ret
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.page_up:
|
||||
mov eax,fb_max_panel_line
|
||||
mov ebx,fb_start_draw_line
|
||||
@@ -1216,6 +1240,7 @@ fb_key:
|
||||
call fb_draw_panel_2
|
||||
jmp .exit_fb
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.home:
|
||||
cmp fb_start_draw_line,0
|
||||
jne @f
|
||||
@@ -1228,6 +1253,7 @@ fb_key:
|
||||
call fb_draw_panel_2
|
||||
jmp .exit_fb
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.end:
|
||||
mov eax,fb_folder_block
|
||||
sub eax,fb_max_panel_line
|
||||
@@ -1242,14 +1268,17 @@ fb_key:
|
||||
mov eax,fb_max_panel_line
|
||||
jmp .page_down_0
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.enter:
|
||||
call fb_mouse.enter_3
|
||||
jmp .exit_fb
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.mark:
|
||||
call .mark_1
|
||||
jmp .arrow_down
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.mark_1:
|
||||
mov eax,fb_folder_block
|
||||
test eax,eax
|
||||
@@ -1284,6 +1313,7 @@ fb_key:
|
||||
.exit:
|
||||
ret
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.mark_all:
|
||||
mov eax,fb_folder_block
|
||||
test eax,eax
|
||||
@@ -1326,6 +1356,7 @@ fb_key:
|
||||
mov fb_marked_counter,eax
|
||||
jmp .exit_fb
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.select_mark_action:
|
||||
add ebx,299-40
|
||||
cmp fb_temp_counter,0
|
||||
@@ -1345,6 +1376,7 @@ fb_key:
|
||||
.select_mark_action_1:
|
||||
ret
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.unmark_all:
|
||||
mov eax,fb_folder_block
|
||||
test eax,eax
|
||||
@@ -1353,6 +1385,7 @@ fb_key:
|
||||
mov fb_temp_counter,1
|
||||
jmp .mark_all_1
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.invert_mark:
|
||||
mov eax,fb_folder_block
|
||||
test eax,eax
|
||||
@@ -1373,8 +1406,9 @@ fb_key:
|
||||
; * bit 9 (mask 0x200): left Win is pressed
|
||||
; * bit 10 (mask 0x400): right Win is pressed
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
.search_with_key:
|
||||
mcall 66,3
|
||||
mcall SF_BOARD,SSF_GET_CONTROL_KEYS
|
||||
test al,11b
|
||||
jnz .shift_layout
|
||||
|
||||
@@ -1391,7 +1425,7 @@ fb_key:
|
||||
.alt_layout:
|
||||
mov ecx,3 ; Alt
|
||||
.get_keyboard_layout:
|
||||
mcall 26,2,,fb_keymap_pointer
|
||||
mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,fb_keymap_pointer
|
||||
xor eax,eax
|
||||
mov ax,fb_key_action_num
|
||||
add eax,fb_keymap_pointer
|
||||
@@ -1474,6 +1508,7 @@ fb_key:
|
||||
call fb_prepare_selected_BDVK_adress
|
||||
file_browser_exit
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
fb_key_table:
|
||||
dd 0
|
||||
dd fb_key.arrow_down ; 1
|
||||
@@ -1491,10 +1526,12 @@ fb_key_table:
|
||||
.end:
|
||||
dd 0
|
||||
;-------------------------------------------------------
|
||||
align 4
|
||||
fb_draw_panel_3:
|
||||
mov eax,2
|
||||
mov fb_all_redraw,eax
|
||||
jmp fb_draw_panel_2.1
|
||||
align 4
|
||||
fb_draw_panel_2:
|
||||
xor eax,eax
|
||||
inc eax
|
||||
@@ -1508,4 +1545,3 @@ fb_draw_panel_2:
|
||||
mov fb_draw_scroll_bar,eax
|
||||
ret
|
||||
|
||||
}
|
@@ -40,8 +40,6 @@ popa
|
||||
ret 4
|
||||
}
|
||||
;*****************************************************************************
|
||||
macro use_frame
|
||||
{
|
||||
fr equ [esp + 36]
|
||||
frame:
|
||||
fr_type equ [eax + FR_STYLE] ; dword
|
||||
@@ -63,7 +61,7 @@ fr_font_backgr_color equ [eax + FR_BACK_COLOR] ; dword
|
||||
; draw event
|
||||
;*****************************************************************************
|
||||
;*****************************************************************************
|
||||
align 4
|
||||
align 16
|
||||
.draw:
|
||||
frame_start
|
||||
mov eax, fr
|
||||
@@ -259,12 +257,11 @@ align 4
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.draw_1:
|
||||
mov edx,fr_text_pointer
|
||||
mov edi,fr_font_backgr_color
|
||||
mcall 4
|
||||
mov edx,fr_text_pointer
|
||||
mov edi,fr_font_backgr_color
|
||||
mcall SF_DRAW_TEXT
|
||||
;----------------------------------------------------------------------
|
||||
align 4
|
||||
.exit:
|
||||
frame_exit
|
||||
}
|
||||
;*****************************************************************************
|
@@ -31,8 +31,7 @@ popa
|
||||
ret 4
|
||||
}
|
||||
;*****************************************************************************
|
||||
macro use_menu_bar
|
||||
{
|
||||
align 16
|
||||
menu_bar:
|
||||
m_type equ [edi]
|
||||
m_size_x equ [edi+4]
|
||||
@@ -94,7 +93,7 @@ m_get_mouse_flag equ [edi+116]
|
||||
.active:
|
||||
mov edx,m_frnt_col
|
||||
@@:
|
||||
mcall 13
|
||||
mcall SF_DRAW_RECT
|
||||
shr ecx,16
|
||||
mov bx,cx
|
||||
movzx eax,word m_size_y
|
||||
@@ -109,14 +108,11 @@ m_get_mouse_flag equ [edi+116]
|
||||
add ecx,0x80000000
|
||||
@@:
|
||||
mov edx,m_text_pointer
|
||||
mcall 4
|
||||
mcall SF_DRAW_TEXT
|
||||
ret
|
||||
|
||||
.draw_2:
|
||||
mov ebx,m_size_x1
|
||||
mov ecx,m_size_y1
|
||||
mov edx,m_menu_col
|
||||
mcall 13
|
||||
mcall SF_DRAW_RECT,m_size_x1,m_size_y1,m_menu_col
|
||||
ret
|
||||
|
||||
.calculate_font_offset:
|
||||
@@ -136,8 +132,7 @@ m_get_mouse_flag equ [edi+116]
|
||||
shl eax,16
|
||||
add ecx,eax
|
||||
mov cx,m_interval
|
||||
mov edx,m_menu_col
|
||||
mcall 13
|
||||
mcall SF_DRAW_RECT,,,m_menu_col
|
||||
pop ecx ebx
|
||||
|
||||
push ebx ecx
|
||||
@@ -147,7 +142,7 @@ m_get_mouse_flag equ [edi+116]
|
||||
add ecx,eax
|
||||
mov cx,m_interval
|
||||
mov edx,m_menu_sel_col
|
||||
mcall 13
|
||||
mcall SF_DRAW_RECT
|
||||
pop ecx ebx
|
||||
|
||||
shr ecx,16
|
||||
@@ -169,7 +164,7 @@ m_get_mouse_flag equ [edi+116]
|
||||
add ecx,0xC0000000
|
||||
push edi
|
||||
mov edi,eax
|
||||
mcall 4
|
||||
mcall SF_DRAW_TEXT
|
||||
pop edi
|
||||
call .get_next_text
|
||||
inc ebp
|
||||
@@ -277,7 +272,7 @@ m_get_mouse_flag equ [edi+116]
|
||||
.red:
|
||||
call .draw_3
|
||||
.still:
|
||||
mcall 10
|
||||
mcall SF_WAIT_EVENT
|
||||
cmp eax,1
|
||||
je .exit_menu_3
|
||||
cmp eax,2
|
||||
@@ -289,7 +284,7 @@ m_get_mouse_flag equ [edi+116]
|
||||
jmp .still
|
||||
|
||||
.key_menu:
|
||||
mcall 2
|
||||
mcall SF_GET_KEY
|
||||
|
||||
cmp dword m_extended_key,1
|
||||
je .extended_key
|
||||
@@ -442,12 +437,12 @@ m_get_mouse_flag equ [edi+116]
|
||||
jmp .exit_menu_3
|
||||
;---------------------------------------------------------------------
|
||||
.processing_real_mouse:
|
||||
mcall 37,2
|
||||
mcall SF_MOUSE_GET,SSF_BUTTON
|
||||
mov ebx,m_mouse_keys
|
||||
mov m_mouse_keys_old,ebx
|
||||
mov m_mouse_keys,eax
|
||||
|
||||
mcall 37,1
|
||||
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
.allocate_menu_area:
|
||||
@@ -456,21 +451,21 @@ m_get_mouse_flag equ [edi+116]
|
||||
movzx eax,word m_size_y1
|
||||
imul ecx,eax
|
||||
lea ecx,[ecx*3]
|
||||
mcall 68, 12
|
||||
mcall SF_SYS_MISC,SSF_MEM_ALLOC
|
||||
mov m_buf_adress,eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
.free_menu_area:
|
||||
cmp dword m_buf_adress,0
|
||||
je @f
|
||||
mcall 68,13,m_buf_adress
|
||||
mcall SF_SYS_MISC,SSF_MEM_FREE,m_buf_adress
|
||||
xor eax,eax
|
||||
mov m_buf_adress,eax
|
||||
@@:
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
.get_menu_area:
|
||||
mcall 9, m_procinfo,-1
|
||||
mcall SF_THREAD_INFO, m_procinfo,-1
|
||||
|
||||
mov cx,m_size_x1
|
||||
shl ecx,16
|
||||
@@ -485,7 +480,7 @@ m_get_mouse_flag equ [edi+116]
|
||||
add dx,[eax+38]
|
||||
add dx,[eax+58]
|
||||
|
||||
mcall 36, m_buf_adress
|
||||
mcall SF_GET_IMAGE, m_buf_adress
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
.put_menu_area:
|
||||
@@ -497,7 +492,7 @@ m_get_mouse_flag equ [edi+116]
|
||||
shl edx,16
|
||||
mov dx,m_start_y1
|
||||
|
||||
mcall 7, m_buf_adress
|
||||
mcall SF_PUT_IMAGE, m_buf_adress
|
||||
call .free_menu_area
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
@@ -601,5 +596,3 @@ m_get_mouse_flag equ [edi+116]
|
||||
mov m_click,dword 0
|
||||
@@:
|
||||
menu_bar_exit
|
||||
}
|
||||
|
@@ -33,12 +33,11 @@ macro path_show_start
|
||||
;*****************************************************************************
|
||||
macro path_show_exit
|
||||
{
|
||||
popa
|
||||
popa
|
||||
ret 4
|
||||
}
|
||||
;*****************************************************************************
|
||||
macro use_path_show
|
||||
{
|
||||
align 16
|
||||
path_show:
|
||||
ps_type equ [edi] ;dword
|
||||
ps_start_y equ [edi+4] ;word
|
||||
@@ -146,7 +145,6 @@ path_show_start
|
||||
and eax,0xffffff
|
||||
xor esi,esi
|
||||
mov edi,eax
|
||||
mcall 4
|
||||
mcall SF_DRAW_TEXT
|
||||
path_show_exit
|
||||
}
|
||||
;*****************************************************************************
|
@@ -1,5 +1,3 @@
|
||||
macro use_progressbar
|
||||
{
|
||||
pb equ [esp + 4 + 8*4]
|
||||
align 16
|
||||
progressbar_draw:
|
||||
@@ -15,7 +13,7 @@ progressbar_draw:
|
||||
add esi, edi
|
||||
dec ebp
|
||||
dec esi
|
||||
mov eax, 38
|
||||
mov eax, SF_DRAW_LINE
|
||||
shl ebx, 16
|
||||
mov bx, bp
|
||||
shrd ecx, edi, 16
|
||||
@@ -54,7 +52,7 @@ progressbar_draw:
|
||||
add ebx, edi
|
||||
add ecx, [eax + PB_HEIGHT]
|
||||
dec ecx
|
||||
mov eax, 13
|
||||
mov eax, SF_DRAW_RECT
|
||||
dec ecx
|
||||
int 64
|
||||
; draw last part of non-progress rectangle
|
||||
@@ -133,11 +131,10 @@ progressbar_progress:
|
||||
add ebx, esi
|
||||
dec ecx
|
||||
sub ebx, edi
|
||||
mov eax, 13
|
||||
mov eax, SF_DRAW_RECT
|
||||
dec ecx
|
||||
int 64
|
||||
; .skip:
|
||||
popad
|
||||
ret 4
|
||||
restore pb
|
||||
}
|
@@ -53,8 +53,7 @@ macro draw_up_arrow_vertical
|
||||
sub ebx,4 shl 16
|
||||
mov bx,7
|
||||
mov cx,1
|
||||
mov eax,13
|
||||
int 0x40
|
||||
mcall SF_DRAW_RECT
|
||||
sub ecx,1 shl 16
|
||||
add ebx,1 shl 16
|
||||
mov bx,5
|
||||
@@ -98,7 +97,7 @@ macro draw_up_arrow_vertical_type2
|
||||
add cx,1
|
||||
sub bx,3
|
||||
|
||||
mcall 38,,,sb_line_col
|
||||
mcall SF_DRAW_LINE,,,sb_line_col
|
||||
|
||||
add bx,6
|
||||
|
||||
@@ -127,8 +126,7 @@ macro draw_down_arrow_vertical
|
||||
mov bx,7
|
||||
sub ecx,2 shl 16
|
||||
mov cx,1
|
||||
mov eax,13
|
||||
int 0x40
|
||||
mcall SF_DRAW_RECT
|
||||
add ecx,1 shl 16
|
||||
add ebx,1 shl 16
|
||||
mov bx,5
|
||||
@@ -174,7 +172,7 @@ macro draw_down_arrow_vertical_type2
|
||||
sub cx,2
|
||||
sub bx,3
|
||||
|
||||
mcall 38,,,sb_line_col
|
||||
mcall SF_DRAW_LINE,,,sb_line_col
|
||||
|
||||
add bx,6
|
||||
|
||||
@@ -184,8 +182,7 @@ macro draw_down_arrow_vertical_type2
|
||||
;*****************************************************************************
|
||||
macro draw_runner_center_vertical
|
||||
{
|
||||
push ebx
|
||||
push ecx
|
||||
push ebx ecx
|
||||
|
||||
xor eax,eax
|
||||
mov ax,sb_size_x
|
||||
@@ -203,8 +200,7 @@ macro draw_runner_center_vertical
|
||||
mov bx,10
|
||||
add ecx,4 shl 16
|
||||
mov cx,1
|
||||
mov eax,13
|
||||
int 0x40
|
||||
mcall SF_DRAW_RECT
|
||||
add ecx,3 shl 16
|
||||
sub ebx,1 shl 16
|
||||
mov bx,12
|
||||
@@ -213,8 +209,7 @@ macro draw_runner_center_vertical
|
||||
mov bx,10
|
||||
add ecx,3 shl 16
|
||||
int 0x40
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop ecx ebx
|
||||
}
|
||||
;*****************************************************************************
|
||||
macro draw_up_arrow_horizontal
|
||||
@@ -238,8 +233,7 @@ macro draw_up_arrow_horizontal
|
||||
mov cx,7
|
||||
mov bx,1
|
||||
|
||||
mov eax,13
|
||||
int 0x40
|
||||
mcall SF_DRAW_RECT
|
||||
sub ebx,1 shl 16
|
||||
add ecx,1 shl 16
|
||||
mov cx,5
|
||||
@@ -283,7 +277,7 @@ macro draw_up_arrow_horizontal_type2
|
||||
add bx,1
|
||||
sub cx,3
|
||||
|
||||
mcall 38,,,sb_line_col
|
||||
mcall SF_DRAW_LINE,,,sb_line_col
|
||||
|
||||
add cx,6
|
||||
|
||||
@@ -312,8 +306,7 @@ macro draw_down_arrow_horizontal
|
||||
mov cx,7
|
||||
sub ebx,2 shl 16
|
||||
mov bx,1
|
||||
mov eax,13
|
||||
int 0x40
|
||||
mcall SF_DRAW_RECT
|
||||
add ebx,1 shl 16
|
||||
add ecx,1 shl 16
|
||||
mov cx,5
|
||||
@@ -359,7 +352,7 @@ macro draw_down_arrow_horizontal_type2
|
||||
sub cx,2
|
||||
sub bx,3
|
||||
|
||||
mcall 38,,,sb_line_col
|
||||
mcall SF_DRAW_LINE,,,sb_line_col
|
||||
|
||||
add cx,6
|
||||
|
||||
@@ -369,8 +362,7 @@ macro draw_down_arrow_horizontal_type2
|
||||
;*****************************************************************************
|
||||
macro draw_runner_center_horizontal
|
||||
{
|
||||
push ebx
|
||||
push ecx
|
||||
push ebx ecx
|
||||
|
||||
xor eax,eax
|
||||
mov ax,sb_size_y
|
||||
@@ -388,8 +380,7 @@ macro draw_runner_center_horizontal
|
||||
mov cx,10
|
||||
add ebx,4 shl 16
|
||||
mov bx,1
|
||||
mov eax,13
|
||||
int 0x40
|
||||
mcall SF_DRAW_RECT
|
||||
add ebx,3 shl 16
|
||||
sub ecx,1 shl 16
|
||||
mov cx,12
|
||||
@@ -398,13 +389,9 @@ macro draw_runner_center_horizontal
|
||||
mov cx,10
|
||||
add ebx,3 shl 16
|
||||
int 0x40
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop ecx ebx
|
||||
}
|
||||
;*****************************************************************************
|
||||
macro use_scroll_bar
|
||||
{
|
||||
scroll_bar:
|
||||
sb_size_x equ [edi]
|
||||
sb_start_x equ [edi+2]
|
||||
sb_size_y equ [edi+4]
|
||||
@@ -432,14 +419,13 @@ sb_position2 equ [edi+72]
|
||||
sb_work_size equ [edi+76]
|
||||
sb_all_redraw equ [edi+80]
|
||||
sb_ar_offset equ [edi+84]
|
||||
}
|
||||
|
||||
;*****************************************************************************
|
||||
;*****************************************************************************
|
||||
; draw event
|
||||
;*****************************************************************************
|
||||
;*****************************************************************************
|
||||
macro use_scroll_bar_vertical
|
||||
{
|
||||
align 16
|
||||
scroll_bar_vertical:
|
||||
.draw:
|
||||
pusha
|
||||
@@ -520,7 +506,7 @@ scroll_bar_exit
|
||||
inc ebx
|
||||
mov ecx,sb_size_y
|
||||
mov edx,sb_line_col
|
||||
mov eax,13
|
||||
mov eax,SF_DRAW_RECT
|
||||
cmp dword sb_all_redraw,0
|
||||
je @f
|
||||
int 0x40 ; left extreme line
|
||||
@@ -574,7 +560,7 @@ draw_up_arrow_vertical
|
||||
mov edx,sb_line_col
|
||||
cmp dword sb_all_redraw,0
|
||||
je @f
|
||||
mcall 13 ; top button - bottom line
|
||||
mcall SF_DRAW_RECT ; top button - bottom line
|
||||
@@:
|
||||
pop ecx
|
||||
;*********************************
|
||||
@@ -588,7 +574,7 @@ draw_up_arrow_vertical
|
||||
mov cx,0
|
||||
add ecx,sb_position2
|
||||
dec cx
|
||||
mov eax,13
|
||||
mov eax,SF_DRAW_RECT
|
||||
test cx,0x8000
|
||||
jnz @f
|
||||
mov edx,sb_bckg_col
|
||||
@@ -655,8 +641,7 @@ draw_runner_center_vertical
|
||||
test cx,0x8000
|
||||
jnz @f
|
||||
mov edx,sb_bckg_col
|
||||
mov eax,13
|
||||
int 0x40 ; bottom interval
|
||||
mcall SF_DRAW_RECT ; bottom interval
|
||||
@@:
|
||||
pop ecx
|
||||
;*********************************
|
||||
@@ -667,7 +652,7 @@ draw_runner_center_vertical
|
||||
shl ecx,16
|
||||
inc ecx
|
||||
mov edx,sb_line_col
|
||||
mov eax,13
|
||||
mov eax,SF_DRAW_RECT
|
||||
cmp dword sb_all_redraw,0
|
||||
je @f
|
||||
int 0x40 ; bottom button - top line
|
||||
@@ -703,7 +688,7 @@ draw_down_arrow_vertical
|
||||
mov cx,1
|
||||
cmp dword sb_all_redraw,0
|
||||
je @f
|
||||
mcall 13 ; bottom button - extreme line
|
||||
mcall SF_DRAW_RECT ; bottom button - extreme line
|
||||
;-----------------------------------------------------------------------------
|
||||
; scrollbar type 1 - stylish frame
|
||||
cmp word sb_type,1
|
||||
@@ -732,14 +717,14 @@ draw_down_arrow_vertical
|
||||
.mouse:
|
||||
pusha
|
||||
mov edi,dword [esp+36]
|
||||
mcall 37,1
|
||||
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
|
||||
mov sb_m_pos,eax
|
||||
cmp dword sb_m_pos_2,0
|
||||
jne @f
|
||||
|
||||
mov sb_m_pos_2,eax
|
||||
@@:
|
||||
mcall 37,2
|
||||
mcall SF_MOUSE_GET,SSF_BUTTON
|
||||
mov sb_m_keys,eax
|
||||
|
||||
cmp sb_m_keys,eax
|
||||
@@ -1031,15 +1016,14 @@ draw_down_arrow_vertical
|
||||
jmp .all_sb
|
||||
.exit_sb:
|
||||
scroll_bar_exit
|
||||
}
|
||||
|
||||
|
||||
;*****************************************************************************
|
||||
;*****************************************************************************
|
||||
;*****************************************************************************
|
||||
;*****************************************************************************
|
||||
;*****************************************************************************
|
||||
macro use_scroll_bar_horizontal
|
||||
{
|
||||
align 16
|
||||
scroll_bar_horizontal:
|
||||
.draw:
|
||||
pusha
|
||||
@@ -1121,7 +1105,7 @@ scroll_bar_exit
|
||||
shl ecx,16
|
||||
inc ecx
|
||||
mov edx,sb_line_col
|
||||
mov eax,13
|
||||
mov eax,SF_DRAW_RECT
|
||||
cmp dword sb_all_redraw,0
|
||||
je @f
|
||||
int 0x40 ; top extreme line
|
||||
@@ -1175,7 +1159,7 @@ draw_up_arrow_horizontal
|
||||
mov edx,sb_line_col
|
||||
cmp dword sb_all_redraw,0
|
||||
je @f
|
||||
mcall 13 ; left button - right line
|
||||
mcall SF_DRAW_RECT ; left button - right line
|
||||
@@:
|
||||
pop ebx
|
||||
;*********************************
|
||||
@@ -1189,7 +1173,7 @@ draw_up_arrow_horizontal
|
||||
mov bx,0
|
||||
add ebx,sb_position2
|
||||
dec bx
|
||||
mov eax,13
|
||||
mov eax,SF_DRAW_RECT
|
||||
test bx,0x8000
|
||||
jnz @f
|
||||
mov edx,sb_bckg_col
|
||||
@@ -1257,8 +1241,7 @@ draw_runner_center_horizontal
|
||||
test bx,0x8000
|
||||
jnz @f
|
||||
mov edx,sb_bckg_col
|
||||
mov eax,13
|
||||
int 0x40 ; bottom interval
|
||||
mcall SF_DRAW_RECT ; bottom interval
|
||||
@@:
|
||||
pop ebx
|
||||
;*********************************
|
||||
@@ -1269,7 +1252,7 @@ draw_runner_center_horizontal
|
||||
shl ebx,16
|
||||
inc ebx
|
||||
mov edx,sb_line_col
|
||||
mov eax,13
|
||||
mov eax,SF_DRAW_RECT
|
||||
cmp dword sb_all_redraw,0
|
||||
je @f
|
||||
int 0x40 ; bottom button - top line
|
||||
@@ -1305,7 +1288,7 @@ draw_down_arrow_horizontal
|
||||
mov bx,1
|
||||
cmp dword sb_all_redraw,0
|
||||
je @f
|
||||
mcall 13 ; bottom button - extreme line
|
||||
mcall SF_DRAW_RECT ; bottom button - extreme line
|
||||
;-----------------------------------------------------------------------------
|
||||
; scrollbar type 1 - stylish frame
|
||||
cmp word sb_type,1
|
||||
@@ -1334,14 +1317,14 @@ draw_down_arrow_horizontal
|
||||
.mouse:
|
||||
pusha
|
||||
mov edi,dword [esp+36]
|
||||
mcall 37,1
|
||||
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
|
||||
mov sb_m_pos,eax
|
||||
cmp dword sb_m_pos_2,0
|
||||
jne @f
|
||||
|
||||
mov sb_m_pos_2,eax
|
||||
@@:
|
||||
mcall 37,2
|
||||
mcall SF_MOUSE_GET,SSF_BUTTON
|
||||
mov sb_m_keys,eax
|
||||
|
||||
cmp sb_m_keys,eax
|
||||
@@ -1641,4 +1624,3 @@ draw_down_arrow_horizontal
|
||||
;*****************************************************************************
|
||||
.exit_sb:
|
||||
scroll_bar_exit
|
||||
}
|
Reference in New Issue
Block a user