Subversion Repositories Kolibri OS

Rev

Rev 1228 | Rev 1685 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1228 Rev 1608
1
set_rect_window:
1
set_rect_window:
2
        mov     ebx,set_rect_window_procinfo
2
        mov     ebx,set_rect_window_procinfo
3
        call    get_slot_n
3
        call    get_slot_n
4
 
4
 
5
        mov     [set_rect_window_slot],ecx
5
        mov     [set_rect_window_slot],ecx
6
 
6
 
7
        set_events_mask (evm_redraw+evm_key+evm_button+evm_mouse)
7
        set_events_mask (evm_redraw+evm_key+evm_button+evm_mouse)
8
.red:
8
.red:
9
        edit_boxes_set_sys_color rect_input,rect_input_end,sc
9
        edit_boxes_set_sys_color rect_input,rect_input_end,sc
10
        labels_set_sys_color rect_input_labels,rect_input_labels_end,sc
10
        labels_set_sys_color rect_input_labels,rect_input_labels_end,sc
11
        check_boxes_set_sys_color riw_check_boxes,riw_check_boxes_end,sc
11
        check_boxes_set_sys_color riw_check_boxes,riw_check_boxes_end,sc
12
        call    .draw_window
12
        call    .draw_window
13
.still:
13
.still:
14
        wait_event .red,.key,.button,.mouse
14
        wait_event .red,.key,.button,.mouse
15
 
15
 
16
.key:
16
.key:
17
        get_key
17
        get_key
18
 
18
 
19
        push    dword rect_input.left
19
        push    dword rect_input.left
20
        call    [edit_box_key]
20
        call    [edit_box_key]
21
 
21
 
22
        push    dword rect_input.top
22
        push    dword rect_input.top
23
        call    [edit_box_key]
23
        call    [edit_box_key]
24
 
24
 
25
        push    dword rect_input.width
25
        push    dword rect_input.width
26
        call    [edit_box_key]
26
        call    [edit_box_key]
27
 
27
 
28
        push    dword rect_input.height
28
        push    dword rect_input.height
29
        call    [edit_box_key]
29
        call    [edit_box_key]
30
;        key_edit_boxes rect_input,rect_input_end
30
;        key_edit_boxes rect_input,rect_input_end
31
 
31
 
32
        call    read_rect
32
        call    read_rect
33
        call    draw_rect_on_screen
33
        call    draw_rect_on_screen
34
 
34
 
35
        jmp     .still
35
        jmp     .still
36
 
36
 
37
.button:
37
.button:
38
        get_pressed_button
38
        get_pressed_button
39
 
39
 
40
        cmp     ah,1
40
        cmp     ah,1
41
        jne     @f
41
        jne     @f
42
        btr     dword [flags],3
42
        btr     dword [flags],3
43
        jmp     close
43
        jmp     close
44
@@:
44
@@:
45
 
45
 
46
        jmp     .still
46
        jmp     .still
47
 
47
 
48
.mouse:
48
.mouse:
49
        get_active_window
49
        get_active_window
50
        cmp     eax,[set_rect_window_slot]
50
        cmp     eax,[set_rect_window_slot]
51
        jne     .still
51
        jne     .still
52
 
52
 
53
        push    dword rect_input.left
53
        push    dword rect_input.left
54
        call    [edit_box_mouse]
54
        call    [edit_box_mouse]
55
 
55
 
56
        push    dword rect_input.top
56
        push    dword rect_input.top
57
        call    [edit_box_mouse]
57
        call    [edit_box_mouse]
58
 
58
 
59
        push    dword rect_input.width
59
        push    dword rect_input.width
60
        call    [edit_box_mouse]
60
        call    [edit_box_mouse]
61
 
61
 
62
        push    dword rect_input.height
62
        push    dword rect_input.height
63
        call    [edit_box_mouse]
63
        call    [edit_box_mouse]
64
 
64
 
65
;;;;;;;;;;;;;;;;;;;;;;
65
;;;;;;;;;;;;;;;;;;;;;;
66
        push    dword use_rect_active_window
66
        push    dword use_rect_active_window
67
        call    [check_box_mouse]
67
        call    [check_box_mouse]
68
 
68
 
69
;        mouse_edit_boxes rect_input,rect_input_end
69
;        mouse_edit_boxes rect_input,rect_input_end
70
;        mouse_check_boxes riw_check_boxes,riw_check_boxes_end
70
;        mouse_check_boxes riw_check_boxes,riw_check_boxes_end
71
 
71
 
72
        jmp     .still
72
        jmp     .still
73
 
73
 
74
.draw_window:
74
.draw_window:
75
        start_draw_window
75
        start_draw_window
76
 
76
 
77
        xor     eax,eax
77
        xor     eax,eax
78
        mov     ebx,100*65536+250
78
        mov     ebx,100*65536+250
79
        mov     ecx,100*65536+130
79
        mov     ecx,100*65536+130
80
        mov     edx,[sc.work]
80
        mov     edx,[sc.work]
81
        add     edx,0x33000000
81
        add     edx,0x33000000
82
        mov     edi,riw_grab_text
82
        mov     edi,riw_grab_text
83
        xor     esi,esi
83
        xor     esi,esi
84
        mcall
84
        mcall
85
 
85
 
86
        draw_labels rect_input_labels,rect_input_labels_end
86
        draw_labels rect_input_labels,rect_input_labels_end
87
 
87
 
88
        push    dword rect_input.left
88
        push    dword rect_input.left
89
        call    [edit_box_draw]
89
        call    [edit_box_draw]
90
 
90
 
91
        push    dword rect_input.top
91
        push    dword rect_input.top
92
        call    [edit_box_draw]
92
        call    [edit_box_draw]
93
 
93
 
94
        push    dword rect_input.width
94
        push    dword rect_input.width
95
        call    [edit_box_draw]
95
        call    [edit_box_draw]
96
 
96
 
97
        push    dword rect_input.height
97
        push    dword rect_input.height
98
        call    [edit_box_draw]
98
        call    [edit_box_draw]
99
;;;;;;;;;;;;;;;;;;;;;;
99
;;;;;;;;;;;;;;;;;;;;;;
100
        push    dword use_rect_active_window
100
        push    dword use_rect_active_window
101
        call    [check_box_draw]
101
        call    [check_box_draw]
102
;        draw_edit_boxes rect_input,rect_input_end
102
;        draw_edit_boxes rect_input,rect_input_end
103
;        draw_check_boxes riw_check_boxes,riw_check_boxes_end
103
;        draw_check_boxes riw_check_boxes,riw_check_boxes_end
104
 
104
 
105
        call    read_rect
105
        call    read_rect
106
        call    draw_rect_on_screen
106
        call    draw_rect_on_screen
107
 
107
 
108
        stop_draw_window
108
        stop_draw_window
109
ret
109
ret
110
 
110
 
111
;--------------------------------------------------------------------
111
;--------------------------------------------------------------------
112
;--- ‘ç¨â뢠­¨¥ ®¡« â¨ ----------------------------------------------
112
;--- ‘ç¨â뢠­¨¥ ®¡« â¨ ----------------------------------------------
113
;--------------------------------------------------------------------
113
;--------------------------------------------------------------------
114
read_rect:
114
read_rect:
115
        bt      dword [use_rect_active_window.flags],1
115
        bt      dword [use_rect_active_window.flags],1
116
        jc      read_rect_from_active_window
116
        jc      read_rect_from_active_window
117
 
117
 
118
        mov     edi,rect_input_buffer.left
118
        mov     edi,rect_input_buffer.left
119
        call    zstr_to_int
119
        call    zstr_to_int
120
        cmp     ax,[scr.width]
120
        cmp     ax,[scr.width]
121
        jb      @f
121
        jb      @f
122
        mov     ax,[scr.width]
122
        mov     ax,[scr.width]
123
@@:
123
@@:
124
        mov     [rect.left],ax
124
        mov     [rect.left],ax
125
 
125
 
126
        mov     edi,rect_input_buffer.top
126
        mov     edi,rect_input_buffer.top
127
        call    zstr_to_int
127
        call    zstr_to_int
128
        cmp     ax,[scr.height]
128
        cmp     ax,[scr.height]
129
        jb      @f
129
        jb      @f
130
        mov     ax,[scr.height]
130
        mov     ax,[scr.height]
131
@@:
131
@@:
132
        mov     [rect.top],ax
