Subversion Repositories Kolibri OS

Rev

Rev 3339 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. ;=============================================================================
  2. ; Kolibri Graphics Benchmark 0.5
  3. ;--------------------------------------
  4. ; MGB - Menuet Graphics Benchmark 0.3
  5. ; Compile with FASM
  6. ;
  7. ;=============================================================================
  8. ; version:      0.5
  9. ; last update:  05/03/2013
  10. ; written by:   Marat Zakiyanov aka Mario79, aka Mario
  11. ; changes:      benchmark f73-blitter
  12. ;---------------------------------------------------------------------
  13. ; version:      0.4
  14. ; last update:  18/09//2010
  15. ; written by:   Marat Zakiyanov aka Mario79, aka Mario
  16. ; changes:      select path with OpenDialog,
  17. ;               use of Box_Lib and Proc_Lib,
  18. ;               support start with path for *.mgb file
  19. ;               optimization code and size of use memory
  20. ;---------------------------------------------------------------------
  21. ; Original author and copyrights holder:
  22. ;     Mikhail Lisovin a.k.a. Mihasik
  23. ;     lisovin@26.ru
  24. ;
  25. ; Disassembled with IDA 5.0.0.879:
  26. ;     http://www.datarescue.com/
  27. ; With use of 'ida.int' and 'kloader.ldw':
  28. ;     Eugene Grechnikov a.k.a. diamond
  29. ;     diamondz@land.ru
  30. ;     http://diamondz.land.ru/
  31. ;
  32. ; Modified for version 0.3:
  33. ;     Mike Semenako a.k.a mike.dld
  34. ;     mike.dld@gmail.com
  35. ;     http://www.mikedld.com/
  36. ;
  37. ;=============================================================================
  38.  
  39. org 0x0
  40. use32
  41.  
  42.         db 'MENUET01'
  43.         dd 1
  44.         dd start
  45.         dd IM_END
  46.         dd I_END        ;0x200000
  47.         dd stacktop     ;0x07FFF0
  48.         dd fname_buf
  49.         dd cur_dir_path
  50.  
  51. include '../../../config.inc'           ;for nightbuild
  52. include '..\..\..\macros.inc'
  53. include '..\..\..\proc32.inc'
  54. include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
  55. include '../../../develop/libraries/box_lib/load_lib.mac'
  56.         @use_library
  57. ;---------------------------------------------------------------------
  58. start:
  59.         mcall   68,11
  60.  
  61. load_libraries l_libs_start,end_l_libs
  62.  
  63.         cmp     eax,-1
  64.         jz      close
  65. ;---------------------------------------------------------------------
  66.         mov     edi,filename_area
  67.         mov     esi,start_temp_file_name
  68.         call    copy_str_1
  69.  
  70.         mov     edi,comment_string_1
  71.         mov     esi,aComment1
  72.         call    copy_str_1
  73.  
  74.         mov     edi,comment_string_2
  75.         mov     esi,aComment2
  76.         call    copy_str_1
  77.  
  78.         mov     edi,fname_buf
  79.         cmp     [edi],byte 0
  80.         jne     @f
  81.         mov     esi,path4
  82.         call    copy_str_1
  83.         jmp     .OpenDialog
  84. @@:
  85.         call    locLoadFile
  86.         xor     dword [wFlags],1
  87. .OpenDialog:
  88. ;OpenDialog     initialisation
  89.         push    dword OpenDialog_data
  90.         call    [OpenDialog_Init]
  91. ;---------------------------------------------------------------------
  92.         mcall   40,0x27
  93. red:
  94.         call    draw_window
  95. still:
  96.         mcall   10
  97.         cmp     eax,1
  98.         jz      red
  99.         cmp     eax,2
  100.         jz      key
  101.         cmp     eax,3
  102.         jz      button
  103.         jmp     still
  104. ;---------------------------------------------------------------------
  105. copy_str_1:
  106.         xor     eax,eax
  107.         cld
  108. @@:
  109.         lodsb
  110.         stosb
  111.         test    eax,eax
  112.         jnz     @b
  113.         ret
  114. ;---------------------------------------------------------------------
  115. key:
  116.         mcall   2
  117.         cmp     ah,'t'
  118.         jz      ActionTest
  119.         cmp     ah,'c'
  120.         jz      ActionComment
  121.         cmp     ah,'p'
  122.         jz      ActionPattern
  123.         cmp     ah,'o'
  124.         jz      ActionOpen
  125.         cmp     ah,'s'
  126.         jz      ActionSave
  127.         jmp     still
  128. ;---------------------------------------------------------------------
  129. button:
  130.         mcall   17
  131.         cmp     ah,1
  132.         jnz     NotClose
  133. close:
  134.         mcall   -1
  135. NotClose:
  136.         cmp     ah,2
  137.         jnz     locNotTest
  138. ActionTest:
  139.         test    dword [wFlags],1
  140.         jnz     still
  141.         mcall   51,1,TestWndProc,thread_stack1
  142.         jmp     still
  143. ;---------------------------------------------------------------------
  144. locNotTest:
  145.         cmp     ah,3
  146.         jnz     NotComment
  147. ActionComment:
  148.         test    dword [wFlags],1
  149.         jnz     still
  150.         mcall   51,1,thread_comment,thread_stack2
  151.         jmp     still
  152. ;---------------------------------------------------------------------
  153. NotComment:
  154.         cmp     ah,4
  155.         jnz     NotPattern
  156. ActionPattern:
  157.         test    dword [wFlags],1
  158.         jnz     still
  159.         mov     esi,results_table
  160.         cld
  161. @@:
  162.         lodsd
  163.         mov     [esi],eax
  164.         add     esi,TEST_REC_SIZE-4
  165.         cmp     dword [esi+TEST_REC_SIZE-4],0
  166.         jne     @b
  167.         mov     esi,comment_string_1
  168.         mov     edi,comment_string_2
  169.         call    copy_str_1
  170.         call    DrawBars
  171.         jmp     still
  172. ;---------------------------------------------------------------------
  173. NotPattern:
  174.         cmp     ah,5
  175.         jnz     NotOpen
  176. ActionOpen:
  177.         test    dword [wFlags],1
  178.         jnz     still
  179.         mov     [OpenDialog_data.type],0 ; open
  180.         call    OpenDialog_Start_1
  181.         jne     still
  182.         call    locLoadFile
  183.         call    DrawBars
  184. .1:
  185.         xor     dword [wFlags],1
  186.         jmp     still
  187. ;---------------------------------------------------------------------
  188. OpenDialog_Start_1:
  189.         push    dword OpenDialog_data
  190.         call    [OpenDialog_Start]
  191.         cmp     [OpenDialog_data.status],1
  192.         ret
  193. ;---------------------------------------------------------------------
  194. NotOpen:
  195.         cmp     ah,6
  196.         jnz     still
  197. ActionSave:
  198.         test    dword [wFlags],1
  199.         jnz     still
  200.         mov     [OpenDialog_data.type],1 ; save
  201.         call    OpenDialog_Start_1
  202.         jne     still
  203.         call    locSaveFile
  204.         jmp     ActionOpen.1
  205. ;---------------------------------------------------------------------
  206. TestWndProc:
  207.         or      dword [wFlags],1
  208.         mov     esi,results_table+8
  209. align 4
  210. .next_test:
  211.         xor     edi,edi
  212.         mcall    26,9
  213.         inc     eax
  214.         mov     ecx,eax
  215.         add     eax,100
  216.         mov     [dwTestEndTime],eax
  217. align 4
  218. @@:
  219.         mcall    26
  220.         cmp     eax,ecx
  221.         jb      @r
  222. align 4
  223. @@:
  224.         push    esi
  225.         call    dword [esi]
  226.         pop     esi
  227.         inc     edi
  228.         mcall   26,9
  229.         cmp     eax,[dwTestEndTime]
  230.         jb      @b
  231.         mov     [esi-8],edi
  232.  
  233.         add     esi,TEST_REC_SIZE
  234.         cmp     dword [esi],0
  235.         jnz     .next_test
  236.         xor     dword [wFlags],1
  237.         mcall   -1
  238. ;---------------------------------------------------------------------
  239. draw_window:
  240.         mcall   12,1
  241.         mcall   48,4
  242.         mov     ebx,100*65536+72*5+14
  243.         mov     ecx,80*65536+TESTS_NUM*LINE_HEIGHT+15+20+35
  244.         add     cx,ax
  245.         xor     eax,eax
  246.         xor     esi,esi
  247.         mcall   ,,,34000000h,,aCaption
  248.  
  249.         mov     eax,8
  250.         mov     ebx,050036h+12
  251.         mov     ecx,5*65536+20
  252.         mov     edx,2
  253.         mov     esi,0x00007F7F
  254. @@:
  255.         mcall
  256.         add     ebx,72*65536
  257.         inc     edx
  258.         cmp     edx,7
  259.         jb      @r
  260.  
  261.         mov     ecx,31
  262.         mov     edx,0x00007F7F
  263.         mov     esi,(72*5)/2
  264.         call    drawSeparator
  265.  
  266.         mcall   4,<27,12>,0x80DDEEFF,aButtonsText
  267.         call    DrawBars
  268.  
  269.         mov     ecx,TESTS_NUM*LINE_HEIGHT+15+21
  270.         mov     edx,0x00007F7F
  271.         mov     esi,(72*5)/2
  272.         call    drawSeparator
  273.         mcall   12,2
  274.         ret
  275. ;---------------------------------------------------------------------
  276. drawSeparator:
  277.         mov     eax,1
  278.         mov     ebx,3
  279. @@:
  280.         mcall
  281.         add     ebx,2
  282.         dec     esi
  283.         jnz     @b
  284.         ret
  285. ;---------------------------------------------------------------------
  286. align 4
  287. testDrawWindow:
  288.         xor     eax,eax
  289.         mcall   ,640145h,4F0190h,3000000h
  290.         ret
  291. ;---------------------------------------------------------------------
  292. align 4
  293. testDrawBar:
  294.         mcall   13,0A0064h,1E00FAh,6A73D0h
  295.         ret
  296. ;---------------------------------------------------------------------
  297. align 4
  298. testDrawPicture:
  299.         xor     ebx,ebx
  300.         mcall   7,,<90,123>,<15,33>
  301.         ret
  302. ;---------------------------------------------------------------------
  303. align 4
  304. testDrawPicture_f73:
  305.         xor     ebx,ebx
  306.         mcall   73,,params_f73
  307.         ret
  308. ;---------------------------------------------------------------------
  309. align 4
  310. testDrawVertLine:
  311.         mcall   38,<300,300>,<30,380>,1090207Fh
  312.         ret
  313. ;---------------------------------------------------------------------
  314. align 4
  315. testDrawHorzLine:
  316.         mcall   38,<30,300>,<380,380>,1090207Fh
  317.         ret
  318. ;---------------------------------------------------------------------
  319. align 4
  320. testDrawFreeLine:
  321.         mcall   38,<30,300>,<380,30>,1090207Fh
  322.         ret
  323. ;---------------------------------------------------------------------
  324. align 4
  325. testDrawText1:
  326.         mcall   4,0C012Ch,0AA66h,aTestText,34
  327.         ret
  328. ;---------------------------------------------------------------------
  329. align 4
  330. testDrawText2:
  331.         mcall   4,1B013Bh,10E7B850h,aTestText,34
  332.         ret
  333. ;---------------------------------------------------------------------
  334. align 4
  335. testDrawNumber:
  336.         mcall   47,80000h,12345678,2A014Ah,0E0B27Bh
  337.         ret
  338. ;---------------------------------------------------------------------
  339. align 4
  340. testDrawPixel:
  341.         mcall   1,100,100,0FFFFFFh
  342.         ret
  343. ;---------------------------------------------------------------------
  344. DrawBars:
  345.         mov     edi,results_table
  346.         mov     ebx,30+7
  347. .next_result:
  348.         cmp     dword[edi+TEST_REC_SIZE-4],0
  349.         je      .exit
  350.  
  351.         push    ebx
  352.         movzx   ecx,bx
  353.         add     ecx,-2
  354.         shl     ecx,16
  355.         mov     cx,LINE_HEIGHT
  356.         mov     ebx,0*65536+72*5+5
  357.         xor     edx,edx
  358.         mcall   13
  359.         pop     ebx
  360.  
  361.         and     ebx,0x0000FFFF
  362.         or      ebx,5*65536
  363.         mov     edx,[edi+TEST_REC_SIZE-4]
  364.         mcall   4,,0x8000CCCC
  365.  
  366.         push    '=' 0x00FFFF00 0x00FFFF7F 0x00FFFF7F
  367.         mov     eax,[edi+0]
  368.         cmp     eax,[edi+4]
  369.         je      @f
  370.         jb      .lp1
  371.         mov     dword[esp+0],0x007FFF7F
  372.         mov     dword[esp+4],0x00FF7F7F
  373.         mov     dword[esp+8],0x0000FF00
  374.         mov     byte[esp+12],'>'
  375. .lp1:
  376.         ja      @f
  377.         mov     dword[esp+0],0x00FF7F7F
  378.         mov     dword[esp+4],0x007FFF7F
  379.         mov     dword[esp+8],0x00FF0000
  380.         mov     byte[esp+12],'<'
  381. @@:
  382.         pop     ecx
  383.         call    int2str
  384.         add     ebx,(72*5-6*8*2-6-10-5)*65536 ; 196
  385.         mcall   4,,,textarea,8
  386.  
  387.         pop     ecx
  388.         mov     eax,[edi+4]
  389.         call    int2str
  390.         add     ebx,(6*8+6+10)*65536
  391.         mcall   4
  392.  
  393.         pop     ecx
  394.         add     ebx,(-6-5)*65536
  395.         mov     edx,esp
  396.         mov     esi,1
  397.         mcall
  398.         add     esp,4
  399.  
  400.         add     edi,TEST_REC_SIZE
  401.         add     bx,LINE_HEIGHT
  402.         jmp     .next_result
  403. .exit:
  404.         mov     ebx, 0*65536+72*5+5
  405.         mov     ecx, (TESTS_NUM*LINE_HEIGHT+15+25)*65536+26
  406.         xor     edx, edx
  407.         mcall   13
  408.  
  409.         mov     ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27)
  410.         mcall   4,,0x8000CCCC,aLeft
  411.  
  412.         add     ebx, (6*10)*65536
  413.         mcall   ,,0x80FFFF00,comment_string_1
  414.  
  415.         mov     ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27+12)
  416.         mcall   ,,0x8000CCCC,aRight
  417.  
  418.         add     ebx, (6*10)*65536
  419.         mcall   ,,0x80FFFF00,comment_string_2
  420.         ret
  421. ;---------------------------------------------------------------------
  422. int2str:
  423.         push    eax ecx edx edi
  424.         mov     edi,textarea+7
  425.         mov     dword[textarea+0],'    '
  426.         mov     dword[textarea+4],'    '
  427.         mov     ecx,10
  428. @@:
  429.         xor     edx,edx
  430.         div     ecx
  431.         add     dl,'0'
  432.         mov     [edi],dl
  433.         dec     edi
  434.         or      eax,eax
  435.         jnz     @b
  436.         pop     edi edx ecx eax
  437.         ret
  438. ;---------------------------------------------------------------------
  439. thread_comment:
  440.         or      dword [wFlags],1
  441.         mcall   40,0x27
  442.         mov     esi,comment_string_1
  443.         cld
  444. @@:
  445.         lodsb
  446.         test    al,al
  447.         jne     @r
  448.         sub     esi,comment_string_1
  449.         mov     eax,esi
  450.         dec     eax
  451.         mov     edi, edit1
  452.         mov     [edi+48], eax   ;ed_size
  453.         mov     [edi+52], eax   ;ed_pos
  454. ;---------------------------------------------------------------------
  455. .red:
  456.         call .draw_window
  457. .still:
  458.         mcall   10      ; wait here for event
  459.         cmp     eax,1   ; redraw request ?
  460.         je      .red
  461.         cmp     eax,2   ; key in buffer ?
  462.         je      .key
  463.         cmp     eax,3   ; button in buffer ?
  464.         je      .button
  465.  
  466.         push    dword name_editboxes
  467.         call    [edit_box_mouse]
  468.         jmp     .still
  469. ;---------------------------------------------------------------------
  470. .key:           ; key
  471.         mcall   2
  472.         cmp     ah,13
  473.         je      .close  ;.close_with_open_file
  474.         cmp     ah,27
  475.         je      .close
  476.        
  477.         push    dword name_editboxes
  478.         call    [edit_box_key]
  479.         jmp     .still
  480. ;---------------------------------------------------------------------
  481. .button:                ; button
  482.         mcall   17
  483.         cmp     ah,1    ; button id=1 ?
  484.         jne     .still
  485. .close:
  486.         xor     dword [wFlags],1
  487.         mcall   -1
  488. ;---------------------------------------------------------------------
  489. .draw_window:
  490.         mcall   12,1
  491.         xor     eax,eax
  492.         xor     esi,esi
  493.         mcall   ,<100,300>,<100,80>,0x34780078,,aComment
  494.         push    dword name_editboxes
  495.         call    [edit_box_draw]
  496.         mcall   12,2
  497.         ret
  498. ;---------------------------------------------------------------------
  499. locLoadFile:
  500.         mov     [stFileInfoBlock], 0
  501.         or      dword [wFlags],1
  502.         mcall   70,stFileInfoBlock
  503.         mov     esi,mgb_data
  504.         mov     edi,results_table+4
  505.         cld
  506. @@:
  507.         cmp     dword[edi+TEST_REC_SIZE-8],0
  508.         je      @f
  509.         movsd
  510.         add     edi,TEST_REC_SIZE-4
  511.         jmp     @b
  512. @@:
  513.         mov     edi,comment_string_2
  514.         mov     ecx,44
  515.         rep     movsb
  516.         ret
  517. ;---------------------------------------------------------------------
  518. locSaveFile:
  519.         mov     [stFileInfoBlock], 2
  520.         or      dword [wFlags],1
  521.         mov     esi,results_table+4
  522.         mov     edi,mgb_data
  523.         cld
  524. @@:
  525.         cmp     dword[esi+TEST_REC_SIZE-8],0
  526.         je      @f
  527.         movsd
  528.         add     esi,TEST_REC_SIZE-4
  529.         jmp     @b
  530. @@:
  531.         mov     esi,comment_string_2
  532.         mov     ecx,44
  533.         rep     movsb
  534.         mcall   70,stFileInfoBlock
  535.         ret
  536. ;---------------------------------------------------------------------
  537. align 4
  538. stFileInfoBlock dd 0,0,0
  539. dwDataSize      dd TESTS_NUM*4+44       ;1
  540.                 dd mgb_data
  541.                 db 0
  542.                 dd fname_buf
  543. ;---------------------------------------------------------------------
  544. wFlags          dd 0
  545. ;---------------------------------------------------------------------
  546. align 4
  547. results_table dd \
  548.         ?,?,testDrawWindow,aDrawingWindow,\
  549.         ?,?,testDrawBar,aDrawingBar,\
  550.         ?,?,testDrawPicture,aDrawingPicture,\
  551.         ?,?,testDrawPicture_f73,aDrawingPictF73,\
  552.         ?,?,testDrawVertLine,aDrawingVLine,\
  553.         ?,?,testDrawHorzLine,aDrawingHLine,\
  554.         ?,?,testDrawFreeLine,aDrawingFLine,\
  555.         ?,?,testDrawText1,aDrawingText1,\
  556.         ?,?,testDrawText2,aDrawingText2,\
  557.         ?,?,testDrawNumber,aDrawingNumber,\
  558.         ?,?,testDrawPixel,aDrawingPixel,\
  559.         0,0,0,0
  560. ;---------------------------------------------------------------------
  561. LINE_HEIGHT   = 13
  562. TEST_REC_SIZE = 16
  563. TESTS_NUM     = ($ - results_table) / TEST_REC_SIZE - 1
  564. ;---------------------------------------------------------------------
  565. aDrawingWindow  db 'Window Of Type #3, 325x400 px',0
  566. aDrawingBar     db 'Filled Rectangle, 100x250 px',0
  567. aDrawingPicture db 'Picture, 90x123, px',0
  568. aDrawingPictF73 db 'Picture for Blitter, 90x123, px',0
  569. aDrawingVLine   db 'Vertical Line, 350 px',0
  570. aDrawingHLine   db 'Horizontal Line, 270 px',0
  571. aDrawingFLine   db 'Free-angled Line, 350 px',0
  572. aDrawingText1   db 'Fixed-width Text, 34 chars',0
  573. aDrawingText2   db 'Proportional Text, 34 chars',0
  574. aDrawingNumber  db 'Decimal Number, 8 digits',0
  575. aDrawingPixel   db 'Single Pixel',0
  576.  
  577. aTestText       db 'This is a 34-charachters test text'
  578. aButtonsText    db 'Test      Comment+    Pattern+      Open        Save',0
  579. aCaption        db 'Kolibri Graphical Benchmark 0.5',0
  580.  
  581. aLeft   db 'Left    :',0
  582. aRight  db 'Right   :',0
  583.  
  584. aComment1       db 'current',0
  585. aComment2       db 'no pattern',0
  586. aComment        db 'Comment',0
  587. ;---------------------------------------------------------------------
  588. system_dir_Boxlib       db '/sys/lib/box_lib.obj',0
  589. system_dir_ProcLib      db '/sys/lib/proc_lib.obj',0
  590. ;---------------------------------------------------------------------
  591. head_f_i:
  592. head_f_l        db 'System error',0
  593.  
  594. err_message_found_lib1  db 'box_lib.obj - Not found!',0
  595. err_message_found_lib2  db 'proc_lib.obj - Not found!',0
  596.  
  597. err_message_import1     db 'box_lib.obj - Wrong import!',0
  598. err_message_import2     db 'proc_lib.obj - Wrong import!',0
  599. ;---------------------------------------------------------------------
  600. align 4
  601. l_libs_start:
  602.  
  603. library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
  604. err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
  605.  
  606. library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
  607. err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
  608.  
  609. end_l_libs:
  610. ;---------------------------------------------------------------------
  611. align 4
  612. OpenDialog_data:
  613. .type                   dd 1    ; Save
  614. .procinfo               dd procinfo     ;+4
  615. .com_area_name          dd communication_area_name      ;+8
  616. .com_area               dd 0    ;+12
  617. .opendir_pach           dd temp_dir_pach        ;+16
  618. .dir_default_pach       dd communication_area_default_pach      ;+20
  619. .start_path             dd open_dialog_path     ;+24
  620. .draw_window            dd draw_window  ;+28
  621. .status                 dd 0    ;+32
  622. .openfile_pach          dd fname_buf    ;+36
  623. .filename_area          dd filename_area        ;+40
  624. .filter_area            dd Filter
  625. .x:
  626. .x_size                 dw 420 ;+48 ; Window X size
  627. .x_start                dw 10 ;+50 ; Window X position
  628. .y:
  629. .y_size                 dw 320 ;+52 ; Window y size
  630. .y_start                dw 10 ;+54 ; Window Y position
  631.  
  632. communication_area_name:
  633.         db 'FFFFFFFF_open_dialog',0
  634. open_dialog_path:
  635. if __nightbuild eq yes
  636.         db '/sys/MANAGERS/opendial',0
  637. else
  638.         db '/sys/File Managers/opendial',0
  639. end if
  640. communication_area_default_pach:
  641.         db '/rd0/1/',0
  642.  
  643. Filter:
  644. dd      Filter.end - Filter
  645. .1:
  646. db      'MGB',0
  647. .end:
  648. db      0
  649.  
  650. start_temp_file_name:   db 'pattern.mgb',0
  651.  
  652. path4   db '/rd/1/pattern.mgb',0
  653. ;---------------------------------------------------------------------
  654. align 4
  655. params_f73:
  656. ; destination
  657. .offset_X_dest  dd 0    ; +0
  658. .offset_Y_dest  dd 0    ; +4
  659. .width_dest     dd 90   ; +8
  660. .height_dest    dd 123  ; +12
  661. ; source
  662. .offset_X_src   dd 0    ; +16
  663. .offset_Y_src   dd 0    ; +20
  664. .width_src      dd 90   ; +24
  665. .height_src     dd 123  ; +28
  666. ; other
  667. .pointer        dd 0    ; 90*4  ; +32
  668. .row_size       dd 90*4 ; +36
  669. ;---------------------------------------------------------------------
  670. align 4
  671. ProcLib_import:
  672. OpenDialog_Init         dd aOpenDialog_Init
  673. OpenDialog_Start        dd aOpenDialog_Start
  674. ;OpenDialog__Version    dd aOpenDialog_Version
  675.         dd 0
  676.         dd 0
  677. aOpenDialog_Init        db 'OpenDialog_init',0
  678. aOpenDialog_Start       db 'OpenDialog_start',0
  679. ;aOpenDialog_Version    db 'Version_OpenDialog',0
  680. ;---------------------------------------------------------------------
  681. align 4
  682. Box_lib_import:
  683. ;init_lib               dd a_init
  684. ;version_lib            dd a_version
  685.  
  686.  
  687. edit_box_draw           dd aEdit_box_draw
  688. edit_box_key            dd aEdit_box_key
  689. edit_box_mouse          dd aEdit_box_mouse
  690. ;version_ed             dd aVersion_ed
  691.  
  692. ;check_box_draw         dd aCheck_box_draw
  693. ;check_box_mouse        dd aCheck_box_mouse
  694. ;version_ch             dd aVersion_ch
  695.  
  696. ;option_box_draw        dd aOption_box_draw
  697. ;option_box_mouse       dd aOption_box_mouse
  698. ;version_op             dd aVersion_op
  699.  
  700. ;scrollbar_ver_draw     dd aScrollbar_ver_draw
  701. ;scrollbar_ver_mouse    dd aScrollbar_ver_mouse
  702. ;scrollbar_hor_draw     dd aScrollbar_hor_draw
  703. ;scrollbar_hor_mouse    dd aScrollbar_hor_mouse
  704. ;version_scrollbar      dd aVersion_scrollbar
  705.  
  706. ;dinamic_button_draw    dd aDbutton_draw
  707. ;dinamic_button_mouse   dd aDbutton_mouse
  708. ;version_dbutton        dd aVersion_dbutton
  709.  
  710. ;menu_bar_draw          dd aMenu_bar_draw
  711. ;menu_bar_mouse         dd aMenu_bar_mouse
  712. ;menu_bar_activate      dd aMenu_bar_activate
  713. ;version_menu_bar       dd aVersion_menu_bar
  714.  
  715. ;FileBrowser_draw       dd aFileBrowser_draw
  716. ;FileBrowser_mouse      dd aFileBrowser_mouse
  717. ;FileBrowser_key        dd aFileBrowser_key
  718. ;Version_FileBrowser    dd aVersion_FileBrowser
  719.  
  720. ;PathShow_prepare       dd sz_PathShow_prepare
  721. ;PathShow_draw          dd sz_PathShow_draw
  722. ;Version_path_show      dd szVersion_path_show
  723.                         dd 0
  724.                         dd 0
  725.  
  726. ;a_init                 db 'lib_init',0
  727. ;a_version              db 'version',0
  728.  
  729. aEdit_box_draw          db 'edit_box',0
  730. aEdit_box_key           db 'edit_box_key',0
  731. aEdit_box_mouse         db 'edit_box_mouse',0
  732. ;aVersion_ed            db 'version_ed',0
  733.  
  734. ;aCheck_box_draw        db 'check_box_draw',0
  735. ;aCheck_box_mouse       db 'check_box_mouse',0
  736. ;aVersion_ch            db 'version_ch',0
  737.  
  738. ;aOption_box_draw       db 'option_box_draw',0
  739. ;aOption_box_mouse      db 'option_box_mouse',0
  740. ;aVersion_op            db 'version_op',0
  741.  
  742. ;aScrollbar_ver_draw    db 'scrollbar_v_draw',0
  743. ;aScrollbar_ver_mouse   db 'scrollbar_v_mouse',0
  744. ;aScrollbar_hor_draw    db 'scrollbar_h_draw',0
  745. ;aScrollbar_hor_mouse   db 'scrollbar_h_mouse',0
  746. ;aVersion_scrollbar     db 'version_scrollbar',0
  747.  
  748. ;aDbutton_draw          db 'dbutton_draw',0
  749. ;aDbutton_mouse         db 'dbutton_mouse',0
  750. ;aVersion_dbutton       db 'version_dbutton',0
  751.  
  752. ;aMenu_bar_draw         db 'menu_bar_draw',0
  753. ;aMenu_bar_mouse                db 'menu_bar_mouse',0
  754. ;aMenu_bar_activate     db 'menu_bar_activate',0
  755. ;aVersion_menu_bar      db 'version_menu_bar',0
  756.  
  757. ;aFileBrowser_draw      db 'FileBrowser_draw',0
  758. ;aFileBrowser_mouse     db 'FileBrowser_mouse',0
  759. ;aFileBrowser_key       db 'FileBrowser_key',0
  760. ;aVersion_FileBrowser   db 'version_FileBrowser',0
  761.  
  762. ;sz_PathShow_prepare    db 'PathShow_prepare',0
  763. ;sz_PathShow_draw       db 'PathShow_draw',0
  764. ;szVersion_path_show    db 'version_PathShow',0
  765. ;---------------------------------------------------------------------
  766. ; for EDITBOX
  767. align 4
  768. name_editboxes:
  769. edit1 edit_box 200,10,30,0xffffff,0xbbddff,0,0,0,255,comment_string_1,mouse_dd,ed_focus+ed_always_focus,0
  770. name_editboxes_end:
  771. ;---------------------------------------------------------------------
  772.  
  773. IM_END:
  774. mouse_dd        rd 1
  775. align 4
  776. dwTestEndTime   dd ?
  777. dwMainPID       dd ?
  778. ;---------------------------------------------------------------------
  779. textarea:
  780.         rb 8
  781. ;---------------------------------------------------------------------
  782. comment_string_1:
  783.         rb 44
  784. ;---------------------------------------------------------------------
  785. comment_string_2:
  786.         rb 44
  787. ;---------------------------------------------------------------------
  788. mgb_data:
  789.         rb 100
  790. ;---------------------------------------------------------------------
  791. procinfo:
  792.         rb 1024
  793. ;---------------------------------------------------------------------
  794. cur_dir_path:
  795.         rb 4096
  796. ;---------------------------------------------------------------------
  797. library_path:
  798.         rb 4096
  799. ;---------------------------------------------------------------------
  800. temp_dir_pach:
  801.         rb 4096
  802. ;---------------------------------------------------------------------
  803. fname_buf:
  804.         rb 4096
  805. ;---------------------------------------------------------------------
  806. filename_area:
  807.         rb 256
  808. ;---------------------------------------------------------------------
  809.         rb 4096
  810. thread_stack2:
  811. ;---------------------------------------------------------------------
  812.         rb 4096
  813. thread_stack1:
  814. ;---------------------------------------------------------------------
  815.         rb 4096
  816.         rb 0x2884       ; for F73 image size 123*90*4
  817. stacktop:
  818. I_END: