Subversion Repositories Kolibri OS

Rev

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

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