Subversion Repositories Kolibri OS

Rev

Rev 5679 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5679 Rev 5692
Line 9... Line 9...
9
.draw:
9
.draw:
10
        pushad
10
        pushad
11
.draw_1:        
11
.draw_1:
12
;--- à¨á㥬 à ¬ªã ---
12
;--- à¨á㥬 à ¬ªã ---
13
        mov     edi,dword [esp+36]
13
        mov     edi,dword [esp+36]
14
        call    .draw_border            ; ”ã­ªæ¨ï áâ ¡¨«ì­ 
14
        call    .draw_border
15
.draw_bg_cursor_text:
15
.draw_bg_cursor_text:
16
;--- ¨§¬¥­ï¥¬ ᬥ饭¨¥, ¥á«¨ ­ ¤® ---
16
;--- ¨§¬¥­ï¥¬ ᬥ饭¨¥, ¥á«¨ ­ ¤® ---
17
        call    .check_offset           ;¢ëç¨á«¥­¨¥ ¯®§¨æ¨¨ ªãàá®à  áâ ¡¨«ì­ 
17
        call    .check_offset
18
;--- à¨á㥬 ¢­ãâ७­îî ®¡« áâì ---
18
;--- à¨á㥬 ¢­ãâ७­îî ®¡« áâì ---
19
        call    .draw_bg                ;­ à¨á®¢ âì ¯àאַ㣮«ì­¨ª à ¡®ç¥© ®¡« áâ¨
19
        call    .draw_bg
20
;---- à¨á㥬 ¢ë¤¥«¥­¨¥, ¯® shift ¥á«¨ ¥áâì
20
;--- à¨á㥬 ¢ë¤¥«¥­¨¥, ¯® shift ¥á«¨ ¥áâì ---
21
        call    .draw_shift
21
        call    .draw_shift
22
.draw_cursor_text:
22
.draw_cursor_text:
-
 
23
        call    .draw_text
23
;--- à¨á㥬 ªãàá®à ---
24
;--- à¨á㥬 ªãàá®à ---
24
        ;--- ¬®¦¥â ¥£® ­¥ ­ ¤® à¨á®¢ âì ----
25
        ;--- ¬®¦¥â ¥£® ­¥ ­ ¤® à¨á®¢ âì ---
25
        test    word ed_flags,ed_focus
26
        test    word ed_flags,ed_focus
26
        jz      @f
27
        jz      .editbox_exit
27
        call    .draw_cursor
28
        call    .draw_cursor
28
@@:
-
 
29
        call    .draw_text
-
 
30
;        ret
-
 
31
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
29
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
32
;Ž¡é¨© ¢ë室 ¨§ editbox ¤«ï ¢á¥å ä㭪権 ¨ ¯®áâ ®¡à ¡®â稪®¢;;
30
;Ž¡é¨© ¢ë室 ¨§ editbox ¤«ï ¢á¥å ä㭪権 ¨ ¯®áâ ®¡à ¡®â稪®¢;;
33
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
31
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
34
.editbox_exit:
32
.editbox_exit:
35
        popad
33
        popad
Line 192... Line 190...
192
;Œ ªà®á ¤«ï ¢ë¢®¤  ®á­®¢­ëå ä㭪権 ª®â®àë¥ ¨á¯®«ì§ãîâáï ¡®ªá®¬
190
;Œ ªà®á ¤«ï ¢ë¢®¤  ®á­®¢­ëå ä㭪権 ª®â®àë¥ ¨á¯®«ì§ãîâáï ¡®ªá®¬
193
macro use_general_func
191
macro use_general_func
194
{
192
{
195
;debug_func
193
;debug_func
196
;----------------------------------------------------------
194
;----------------------------------------------------------
197
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ¢ë¤¥«¥­­®© ç á⨠-----------------
195
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ¢ë¤¥«¥­­®© ç á⨠----------------
198
;----------------------------------------------------------
196
;----------------------------------------------------------
199
edit_box.draw_shift:
197
edit_box.draw_shift:
200
        test    word ed_flags,ed_shift_bac ;ãáâ ­®¢ª  ä« £ , ¢ë¤¥«¥­­®© ®¡« áâ¨
198
        test    word ed_flags,ed_shift_bac ;ãáâ ­®¢ª  ä« £ , ¢ë¤¥«¥­­®© ®¡« áâ¨
201
        jz      @f
199
        jz      @f
202
        mov     ebp,shift_color
200
        mov     ebp,shift_color
Line 206... Line 204...
206
;----------------------------------------------------------
204
;----------------------------------------------------------
207
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ⥪áâ  --------------------------
205
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ⥪áâ  --------------------------
208
;----------------------------------------------------------
206
;----------------------------------------------------------
209
edit_box.draw_text:
207
edit_box.draw_text:
210
;--- ¢ëç¨á«ï¥¬, ᪮«ìª® ¯®¬¥é ¥âáï ᨬ¢®«®¢ ---
208
;--- ¢ëç¨á«ï¥¬, ᪮«ìª® ¯®¬¥é ¥âáï ᨬ¢®«®¢ ---
211
;--- çâ®¡ë ¬ãá®à ­¥ à¨á®¢ âì ---
-
 
212
        call    edit_box.get_n
209
        call    edit_box.get_n
213
        mov     esi,ed_size
210
        mov     esi,ed_size
214
        mov     ebx,ed_offset
211
        mov     ebx,ed_offset
215
        sub     esi,ebx
212
        sub     esi,ebx
216
        cmp     eax,esi
213
        cmp     eax,esi
217
        jae     @F
214
        jae     @F
218
        mov     esi,eax         ;çâ®¡ë ­¥ ¢ë室¨âì §  ¯à¥¤¥«ë íªà ­ 
215
        mov     esi,eax
219
;--- à¨á㥬 ⥪áâ ---
216
;--- à¨á㥬 ⥪áâ ---
220
@@:     mov     eax,4
217
@@:     mov     eax,4
221
        mov     ebx,ed_left
218
        mov     ebx,ed_left
222
        mov     edx,ed_offset
219
        mov     edx,ed_offset
223
        add     ebx,2
220
        add     ebx,2
Line 225... Line 222...
225
        add     ebx,ed_top
222
        add     ebx,ed_top
226
        mov     ecx,ed_text_color
223
        mov     ecx,ed_text_color
227
        add     ebx,4
224
        add     ebx,4
228
        add     edx,ed_text
225
        add     edx,ed_text
229
                test    word ed_flags,ed_pass
226
        test    word ed_flags,ed_pass
230
                jz      @f
-
 
231
                call    edit_box.draw_password
227
        jnz     edit_box.draw_password
232
                jmp     .end_f
-
 
233
@@:
-
 
234
        mcall
228
        mcall
235
.end_f:
-
 
236
ret
229
        ret
237
 
-
 
238
txt_pass db '*',0
230
txt_pass db '*',0
239
 
-
 
240
proc edit_box.draw_password
231
proc edit_box.draw_password
241
locals
232
locals
242
        s_len dw ? ;¤«¨­  ¢ë¢®¤¨¬®£® ⥪áâ 
233
        s_len dw ? ;¤«¨­  ¢ë¢®¤¨¬®£® ⥪áâ 
243
endl
234
endl
244
        cmp esi,1
235
        cmp esi,1
Line 456... Line 447...
456
 
447
 
457
macro use_key_func
448
macro use_key_func
458
{
449
{
459
;Ž¡à ¡®âª  Shift ¤«ï á­ïâ¨ï ¢ë¤¥«¥­¨ï ­¥¨§¢¥áâ­®© ®¡« áâ¨
450
;Ž¡à ¡®âª  Shift ¤«ï á­ïâ¨ï ¢ë¤¥«¥­¨ï ­¥¨§¢¥áâ­®© ®¡« áâ¨
-
 
451
edit_box_key.shift: ;;;;;;;SHIFT
460
edit_box_key.shift: ;;;;;;;SHIFT
452
        call    edit_box.draw_bg
461
        test    word ed_flags,ed_shift
453
        test    word ed_flags,ed_shift
Line 462... Line 454...
462
        je      edit_box_key.f_exit
454
        je      edit_box_key.f_exit
463
 
455
 
464
@@:     mov     ebp,shift_color
456
        mov     ebp,shift_color
465
        or      word ed_flags,ed_shift_bac ;ãáâ ­®¢ª  ä« £ , ¢ë¤¥«¥­­®© ®¡« áâ¨
457
        or      word ed_flags,ed_shift_bac ;ãáâ ­®¢ª  ä« £ , ¢ë¤¥«¥­­®© ®¡« áâ¨
466
        mov     ebx,dword       ed_shift_pos
458
        mov     ebx,dword       ed_shift_pos
467
        call    edit_box_key.sh_cl_
459
        call    edit_box_key.sh_cl_
Line 590... Line 582...
590
edit_box_key.sh_st_of:
582
edit_box_key.sh_st_of:
591
        test    word ed_flags,ed_shift
583
        test    word ed_flags,ed_shift
592
        jne     @f
584
        jne     @f
593
        test    word ed_flags,ed_shift_bac
585
        test    word ed_flags,ed_shift_bac
594
        je      @f
586
        je      @f
-
 
587
        call    edit_box.draw_bg
595
        mov     ebp,ed_color
588
        mov     ebp,ed_color
596
        mov     ebx,dword       ed_shift_pos
589
        mov     ebx,dword       ed_shift_pos
597
        call    edit_box_key.sh_cl_  ;®ç¨á⪠ ¢ë¤¥«¥­®£® äà £¬¥­â 
590
        call    edit_box_key.sh_cl_  ;®ç¨á⪠ ¢ë¤¥«¥­®£® äà £¬¥­â 
598
        and     word ed_flags,ed_shift_cl ; ®ç¨á⪠ ®â ⮣®, çâ® ã¡à «¨ ¢ë¤¥«¥­¨¥
591
        and     word ed_flags,ed_shift_cl ; ®ç¨á⪠ ®â ⮣®, çâ® ã¡à «¨ ¢ë¤¥«¥­¨¥
599
        jmp     edit_box.draw_cursor_text
592
        jmp     edit_box.draw_cursor_text
Line 1045... Line 1038...
1045
        test    ebx,ebx
1038
        test    ebx,ebx
1046
        jz      edit_box_key.sh_st_of
1039
        jz      edit_box_key.sh_st_of
1047
        or      word ed_flags,ed_left_fl
1040
        or      word ed_flags,ed_left_fl
1048
        call    edit_box_key.sh_first_sh
1041
        call    edit_box_key.sh_first_sh
1049
        dec      dword ed_pos
1042
        dec      dword ed_pos
-
 
1043
        call    edit_box.draw_bg
-
 
1044
        call    edit_box.draw_shift
1050
        call    edit_box_key.sh_enable
1045
        call    edit_box_key.sh_enable
1051
        jmp     edit_box.draw_cursor_text
1046
        jmp     edit_box.draw_cursor_text
1052
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1047
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1053
;--- ­ ¦ â  ª« ¢¨è  right ---
1048
;--- ­ ¦ â  ª« ¢¨è  right ---
1054
edit_box_key.right:
1049
edit_box_key.right:
Line 1056... Line 1051...
1056
        cmp     ebx,ed_size
1051
        cmp     ebx,ed_size
1057
        je      edit_box_key.sh_st_of
1052
        je      edit_box_key.sh_st_of
1058
        and     word ed_flags,ed_right_fl
1053
        and     word ed_flags,ed_right_fl
1059
        call    edit_box_key.sh_first_sh
1054
        call    edit_box_key.sh_first_sh
1060
        inc     dword  ed_pos
1055
        inc     dword  ed_pos
-
 
1056
        call    edit_box.draw_bg
-
 
1057
        call    edit_box.draw_shift
1061
        call    edit_box_key.sh_enable
1058
        call    edit_box_key.sh_enable
1062
        jmp     edit_box.draw_cursor_text
1059
        jmp     edit_box.draw_cursor_text
1063
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1060
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1064
edit_box_key.home:
1061
edit_box_key.home:
1065
        mov     ebx,ed_pos
1062
        mov     ebx,ed_pos
1066
        test    ebx,ebx
1063
        test    ebx,ebx
1067
        jz      edit_box_key.sh_st_of
1064
        jz      edit_box_key.sh_st_of
1068
        call    edit_box_key.sh_first_sh
1065
        call    edit_box_key.sh_first_sh
1069
        xor     eax,eax
1066
        xor     eax,eax
1070
        mov     ed_pos,eax
1067
        mov     ed_pos,eax
-
 
1068
        call    edit_box.draw_bg
-
 
1069
        call    edit_box.draw_shift
1071
        call    edit_box_key.sh_home_end
1070
        call    edit_box_key.sh_home_end
1072
        jmp     edit_box.draw_cursor_text
1071
        jmp     edit_box.draw_cursor_text
1073
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1072
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1074
edit_box_key.end:
1073
edit_box_key.end:
1075
        mov     ebx,ed_pos
1074
        mov     ebx,ed_pos
1076
        cmp     ebx,dword ed_size
1075
        cmp     ebx,dword ed_size
1077
        je      edit_box_key.sh_st_of
1076
        je      edit_box_key.sh_st_of
1078
        call    edit_box_key.sh_first_sh
1077
        call    edit_box_key.sh_first_sh
1079
        mov     eax,ed_size
1078
        mov     eax,ed_size
1080
        mov     ed_pos,eax
1079
        mov     ed_pos,eax
-
 
1080
        call    edit_box.draw_bg
-
 
1081
        call    edit_box.draw_shift
1081
        call    edit_box_key.sh_home_end
1082
        call    edit_box_key.sh_home_end
1082
        jmp     edit_box.draw_cursor_text
1083
        jmp     edit_box.draw_cursor_text
1083
;-----------------------------------------------------------------------------
1084
;-----------------------------------------------------------------------------
1084
edit_box_key.ctrl_c:
1085
edit_box_key.ctrl_c:
1085
; add memory area
1086
; add memory area
Line 1192... Line 1193...
1192
{
1193
{
1193
;----------------------------------------------------------
1194
;----------------------------------------------------------
1194
;--- Ž¡à ¡®âª  .mouse_wigwag
1195
;--- Ž¡à ¡®âª  .mouse_wigwag
1195
;----------------------------------------------------------
1196
;----------------------------------------------------------
1196
edit_box_mouse.mouse_wigwag:
1197
edit_box_mouse.mouse_wigwag:
-
 
1198
        push    eax
-
 
1199
        call    edit_box.draw_bg
-
 
1200
        call    edit_box.draw_shift
-
 
1201
        pop     eax
1197
        shr     eax,16
1202
        shr     eax,16
1198
        or      word ed_flags,ed_shift_bac+ed_shift_on+ed_shift
1203
        or      word ed_flags,ed_shift_bac+ed_shift_on+ed_shift
1199
;;;;;;;;;;;;;;;;;;
1204
;;;;;;;;;;;;;;;;;;
1200
;;¯à®æ¥¤ãà  ®¡à ¡®âª¨ ¯®«®¦¥­¨ï ¢ë¤¥«¥­­®£® ⥪áâ , ª®£¤  ¯à®¨á室¨â ¢ë室 §  ¯à¥¤¥«ë editbox
1205
;;¯à®æ¥¤ãà  ®¡à ¡®âª¨ ¯®«®¦¥­¨ï ¢ë¤¥«¥­­®£® ⥪áâ , ª®£¤  ¯à®¨á室¨â ¢ë室 §  ¯à¥¤¥«ë editbox
1201
;;;;;;;;;;;;;;;;;;
1206
;;;;;;;;;;;;;;;;;;
Line 1256... Line 1261...
1256
        call    edit_box_key.sh_cl_
1261
        call    edit_box_key.sh_cl_
1257
        jmp     edit_box_mouse.mwigvag
1262
        jmp     edit_box_mouse.mwigvag
1258
edit_box_mouse.mwigvag:
1263
edit_box_mouse.mwigvag:
1259
        and     word ed_flags,ed_shift_mcl
1264
        and     word ed_flags,ed_shift_mcl
1260
        jmp     edit_box.draw_cursor_text
1265
        jmp     edit_box.draw_cursor_text
1261
;       popa
-
 
1262
;       ret
-
 
1263
edit_box_mouse.mleft:
1266
edit_box_mouse.mleft:
1264
        mov     eax,ed_pos
1267
        mov     eax,ed_pos
1265
        cmp     eax,0
1268
        cmp     eax,0
1266
        jbe      edit_box_mouse.mwigvag
1269
        jbe      edit_box_mouse.mwigvag
1267
        dec     eax
1270
        dec     eax
Line 1345... Line 1348...
1345
        and     word ed_flags,ed_shift_bac_cl
1348
        and     word ed_flags,ed_shift_bac_cl
1346
        pop     eax
1349
        pop     eax
1347
@@:
1350
@@:
1348
        test    word ed_flags,ed_mouse_on
1351
        test    word ed_flags,ed_mouse_on
1349
        jne     @f
1352
        jne     @f
1350
 
-
 
1351
        mov     dword ed_shift_pos,eax
1353
        mov     dword ed_shift_pos,eax
1352
        or      word  ed_flags,ed_mouse_on
1354
        or      word  ed_flags,ed_mouse_on
1353
        mov     dword ed_pos,eax
1355
        mov     dword ed_pos,eax
1354
 
-
 
1355
;        mov     dword [mouse_flag],edi          ;ãáâ ­®¢¨¬ ¨¤¥­â¨ä¨ª â®à
-
 
1356
 
-
 
1357
        mov     ebx,dword ed_mouse_variable
1356
        mov     ebx,dword ed_mouse_variable
1358
        push    edi
1357
        push    edi
1359
        pop     dword [ebx]
1358
        pop     dword [ebx]
1360
 
-
 
1361
 
-
 
1362
 
-
 
1363
 
-
 
1364
        bts     word ed_flags,1                 ;ãáâ ­®¢ª  䮪ãá 
1359
        bts     word ed_flags,1                 ;ãáâ ­®¢ª  䮪ãá 
-
 
1360
        call    edit_box.draw_bg
1365
        jmp     edit_box_mouse.m_sh
1361
        jmp     edit_box_mouse.m_sh
1366
@@:
1362
@@:
1367
        cmp     eax,dword ed_shift_pos  ;¥á«¨ ¯®§¨æ¨¨ ­¥ ¨§¬¥­¨«¨áì
1363
        cmp     eax,dword ed_shift_pos  ;¥á«¨ ¯®§¨æ¨¨ ­¥ ¨§¬¥­¨«¨áì
1368
        je      edit_box.editbox_exit
1364
        je      edit_box.editbox_exit
1369
        mov     ed_pos,eax
1365
        mov     ed_pos,eax
-
 
1366
        call    edit_box.draw_bg
1370
        mov     ebp,dword shift_color
1367
        mov     ebp,dword shift_color
1371
        mov     ebx,dword ed_shift_pos
1368
        mov     ebx,dword ed_shift_pos
1372
        call    edit_box_key.sh_cl_
1369
        call    edit_box_key.sh_cl_
1373
        or      word ed_flags,ed_mous_adn_b     ;ãáâ ­®¢¨¬ ¡¨â, çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on +
1370
        or      word ed_flags,ed_mous_adn_b     ;ãáâ ­®¢¨¬ ¡¨â, çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on +
1374
edit_box_mouse.m_sh:
1371
edit_box_mouse.m_sh: