Subversion Repositories Kolibri OS

Rev

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

Rev 642 Rev 830
Line 1... Line 1...
1
; SEE YOU File FAQ.txt and HISTORY. Good Like! 
1
; SEE YOU File FAQ.txt and HISTORY. Good Like! 
2
;;;;;;;;;;;;;;;;;;
2
;;;;;;;;;;;;;;;;;;
3
include 'editbox.mac'    ;¬ ªà®á ª®â®àë© ¤®«¦¥­ ®¡«¥£ç¨âì ¦¨§­ì :) ᯥ樠«ì­® ¤«ï editbox
3
include 'editbox.mac'    ;¬ ªà®á ª®â®àë© ¤®«¦¥­ ®¡«¥£ç¨âì ¦¨§­ì :) ᯥ樠«ì­® ¤«ï editbox
4
;;;;;;;;;;;;;;;;;;
4
;;;;;;;;;;;;;;;;;;
5
macro use_edit_box procinfo,scr_h,scr_w
5
macro use_edit_box 
6
{
6
{
7
edit_box:
7
edit_box:
8
ed_width        equ [edi]               ;è¨à¨­  ª®¬¯®­¥­â 
8
ed_width        equ [edi]               ;è¨à¨­  ª®¬¯®­¥­â 
9
ed_left         equ [edi+4]             ;¯®«®¦¥­¨¥ ¯® ®á¨ å
9
ed_left         equ [edi+4]             ;¯®«®¦¥­¨¥ ¯® ®á¨ å
10
ed_top          equ [edi+8]             ;¯®«®¦¥­¨¥ ¯® ®á¨ ã
10
ed_top          equ [edi+8]             ;¯®«®¦¥­¨¥ ¯® ®á¨ ã
Line 14... Line 14...
14
ed_blur_border_color    equ [edi+24]    ;梥⠭¥  ªâ¨¢­®£® ª®¬¯®­¥­â 
14
ed_blur_border_color    equ [edi+24]    ;梥⠭¥  ªâ¨¢­®£® ª®¬¯®­¥­â 
15
ed_text_color   equ [edi+28]            ;梥â ⥪áâ 
15
ed_text_color   equ [edi+28]            ;梥â ⥪áâ 
16
ed_max          equ [edi+32]                    ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦­® ¬ ªá¨¬ «ì­® ¢¢¥áâ¨
16
ed_max          equ [edi+32]                    ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦­® ¬ ªá¨¬ «ì­® ¢¢¥áâ¨
17
ed_text         equ [edi+36]                    ;㪠§ â¥«ì ­  ¡ãä¥à
17
ed_text         equ [edi+36]                    ;㪠§ â¥«ì ­  ¡ãä¥à
18
ed_flags        equ [edi+40]            ;ä« £¨
18
ed_flags        equ [edi+40]            ;ä« £¨
19
ed_size equ [edi+42]                    ;ª®«-¢® ᨬ¢®«®¢
19
ed_size equ [edi+44]                    ;ª®«-¢® ᨬ¢®«®¢
20
ed_pos  equ [edi+46]                    ;¯®§¨æ¨ï ªãàá®à 
20
ed_pos  equ [edi+48]                    ;¯®§¨æ¨ï ªãàá®à 
21
ed_offset       equ [edi+50]            ;ᬥ饭¨¥
21
ed_offset       equ [edi+52]            ;ᬥ饭¨¥
22
cl_curs_x       equ [edi+54]            ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® å
22
cl_curs_x       equ [edi+56]            ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® å
23
cl_curs_y       equ [edi+58]            ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® ã
23
cl_curs_y       equ [edi+60]            ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® ã
24
ed_shift_pos    equ [edi+62]            ;¯®«®¦¥­¨¥ ªãàá®à 
24
ed_shift_pos    equ [edi+64]            ;¯®«®¦¥­¨¥ ªãàá®à 
25
ed_shift_pos_old equ [edi+66]           ;áâ à®¥ ¯®«®¦¥­¨¥ ªãàá®à 
25
ed_shift_pos_old equ [edi+68]           ;áâ à®¥ ¯®«®¦¥­¨¥ ªãàá®à 
26
;==========================================================
26
;==========================================================
27
;=== ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ =================================
27
;=== ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ =================================
28
;==========================================================
28
;==========================================================
29
.draw:
29
.draw:
30
pusha
30
pushad
31
;--- à¨á㥬 à ¬ªã ---
31
;--- à¨á㥬 à ¬ªã ---
32
        call    .draw_border            ; ”ã­ªæ¨ï áâ ¡¨«ì­ 
32
        call    .draw_border            ; ”ã­ªæ¨ï áâ ¡¨«ì­ 
33
.draw_bg_cursor_text:
33
.draw_bg_cursor_text:
34
;--- ¨§¬¥­ï¥¬ ᬥ饭¨¥, ¥á«¨ ­ ¤® ---
34
;--- ¨§¬¥­ï¥¬ ᬥ饭¨¥, ¥á«¨ ­ ¤® ---
35
        call    .check_offset           ;¢ëç¨á«¥­¨¥ ¯®§¨æ¨¨ ªãàá®à  áâ ¡¨«ì­ 
35
        call    .check_offset           ;¢ëç¨á«¥­¨¥ ¯®§¨æ¨¨ ªãàá®à  áâ ¡¨«ì­ 
Line 52... Line 52...
52
edit_ex
52
edit_ex
53
;==========================================================
53
;==========================================================
54
;=== ®¡à ¡®âª  ª« ¢¨ âãàë =================================
54
;=== ®¡à ¡®âª  ª« ¢¨ âãàë =================================
55
;==========================================================
55
;==========================================================
56
.key:
56
.key:
57
pusha
57
pushad
58
        test    word ed_flags,ed_focus ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
58
        test    word ed_flags,ed_focus ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
59
        je      .editbox_exit
59
        je      .editbox_exit
60
        test    word ed_flags,ed_mouse_on
60
        test    word ed_flags,ed_mouse_on
61
        jne     .editbox_exit
61
        jne     .editbox_exit
Line 89... Line 89...
89
use_work_key
89
use_work_key
90
;==========================================================
90
;==========================================================
91
;=== ®¡à ¡®âª  ¬ëè¨ =======================================
91
;=== ®¡à ¡®âª  ¬ëè¨ =======================================
92
;==========================================================
92
;==========================================================
93
.mouse:
93
.mouse:
94
pusha
94
pushad
95
;debug
95
;debug
96
;----------------------------------------------------------
96
;----------------------------------------------------------
97
;--- ¯®«ãç ¥¬ á®áâ®ï­¨¥ ª­®¯®ª ¬ëè¨ -----------------------
97
;--- ¯®«ãç ¥¬ á®áâ®ï­¨¥ ª­®¯®ª ¬ëè¨ -----------------------
98
;----------------------------------------------------------     
98
;----------------------------------------------------------     
99
        mcall   37,2
99
        mcall   37,2
Line 115... Line 115...
115
        jz      @f
115
        jz      @f
116
        cmp     eax,edi
116
        cmp     eax,edi
117
        je      @f
117
        je      @f
118
        jmp     ._blur
118
        jmp     ._blur
119
;----------------------------------------------------------
119
;----------------------------------------------------------
120
;--- ¯®«ãç ¥¬ ª®®à¤¨­ âë ¬ëè¨ ®â­®á¨â¥«ì­® 0 â.¥ ¢á¥© ®¡« á⨠íªà ­ 
120
;--- ¯®«ãç ¥¬ ª®®à¤¨­ âë ¬ëè¨ ®â­®á¨â¥«ì­® ®ª­ 
121
;----------------------------------------------------------
121
;----------------------------------------------------------
122
@@:     mcall   37,0
122
@@:     mcall   37,1
-
 
123
        
123
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
124
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
124
;”ã­ªæ¨ï ®¡à ¡®âª¨  ¬ë誨 ¯®«ã祭¨¥ ª®®à¤¨­ â ¨ ¯à®¢¥àª  ¨å + ¢ë¤¥«¥­¨ï
125
;”ã­ªæ¨ï ®¡à ¡®âª¨  ¬ë誨 ¯®«ã祭¨¥ ª®®à¤¨­ â ¨ ¯à®¢¥àª  ¨å + ¢ë¤¥«¥­¨ï
125
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
126
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
126
use_work_mause scr_h,scr_w
127
use_work_mouse
127
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
128
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
128
;Ž¡é¨¥ ä㭪樨 ®¡à ¡®âª¨ 
129
;Ž¡é¨¥ ä㭪樨 ®¡à ¡®âª¨ 
129
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
130
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
130
use_general_func
131
use_general_func
131
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
132
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 133... Line 134...
133
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
134
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
134
use_key_func
135
use_key_func
135
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
136
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
136
;”㭪樨 ¤«ï à ¡®âë á mouse
137
;”㭪樨 ¤«ï à ¡®âë á mouse
137
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
138
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
138
use_mouse_func scr_w
139
use_mouse_func
139
}
140
}
140
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
141
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
141
;Bit mask from editbox 
142
;Bit mask from editbox 
142
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
143
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
143
ed_figure_only= 1000000000000000b   ;®¤­¨ ᨬ¢®«ë 
144
ed_figure_only= 1000000000000000b   ;®¤­¨ ᨬ¢®«ë 
Line 159... Line 160...
159
ed_insert_cl=   1111111101111111b
160
ed_insert_cl=   1111111101111111b
160
ed_mouse_on =          100000000b
161
ed_mouse_on =          100000000b
161
ed_mous_adn_b=         100011000b
162
ed_mous_adn_b=         100011000b
162
ed_mouse_on_off=1111111011111111b
163
ed_mouse_on_off=1111111011111111b
163
ed_height=14 ; ¢ëá®â 
164
ed_height=14 ; ¢ëá®â 
164
macro draw_edit_boxes start,_end,use_f9,procinfo
165
macro draw_edit_boxes start,_end
165
{
166
{
166
if use_f9 eq 
-
 
167
else
-
 
168
        mcall   9,procinfo,-1
-
 
169
end if
-
 
170
        mov     edi,start
167
        mov     edi,start
171
        mov     ecx,((_end-start)/ed_struc_size)
168
        mov     ecx,((_end-start)/ed_struc_size)
172
@@:
169
@@:
173
        call    edit_box.draw
170
        call    edit_box.draw
174
        add     edi,ed_struc_size
171
        add     edi,ed_struc_size
Line 192... Line 189...
192
@@:
189
@@:
193
        call    edit_box.key
190
        call    edit_box.key
194
        add     edi,ed_struc_size
191
        add     edi,ed_struc_size
195
        loop    @b
192
        loop    @b
196
}
193
}
197
ed_struc_size=70
194
ed_struc_size=72
198
struc  edit_box width,left,top,color,shift_color,focus_border_color,\
195
struc  edit_box width,left,top,color,shift_color,focus_border_color,\
199
       blur_border_color,text_color,max,text,flags,size,pos
