forked from KolibriOS/kolibrios
5e2872af34
git-svn-id: svn://kolibrios.org@984 a494cfbc-eb01-0410-851d-a64ba20cac60
73 lines
1.6 KiB
Plaintext
73 lines
1.6 KiB
Plaintext
//BOX_LIB
|
|
dword edit_box_draw = #aEdit_box_draw;
|
|
dword edit_box_key = #aEdit_box_key;
|
|
dword edit_box_mouse = #aEdit_box_mouse;
|
|
|
|
|
|
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,
|
|
text_color, max, text, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old;
|
|
};
|
|
|
|
|
|
int fastcall load_editbox_lib(EAX)
|
|
{
|
|
//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;
|
|
}
|