132
        mov     [rect.top],ax
133
 
133
 
134
        mov     edi,rect_input_buffer.width
134
        mov     edi,rect_input_buffer.width
135
        call    zstr_to_int
135
        call    zstr_to_int
136
        mov     bx,[scr.width]
136
        mov     bx,[scr.width]
137
        sub     bx,[rect.left]
137
        sub     bx,[rect.left]
138
        cmp     ax,bx
138
        cmp     ax,bx
139
        jb      @f
139
        jb      @f
140
        mov     ax,bx
140
        mov     ax,bx
141
@@:
141
@@:
142
        mov     [rect.width],ax
142
        mov     [rect.width],ax
143
 
143
 
144
        mov     edi,rect_input_buffer.height
144
        mov     edi,rect_input_buffer.height
145
        call    zstr_to_int
145
        call    zstr_to_int
146
        mov     bx,[scr.height]
146
        mov     bx,[scr.height]
147
        sub     bx,[rect.top]
147
        sub     bx,[rect.top]
148
        cmp     ax,bx
148
        cmp     ax,bx
149
        jb      @f
149
        jb      @f
150
        mov     ax,bx
150
        mov     ax,bx
151
@@:
151
@@:
152
        mov     [rect.height],ax
152
        mov     [rect.height],ax
153
ret
153
ret
154
 
154
 
155
read_rect_from_active_window:
155
read_rect_from_active_window:
156
        call    get_active_window_info
156
        call    get_active_window_info
157
 
157
 
158
        mov     eax,[active_app.left]
158
        mov     eax,[active_app.left]
159
        mov     [rect.left],ax
159
        mov     [rect.left],ax
160
        mov     eax,[active_app.top]
160
        mov     eax,[active_app.top]
161
        mov     [rect.top],ax
161
        mov     [rect.top],ax
162
        mov     eax,[active_app.width]
162
        mov     eax,[active_app.width]
163
        inc     eax
163
        inc     eax
164
        mov     [rect.width],ax
164
        mov     [rect.width],ax
165
        mov     eax,[active_app.height]
165
        mov     eax,[active_app.height]
166
        inc     eax
166
        inc     eax
167
        mov     [rect.height],ax
167
        mov     [rect.height],ax
168
ret
168
ret
169
 
169
 
170
draw_rect_on_screen:
170
draw_rect_on_screen:
171
 
171
 
172
        mov     eax,13
172
        mov     eax,13
173
        mov     ebx,150*65536+80
173
        mov     ebx,150*65536+80
174
        mov     ecx,5*65536+60
174
        mov     ecx,5*65536+60
175
        xor     edx,edx
175
        xor     edx,edx
176
        mcall
176
        mcall
177
 
177
 
178
        ;movzx   eax,word [rect.left]
178
        ;movzx   eax,word [rect.left]
179
        ;mul     word [scr.width]
179
        ;mul     word [scr.width]
180
        xor     edx,edx
180
        xor     edx,edx
181
        movzx   eax,word [scr.width]
181
        movzx   eax,word [scr.width]
182
        mov     ebx,80
182
        mov     ebx,80
183
        div     ebx
183
        div     ebx
184
        mov     ebx,eax
184
        mov     ebx,eax
185
 
185
 
186
        xor     edx,edx
186
        xor     edx,edx
187
        movzx   eax,word [rect.height]
187
        movzx   eax,word [rect.height]
188
        div     ebx
188
        div     ebx
189
        push    ax
189
        push    ax
190
 
190
 
191
        xor     edx,edx
191
        xor     edx,edx
192
        movzx   eax,word [rect.width]
192
        movzx   eax,word [rect.width]
193
        div     ebx
193
        div     ebx
194
        push    ax
194
        push    ax
195
 
195
 
196
        xor     edx,edx
196
        xor     edx,edx
197
        movzx   eax,word [rect.top]
197
        movzx   eax,word [rect.top]
198
        div     ebx
198
        div     ebx
199
        push    ax
199
        push    ax
200
 
200
 
201
        xor     edx,edx
201
        xor     edx,edx
202
        movzx   eax,word [rect.left]
202
        movzx   eax,word [rect.left]
203
        div     ebx
203
        div     ebx
204
        push    ax
