Subversion Repositories Kolibri OS

Rev

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

Rev 1512 Rev 1515
Line 1... Line 1...
1
;   RTF READER FOR MENUET v1.
1
;   RTF READER FOR MENUET v1.
2
;   Written in pure assembler by Ivushkin Andrey aka Willow
2
;   Written in pure assembler by Ivushkin Andrey aka Willow
3
;
-
 
-
 
3
;   Menu_bar and scroll_bar from box_lib provided by dunkaist
4
;---------------------------------------------------------------------
4
;---------------------------------------------------------------------
5
M64 equ 64*1024
5
M64 equ 64*1024
6
N_A equ 0x412f4e
6
N_A equ 0x412f4e
7
RTFSIZE equ M64
7
RTFSIZE equ M64
8
RTFSTACKSIZE equ M64
8
RTFSTACKSIZE equ M64
9
BGIFONTSIZE equ 120*1024
9
BGIFONTSIZE equ 120*1024
10
ESPSIZE equ M64
10
ESPSIZE equ M64
11
LMARGIN equ 20
11
LMARGIN equ 15
12
CHARW equ 6
12
CHARW equ 6
13
CHARH equ 11
13
CHARH equ 11
14
WINW  equ 600
14
WINW  equ 600
15
WINH  equ 450
15
WINH  equ 450
16
WIN_COLOR equ 0x3f0f0f0
16
WIN_COLOR equ 0x33f0f0f0;0x3f0f0f0
17
DEFCOLOR equ 0x303030
17
DEFCOLOR equ 0x303030
18
;RENDER equ PIX
18
;RENDER equ PIX
19
;RENDER equ BGI
19
;RENDER equ BGI
20
RENDER equ FREE
20
RENDER equ FREE
Line 21... Line 21...
21
 
21
 
22
BGIFONT_PATH equ '/sys/fonts/'
22
BGIFONT_PATH equ '/sys/fonts/'
23
FONT_NAME equ 'LITT'
23
FONT_NAME equ 'LITT'
24
TOP =55
24
TOP = 45
25
MODE equ RTF
25
MODE equ RTF
26
INVALHEX equ 0
26
INVALHEX equ 0
27
RTF_COLORLESS equ 1
27
RTF_COLORLESS equ 1
28
RTF_ALIGNLESS equ 2
28
RTF_ALIGNLESS equ 2
Line 38... Line 38...
38
SHOWALIGN equ 10
38
SHOWALIGN equ 10
39
GUTTER equ 10
39
GUTTER equ 10
40
BENCH  equ 0;1
40
BENCH  equ 0;1
41
syms equ 12
41
syms equ 12
Line -... Line 42...
-
 
42
 
-
 
43
;-------------------------------
-
 
44
 
-
 
45
scroll_width_size       equ     15
-
 
46
AR_OFFSET               equ     10
-
 
47
 
-
 
48
;-------------------------------
42
 
49
 
43
  use32              ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
50
  use32              ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
Line 44... Line 51...
44
  org    0x0         ;  ¤à¥á æ¨ï á ­ã«ï
51
  org    0x0         ;  ¤à¥á æ¨ï á ­ã«ï
45
 
52
 
Line 50... Line 57...
50
  dd     esp_end     ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
57
  dd     esp_end     ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
51
  dd     sys_mem     ;  ¤à¥á ¢¥à設ë áâíª 
58
  dd     sys_mem     ;  ¤à¥á ¢¥à設ë áâíª 
52
  dd     fname_buf   ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢ (­¥ ¨á¯®«ì§ã¥âáï)
59
  dd     fname_buf   ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢ (­¥ ¨á¯®«ì§ã¥âáï)
53
  dd     cur_dir_path         ; § à¥§¥à¢¨à®¢ ­®
60
  dd     cur_dir_path         ; § à¥§¥à¢¨à®¢ ­®
Line 54... Line 61...
54
 
61
 
-
 
62
include '../../../macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§­ì  áᥬ¡«¥à騪®¢!
55
include '..\..\..\macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§­ì  áᥬ¡«¥à騪®¢!
63
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
Line 56... Line 64...
56
include '..\..\..\develop\libraries\box_lib\load_lib.mac'
64
include '../../../develop/libraries/box_lib/load_lib.mac'
57
 
65
 
Line 58... Line 66...
58
;include 'MACROS.INC'
66
;include 'MACROS.INC'
Line 65... Line 73...
65
if ~ RENDER eq PIX
73
if ~ RENDER eq PIX
66
  TOP=TOP+4
74
  TOP=TOP+4
67
  include 'bgifont.inc'
75
  include 'bgifont.inc'
68
end if
76
end if
69
include 'rtf_lite.inc'
77
include 'rtf_lite.inc'
70
include 'ascl.inc'
78
;include 'ascl.inc'
71
;---------------------------------------------------------------------
79
;---------------------------------------------------------------------
72
;---  €—€‹Ž Žƒ€ŒŒ›  ----------------------------------------------
80
;---  €—€‹Ž Žƒ€ŒŒ›  ----------------------------------------------
73
;---------------------------------------------------------------------
81
;---------------------------------------------------------------------
74
help_file:
82
help_file:
75
file  'reader.rtf'
83
    file  'reader.rtf'
76
help_end:
84
help_end:
Line 77... Line 85...
77
 
85
 
78
START:
86
START:
-
 
87
        mcall 68, 11
Line 79... Line 88...
79
        mcall 68, 11
88
        mcall 40, 0x27
Line 80... Line 89...
80
 
89
 
81
load_libraries l_libs_start,end_l_libs
90
load_libraries l_libs_start,end_l_libs
Line 115... Line 124...
115
        test    eax, eax
124
        test    eax, eax
116
        jz      .sizok
125
        jz      .sizok
117
        mov     dword [fileinfo.name], N_A
126
        mov     dword [fileinfo.name], N_A
118
.sizok:
127
.sizok:
119
    and  [wSave],0
128
    and  [wSave],0
120
    mov  [HClick],-100
129
;    mov  [HClick],-100
121
    mov  eax,ebx
130
    mov  eax,ebx
122
    and  eax,RTFSIZE-1
131
    and  eax,RTFSIZE-1
123
    add  eax,I_END
132
    add  eax,I_END
124
    mov  [tail],eax
133
    mov  [tail],eax
125
    shr  ebx,16
134
    shr  ebx,16
Line 131... Line 140...
131
    repne scasb
