Subversion Repositories Kolibri OS

Rev

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