204
        push    ax
205
 
205
 
206
        pop     bx
206
        pop     bx
207
        add     bx,150
207
        add     bx,150
208
        shl    ebx,16
208
        shl    ebx,16
209
 
209
 
210
        pop     cx
210
        pop     cx
211
        add     cx,5
211
        add     cx,5
212
        shl     ecx,16
212
        shl     ecx,16
213
 
213
 
214
        pop     bx
214
        pop     bx
215
        pop     cx
215
        pop     cx
216
 
216
 
217
        mov     edx,0xffffff
217
        mov     edx,0xffffff
218
        mov     eax,13
218
        mov     eax,13
219
        mcall
219
        mcall
220
ret
220
ret
221
 
221
 
222
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
222
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
223
;DATA ¤ ­­ë¥
223
;DATA ¤ ­­ë¥
224
;‚ᥣ¤  ᮡ«î¤ âì ¯®á«¥¤®¢ â¥«ì­®áâì ¢ ¨¬¥­¨.
224
;‚ᥣ¤  ᮡ«î¤ âì ¯®á«¥¤®¢ â¥«ì­®áâì ¢ ¨¬¥­¨.
-
 
225
 
225
system_path      db '/sys/lib/'
226
system_dir_Boxlib	db '/sys/lib/box_lib.obj',0
226
library_name     db 'box_lib.obj',0
227
system_dir_ProcLib	db '/sys/lib/proc_lib.obj',0
227
err_message_found_lib   db 'Sorry I cannot load library box_lib.obj',0
-
 
-
 
228
 
228
head_f_i:
229
head_f_i:
229
head_f_l        db 'System error',0
230
head_f_l	db 'System error',0
230
err_message_import      db 'Error on load import library box_lib.obj',0
-
 
-
 
231
 
-
 
232
err_message_found_lib1	db 'box_lib.obj - Not found!',0
-
 
233
err_message_found_lib2	db 'proc_lib.obj - Not found!',0
-
 
234
 
-
 
235
err_message_import1	db 'box_lib.obj - Wrong import!',0
-
 
236
err_message_import2	db 'proc_lib.obj - Wrong import!',0
-
 
237
 
-
 
238
;---------------------------------------------------------------------
231
 
239
align 4
-
 
240
ProcLib_import:
-
 
241
OpenDialog_Init		dd aOpenDialog_Init
-
 
242
OpenDialog_Start	dd aOpenDialog_Start
-
 
243
;OpenDialog__Version	dd aOpenDialog_Version
-
 
244
        dd      0
-
 
245
        dd      0
-
 
246
aOpenDialog_Init	db 'OpenDialog_init',0
-
 
247
aOpenDialog_Start	db 'OpenDialog_start',0
-
 
248
;aOpenDialog_Version	db 'Version_OpenDialog',0
-
 
249
;---------------------------------------------------------------------
-
 
250
align 4
-
 
251
Box_lib_import:	
-
 
252
;init_lib		dd a_init
-
 
253
;version_lib		dd a_version
232
myimport:   
254
 
233
 
255
 
234
edit_box_draw   dd      aEdit_box_draw
256
edit_box_draw		dd aEdit_box_draw
235
edit_box_key    dd      aEdit_box_key
257
edit_box_key		dd aEdit_box_key
236
edit_box_mouse  dd      aEdit_box_mouse
258
edit_box_mouse		dd aEdit_box_mouse
237
version_ed      dd      aVersion_ed
259
;version_ed		dd aVersion_ed
238
 
260
 
239
check_box_draw  dd      aCheck_box_draw
261
check_box_draw		dd aCheck_box_draw
240
check_box_mouse dd      aCheck_box_mouse
262
check_box_mouse	dd aCheck_box_mouse
241
version_ch      dd      aVersion_ch
263
;version_ch		dd aVersion_ch
242
 
264
 
243
option_box_draw  dd      aOption_box_draw
265
option_box_draw	dd aOption_box_draw
244
option_box_mouse dd      aOption_box_mouse
266
option_box_mouse	dd aOption_box_mouse
245
version_op       dd      aVersion_op
267
;version_op		dd aVersion_op
-
 
268
 
-
 
269
;scrollbar_ver_draw	dd aScrollbar_ver_draw
-
 