140
    repne scasb
132
    sub  edi,fileinfo.name+1
141
    sub  edi,fileinfo.name+1
133
    mov  [fname_size],edi
142
    mov  [fname_size],edi
134
top_red:
143
top_red:
135
    mov  [top],TOP
144
    mov  [top],TOP
-
 
145
    mov  [scroll_bar_data_vertical.position],0
136
red:                    ; ¯¥à¥à¨á®¢ âì ®ª­®
146
red:                    ; ¯¥à¥à¨á®¢ âì ®ª­®
137
 
-
 
138
    call draw_window    ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª­ 
147
    call draw_window    ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª­ 
Line 139... Line 148...
139
 
148
 
140
;---------------------------------------------------------------------
149
;---------------------------------------------------------------------
141
;---  –ˆŠ‹ Ž€Ž’Šˆ ‘Ž›’ˆ‰  ----------------------------------------
150
;---  –ˆŠ‹ Ž€Ž’Šˆ ‘Ž›’ˆ‰  ----------------------------------------
Line 146... Line 155...
146
 
155
 
147
    cmp  eax,1          ; ¯¥à¥à¨á®¢ âì ®ª­® ?
156
    cmp  eax,1          ; ¯¥à¥à¨á®¢ âì ®ª­® ?
148
    je   red            ; ¥á«¨ ¤  - ­  ¬¥âªã red
157
    je   red            ; ¥á«¨ ¤  - ­  ¬¥âªã red
149
    cmp  eax,3          ; ­ ¦ â  ª­®¯ª  ?
158
    cmp  eax,3          ; ­ ¦ â  ª­®¯ª  ?
-
 
159
    je   button         ; ¥á«¨ ¤  - ­  button
-
 
160
    cmp  eax,6
Line 150... Line 161...
150
    je   button         ; ¥á«¨ ¤  - ­  button
161
    je   mouse
Line 151... Line 162...
151
 
162
 
Line 158... Line 169...
158
    jne  .nohelp
169
    jne  .nohelp
159
  .help:
170
  .help:
160
    xor  [mode],RTF_HELP
171
    xor  [mode],RTF_HELP
161
    test [mode],RTF_HELP
172
    test [mode],RTF_HELP
162
    jz   load_file
173
    jz   load_file
-
 
174
    mov  dword[HDoc],200                        ; it makes the help page not scroll
163
    mov  ecx,help_end-help_file
175
    mov  ecx,help_end-help_file
164
    mov  [block_end],ecx
176
    mov  [block_end],ecx
165
    add  [block_end],I_END
177
    add  [block_end],I_END
166
    mov  [tail],ecx
178
    mov  [tail],ecx
167
    add  [tail],I_END
179
    add  [tail],I_END
Line 206... Line 218...
206
    inc  [pitch]
218
    inc  [pitch]
207
    jmp  red
219
    jmp  red
208
  .nopi:
220
  .nopi:
209
    cmp  ah,180         ; Home
221
    cmp  ah,180         ; Home
210
    je   top_red
222
    je   top_red
-
 
223
    
-
 
224
    cmp  byte[is_scroll_bar_needed], 0
-
 
225
     je  still
-
 
226
    
211
    mov  ebx,dword[prcinfo+46]
227
    mov  ebx,dword[prcinfo+46]
212
    sub  ebx,TOP+15
228
    sub  ebx,TOP+15
213
    cmp  ah,183 ;PgDn
229
    cmp  ah,183 ;PgDn
214
    jne  .nopgdn
230
    jne  .nopgdn
215
    sub  [top],bx
231
;    sub  [top],bx
-
 
232
 
-
 
233
    cmp  byte[is_scroll_bar_needed], 0
-
 
234
     je  still
-
 
235
    
-
 
236
    mov  eax, [scroll_bar_data_vertical.position]
-
 
237
    add  eax, AR_OFFSET*7
-
 
238
    mov  ebx, [scroll_bar_data_vertical.max_area]
-
 
239
    sub  ebx, [scroll_bar_data_vertical.cur_area]
-
 
240
    cmp  eax, ebx
-
 
241
    mov  dword[scroll_bar_data_vertical.position], eax
-
 
242
    jl  @f
-
 
243
    mov  dword[scroll_bar_data_vertical.position], ebx
-
 
244
  @@:
-
 
245
    call Set_position
216
    jmp  red
246
    jmp  red
217
  .nopgdn:
247
  .nopgdn:
218
    cmp  ah,177 ;arrDn
248
    cmp  ah,177 ;arrDn
219
    jne  .noardn
249
    jne  .noardn
220
    sub  [top],CHARH
250
;    sub  [top],CHARH
-
 
251
 
-
 
252
    cmp  byte[is_scroll_bar_needed], 0
-
 
253
     je  still
-
 
254
    
-
 
255
    mov  eax, [scroll_bar_data_vertical.position]
-
 
256
    add  eax, AR_OFFSET
-
 
257
    mov  ebx, [scroll_bar_data_vertical.max_area]
-
 
258
    sub  ebx, [scroll_bar_data_vertical.cur_area]
-
 
259
    cmp  eax, ebx
-
 
260
    mov  dword[scroll_bar_data_vertical.position], eax
-
 
261
    jl  @f
-
 
262
    mov  dword[scroll_bar_data_vertical.position], ebx
-
 
263
  @@:
-
 
264
    call Set_position
-
 
265
 
221
    jmp  red
266
    jmp  red
222
  .noardn:
267
  .noardn:
223
    mov  cx,[top]
268
    mov  cx,[top]
224
    cmp  ah,184 ;PgUp
269
    cmp  ah,184 ;PgUp
225
    jne  .nopgup
270
    jne  .nopgup
226
    add  [top],bx
271
;    add  [top],bx
227
    cmp  [top],TOP
272
;    cmp  [top],TOP
228
    jl   red
273
;    jl   red
229
    mov  [top],TOP
274
;    mov  [top],TOP
230
    cmp  cx,[top]
275
;    cmp  cx,[top]
-
 
276
;    je   still
-
 
277
 
-
 
278
    cmp  byte[is_scroll_bar_needed], 0
231
    je   still
279
     je  still
-
 
280
    
-
 
281
    cmp  dword[scroll_bar_data_vertical.position], AR_OFFSET*7
-
 
282
    sub  dword[scroll_bar_data_vertical.position], AR_OFFSET*7
-
 
283
    jg  @f
-
 