196
       blur_border_color,text_color,max,text,flags,size,pos
200
{
197
{
201
.width dd width
198
.width dd width
202
.left dd left
199
.left dd left
Line 206... Line 203...
206
.focus_border_color dd focus_border_color
203
.focus_border_color dd focus_border_color
207
.blur_border_color dd blur_border_color
204
.blur_border_color dd blur_border_color
208
.text_color dd text_color
205
.text_color dd text_color
209
.max dd max
206
.max dd max
210
.text dd text
207
.text dd text
211
.flags dw flags+0
208
.flags dd flags+0
212
.size dd size+0
209
.size dd size+0
213
.pos dd pos+0
210
.pos dd pos+0
214
.offset dd 0
211
.offset dd 0
215
.cl_curs_x dd 0
212
.cl_curs_x dd 0
216
.cl_curs_y dd 0
213
.cl_curs_y dd 0
Line 243... Line 240...
243
        mov     ed_blur_border_color,eax
240
        mov     ed_blur_border_color,eax
244
        add     edi,ed_struc_size
241
        add     edi,ed_struc_size
245
        loop    @b
242
        loop    @b
246
}
243
}
Line 247... Line 244...
247
 
244
 
248
macro draw_edit_box ed_ptr,use_f9,procinfo
245
macro draw_edit_box ed_ptr
249
{
-
 
250
if use_f9 eq 
-
 
251
else
-
 
252
        mcall   9,procinfo,-1
-
 
253
end if
246
{
254
        mov     edi,ed_ptr
247
        mov     edi,ed_ptr
255
        call    edit_box.draw
248
        call    edit_box.draw
Line 256... Line 249...
256
}
249
}