270
;scrollbar_ver_mouse	dd aScrollbar_ver_mouse
-
 
271
;scrollbar_hor_draw	dd aScrollbar_hor_draw
-
 
272
;scrollbar_hor_mouse	dd aScrollbar_hor_mouse
-
 
273
;version_scrollbar	dd aVersion_scrollbar
-
 
274
 
-
 
275
;dinamic_button_draw	dd aDbutton_draw
-
 
276
;dinamic_button_mouse	dd aDbutton_mouse
-
 
277
;version_dbutton	dd aVersion_dbutton
-
 
278
 
-
 
279
;menu_bar_draw		dd aMenu_bar_draw
-
 
280
;menu_bar_mouse		dd aMenu_bar_mouse
-
 
281
;menu_bar_activate	dd aMenu_bar_activate
-
 
282
;version_menu_bar	dd aVersion_menu_bar
-
 
283
 
-
 
284
;FileBrowser_draw	dd aFileBrowser_draw
-
 
285
;FileBrowser_mouse	dd aFileBrowser_mouse
-
 
286
;FileBrowser_key	dd aFileBrowser_key
-
 
287
;Version_FileBrowser	dd aVersion_FileBrowser
-
 
288
 
-
 
289
PathShow_prepare	dd sz_PathShow_prepare
-
 
290
PathShow_draw		dd sz_PathShow_draw
246
 
291
;Version_path_show	dd szVersion_path_show
247
                dd      0
292
			dd 0
248
                dd      0
293
			dd 0
-
 
294
 
-
 
295
;a_init			db 'lib_init',0
-
 
296
;a_version		db 'version',0
249
 
297
 
250
aEdit_box_draw  db 'edit_box',0
298
aEdit_box_draw		db 'edit_box',0
251
aEdit_box_key   db 'edit_box_key',0
299
aEdit_box_key		db 'edit_box_key',0
252
aEdit_box_mouse db 'edit_box_mouse',0
300
aEdit_box_mouse	db 'edit_box_mouse',0
253
aVersion_ed     db 'version_ed',0
301
;aVersion_ed		db 'version_ed',0
254
 
302
 
255
aCheck_box_draw  db 'check_box_draw',0
303
aCheck_box_draw	db 'check_box_draw',0
256
aCheck_box_mouse db 'check_box_mouse',0
304
aCheck_box_mouse	db 'check_box_mouse',0
257
aVersion_ch      db 'version_ch',0
305
;aVersion_ch		db 'version_ch',0
258
 
306
 
259
aOption_box_draw  db 'option_box_draw',0
307
aOption_box_draw	db 'option_box_draw',0
260
aOption_box_mouse db 'option_box_mouse',0
308
aOption_box_mouse	db 'option_box_mouse',0
261
aVersion_op       db 'version_op',0
309
;aVersion_op		db 'version_op',0
-
 
310
 
-
 
311
;aScrollbar_ver_draw	db 'scrollbar_v_draw',0
-
 
312
;aScrollbar_ver_mouse	db 'scrollbar_v_mouse',0
-
 
313
;aScrollbar_hor_draw	db 'scrollbar_h_draw',0
-
 
314
;aScrollbar_hor_mouse	db 'scrollbar_h_mouse',0
-
 
315
;aVersion_scrollbar	db 'version_scrollbar',0
-
 
316
 
-
 
317
;aDbutton_draw		db 'dbutton_draw',0
-
 
318
;aDbutton_mouse		db 'dbutton_mouse',0
-
 
319
;aVersion_dbutton	db 'version_dbutton',0
-
 
320
 
-
 
321
;aMenu_bar_draw		db 'menu_bar_draw',0
-
 
322
;aMenu_bar_mouse		db 'menu_bar_mouse',0
-
 
323
;aMenu_bar_activate	db 'menu_bar_activate',0
-
 
324
;aVersion_menu_bar	db 'version_menu_bar',0
-
 
325
 
-
 
326
;aFileBrowser_draw	db 'FileBrowser_draw',0
-
 
327
;aFileBrowser_mouse	db 'FileBrowser_mouse',0
-
 
328
;aFileBrowser_key	db 'FileBrowser_key',0
-
 