284
    mov  dword[scroll_bar_data_vertical.position], 0
-
 
285
  @@:
-
 
286
    call Set_position
232
    jmp  red
287
    jmp  red
233
  .nopgup:
288
  .nopgup:
234
    cmp  ah,178 ;arrUp
289
    cmp  ah,178 ;arrUp
235
    jne  .noarup
290
    jne  .noarup
236
    add  [top],CHARH
291
;    add  [top],CHARH
237
    cmp  [top],TOP
-
 
238
    jl   red
292
 
239
    mov  [top],TOP
-
 
240
    cmp  cx,[top]
293
    cmp  byte[is_scroll_bar_needed], 0
241
    je   still
294
     je  still
-
 
295
    
-
 
296
    cmp  dword[scroll_bar_data_vertical.position], AR_OFFSET
-
 
297
    sub  dword[scroll_bar_data_vertical.position], AR_OFFSET
-
 
298
    jg  @f
-
 
299
    mov  dword[scroll_bar_data_vertical.position], 0
-
 
300
  @@:
-
 
301
    call Set_position
-
 
302
 
-
 
303
;    cmp  [top],TOP
-
 
304
;    jl   red
-
 
305
;    mov  [top],TOP
-
 
306
;    cmp  cx,[top]
-
 
307
;    je   still
242
    jmp  red
308
    jmp  red
243
  .noarup:
309
  .noarup:
244
  if  RENDER eq FREE
310
  if  RENDER eq FREE
245
    cmp  ah,56 ;zoom+
311
    cmp  ah,56 ;zoom+
246
    jne  .noplus
312
    jne  .noplus
Line 257... Line 323...
257
    fld  [FreeFontscale]
323
    fld  [FreeFontscale]
258
    fdiv [Zoomscale]
324
    fdiv [Zoomscale]
259
    jmp  .zoom
325
    jmp  .zoom
260
  .nominus:
326
  .nominus:
261
  end if
327
  end if
-
 
328
    cmp  ah,0xB5        ; end
-
 
329
    jne  .pre_file_open
-
 
330
  .end:
-
 
331
 
-
 
332
    cmp  byte[is_scroll_bar_needed], 0
-
 
333
     je  still
-
 
334
    
-
 
335
    mov  dword[scroll_bar_data_vertical.position], 250
-
 
336
    call Set_position
-
 
337
    jmp  red
-
 
338
  .pre_file_open:
262
    cmp  ah,108         ; L - load
339
    cmp  ah,108         ; L - load
263
    jne  still
340
    jne  still
264
  .file_open:
341
  .file_open:
265
;---------------------------------------------------------------------
342
;---------------------------------------------------------------------
266
;OpenDialog_start:
343
;OpenDialog_start:
Line 285... Line 362...
285
;    jmp  still
362
;    jmp  still
286
;---------------------------------------------------------------------
363
;---------------------------------------------------------------------
Line 287... Line 364...
287
 
364
 
288
  button:
365
  button:
-
 
366
    mcall 17            ; 17 - ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
-
 
367
 
289
    mcall 17            ; 17 - ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
368
    cmp   ah, 1         ; ¥á«¨ ­ ¦ â  ª­®¯ª  á ­®¬¥à®¬ 1,
290
    cmp   ah,2
369
    je    .exit
-
 
370
    jmp still
-
 
371
    
-
 
372
  .exit:
-
 
373
    mcall -1            ; ¨­ ç¥ ª®­¥æ ¯à®£à ¬¬ë
-
 
374
    
-
 
375
 
-
 
376
;---------------------------------------------------------------------
-
 
377
;---  MOUSE EVENT PROCESSING  ----------------------------------------
-
 
378
;---------------------------------------------------------------------    
291
    je    key.help
379
mouse:
-
 
380
        mcall   37,7
-
 
381
        test    eax,    eax
-
 
382
        je      .menu_bar_1;.mouse
-
 
383
        jmp     still
-
 
384
 
-
 
385
 
-
 
386
.menu_bar_1:
-
 
387
        call    .set_mouse_flag
-
 
388
@@:
-
 
389
        push    dword menu_data_1       ;mouse event for Menu 1
-
 
390
        call    [menu_bar_mouse]
-
 
391
        cmp     [menu_data_1.click],dword 1
-
 
392
        jne     .menu_bar_2
-
 
393
        cmp     [menu_data_1.cursor_out],dword 0
-
 
394
        jne     .analyse_out_menu_1
-
 
395
        jmp     .menu_bar_1
-
 
396
.menu_bar_2:
-
 
397
        push    dword menu_data_2
-
 
398
        call    [menu_bar_mouse]
-
 
399
        cmp     [menu_data_2.click],dword 1
-
 
400
        jne     .menu_bar_3
-
 
401
        cmp     [menu_data_2.cursor_out],dword 0
-
 
402
        jne     .analyse_out_menu_2
-
 
403
        jmp     .menu_bar_1
-
 
404
.menu_bar_3:
-
 
405
        push    dword menu_data_3
-
 
406
        call    [menu_bar_mouse]
292
    cmp   ah,3
407
        cmp     [menu_data_3.click],dword 1
-
 
408
        jne     .scroll_bar
-
 
409
        cmp     [menu_data_3.cursor_out],dword 0
-
 
410
        jne     .analyse_out_menu_3
-
 
411
        jmp     .menu_bar_1
-
 
412
 
293
    je    key.color
413
.set_mouse_flag:
294
    cmp   ah,4
414
        xor     eax,eax
-
 
415
        inc     eax
-
 
416
        mov     [menu_data_1.get_mouse_flag],eax
-
 
417
        mov     [menu_data_2.get_mouse_flag],eax
295
    je    key.alignment
418
        mov     [menu_data_3.get_mouse_flag],eax
-
 
419
        ret
-
 
420
 
-
 
421
.analyse_out_menu_1:
296
    cmp   ah,5
422
        cmp     [menu_data_1.cursor_out],dword 1
-
 
423
        je      key.file_open
-
 
424
        cmp     [menu_data_1.cursor_out],dword 2
297
    je    key.file_open
425
        je      button.exit
-
 
426
        jmp     red
-
 
427
 
-
 
428
.analyse_out_menu_2:
-
 
429
        cmp     [menu_data_2.cursor_out],dword 1
-
 
430
        je      key.zplus
-
 
431
        cmp     [menu_data_2.cursor_out],dword 2
-
 
432
        je      key.zminus
298
    cmp   ah,6
433
        cmp     [menu_data_2.cursor_out],dword 3
299
    je    key.incp
434
        je      key.incp
300
    cmp   ah,7
435
        cmp     [menu_data_2.cursor_out],dword 4
301
    je    key.decp
-
 
302
  if RENDER eq FREE
436
        je      key.decp
303
    cmp   ah,8
437
        cmp     [menu_data_2.cursor_out],dword 5
304
    je    key.zminus
438
        je      key.alignment
305
    cmp   ah,9
439
        cmp     [menu_data_2.cursor_out],dword 6
306
    je    key.zplus
-
 
307
  end if
-
 
308
    cmp   ah, 1         ; ¥á«¨ … ­ ¦ â  ª­®¯ª  á ­®¬¥à®¬ 1,
440
        je      key.color
Line 309... Line 441...
309
    jne   .noexit       ;  ¢¥à­ãâìáï
441
        jmp     red
310
 
442
 
311
  .exit:
-
 
312
    mcall -1            ; ¨­ ç¥ ª®­¥æ ¯à®£à ¬¬ë
443
.analyse_out_menu_3:
313
  .noexit:
444
        cmp     [menu_data_3.cursor_out],dword 1
-
 
445
        je      key.help
314
    cmp   ah,20
446
        jmp     red
315
    jne   still
-
 
316
    mcall 37,1
447
 
317
    and   eax,0xffff
448
.scroll_bar:
-
 
449
        cmp     [is_scroll_bar_needed], 0
318
    cmp   eax,[HClick]
450
        je      still
-
 
451
.vertical:
319
    je    still
452
        mov     eax,[scroll_bar_data_vertical.max_area]
-
 
453
        cmp     eax,[scroll_bar_data_vertical.cur_area]
-
 
454
        jbe     still
-
 
455
; mouse event for Vertical ScrollBar
-
 
456
 
-
 
457
        push    dword scroll_bar_data_vertical
320
    mov   [HClick],eax
458
        call    [scrollbar_ver_mouse]
-
 
459
  
321
    sub   eax,25
460
        call    Set_position
322
    mul   [HDoc]
461
        
323
    mov   ebx,dword[prcinfo+46]
462
        mov     eax,scroll_bar_data_vertical.redraw
324
    sub   ebx,25
463
        xor     ebx,ebx
325
    div   ebx
464
        cmp     [eax],ebx
326
    dpd   eax
465
        je      @f
-
 
466
        mov     [eax],ebx
-
 
467
        jmp     red
327
    mov   [top],TOP
468
@@:
-
 
469
        cmp     [scroll_bar_data_vertical.delta2],0
328
    sub   [top],ax
470
        jne     still
329
    dps   'B'
471
.other:
330
    jmp   red;still
472
        jmp     still
331
;---------------------------------------------------------------------
473
;---------------------------------------------------------------------
Line 332... Line 474...
332
;---  Ž…„…‹…ˆ… ˆ Ž’ˆ‘Ž‚Š€ ŽŠ€  ----------------------------------
474
;---  Ž…„…‹…ˆ… ˆ Ž’ˆ‘Ž‚Š€ ŽŠ€  ----------------------------------
Line -... Line 475...
-
 
475
;---------------------------------------------------------------------
-
 
476
 
333
;---------------------------------------------------------------------
477
draw_window:
-
 
478
 
334
 
479
    mcall 12, 1
Line 335... Line -...
335
draw_window:
-
 
336
 
-
 
337
    mcall 12, 1                    ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
480
 
338
                                   ; 1 - ­ ç¨­ ¥¬ à¨á®¢ âì
481
;    mcall 0, <10,WINW>, <100,WINH>, WIN_COLOR,0x805080D0, 0x005080D0
339
 
482
;    mcall 4, <8,8>, 0x10DDEEFF, title, titlesize-title
340
    mcall 0, <10,WINW>, <100,WINH>, WIN_COLOR,0x805080D0, 0x005080D0
483
    mcall 0, <10,WINW>, <100,WINH>, WIN_COLOR,0x80000000, window_title
341
    mcall 4, <8,8>, 0x10DDEEFF, title, titlesize-title
484
 
Line 359... Line 502...
359
  .chg:
502
  .chg:
360
    mov  [wSave],ebx
503
    mov  [wSave],ebx
361
    or   [mode],RTF_TOEOF
504
    or   [mode],RTF_TOEOF
362
    and  [HDoc],0
505
    and  [HDoc],0
363
    and  [line_count],0
506
    and  [line_count],0
364
    mov  [HClick],-100
507
;    mov  [HClick],-100
365
  .nochg:
508
  .nochg:
Line -... Line 509...
-
 
509
 
-
 
510
;---------------------------------------------
-
 
511
    mov eax, dword[prcinfo+0x3E]
-
 
512
    sub eax, scroll_width_size
-
 
513
    mov word[scroll_bar_data_vertical.start_x], ax
-
 
514
 
-
 
515
    mov eax, dword[prcinfo+0x42]
-
 
516
    sub eax, 17
-
 
517
    mov word[scroll_bar_data_vertical.size_y], ax
-
 
518
 
-
 
519
    mov ebx, dword[prcinfo+0x3E]
-
 
520
    mcall     38, , 65536*18+18, 0x8b8b89
-
 
521
    inc ebx
-
 
522
    mcall     13, , 65536*0+18, 0xe9e9e2
-
 
523
;---------------------------------------------
-
 
524
; draw for Menu 1
-
 
525
        push    dword menu_data_1
-
 
526
        call    [menu_bar_draw] 
-
 
527
; draw for Menu 2
-
 
528
        push    dword menu_data_2
-
 
529
        call    [menu_bar_draw] 
-
 
530
; draw for Menu 3
-
 
531
        push    dword menu_data_3
-
 
532
        call    [menu_bar_draw]         
Line 366... Line 533...
366
 
533
;---------------------------------------------
367
 
-
 
368
mcall 13,<5,dword[prcinfo+42]>,<21,21>,0x8000459a
-
 
369
 
534
 
370
mcall 8,7*65536+39,23*65536+16,5,0x459a           ;load
-
 
371
mcall 8,46*65536+57,23*65536+16,4,0x459a ;align
-
 
372
mcall 8,103*65536+44,23*65536+16,3,0x459a   ;color
-
 
373
mcall 8,147*65536+37,23*65536+16,2,0x459a        ;help
-
 
374
 
-
 
375
mcall 8,184*65536+44,23*65536+16,7,0x459a ;prev
-
 
376
mcall 8,229*65536+46,23*65536+16,6,0x459a      ;next
-
 
377
 
-
 
378
if RENDER eq FREE
-
 
379
mcall 8,276*65536+44,23*65536+16,9,0x459a ;zoom+
-
 
380
mcall 8,320*65536+44,23*65536+16,8,0x459a ;zoom-
-
 
381
end if
-
 
Line 382... Line -...
382
 
-
 
383
 
-
 
384
 
-
 
385
 
-
 
386
;    sub  ebx,60
-
 
387
;    shl  ebx,16
-
 
388
;    mov  bx,12
-
 
389
;    mov  ecx,5 shl 16+12
-
 
390
;    mov  esi,0xb810e7
-
 
391
;    mov  edx,2
-
 
392
; BTN_SPACE equ 14 shl 16
-
 
393
;    mcall 8             ;2
-
 
394
;    sub  ebx,BTN_SPACE
-
 
395
;    inc  edx
-
 
396
;    mcall 8,,,,0x459a    ;3
-
 
397
;    sub  ebx,BTN_SPACE
-
 
398
;    inc  edx
-
 
399
;    mcall ,,,,0x107a30  ;4
-
 
400
;    sub  ebx,BTN_SPACE
-
 
401
;    inc  edx
-
 
402
;    mcall ,,,,0xcc0000  ;5
-
 
403
;    sub  ebx,BTN_SPACE
-
 
404
;    inc  edx
-
 
405
;    mcall ,,,,0x575f8c  ;6
-
 
406
;    sub  ebx,BTN_SPACE
-
 
407
;    inc  edx
-
 
408
;    mcall ,,,,0x575f8c  ;7
-
 
409
;  if RENDER eq FREE
-
 
410
;    sub  ebx,BTN_SPACE
-
 
411
;    inc  edx
-
 
412
;    mcall ,,,,0x6a73d0  ;8
-
 
413
;    sub  ebx,BTN_SPACE
-
 
414
;    inc  edx
-
 
415
;    mcall ,,,,0xd048c8  ;9
-
 
416
;  end if
-
 
417
;text
-
 
418
;    shr  ecx,16
-
 
419
;    mov  bx,cx
-
 
420
;    add  ebx,3 shl 16+3
-
 
421
    mcall 4,10*65536+27,0x10ddeeff,btn_text,btn_end-btn_text
-
 
422
 
535
    sub  dword[prcinfo+42],2*LMARGIN+scroll_width_size
423
    sub  dword[prcinfo+42],LMARGIN
536
    sub  dword[prcinfo+46],CHARH+25
424
    sub  dword[prcinfo+46],CHARH
537
    
425
 if GUTTER eq 1
538
 if GUTTER eq 1
426
    mov  ebx,LMARGIN shl 16+20
539
    mov  ebx,LMARGIN shl 16+20
Line 433... Line 546...
433
    mcall ,,0xff0000
546
    mcall ,,0xff0000
434
    pop  ecx
547
    pop  ecx
435
    add  ebx,50 shl 16
548
    add  ebx,50 shl 16
436
    loop .loop1
549
    loop .loop1
437
 end if
550
 end if
438
    mov  ebx,dword[prcinfo+42]
-
 
439
    shl  ebx,16
-
 
440
    add  ebx,2 shl 16+13
-
 
441
    mov  ecx,dword[prcinfo+46]
-
 
442
    add  ecx,40 shl 16-35
-
 
443
    mov  edx,20+1 shl 29
-
 
444
    mcall 8
-
 
445
    mov  ecx,[HClick]
-
 
446
    shl  ecx,16
-
 
447
    add  ecx,6-3 shl 16 + 7
-
 
448
    mcall 13,,,0xe26830
-
 
449
 if MODE eq RTF
551
 if MODE eq RTF
450
    test [mode],RTF_OPENING
552
    test [mode],RTF_OPENING
451
    jne  .ex
553
    jne  .ex
452
    and  [mode],not (RTF_BOTTOM);+RTF_TOEOF)
554
    and  [mode],not (RTF_BOTTOM);+RTF_TOEOF)
453
    mov  [colorptr],colortbl
555
    mov  [colorptr],colortbl
Line 463... Line 565...
463
    mov  ax,[top]
565
    mov  ax,[top]
464
    mov  word[Free+6],10
566
    mov  word[Free+6],10
465
    mov  word[Free+4],ax
567
    mov  word[Free+4],ax
466
    mov  esi,I_END
568
    mov  esi,I_END
467
    call RtfParse
569
    call RtfParse
468
    dpd  eax
570
;    dpd  eax
469
    dps  'Lines='
571
;    dps  'Lines='
470
    mov  eax,[line_count]
572
    mov  eax,[line_count]
471
    dpd  eax
573
;    dpd  eax
472
    newline
574
;    newline
473
;    movzx  eax,word[Free+4]
575
;    movzx  eax,word[Free+4]
474
;    dpd  eax
576
;    dpd  eax
475
    mov  eax,dword[prcinfo+42]
577
    mov  eax,dword[prcinfo+42]
476
    mov  edx,WIN_COLOR
578
    mov  edx,WIN_COLOR
477
    call draw_progress
579
    call draw_progress
478
if BENCH eq 1
580
if BENCH eq 1
479
    mcall 26,9
581
    mcall 26,9
480
    sub  eax,[bench]
582
    sub  eax,[bench]
481
    dps  <13,10,'Bench='>
583
;    dps  <13,10,'Bench='>
482
    dpd  eax
584
;    dpd  eax
483
end if
585
end if
484
 else
586
 else
485
    mov  [char],0
587
    mov  [char],0
486
    mov  ebx,10 shl 16+TOP
588
    mov  ebx,10 shl 16+TOP
487
    mov  ecx,16
589
    mov  ecx,16
Line 507... Line 609...
507
    and  ebx,0x0000ffff
609
    and  ebx,0x0000ffff
508
    add  ebx,10 shl 16
610
    add  ebx,10 shl 16
509
    loop .l0
611
    loop .l0
510
 end if
612
 end if
511
 .ex:
613
 .ex:
-
 
614
call Set_position
-
 
615
;---------------------------------------------
-
 
616
    cmp  [is_scroll_bar_needed], 0
-
 
617
     je  @f
-
 
618
        xor     eax,eax
-
 
619
        inc     eax
512
    mcall 12, 2                    ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
620
        mov     [scroll_bar_data_vertical.all_redraw],eax
-
 
621
; draw for Vertical ScrollBar
-
 
622
        push    dword scroll_bar_data_vertical
-
 
623
        call    [scrollbar_ver_draw]
-
 
624
; reset all_redraw flag 
-
 
625
        xor     eax,eax
513
                                   ; 2, § ª®­ç¨«¨ à¨á®¢ âì
626
        mov     [scroll_bar_data_vertical.all_redraw],eax
-
 
627
  @@:
-
 
628
;---------------------------------------------
-
 
629
    mcall 12, 2
-
 
630
    ret
-
 
631
 
-
 
632
;---------------------------------------------------------------------
-
 
633
Set_position:
-
 
634
 
-
 
635
    mov  eax, dword[prcinfo+46]
-
 
636
    cmp  eax, [HDoc]
-
 
637
    mov  byte[is_scroll_bar_needed], 0
-
 
638
     jnl .quit
-
 
639
    mov  byte[is_scroll_bar_needed], 1
-
 
640
 
-
 
641
    mov  eax, [scroll_bar_data_vertical.max_area]
-
 
642
    mul  dword[prcinfo+46]
-
 
643
    div  dword[HDoc]
-
 
644
    cmp  eax, [scroll_bar_data_vertical.max_area]
-
 
645
    mov  dword[scroll_bar_data_vertical.cur_area],eax
-
 
646
     jng @f
-
 
647
    mov  eax, [scroll_bar_data_vertical.max_area]
-
 
648
    mov  dword[scroll_bar_data_vertical.cur_area], eax
-
 
649
  @@:
-
 
650
    mov eax, [HDoc]
-
 
651
    cmp eax, dword[prcinfo+46]
-
 
652
    sub eax, dword[prcinfo+46]
514
    ret                            ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë
653
    add eax, 100                    ; height of clear area under text when you are at the end of document
-
 
654
     jg @f
-
 
655
    mov eax, 0
-
 
656
  @@:
-
 
657
    mul [scroll_bar_data_vertical.position]
-
 
658
    mov ebx, [scroll_bar_data_vertical.max_area]
-
 
659
    sub ebx, [scroll_bar_data_vertical.cur_area]
-
 
660
    div ebx
Line -... Line 661...
-
 
661
    
-
 
662
    mov dword[top], TOP
-
 
663
    sub dword[top], eax
-
 
664
    
-
 
665
  .quit:
-
 
666
    ret
515
 
667
;---------------------------------------------------------------------
516
if GUTTER eq 1
668
if GUTTER eq 1
517
   arrow db 0x19
669
   arrow db 0x19
518
end if
670
end if
519
;---------------------------------------------------------------------
671
;---------------------------------------------------------------------
520
;---  „€›… Žƒ€ŒŒ›  ----------------------------------------------
672
;---  „€›… Žƒ€ŒŒ›  ----------------------------------------------
Line 521... Line 673...
521
;---------------------------------------------------------------------
673
;---------------------------------------------------------------------
522
 
674
 
Line 523... Line -...
523
; ¨­â¥àä¥©á ¯à®£à ¬¬ë ¬­®£®ï§ëç­ë©
-
 
524
;  ‚ë ¬®¦¥â¥ § ¤ âì ï§ëª ¢ MACROS.INC (lang fix ï§ëª)
675
; ¨­â¥àä¥©á ¯à®£à ¬¬ë ¬­®£®ï§ëç­ë©
525
 
-
 
526
title:
-
 
527
  db 'RTF Reader v1.    (     ):'
676
;  ‚ë ¬®¦¥â¥ § ¤ âì ï§ëª ¢ MACROS.INC (lang fix ï§ëª)
528
titlesize:
-
 
529
btn_text:
677
 
530
    db 'Load Aligment Color Help    <      >'
-
 
531
if RENDER eq FREE
-
 
532
    db '    Zoom+ Zoom- '
678
window_title:           db      'RtfRead v1.033',0
533
  end if 
679
buf_cmd_lin             rb      0
Line 534... Line 680...
534
btn_end:
680
is_scroll_bar_needed    db      0
535
;---------------------------------------------------------------------
681
;---------------------------------------------------------------------
Line -... Line 682...
-
 
682
l_libs_start:
-
 
683
 
-
 
684
library01  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
536
l_libs_start:
685
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
537
 
686
 
538
library01  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
687
library02  l_libs system_dir_Boxlib+9, cur_dir_path, buf_cmd_lin, system_dir_Boxlib, \
-
 
688
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
Line 539... Line 689...
539
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
689
 
540
 
690
end_l_libs:
Line -... Line 691...
-
 
691
;---------------------------------------------------------------------
541
end_l_libs:
692
system_dir_ProcLib      db '/sys/lib/proc_lib.obj',0
Line -... Line 693...
-
 
693
system_dir_Boxlib       db '/sys/lib/box_lib.obj',0
542
;---------------------------------------------------------------------
694
 
Line 543... Line 695...
543
system_dir_ProcLib			db '/sys/lib/proc_lib.obj',0
695
head_f_i:
544
 
696
head_f_l                db 'error',0
545
head_f_i:
697
 
Line 604... Line 756...
604
  dd 0
756
  dd 0
605
  dd 0
757
  dd 0
606
.size  dd 1
758
.size  dd 1
607
  dd I_END
759
  dd I_END
608
.name:
760
.name:
609
;   db '//'
761
 
610
;  db ' /HD/1/RTF/texts/FASM.TXT',0
-
 
611
;  db '/HD/1/RTF/TEST2.RTF',0
-
 
612
;  db '/HD/1/RTF/texts/index_ru.RTF',0
762
;  db '/HD/1/RTF/texts/index_ru.RTF',0
613
;  db '/HD/1/RTF/texts/stas.RTF',0
-
 
614
;  db '/HD/1/RTF/texts/zed.RTF',0
-
 
615
;  db '/HD/1/RTF/PRACT.RTF',0
-
 
616
;  db '/HD/1/RTF/SETUP2.RTF',0
-
 
617
;  db '/HD/1/RTF/texts/TC_RU.RTF',0
-
 
618
;  db '/HD/1/RTF/texts/WORD.RTF',0
-
 
619
;  db '/HD/1/RTF/texts/WORD97.RTF',0
-
 
