2008-11-03 16:17:14 +03:00
|
|
|
|
//BOX_LIB
|
2010-02-15 04:23:03 +03:00
|
|
|
|
//Lrz - 2008
|
|
|
|
|
|
2008-11-03 16:17:14 +03:00
|
|
|
|
dword edit_box_draw = #aEdit_box_draw;
|
|
|
|
|
dword edit_box_key = #aEdit_box_key;
|
|
|
|
|
dword edit_box_mouse = #aEdit_box_mouse;
|
2008-12-29 04:49:26 +03:00
|
|
|
|
|
2008-11-03 16:17:14 +03:00
|
|
|
|
|
|
|
|
|
dword am__ = 0x0;
|
|
|
|
|
dword bm__ = 0x0;
|
|
|
|
|
|
|
|
|
|
char aEdit_box_draw[9] = "edit_box\0";
|
|
|
|
|
char aEdit_box_key[13] = "edit_box_key\0";
|
|
|
|
|
char aEdit_box_mouse[15] = "edit_box_mouse\0";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct edit_box{
|
|
|
|
|
dword width, left, top, color, shift_color, focus_border_color, blur_border_color,
|
2009-10-17 08:13:20 +04:00
|
|
|
|
text_color, max, text, mouse_variable, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old;
|
2008-11-03 16:17:14 +03:00
|
|
|
|
};
|
|
|
|
|
|
2010-02-15 04:23:03 +03:00
|
|
|
|
//ed_width equ [edi] ;<3B><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//ed_left equ [edi+4] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20>
|
|
|
|
|
//ed_top equ [edi+8] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20>
|
|
|
|
|
//ed_color equ [edi+12] ;梥<> 䮭<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//shift_color equ [edi+16] ;=0x6a9480
|
|
|
|
|
//ed_focus_border_color equ [edi+20] ;梥<> ࠬ<><E0A0AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//ed_blur_border_color equ [edi+24] ;梥<> <20><> <20><>⨢<EFBFBD><E2A8A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//ed_text_color equ [edi+28] ;梥<> ⥪<><E2A5AA><EFBFBD>
|
|
|
|
|
//ed_max equ [edi+32] ;<3B><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC>쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//ed_text equ [edi+36] ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//ed_flags equ [edi+40] ;䫠<><E4ABA0>
|
|
|
|
|
//ed_size equ [edi+42] ;<3B><><EFBFBD>-<2D><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//ed_pos equ [edi+46] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//ed_offset equ [edi+50] ;ᬥ饭<E1ACA5><E9A5AD>
|
|
|
|
|
//cl_curs_x equ [edi+54] ;<3B>।<EFBFBD><E0A5A4><EFBFBD>饥 <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
|
|
|
|
//cl_curs_y equ [edi+58] ;<3B>।<EFBFBD><E0A5A4><EFBFBD>饥 <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>
|
|
|
|
|
//ed_shift_pos equ [edi+62] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//ed_shift_pos_old equ [edi+66] ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
2008-11-03 16:17:14 +03:00
|
|
|
|
|
2008-12-29 04:49:26 +03:00
|
|
|
|
int fastcall load_editbox_lib(EAX)
|
2008-11-03 16:17:14 +03:00
|
|
|
|
{
|
|
|
|
|
//set mask
|
|
|
|
|
$mov eax,40
|
|
|
|
|
$mov ebx,0x27
|
|
|
|
|
$int 0x40
|
|
|
|
|
// load DLL
|
|
|
|
|
$mov eax, 68
|
|
|
|
|
$mov ebx, 19
|
|
|
|
|
ECX="/sys/lib/box_lib.obj";
|
|
|
|
|
$int 0x40
|
|
|
|
|
$test eax, eax
|
|
|
|
|
$jz exit
|
|
|
|
|
|
|
|
|
|
// initialize import
|
|
|
|
|
$mov edx,eax
|
|
|
|
|
ESI=#edit_box_draw;
|
|
|
|
|
import_loop:
|
|
|
|
|
$lodsd
|
|
|
|
|
$test eax,eax
|
|
|
|
|
$jz import_done
|
|
|
|
|
$push edx
|
|
|
|
|
import_find:
|
|
|
|
|
$mov ebx,DSDWORD[EDX]
|
|
|
|
|
$test ebx, ebx
|
|
|
|
|
$jz exit
|
|
|
|
|
$push eax
|
|
|
|
|
nex1:
|
|
|
|
|
$mov cl,DSBYTE[EAX];
|
|
|
|
|
$cmp cl,DSBYTE[EBX];
|
|
|
|
|
$jnz import_find_next
|
|
|
|
|
$test cl,cl
|
|
|
|
|
$jz import_found
|
|
|
|
|
$inc eax
|
|
|
|
|
$inc ebx
|
|
|
|
|
$jmp nex1
|
|
|
|
|
import_find_next:
|
|
|
|
|
$pop eax
|
|
|
|
|
$add edx, 8
|
|
|
|
|
$jmp import_find
|
|
|
|
|
import_found:
|
|
|
|
|
$pop eax
|
|
|
|
|
$mov eax,DSDWORD[edx+4]
|
|
|
|
|
$mov DSDWORD[esi-4],eax
|
|
|
|
|
$pop edx
|
|
|
|
|
$jmp import_loop
|
|
|
|
|
import_done:
|
|
|
|
|
return 0;
|
|
|
|
|
exit:
|
|
|
|
|
return -1;
|
|
|
|
|
}
|