329
;aVersion_FileBrowser	db 'version_FileBrowser',0
-
 
330
 
-
 
331
sz_PathShow_prepare	db 'PathShow_prepare',0
-
 
332
sz_PathShow_draw	db 'PathShow_draw',0
-
 
333
;szVersion_path_show	db 'version_PathShow',0
-
 
334
;---------------------------------------------------------------------
262
 
335
 
263
;width,left,top,color,shift_color,focus_border_color,\
336
;width,left,top,color,shift_color,focus_border_color,\
264
;       blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
337
;       blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
265
 
338
 
266
rect_input:
339
rect_input:
267
.left   edit_box 35,95,5, cl_white,0,0,0,5,rect_input_buffer.left,mouse_dd1,ed_figure_only+ed_focus
340
.left   edit_box 35,95,5, cl_white,0,0,0,5,rect_input_buffer.left,mouse_dd1,ed_figure_only+ed_focus
268
.top    edit_box 35,95,25,cl_white,0,0,0,5,rect_input_buffer.top,mouse_dd1,ed_figure_only
341
.top    edit_box 35,95,25,cl_white,0,0,0,5,rect_input_buffer.top,mouse_dd1,ed_figure_only
269
.width  edit_box 35,95,45,cl_white,0,0,0,5,rect_input_buffer.width,mouse_dd1,ed_figure_only
342
.width  edit_box 35,95,45,cl_white,0,0,0,5,rect_input_buffer.width,mouse_dd1,ed_figure_only
270
.height edit_box 35,95,65,cl_white,0,0,0,5,rect_input_buffer.height,mouse_dd1,ed_figure_only
343
.height edit_box 35,95,65,cl_white,0,0,0,5,rect_input_buffer.height,mouse_dd1,ed_figure_only
271
rect_input_end:
344
rect_input_end:
272
mouse_dd1	rd 1
345
mouse_dd1	rd 1
273
rect_input_labels:
346
rect_input_labels:
274
.left label 10,10,0,rect_input_labels_text.left
347
.left label 10,10,0,rect_input_labels_text.left
275
.top label 10,30,0,rect_input_labels_text.top
348
.top label 10,30,0,rect_input_labels_text.top
276
.width label 10,50,0,rect_input_labels_text.width
349
.width label 10,50,0,rect_input_labels_text.width
277
.height label 10,70,0,rect_input_labels_text.height
350
.height label 10,70,0,rect_input_labels_text.height
278
rect_input_labels_end:
351
rect_input_labels_end:
279
 
352
 
280
rect_input_labels_text:
353
rect_input_labels_text:
281
.left db 'Žâáâ㯠᫥¢ :',0
354
.left db 'Žâáâ㯠᫥¢ :',0
282
.top  db 'Žâáâ㯠ᢥàåã:',0
355
.top  db 'Žâáâ㯠ᢥàåã:',0
283
.width  db '˜¨à¨­ :',0
356
.width  db '˜¨à¨­ :',0
284
.height db '‚ëá®â :',0
357
.height db '‚ëá®â :',0
285
 
358
 
286
riw_check_boxes:
359
riw_check_boxes:
287
use_rect_active_window check_box 10,85,5,11,cl_white,0,0,\
360
use_rect_active_window check_box 10,85,5,11,cl_white,0,0,\
288
riw_check_boxes_text.1,\
361
riw_check_boxes_text.1,\
289
riw_check_boxes_text.2-riw_check_boxes_text.1
362
riw_check_boxes_text.2-riw_check_boxes_text.1
290
riw_check_boxes_end:
363
riw_check_boxes_end:
291
 
364
 
292
riw_check_boxes_text:
365
riw_check_boxes_text:
293
.1 db 'ˆá¯®«ì§®¢ âì ®¡« áâì  ªâ¨¢­®£® ®ª­ '
366
.1 db 'ˆá¯®«ì§®¢ âì ®¡« áâì  ªâ¨¢­®£® ®ª­ '
294
.2 db ''
367
.2 db ''
295
 
368
 
296
riw_grab_text db 'Š®®à¤¨­ âë ¨ à §¬¥àë ®¡« áâ¨:',0
369
riw_grab_text db 'Š®®à¤¨­ âë ¨ à §¬¥àë ®¡« áâ¨:',0