620
;  db '/HD/1/RTF/texts/MASTAPP.RTF',0
-
 
621
;  db '/HD/1/RTF/texts/1c_tor77.RTF',0
-
 
622
;  db '/HD/1/RTF/texts/RELATION.RTF',0
-
 
623
;  db '/HD/1/RTF/texts/PLANETS.RTF',0
-
 
624
;  db '/HD/1/RTF/texts/LOTRRUS.RTF',0
-
 
625
;  db '/HD/1/RTF/texts/RULEBOOK.RTF',0
-
 
626
;  db '/HD/1/RTF/texts/RULEBK2.RTF',0
-
 
627
;  db '/HD/1/RTF/texts/GLEB.RTF',0
-
 
628
;  db '/HD/1/RTF/texts/DWG13_14.RTF',0
-
 
629
;  db '/HD/1/RTF/texts/LK.RTF',0
-
 
Line 630... Line -...
630
 
-
 
631
;  db '/HD/1/RTF/texts/JUSTIFY.RTF',0
763
 
632
   rb  256-($-.name)
764
   rb  256-($-.name)
633
;---------------------------------------------------------------------
765
;---------------------------------------------------------------------
634
;blind db ?
766
;blind db ?
635
if RENDER eq PIX
767
if RENDER eq PIX
Line 679... Line 811...
679
ct_end:
811
ct_end:
680
fname_size dd ?
812
fname_size dd ?
681
max_block dd ?
813
max_block dd ?
682
cur_block dd ?
814
cur_block dd ?
683
HDoc dd ?
815
HDoc dd ?
684
HClick dd ?
816
;HClick dd ?
685
top dw ?
817
top dw ?
686
line_count dd ?
818
line_count dd ?
687
par_count  dd ?
819
par_count  dd ?
688
char db ?
820
char db ?
689
pitch db ?
821
pitch db ?
Line 698... Line 830...
698
 
830
 
699
listptr dd ?
831
listptr dd ?
700
szKeyword rb 31
832
szKeyword rb 31
701
szParameter rb 21
833
szParameter rb 21
-
 
834
block_end dd ?
-
 
835
 
-
 
836
;---------------------------------------------------------------------
-
 
837
align   4
-
 
838
Box_lib_import:
-
 
839
 
-
 
840
menu_bar_draw           dd aMenu_bar_draw
-
 
841
menu_bar_mouse          dd aMenu_bar_mouse
-
 
842
 
-
 
843
scrollbar_ver_draw      dd aScrollbar_ver_draw
-
 
844
scrollbar_ver_mouse     dd aScrollbar_ver_mouse
-
 
845
 
-
 
846
        dd 0
-
 
847
        dd 0
-
 
848
 
-
 
849
aMenu_bar_draw          db 'menu_bar_draw',0
-
 
850
aMenu_bar_mouse         db 'menu_bar_mouse',0
-
 
851
;aVersion_menu_bar       db 'version_menu_bar',0
-
 
852
 
-
 
853
aScrollbar_ver_draw     db 'scrollbar_v_draw',0
-
 
854
aScrollbar_ver_mouse    db 'scrollbar_v_mouse',0
-
 
855
;---------------------------------------------------------------------
-
 
856
align   4
-
 
857
menu_data_1:
-
 
858
.type:          dd 0    ;+0
-
 
859
.x:
-
 
860
.size_x         dw 40   ;+4
-
 
861
.start_x        dw 2    ;+6
-
 
862
.y:
-
 
863
.size_y         dw 15   ;+8
-
 
864
.start_y        dw 2    ;+10
-
 
865
.text_pointer:  dd menu_text_area       ;0      ;+12
-
 
866
.pos_pointer:   dd menu_text_area.1     ;0      ;+16
-
 
867
.text_end       dd menu_text_area.end   ;0      ;+20
-
 
868
.mouse_pos      dd 0    ;+24
-
 
869
.mouse_keys     dd 0    ;+28
-
 
870
.x1:
-
 
871
.size_x1        dw 40   ;+32
-
 
872
.start_x1       dw 2    ;+34
-
 
873
.y1:
-
 
874
.size_y1        dw 100  ;+36
-
 
875
.start_y1       dw 18   ;+38
-
 
876
.bckg_col       dd 0xeeeeee     ;+40
-
 
877
.frnt_col       dd 0xff ;+44
-
 
878
.menu_col       dd 0xffffff     ;+48
-
 
879
.select         dd 0    ;+52
-
 
880
.out_select     dd 0    ;+56
-
 
881
.buf_adress     dd 0    ;+60
-
 
882
.procinfo       dd 0    ;+64
-
 
883
.click          dd 0    ;+68
-
 
884
.cursor         dd 0    ;+72
-
 
885
.cursor_old     dd 0    ;+76
-
 
886
.interval       dd 16   ;+80
-
 
887
.cursor_max     dd 0    ;+84
-
 
888
.extended_key   dd 0    ;+88
-
 
889
.menu_sel_col   dd 0x00cc00     ;+92
-
 
890
.bckg_text_col  dd 0    ;+96
-
 
891
.frnt_text_col  dd 0xffffff     ;+100
-
 
892
.mouse_keys_old dd 0    ;+104
-
 
893
.font_height    dd 8    ;+108
-
 
894
.cursor_out     dd 0    ;+112
-
 
895
.get_mouse_flag dd 0    ;+116
-
 
896
 
-
 
897
menu_text_area:
-
 
898
        db 'File',0
-
 
899
.1:
-
 
900
        db 'Open',0
-
 
901
        db 'Exit',0
-
 
902
.end:
-
 
903
        db 0
-
 
904
;---------------------------------------------------------------------
-
 
905
align   4
-
 
906
menu_data_2:
-
 
907
.type:          dd 0    ;+0
-
 
908
.x:
-
 
909
.size_x         dw 40   ;+4
-
 
910
.start_x        dw 43   ;+6
-
 
911
.y:
-
 
912
.size_y         dw 15   ;+8
-
 
913
.start_y        dw 2    ;+10
-
 
914
.text_pointer:  dd menu_text_area_2     ;0      ;+12
-
 
915
.pos_pointer:   dd menu_text_area_2.1   ;0      ;+16
-
 
916
.text_end       dd menu_text_area_2.end ;0      ;+20
-
 
917
.mouse_pos      dd 0    ;+24
-
 
918
.mouse_keys     dd 0    ;+28
-
 
919
.x1:
-
 
