Rev 6693 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6693 | Rev 9568 | ||
---|---|---|---|
1 | ; à®á⮩ ¯à¨¬¥à ¯à®£à ¬¬ë ¤«ï KolibriOS |
1 | ; à®á⮩ ¯à¨¬¥à ¯à®£à ¬¬ë ¤«ï KolibriOS |
2 | ; ®§¢ã稢 ¥â ª®¤ ¦ ⮩ ª« ¢¨è¨ |
2 | ; ®§¢ã稢 ¥â ª®¤ ¦ ⮩ ª« ¢¨è¨ |
3 | ; - ¯¥à¥¤¥« ª ª ¯à¨¬¥à ¨á¯®«ì§®¢ ¨ï tooltip |
3 | ; - ¯¥à¥¤¥« ª ª ¯à¨¬¥à ¨á¯®«ì§®¢ ¨ï tooltip |
4 | 4 | ||
5 | use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
5 | use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
6 | org 0x0 ; ¤à¥á æ¨ï á ã«ï |
6 | org 0 ; ¤à¥á æ¨ï á ã«ï |
7 | 7 | ||
8 | db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS |
8 | db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS |
9 | dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
9 | dd 1 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
10 | dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
10 | dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
11 | dd CODE_END ; à §¬¥à ¯à®£à ¬¬ë |
11 | dd CODE_END ; à §¬¥à ¯à®£à ¬¬ë |
12 | dd DATA_END ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
12 | dd DATA_END ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
13 | dd STACK_END ; ¤à¥á ¢¥àè¨ë áâíª |
13 | dd STACK_END ; ¤à¥á ¢¥àè¨ë áâíª |
14 | dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ |
14 | dd 0 ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ |
15 | dd cur_dir_path ; 㪠§ â¥«ì ¤à¥á, ªã¤ ¯®¬¥é ¥âáï áâப , ᮤ¥à¦ é ï ¯ãâì ¤® ¯à®£à ¬¬ë ¢ ¬®¬¥â § ¯ã᪠. |
15 | dd cur_dir_path ; 㪠§ â¥«ì ¤à¥á, ªã¤ ¯®¬¥é ¥âáï áâப , ᮤ¥à¦ é ï ¯ãâì ¤® ¯à®£à ¬¬ë ¢ ¬®¬¥â § ¯ã᪠. |
16 | 16 | ||
17 | include '../../../../../proc32.inc' |
17 | include '../../../../../proc32.inc' |
18 | include '../../../../../macros.inc' |
18 | include '../../../../../macros.inc' |
19 | include '../../../../../KOSfuncs.inc' |
19 | include '../../../../../KOSfuncs.inc' |
20 | include '../../../../../dll.inc' ; malloc fn |
20 | include '../../../../../dll.inc' ; malloc fn |
21 | include '../../trunk/box_lib.mac' |
21 | include '../../trunk/box_lib.mac' |
22 | include '../../load_lib.mac' |
22 | include '../../../../../load_lib.mac' |
23 | ;include 'proc32.inc' |
- | |
24 | ;include 'macros.inc' |
- | |
25 | ;include 'KOSfuncs.inc' |
- | |
- | 23 | ||
26 | 24 | ||
27 | ;--------------------------------------------------------------------- |
25 | ;--------------------------------------------------------------------- |
28 | ;--- ---------------------------------------------- |
26 | ;--- ---------------------------------------------- |
29 | ;--------------------------------------------------------------------- |
27 | ;--------------------------------------------------------------------- |
30 | ; íâ®â ¬ ªà®á ®¡ï§ ⥫¥ ¤«ï ¢á¥å ª®¬¯®¥â®¢, ¨á¯®«ì§ãîé¨å heap |
28 | ; íâ®â ¬ ªà®á ®¡ï§ ⥫¥ ¤«ï ¢á¥å ª®¬¯®¥â®¢, ¨á¯®«ì§ãîé¨å heap |
31 | ; ªà®¬¥ ⮣®, ®¡ï§ â¥«ì® ¨¬®àâ¨à®¢ âì lib_init - ¯à¨ ¨¬¯®à⥠®¯à¥¤¥«ïîâáï |
29 | ; ªà®¬¥ ⮣®, ®¡ï§ â¥«ì® ¨¬®àâ¨à®¢ âì lib_init - ¯à¨ ¨¬¯®à⥠®¯à¥¤¥«ïîâáï |
32 | ; äãªæ¨¨ 娯 ¤«ï ¡¨¡«¨®â¥ª¨ |
30 | ; äãªæ¨¨ 娯 ¤«ï ¡¨¡«¨®â¥ª¨ |
33 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
31 | @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
34 | 32 | ||
35 | START: |
33 | START: |
36 | ;--------------------------------------------------------------------- |
34 | ;--------------------------------------------------------------------- |
37 | ;--- ---------------------------------------- |
35 | ;--- ---------------------------------------- |
38 | ;--------------------------------------------------------------------- |
36 | ;--------------------------------------------------------------------- |
39 | ;mov eax, mem_alloc |
- | |
40 | ;mov [mem.alloc], eax |
- | |
41 | ;mov eax, mem_realloc |
- | |
42 | ;mov [mem.realloc], eax |
- | |
43 | ;mov eax, mem_free |
- | |
44 | ;mov [mem.free], eax |
- | |
45 | mcall 68, 11 |
37 | mcall 68, 11 |
46 | 38 | ||
47 | mcall 40, $C0000027 ; ¬ ᪠ᮡë⨩ - ¬ëèì ⮫쪮 ¢ ªâ¨¢®¬ ®ª¥ |
39 | mcall 40, $C0000027 ; ¬ ᪠ᮡë⨩ - ¬ëèì ⮫쪮 ¢ ªâ¨¢®¬ ®ª¥ |
48 | 40 | ||
49 | sys_load_library lib_name, cur_dir_path, lib_path, sys_path, \ |
- | |
50 | e_notfound_lib, head_f_l, myimport, e_import, head_f_i |
41 | sys_load_library lib_name, lib_path, sys_path, myimport |
51 | test eax,eax |
42 | test eax,eax |
52 | jz @f |
43 | jz @f |
53 | mcall -1 ; alarm exit |
44 | mcall -1 ; alarm exit |
54 | @@: |
45 | @@: |
55 | 46 | ||
56 | 47 | ||
57 | invoke tooltip_init, redbox_tt ; only begin of list |
48 | invoke tooltip_init, redbox_tt ; only begin of list |
58 | 49 | ||
59 | red: ; ¯¥à¥à¨á®¢ âì ®ª® |
50 | red: ; ¯¥à¥à¨á®¢ âì ®ª® |
60 | 51 | ||
61 | call draw_window ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª |
52 | call draw_window ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª |
62 | 53 | ||
63 | ;--------------------------------------------------------------------- |
54 | ;--------------------------------------------------------------------- |
64 | ;--- ---------------------------------------- |
55 | ;--- ---------------------------------------- |
65 | ;--------------------------------------------------------------------- |
56 | ;--------------------------------------------------------------------- |
66 | 57 | ||
67 | still: |
58 | still: |
68 | mcall 23, 5 ; äãªæ¨ï 23 - ¦¤ âì ᮡëâ¨ï ¥ ¡®«¥¥ 祬 0.05á |
59 | mcall 23, 5 ; äãªæ¨ï 23 - ¦¤ âì ᮡëâ¨ï ¥ ¡®«¥¥ 祬 0.05á |
69 | test eax, eax ; ¥â ᮡë⨩ - ¯à®¢¥à¨âì à¨á®¢ ¨¥ âã«â¨¯®¢ ¯® â ©¬¥àã |
60 | test eax, eax ; ¥â ᮡë⨩ - ¯à®¢¥à¨âì à¨á®¢ ¨¥ âã«â¨¯®¢ ¯® â ©¬¥àã |
70 | je yield |
61 | je yield |
71 | cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? |
62 | cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? |
72 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
63 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
73 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
64 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
74 | je key ; ¥á«¨ ¤ - key |
65 | je key ; ¥á«¨ ¤ - key |
75 | cmp eax,3 ; ¦ â ª®¯ª ? |
66 | cmp eax,3 ; ¦ â ª®¯ª ? |
76 | je button ; ¥á«¨ ¤ - button |
67 | je button ; ¥á«¨ ¤ - button |
77 | cmp eax,6 ; ᮡë⨥ ¬ëè¨ |
68 | cmp eax,6 ; ᮡë⨥ ¬ëè¨ |
78 | je mouse ; ¥á«¨ ¤ - mouse |
69 | je mouse ; ¥á«¨ ¤ - mouse |
79 | 70 | ||
80 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
71 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
81 | 72 | ||
82 | 73 | ||
83 | ;--------------------------------------------------------------------- |
74 | ;--------------------------------------------------------------------- |
84 | yield: |
75 | yield: |
85 | invoke tooltip_test_show, redbox_tt |
76 | invoke tooltip_test_show, redbox_tt |
86 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
77 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
87 | 78 | ||
88 | mouse: |
79 | mouse: |
89 | invoke tooltip_mouse, redbox_tt |
80 | invoke tooltip_mouse, redbox_tt |
90 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
81 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
91 | 82 | ||
92 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
83 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
93 | mcall 2 ; äãªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®« (¢ ah) |
84 | mcall 2 ; äãªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®« (¢ ah) |
94 | 85 | ||
95 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
86 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
96 | 87 | ||
97 | ;--------------------------------------------------------------------- |
88 | ;--------------------------------------------------------------------- |
98 | 89 | ||
99 | button: |
90 | button: |
100 | mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
91 | mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
101 | 92 | ||
102 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
93 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
103 | jne still ; ¢¥àãâìáï |
94 | jne still ; ¢¥àãâìáï |
104 | 95 | ||
105 | pexit: |
96 | pexit: |
106 | invoke tooltip_delete, redbox_tt ; ®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
97 | invoke tooltip_delete, redbox_tt ; ®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì |
107 | mcall -1 ; ¨ ç¥ ª®¥æ ¯à®£à ¬¬ë |
98 | mcall -1 ; ¨ ç¥ ª®¥æ ¯à®£à ¬¬ë |
108 | 99 | ||
109 | 100 | ||
110 | ;--------------------------------------------------------------------- |
101 | ;--------------------------------------------------------------------- |
111 | ;--- ---------------------------------- |
102 | ;--- ---------------------------------- |
112 | ;--------------------------------------------------------------------- |
103 | ;--------------------------------------------------------------------- |
113 | 104 | ||
114 | draw_window: |
105 | draw_window: |
115 | 106 | ||
116 | mcall 12, 1 ; äãªæ¨ï 12: á®®¡é¨âì ® ç «¥ ®âà¨á®¢ª¨ |
107 | mcall 12, 1 ; äãªæ¨ï 12: á®®¡é¨âì ® ç «¥ ®âà¨á®¢ª¨ |
117 | 108 | ||
118 | mcall 48, 3, sc,sizeof.system_colors |
109 | mcall 48, 3, sc,sizeof.system_colors |
119 | 110 | ||
120 | mov edx, [sc.work] ; 梥â ä® |
111 | mov edx, [sc.work] ; 梥â ä® |
121 | or edx, 0x33000000 ; ¨ ⨯ ®ª 3 |
112 | or edx, 0x33000000 ; ¨ ⨯ ®ª 3 |
122 | mcall 0, <200,300>, <200,150>, , ,title |
113 | mcall 0, <200,300>, <200,150>, , ,title |
123 | 114 | ||
124 | ; ¢ë¢®¤ ª¢ ¤à ⨪®¢ |
115 | ; ¢ë¢®¤ ª¢ ¤à ⨪®¢ |
125 | mcall 13, <60,50>, <50,50>, $FF0000 |
116 | mcall 13, <60,50>, <50,50>, $FF0000 |
126 | mcall 13, <140,50>, <50,50>, $FF |
117 | mcall 13, <140,50>, <50,50>, $FF |
127 | 118 | ||
128 | 119 | ||
129 | mcall 12, 2 ; äãªæ¨ï 12.2, § ª®ç¨«¨ à¨á®¢ âì |
120 | mcall 12, 2 ; äãªæ¨ï 12.2, § ª®ç¨«¨ à¨á®¢ âì |
130 | 121 | ||
131 | ret ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë |
122 | ret ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë |
132 | 123 | ||
133 | 124 | ||
134 | CODE_END: ; ¬¥âª ª®æ ¯à®£à ¬¬ë; --------------------------------------------; |
125 | CODE_END: ; ¬¥âª ª®æ ¯à®£à ¬¬ë; --------------------------------------------; |
135 | 126 | ||
136 | ; ---------------------------------------------------------------------------- ; |
127 | ; ---------------------------------------------------------------------------- ; |
137 | ;--------------------------------------------------------------------- |
128 | ;--------------------------------------------------------------------- |
138 | ;--- ---------------------------------------------- |
129 | ;--- ---------------------------------------------- |
139 | ;--------------------------------------------------------------------- |
130 | ;--------------------------------------------------------------------- |
140 | 131 | ||
141 | sys_path db '/sys/lib/' |
132 | sys_path db '/sys/lib/' |
142 | ;sys_path db '/tmp0/1/' |
133 | ;sys_path db '/tmp0/1/' |
143 | lib_name db 'box_lib.obj',0 |
134 | lib_name db 'box_lib.obj',0 |
144 | cur_dir_path rb 4096 |
135 | cur_dir_path rb 4096 |
145 | lib_path rb 4096 |
136 | lib_path rb 4096 |
146 | - | ||
147 | e_notfound_lib db 'Sorry I cannot load library box_lib.obj',0 |
- | |
148 | - | ||
149 | head_f_i: |
- | |
150 | head_f_l db 'System error',0 |
- | |
151 | e_import db 'Error on load import library box_lib.obj',0 |
- | |
152 | 137 | ||
153 | myimport: |
138 | myimport: |
154 | dd sz_lib_init ;äãªæ¨ï § ¯ã᪠¥âáï ¬ ªà®á®¬ 1 à § ¯à¨ ¯®¤ª«î票¨ |
139 | dd sz_lib_init ;äãªæ¨ï § ¯ã᪠¥âáï ¬ ªà®á®¬ 1 à § ¯à¨ ¯®¤ª«î票¨ |
155 | ;¡¨¡«¨®â¥ª¨, ¯®â®¬ã ¢ ¯à®£à ¬¬¥ ¬¥âª ¥¥ ¥ 㦠|
140 | ;¡¨¡«¨®â¥ª¨, ¯®â®¬ã ¢ ¯à®£à ¬¬¥ ¬¥âª ¥¥ ¥ 㦠|
156 | tooltip_init dd sz_tooltip_init |
141 | tooltip_init dd sz_tooltip_init |
157 | tooltip_delete dd sz_tooltip_delete |
142 | tooltip_delete dd sz_tooltip_delete |
158 | tooltip_test_show dd sz_tooltip_test_show |
143 | tooltip_test_show dd sz_tooltip_test_show |
159 | tooltip_mouse dd sz_tooltip_mouse |
144 | tooltip_mouse dd sz_tooltip_mouse |
160 | get_font_size dd sz_get_font_size |
145 | get_font_size dd sz_get_font_size |
161 | dd 0 |
- | |
162 | dd 0 |
146 | dd 0,0 |
163 | 147 | ||
164 | sz_lib_init db 'lib_init',0 |
148 | sz_lib_init db 'lib_init',0 |
165 | sz_tooltip_init db 'tooltip_init', 0 |
149 | sz_tooltip_init db 'tooltip_init', 0 |
166 | sz_tooltip_delete db 'tooltip_delete', 0 |
150 | sz_tooltip_delete db 'tooltip_delete', 0 |
167 | sz_tooltip_test_show db 'tooltip_test_show', 0 |
151 | sz_tooltip_test_show db 'tooltip_test_show', 0 |
168 | sz_tooltip_mouse db 'tooltip_mouse', 0 |
152 | sz_tooltip_mouse db 'tooltip_mouse', 0 |
169 | sz_get_font_size db 'get_font_size', 0 |
153 | sz_get_font_size db 'get_font_size', 0 |
170 | 154 | ||
171 | 155 | ||
172 | ;tooltip txt, next, zone_x, zone_w, zone_y, zone_h, col_txt, col_bkg, tm_wait |
156 | ;tooltip txt, next, zone_x, zone_w, zone_y, zone_h, col_txt, col_bkg, tm_wait |
173 | redbox_tt tooltip redboxtxt, blubox_tt, 60, 50, 50, 50, 0, $FFF473, 100 |
157 | redbox_tt tooltip redboxtxt, blubox_tt, 60, 50, 50, 50, 0, $FFF473, 100 |
174 | blubox_tt tooltip bluboxtxt, 0, 140, 50, 50, 50, $110000FF, $FFF473, 100 |
158 | blubox_tt tooltip bluboxtxt, 0, 140, 50, 50, 50, $110000FF, $FFF473, 100 |
175 | 159 | ||
176 | redboxtxt db 'Red Box Tooltip', 13, 'May be multilined', 13, 13, 'Even with empty lines', 0 |
160 | redboxtxt db 'Red Box Tooltip', 13, 'May be multilined', 13, 13, 'Even with empty lines', 0 |
177 | bluboxtxt db 'Blue Box Tooltip', 0 |
161 | bluboxtxt db 'Blue Box Tooltip', 0 |
178 | 162 | ||
179 | sc system_colors |
163 | sc system_colors |
180 | 164 | ||
181 | title db 'Toooltip demo',0 |
165 | title db 'Toooltip demo',0 |
182 | 166 | ||
183 | ; stack----------------------------------------------------------------------- ; |
167 | ; stack----------------------------------------------------------------------- ; |
184 | rb 4096 |
168 | rb 4096 |
185 | STACK_END dd ? |
169 | STACK_END dd ? |
186 | 170 | ||
187 | DATA_END: ; ¬¥âª ª®æ ¤ ëå ¯à®£à ¬¬ë; ------------------------------------ ;50,50>140,50>50,50>60,50>200,150>200,300> |
171 | DATA_END: ; ¬¥âª ª®æ ¤ ëå ¯à®£à ¬¬ë; ------------------------------------ ;50,50>140,50>50,50>60,50>200,150>200,300> |