Subversion Repositories Kolibri OS

Rev

Rev 1032 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1032 Lrz 1
//BOX_LIB
2
dword edit_box_draw = #aEdit_box_draw;
3
dword edit_box_key  = #aEdit_box_key;
4
dword edit_box_mouse = #aEdit_box_mouse;
1217 Lrz 5
//dword version_ed     = #aVersion_ed;
1032 Lrz 6
 
7
//dword
8
//dword
9
//dword
10
 
11
//dword
12
//dword
13
//dword
14
 
15
//$edit_box_draw   dword      aEdit_box_draw
16
//$edit_box_key    dword      aEdit_box_key
17
//$edit_box_mouse  dword      aEdit_box_mouse
18
//$version_ed      dword      aVersion_ed
19
 
20
//$check_box_draw  dword      aCheck_box_draw
21
//$check_box_mouse dword      aCheck_box_mouse
22
//$version_ch      dword      aVersion_ch
23
 
24
//$option_box_draw  dword      aOption_box_draw
25
//$option_box_mouse dword      aOption_box_mouse
26
//$version_op       dword      aVersion_op
27
 
28
dword  am__ = 0x0;
29
dword  bm__ = 0x0;
30
 
31
char aEdit_box_draw[9]  = "edit_box\0";
32
char aEdit_box_key[13] = "edit_box_key\0";
33
char aEdit_box_mouse[15] = "edit_box_mouse\0";
1217 Lrz 34
//char aVersion_ed[11] = "version_ed\0";
1032 Lrz 35
 
36
char aCheck_box_draw  [15] = "check_box_draw\0";
37
char aCheck_box_mouse [16] = "check_box_mouse\0";
1217 Lrz 38
//char aVersion_ch      [11] = "version_ch\0";
1032 Lrz 39
 
40
char aOption_box_draw [16] = "option_box_draw\0";
41
char aOption_box_mouse[17] = "option_box_mouse\0";
1217 Lrz 42
//char aVersion_op      [11] = "version_op\0" ;
1032 Lrz 43
 
44
struct edit_box{
45
dword width, left, top, color, shift_color, focus_border_color, blur_border_color,
1217 Lrz 46
text_color, max, text, mouse_variable, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old;
1032 Lrz 47
};
48
 
49
//void Edit_box_draw(dword edit_b)
50
//{
51
 
52
//        $ PUSH    dword edit_b
53
//        $ CALL    dword [edit_box_draw]
54
//}
55
 
56
//struct load_dll{
57
// dword way_of_ini, myimport;
58
// void get();
59
//};
60
 
61
int load_dll(EAX)
62
{
63
//set mask
64
        $mov    eax,40
65
        $mov    ebx,0x27
66
        $int    0x40
67
// load DLL
68
        $mov     eax, 68
69
        $mov     ebx, 19
70
        ECX=#way_of_ini;
71
        $int     0x40
72
        $test    eax, eax
73
        $jz      exit
74
 
75
// initialize import
76
        $mov     edx,eax
77
        ESI=#edit_box_draw;
78
import_loop:
79
        $lodsd
80
        $test    eax,eax
81
        $jz      import_done
82
        $push    edx
83
import_find:
84
        $mov     ebx,DSDWORD[EDX]
85
        $test    ebx, ebx
86
        $jz      exit
87
        $push    eax
88
nex1:
89
        $mov     cl,DSBYTE[EAX];
90
        $cmp     cl,DSBYTE[EBX];
91
        $jnz     import_find_next
92
        $test    cl,cl
93
        $jz      import_found
94
        $inc     eax
95
        $inc     ebx
96
        $jmp     nex1
97
import_find_next:
98
        $pop     eax
99
        $add     edx, 8
100
        $jmp     import_find
101
import_found:
102
        $pop     eax
103
        $mov     eax,DSDWORD[edx+4]
104
        $mov     DSDWORD[esi-4],eax
105
        $pop     edx
106
        $jmp     import_loop
107
import_done:
108
        return 0;
109
exit:
110
        return -1;
111
}