920
.size_x1        dw 50   ;+32
-
 
921
.start_x1       dw 43   ;+34
-
 
922
.y1:
-
 
923
.size_y1        dw 100  ;+36
-
 
924
.start_y1       dw 18   ;+38
-
 
925
.bckg_col       dd 0xeeeeee     ;+40
-
 
926
.frnt_col       dd 0xff ;+44
-
 
927
.menu_col       dd 0xffffff     ;+48
-
 
928
.select         dd 0    ;+52
-
 
929
.out_select     dd 0    ;+56
-
 
930
.buf_adress     dd 0    ;+60
-
 
931
.procinfo       dd 0    ;+64
-
 
932
.click          dd 0    ;+68
-
 
933
.cursor         dd 0    ;+72
-
 
934
.cursor_old     dd 0    ;+76
-
 
935
.interval       dd 16   ;+80
-
 
936
.cursor_max     dd 0    ;+84
-
 
937
.extended_key   dd 0    ;+88
-
 
938
.menu_sel_col   dd 0x00cc00     ;+92
-
 
939
.bckg_text_col  dd 0    ;       +96
-
 
940
.frnt_text_col  dd 0xffffff     ;+100
-
 
941
.mouse_keys_old dd 0    ;+104
-
 
942
.font_height    dd 8    ;+108
-
 
943
.cursor_out     dd 0    ;+112
-
 
944
.get_mouse_flag dd 0    ;+116
-
 
945
 
-
 
946
menu_text_area_2:
-
 
947
        db 'View',0
-
 
948
.1:
-
 
949
        db 'Zoom +',0
-
 
950
        db 'Zoom -',0
-
 
951
        db ' >  >',0
-
 
952
        db '  << ',0
-
 
953
        db 'Align',0
-
 
954
        db 'Color',0
-
 
955
.end:
-
 
956
        db 0
-
 
957
;---------------------------------------------------------------------
-
 
958
align   4
-
 
959
menu_data_3:
-
 
960
.type:          dd 0    ;+0
-
 
961
.x:
-
 
962
.size_x         dw 40   ;+4
-
 
963
.start_x        dw 84   ;+6
-
 
964
.y:
-
 
965
.size_y         dw 15   ;+8
-
 
966
.start_y        dw 2    ;+10
-
 
967
.text_pointer:  dd menu_text_area_3     ;0      ;+12
-
 
968
.pos_pointer:   dd menu_text_area_3.1   ;0      ;+16
-
 
969
.text_end       dd menu_text_area_3.end ;0      ;+20
-
 
970
.mouse_pos      dd 0    ;+24
-
 
971
.mouse_keys     dd 0    ;+28
-
 
972
.x1:
-
 
973
.size_x1        dw 40   ;+32
-
 
974
.start_x1       dw 84   ;+34
-
 
975
.y1:
-
 
976
.size_y1        dw 100  ;+36
-
 
977
.start_y1       dw 18   ;+38
-
 
978
.bckg_col       dd 0xeeeeee     ;+40
-
 
979
.frnt_col       dd 0xff ;+44
-
 
980
.menu_col       dd 0xffffff     ;+48
-
 
981
.select         dd 0    ;+52
-
 
982
.out_select     dd 0    ;+56
-
 
983
.buf_adress     dd 0    ;+60
-
 
984
.procinfo       dd 0    ;+64
-
 
985
.click          dd 0    ;+68
-
 
986
.cursor         dd 0    ;+72
-
 
987
.cursor_old     dd 0    ;+76
-
 
988
.interval       dd 16   ;+80
-
 
989
.cursor_max     dd 0    ;+84
-
 
990
.extended_key   dd 0    ;+88
-
 
991
.menu_sel_col   dd 0x00cc00     ;+92
-
 
992
.bckg_text_col  dd 0    ;       +96
-
 
993
.frnt_text_col  dd 0xffffff     ;+100
-
 
994
.mouse_keys_old dd 0    ;+104
-
 
995
.font_height    dd 8    ;+108
-
 
996
.cursor_out     dd 0    ;+112
-
 
997
.get_mouse_flag dd 0    ;+116
-
 
998
 
-
 
999
menu_text_area_3:
-
 
1000
        db 'Help',0
-
 
1001
.1:
-
 
1002
        db 'Home',0
-
 
1003
.end:
-
 
1004
        db 0
-
 
1005
;---------------------------------------------------------------------
-
 
1006
align   4
-
 
1007
scroll_bar_data_vertical:
-
 
1008
.x:
-
 
1009
.size_x         dw scroll_width_size;+0
-
 
1010
.start_x        dw WINW-25  ;+2
-
 
1011
.y:
-
 
1012
.size_y         dw WINH-45  ;+4
-
 
1013
.start_y        dw 19   ;+6
-
 
1014
.btn_high       dd scroll_width_size    ;+8
-
 
1015
.type           dd 1    ;+12
-
 
1016
.max_area       dd 300       ;+16
-
 
1017
.cur_area       dd 50   ;+20
-
 
1018
.position       dd 0    ;+24
-
 
1019
.bckg_col       dd 0xAAAAAA     ;+28
-
 
1020
.frnt_col       dd 0xCCCCCC     ;+32
-
 
1021
.line_col       dd 0    ;+36
-
 
1022
.redraw         dd 0    ;+40
-
 
1023
.delta          dw 0    ;+44
-
 
1024
.delta2         dw 0    ;+46
-
 
1025
.run_x:
-
 
1026
.r_size_x       dw 0    ;+48
-
 
1027
.r_start_x      dw 0    ;+50
-
 
1028
.run_y:
-
 
1029
.r_size_y       dw 0    ;+52
-
 
1030
.r_start_y      dw 0    ;+54
-
 
1031
.m_pos          dd 0    ;+56
-
 
1032
.m_pos_2        dd 0    ;+60
-
 
1033
.m_keys         dd 0    ;+64
-
 
1034
.run_size       dd 0    ;+68
-
 
1035
.position2      dd 0    ;+72
-
 
1036
.work_size      dd 0    ;+76
-
 
1037
.all_redraw     dd 0    ;+80
-
 
1038
.ar_offset      dd AR_OFFSET   ;+84
702
block_end dd ?
1039
;---------------------------------------------------------------------
Line 703... Line 1040...
703
I_END:                             ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë
1040
I_END:                             ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë
704
 
1041
 
705
procinfo process_information
1042
procinfo process_information