Subversion Repositories Kolibri OS

Rev

Rev 833 | Rev 1100 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ; 01.06.09 - Š®¬¯®­¥­âë ¡¥àãâìáï ¨§ á¨á⥬­®© ¡¨¡«¨®â¥ª¨ <Lrz>
  2. ; €¢â®à ¯à®£à ¬¬ë …¢â¨å®¢ Œ ªá¨¬ (Maxxxx32)
  3. ; 24.07.2008 <Lrz> ®¡­®¢«¥­ editbox
  4. ; 01.02.07 - ®¡­®¢«ñ­ editbox
  5. ; 31.01.07 - ¢áñ ⥯¥àì à¨áã¥âáï ®â­®á¨â¥«ì­® ª«¨¥­â᪮© ®¡« áâ¨
  6.  
  7. title equ 'Screenshooter v 0.91' ; ‡ £®«®¢®ª ®ª­ 
  8. include '../../develop/libraries/box_lib/trunk/load_lib.mac'
  9. include '../../develop/libraries/box_lib/trunk/editbox_ex.mac'
  10. ;include '../../develop/examples/editbox/trunk/editbox.inc'
  11. include '../../macros.inc'
  12. include 'scrshoot.mac'
  13. include 'txtbut.inc'
  14. include 'label.inc'
  15. include 'textwork.inc'
  16.  
  17. ;include 'macros.inc'  ; ¢áâ ¢«ï¥¬ ¬ ªà®áë
  18. ;        meos_header  cmdstr ; ¢áâ ¢«ï¥¬ § £®«®¢®ª ¯à®£à ¬¬ë
  19. use32                
  20.     org 0x0
  21.     db 'MENUET01'
  22.     dd 0x1
  23.     dd start
  24.     dd i_end
  25.     dd i_end
  26.     dd i_end
  27.     dd cmdstr
  28.     dd cur_dir_path
  29.  
  30. align 4
  31. include 'scrwin.inc'  ; ¢áâ ¢«ï¥¬ ª®¤ ®ª­  ¯à¤¯à®á¬®âà 
  32. include 'scrsavef.inc'; ¢áâ ¢«ï¥¬ ¯à®æ¥¤ãàã á®åà ­¥­¨ï ä ©« 
  33.  
  34.         @use_library
  35.         use_txt_button                          ;  |
  36.         use_label                               ;  |-- GUI ª®¬¯®­¥­âë ¨ ­¥ª®â®àë¥ ¯à®æ¥¤ãàë
  37.         use_text_work                           ; /
  38. include 'gp.inc'
  39. include 'srectwin.inc'
  40. include 'lang.inc'
  41. ;--- ­ ç «® ¯à®£à ¬¬ë ---
  42. align 4
  43. start:
  44. sys_load_library  library_name, cur_dir_path, library_path, system_path, \
  45. err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
  46. ;if return code =-1 then exit, else nornary work
  47. ;        cmp     eax,-1
  48.         inc     eax
  49.         test    eax,eax
  50.         jz      close
  51. ;;;;;;;;;;;;;;;; init memory 68/11
  52.         mov     eax,68
  53.         mov     ebx,11
  54.         mcall
  55.         test    eax,eax
  56.         jz      close
  57.  
  58.         ;mov     al,[gs:1280*4*1024]
  59.                     ; ãáâ ­ ¢«¨¢ ¥¬ ipc ¡ãää¥à
  60.         push    60
  61.         pop     eax
  62.         ;mov     ebx,1
  63.         xor     ebx,ebx
  64.         inc     ebx
  65.         mov     ecx,app_ipc
  66.         mov     edx,32
  67.         mcall
  68.  
  69.         push    66   ; ãáâ ­ ¢«¨¢ ¥¬ £«®¡ «ì­ãî £®àïçãî ª« ¢¨èã
  70.         pop     eax
  71.         push    eax
  72.         mov     ebx,4
  73.         mov     cl,55    ; 55 - PrintScrn
  74.         xor     edx,edx
  75.         mcall
  76.  
  77.         mov     ebx,app
  78.         call    get_slot_n
  79.         mov     [slot_n],ecx
  80.  
  81.         ; ãáâ ­ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩
  82.         set_events_mask (evm_redraw+evm_key+evm_button+evm_mouse+evm_ipc)
  83.  
  84. ; á ¯à룠¥¬ ¯à¨ ª ¦¤®© ¯¥à¥à¨á®¢ª¥
  85. red:
  86.         get_procinfo app   ; ¯®«ãç ¥¬ ¨­ä®à¬ æ¨î ® ¯à®æ¥áá¥
  87.         get_sys_colors sc  ; ¯®«ãç ¥¬ á¨á⥬­ë¥ 梥â 
  88.  
  89.         ; ãáâ ­ ¢«¨¢ ¥¬ á¨á⥬­ë¥ æ¢¥â  ã GUI ª®¬¯®­¥­â®¢
  90.         txt_but_set_sys_color buttons,buttons_end,sc             ; \
  91.         labels_set_sys_color labels,labels_end,sc                ; |
  92.         check_boxes_set_sys_color check_boxes,check_boxes_end,sc ; |
  93.         edit_boxes_set_sys_color editboxes,editboxes_end,sc      ; /
  94.  
  95.         get_screen_prop scr ; ¯®«ãç ¥¬ ¨­ä®à¬ æ¨î ®¡ íªà ­¥
  96.         call    draw_window ; ¯¥à¥à¨á®¢ë¢ ¥¬ ®ª­®
  97. still:
  98.         wait_event red,key,button,mouse,ipc,still ; ¦¤¥¬ ᮡë⨩
  99.  
  100. key:
  101.         get_key
  102.         cmp     al,2
  103.         jne     @f
  104.         cmp     ah,55
  105.         jne     @f
  106.         call    shoot
  107.         jmp     still
  108. @@:
  109. ;        key_edit_boxes editboxes,editboxes_end
  110.         push    dword edit1
  111.         call    [edit_box_key]
  112.  
  113.         push    dword edit2
  114.         call    [edit_box_key]
  115.  
  116.         push    dword edit3
  117.         call    [edit_box_key]
  118.  
  119.         push    dword edit4
  120.         call    [edit_box_key]
  121.  
  122.         jmp     still
  123. button:
  124.         get_pressed_button
  125.         cmp     ah,1
  126.         je      p_close
  127.         txt_but_ev buttons,buttons_end
  128.         jmp     still
  129. mouse:
  130.         get_active_window
  131.         cmp     eax,[slot_n]
  132.         jne     still
  133. ;----------------------------------
  134.         push    dword edit1
  135.         call    [edit_box_mouse]
  136.         push    dword edit2
  137.         call    [edit_box_mouse]
  138.         push    dword edit3
  139.         call    [edit_box_mouse]
  140.         push    dword edit4
  141.         call    [edit_box_mouse]
  142. ;----------------------------------
  143.         push    dword ch1
  144.         call    [check_box_mouse]
  145.         push    dword ch2
  146.         call    [check_box_mouse]
  147.         push    dword ch3
  148.         call    [check_box_mouse]
  149.         push    dword ch4
  150.         call    [check_box_mouse]
  151.         push    dword ch5
  152.         call    [check_box_mouse]
  153.         push    dword ch6
  154.         call    [check_box_mouse]
  155.         push    dword use_rect
  156.         call    [check_box_mouse]
  157. ;-----------------------------------
  158. ;        mouse_check_boxes check_boxes,check_boxes_end
  159. ;        mouse_edit_boxes editboxes,editboxes_end
  160.         jmp     still
  161. ipc:
  162.         cmp     word [app_ipc+8],2
  163.         jne     @f
  164.         min_window
  165.         jmp     .clear_ipc
  166. @@:
  167.  
  168.         call    draw_number
  169.         call    dr_st
  170.  
  171. .clear_ipc:
  172.         cld
  173.         xor     eax,eax
  174.         mov     ecx,32
  175.         mov     edi,app_ipc
  176.         rep     stosb
  177.         jmp     still
  178.  
  179. p_close:
  180.         btr     dword [flags],1
  181.  
  182.         bt      dword [flags],3
  183.         jnc     @f
  184.         mov    eax,18
  185.         mov     ebx,eax
  186.         mov     ecx,[set_rect_window_pid]
  187.         mcall
  188. @@:
  189.  
  190. close:
  191.         app_close
  192.  
  193. ;--------------------------------------------------------------------
  194. ;--- ¯à®®æ¥¤ãà  ¯¥à¥à¨á®¢ª¨ £« ¢­®£® ®ª­  ---------------------------
  195. ;--------------------------------------------------------------------
  196. draw_window:
  197. start_draw_window        ; ­ ç «® ¯¥à¥à¨á®¢ª¨
  198.         ; ®¯à¥¤¥«ï¥¬ ®ª­®
  199.         get_skin_height
  200.         mov     ebx,100*65536+320
  201.         mov     ecx,100*65536+220
  202.         add     cx,ax
  203.         mov     edx,[sc.work]
  204.         or      edx,0x34000000;0x33000000
  205.         xor     esi,esi
  206.         ;xor     edi,edi
  207.         mov     edi,grab_text
  208.         xor     eax,eax
  209.         mcall
  210.  
  211.         mov     eax,47             ; ¢ë¢®¤¨¬ ç¨á«  ¢ ®ª­®
  212.         mov     bx,4
  213.         shl     ebx,16
  214.         movsx   ecx,word [scr.width] ; è¨à¨­  íªà ­ 
  215.         mov     dx,95
  216.         shl     edx,16
  217.         mov     dx,[label1.top]
  218.         push    dx
  219.         mov     esi,[sc.work_text]
  220.         mcall
  221.         movsx   ecx,word [scr.height]   ; ¢ëá®â  íªà ­ 
  222.         mov     dx,[label2.top]
  223.         mcall
  224.         mov     bx,2
  225.         shl     ebx,16
  226.         movsx   ecx,word [scr.bitspp]   ; ¡¨â ­  ¯¨ªá¥«ì
  227.         mov     dx,240
  228.         shl     edx,16
  229.         pop     dx
  230.         mcall
  231.         mov     bx,6
  232.         shl     ebx,16
  233.         mov     ecx,[scr.bytesps]       ; ¡ ©â ­  áâபã
  234.         mov     dx,[label2.top]
  235.         mcall
  236.  
  237.         call    draw_number      ; ¯à®à¨á®¢ë¢ ¥¬ ­®¬¥à á­¨¬ª 
  238.         call    dr_st
  239.  
  240.         draw_labels labels,labels_end            ; ¬¥âª¨
  241. ;        draw_edit_boxes editboxes,editboxes_end  ; edit_box
  242. ;------ show check editbox -----------
  243.         push    dword edit1
  244.         call    [edit_box_draw]
  245.         push    dword edit2                                                                                                  
  246.         call    [edit_box_draw]
  247.         push    dword edit3
  248.         call    [edit_box_draw]
  249.         push    dword edit4
  250.         call    [edit_box_draw]
  251. ;------ end check all editbox -------
  252.  
  253.         draw_txt_buttons buttons,buttons_end     ; ª­®¯ª¨
  254. ;        draw_check_boxes check_boxes,check_boxes_end ; ä« ¦ª¨
  255. ;------ check all checkbox ---------
  256.         push    dword ch1
  257.         call    [check_box_draw]
  258.         push    dword ch2
  259.         call    [check_box_draw]        
  260.         push    dword ch3
  261.         call    [check_box_draw]
  262.         push    dword ch4
  263.         call    [check_box_draw]
  264.         push    dword ch5
  265.         call    [check_box_draw]
  266.         push    dword ch6
  267.         call    [check_box_draw]
  268.         push    dword use_rect
  269.         call    [check_box_draw]
  270. ;------ end check all checkbox ------
  271.  
  272. stop_draw_window      ; ª®­¥æ ¯¥à¥à¨á®¢ª¨
  273. ret
  274.  
  275. shoot:
  276.         bt      dword [ch4.flags],1   ; ¢ª«î祭  «¨ § ¤¥à¦ª  ?
  277.         jnc     @f
  278.         draw_status delay_now
  279.         mov     edi,ed_buffer.2
  280.         call    zstr_to_int
  281.         mov     ebx,eax
  282.         delay
  283. @@:
  284.         call    get_mem_for_shoot; ¯®«ãç ¥¬ ¯ ¬ïâì ¤«ï á­¨¬ª 
  285.  
  286.  
  287.         bts     dword [flags],0       ; ­ã«¥¢®© ä« £ - á­¨¬®ª ¥áâì ¢ ¯ ¬ïâ¨
  288.  
  289.         ; ¤¥« ¥¬ á­¨¬®ª
  290.         draw_status shooting
  291.         mov     esi,scr
  292.         mov     edi,[scr_buf.ptr]
  293.         call    copy_screen_to_image
  294.  
  295.         bt      dword [use_rect.flags],1
  296.         jc      .use_rect
  297.         push    dword [scr]
  298.         jmp     @f
  299. .use_rect:
  300.         push    dword [rect.height]
  301. @@:
  302.         pop     dword [scr_buf.size]
  303.  
  304.         bt      dword [ch5.flags],1  ; ¢ª«î祭® «¨  ¢â®á®åà ­¥­¨¥ ?
  305.         jnc     @f
  306.         call    save_file
  307. @@:
  308.         draw_status     shooted_ok
  309.  
  310.         bt      dword [flags],1
  311.         jnc     @f
  312.         ret
  313. @@:
  314.  
  315.         bt      dword [ch2.flags],1  ; ¯®ª § âì ®ª­® ¯à¥¤¯à®á¬®âà  ?
  316.         jnc     @f
  317.         call    show_scr_window
  318. @@:
  319.         bt      word [ch3.flags],1   ; ¢®ááâ ­®¢¨âì ®ª­® ?
  320.         jnc     @f
  321.  
  322.         delay 100
  323.         mov     ecx,[slot_n]
  324.         activ_window
  325. @@:
  326. ret
  327.  
  328. ;--- ¯®«ãç¨âì ¯ ¬ïâì ¤«ï á­¨¬ª  ---
  329. get_mem_for_shoot:
  330. ;clean memory
  331.         mov     ecx,dword [scr_buf.ptr]
  332.         mov     ebx,13
  333.         mov     eax,68
  334.         mcall
  335.  
  336.         bt      dword [use_rect.flags],1 ; ä®âª âì ®¡« áâì íªà ­ 
  337.         jc      .use_area
  338.         movzx   ecx, word [scr.width]
  339.         movzx   ebx, word [scr.height]
  340.         jmp     @f
  341. .use_area:
  342.         call    read_rect
  343.         movzx   ecx, word [rect.width]
  344.         movzx   ebx, word [rect.height]
  345. @@:
  346.         imul    ecx,ebx
  347.         lea     ecx,[ecx*3]
  348. ;        add     ecx,i_end
  349.         mov     ebx,12
  350.         mov     eax,68
  351.         mcall
  352.         mov     [scr_buf.ptr],eax
  353.         add     eax,ecx
  354.         mov     [scr_buf.end_ptr],ecx
  355. ret
  356.  
  357. ;--- ᮤ âì ®ª­® ¯à®¥¤¯à®á¬®âà  ---
  358. show_scr_window:
  359. pusha
  360.         bt      dword [flags],0
  361.         jnc     @f
  362.         mov     eax,51
  363.         xor     ebx,ebx
  364.         inc     ebx
  365.         mov     ecx,scr_window
  366.         mov     edx,i_end_tread-1000
  367.         mcall
  368. @@:
  369. popa
  370. ret
  371.  
  372. ;--- ¯à®ç¨â âì ¨ ­ à¨á®¢ âì ⥪ã騩 ­®¬¥à ---
  373. apply_number:
  374.         mov     edi,ed_buffer.3
  375.         call    zstr_to_int
  376.         mov     [cur_number],eax
  377.         call    draw_number
  378. ret
  379.  
  380. ;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ⥪ã饣® ­®¬¥à  ---
  381. draw_number:
  382.         mov     edi,sign_n_input
  383.         call    zstr_to_int
  384.         mov     [sign_n],al
  385.         mov     eax,13
  386.         mov     ebx,150*65536+96
  387.         mov     cx,[label9.top]
  388.         shl     ecx,16
  389.         mov     cx,10
  390.         mov     edx,[sc.work]
  391.         mcall
  392.         mov     eax,47
  393.         movsx   bx,byte [sign_n]
  394.         shl     ebx,16
  395.         mov     ecx,[cur_number]
  396.         mov     dx,150
  397.         shl     edx,16
  398.         mov     dx,[label9.top]
  399.         mov     esi,[sc.work_text]
  400.         mcall
  401. ret
  402.  
  403. ;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª  ¢â®áꥬª¨ ---
  404. start_autoshoot:
  405.         bts     dword [flags],1
  406.         jc      @f
  407.         mov     eax,51
  408.         ;mov     ebx,1
  409.         xor     ebx,ebx
  410.         inc     ebx
  411.         mov     ecx,autoshoot
  412.         mov     edx,i_end_tread-512
  413.         mcall
  414. @@:
  415. ret
  416.  
  417. ;--- ®áâ ­ ¢«¨¢ ¥â íâ®â ¯®â®ª ---
  418. stop_autoshoot:
  419.         btr     dword [flags],1
  420. ret
  421.  
  422. ;--- 横« ¯®â®ª   ¢â®áꥬª¨ ---
  423. autoshoot:
  424.         mov     ecx,[slot_n]
  425.         activ_window
  426. .next:
  427.         bt      dword [flags],1
  428.         jnc     close
  429.         mov     eax,60
  430.         mov     ebx,2
  431.         mov     ecx,[app.pid]
  432.         mov     edx,messages.draw_number
  433.         mov     esi,2
  434.         mcall
  435.         call    shoot
  436.         jmp     autoshoot.next
  437.  
  438. ;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ áâப¨ á®áâ®ï­¨ï ---
  439. ; (¤®«¦­  ¢ë§ë¢ âìáï ¯®â®ª®¬ £« ¢­®£® ®ª­ )
  440. dr_st:
  441.         mov     eax,38              ; ®â१®ª
  442.         mov     ebx,0*65536+310
  443.         mov     ecx,198*65536+198
  444.         mov     edx,[sc.work_graph]
  445.         mcall
  446.  
  447.         mov     eax,13              ; ¯®«®áª 
  448.         mov     bx,310
  449.         mov     ecx,199*65536+15
  450.         mov     edx,[sc.work]
  451.         mcall
  452.  
  453.         mov     edi,status
  454.         call    draw_label
  455. ret
  456.  
  457. ;--- ¯à®æ¥¤ãà  ¯®«ã祭¨ï ­®¬¥à  á«®â  ¯®â®ª  ---
  458. ; ¢å®¤ ebx - ¡ãää¥à 1024 ¡ ©â
  459. ; ¢ë室 ecx - ­®¬¥à á«®â 
  460. get_slot_n:
  461.         mov     eax,9
  462.         xor     ecx,ecx
  463.         dec     ecx
  464.         mcall
  465.  
  466.         mov     edx,[ebx+30]
  467.         xor     ecx,ecx
  468. @@:
  469.         mov     eax,9
  470.         inc     ecx
  471.         mcall
  472.         cmp     [ebx+30],edx
  473.         je      @f
  474.         jmp     @b
  475. @@:
  476. ret
  477.  
  478. ;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
  479. one_shoot:
  480.         mov     ecx,one_shoot_thread
  481.         mov     edx,shoot_esp
  482.         jmp     @f
  483. ;--- ¯à®æ¥¤à , § ¯ã᪠îé ï ¯®â®ª, á®åà ­ïî騩 á­¨¬®ª ---
  484. save_shoot:
  485.         mov     ecx,save_shoot_thread
  486.         mov     edx,shoot_esp
  487. @@:
  488.         bts     dword [flags],2
  489.         jc      .running
  490.         bt      dword [flags],1
  491.         jc      .running
  492.  
  493.         mov     eax,51
  494.         ;mov     ebx,1
  495.         xor     ebx,ebx
  496.         inc     ebx
  497.         mcall
  498. .running:
  499. ret
  500.  
  501. ;--- ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
  502. one_shoot_thread:
  503.         mov     ecx,[slot_n]
  504.         activ_window
  505.         bt      dword [ch1.flags],1   ; ¬¨­¨¬¨§¨à®¢ âì ®ª­® ?
  506.         jnc      @f
  507.         mov     eax,60
  508.         mov     ebx,2
  509.         mov     ecx,[app.pid]
  510.         mov     edx,messages.min_window
  511.         mov     esi,2
  512.         mcall
  513. @@:
  514.         call    shoot
  515.         btr     dword [flags],2
  516.         jmp     close
  517.  
  518. ;--- ¯à®æ¥¤ãà , ®â¯à ¢«ïîé ï £« ¢­®¬ã ®ª­ã á®®¡é¥­¨¥ ® ¯¥à¥à¨á®¢ª¥
  519. ; áâப¨ á®áâ®ï­¨ï ---
  520. send_draw_status:
  521.         mov     eax,60
  522.         mov     ebx,2
  523.         mov     ecx,[app.pid]
  524.         mov     edx,messages.draw_status
  525.         mov     esi,2
  526.         mcall
  527. ret
  528.  
  529. ;--- ¯®â®ª, á®åà ­ï ä ©« ---
  530. save_shoot_thread:
  531.         mov     ecx,[slot_n]
  532.         activ_window
  533.         call    save_file
  534.         btr     dword [flags],2
  535.         jmp     close
  536.  
  537. ;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ®ª­  ãáâ ­®¢ª¨ ®¡« á⨠áꥬª¨ ---
  538. show_set_rect_window:
  539.         bts     dword [flags],3
  540.         jc      @f
  541.         mov     eax,51
  542.         xor     ebx,ebx
  543.         inc     ebx
  544.         mov     ecx,set_rect_window
  545.         mov     edx,set_rect_window_esp
  546.         mcall
  547.  
  548.         mov     [set_rect_window_pid],eax
  549. ret
  550.  
  551. @@:
  552.         mov    eax,18
  553.         mov     ebx,eax
  554.         mov     ecx,[set_rect_window_pid]
  555.         mcall
  556.         btr     dword [flags],3
  557. ret
  558.  
  559. ;--- ¯®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ®¡  ªâ¨¢­®¬ ®ª­¥ ---
  560. get_active_window_info:
  561.         mov    eax,18
  562.         mov    ebx,7
  563.         mcall
  564.  
  565.         mov     ecx,eax
  566.         mov     eax,9
  567.         mov     ebx,active_app
  568.         mcall
  569. ret
  570.  
  571. ;====================================================================
  572. ;=== ¤ ­­ë¥ ¯à®£à ¬¬ë ===============================================
  573. ;====================================================================
  574. messages:
  575. .draw_number dw 0
  576. .draw_status dw 1
  577. .min_window  dw 2
  578.  
  579.  
  580. grab_text:
  581.         db      title,0
  582.  
  583. labels:
  584. label1 label 5,5,0,text.1   ; è¨à¨­  íªà ­ 
  585. label2 label 5,15,0,text.2   ; ¢ëá®â  íªà ­ 
  586. label3 label 5,25,0,text.3   ; ¢¢¥¤¨â¥ ¨¬ï ä ©« 
  587. label4 label 150,5,0,text.4  ; ¡¨â ­  ¯¨ªá¥«ì
  588. label5 label 150,15,0,text.5  ; ¡ ©â ­  áâபã
  589. label6 label 115,138,0,text.6  ; 100 = 1 ᥪ.
  590. ;label7 label 10,190,0,text.7
  591. ;label8 label 10,225,0,text.8
  592. label9 label 5,52,0,text.9   ; ­®¬¥à ⥪ã饣® ᨬª 
  593. label10 label 5,185,0,text.10
  594. status label 5,201,0,no_shoot
  595. labels_end:
  596.  
  597. editboxes:
  598. edit1 edit_box 300,5,35,cl_white,0xaabbcc,0,0,0,300,ed_buffer.1,ed_focus,10,10        ; ¯ãâì ª ä ©«ã
  599. edit2 edit_box 35,75,134,cl_white,0xaabbcc,0,0,0,9,ed_buffer.2,ed_figure_only,3,3         ; § ¤¥à¦ª 
  600. edit3 edit_box 35,165,164,cl_white,0xaabbcc,0,0,0,9,ed_buffer.3,ed_figure_only    ;  ¢â®­ã¬¥à æ¨ï
  601. edit4 edit_box 16,165,181,cl_white,0xaabbcc,0,0,0,1,sign_n_input,ed_figure_only,1
  602. editboxes_end:
  603.  
  604. buttons:
  605. but1 txt_button 150,5,15,65,2,0,0,but_text.1,one_shoot             ; ᤥ« âì á­¨¬®ª
  606. but2 txt_button 145,160,15,65,3,0,0,but_text.2,save_shoot          ; á®åà ­¨âì á­¨¬®ª
  607. but3 txt_button 140,115,12,120,4,0,0,but_text.3,show_scr_window    ; ¯®ª § âì á­¨¬®ª
  608. but4 txt_button 80,205,15,163,5,0,0,but_text.4,apply_number        ; ¯à¨¬¥­¨âì ­®¬¥à
  609. but5 txt_button 150,5,15,85,6,0,0,but_text.5,start_autoshoot       ; ­ ç âì  ¢â®áêñ¬ªã
  610. but6 txt_button 145,160,15,85,7,0,0,but_text.6,stop_autoshoot      ; ®áâ ­®¢¨âì  ¢â®áêñ¬ªã
  611. but7 txt_button 40,205,10,150,8,0,0,but_text.7,show_set_rect_window ; § ¤ âì ®¡« áâì
  612. buttons_end:
  613.  
  614. check_boxes:
  615. ch1 check_box 5,105,5,11,cl_white,0,0,ch_text.1,(ch_text.2-ch_text.1),ch_flag_en  ; ᢥà­ãâì ®ª­®
  616. ch2 check_box 5,120,5,11,cl_white,0,0,ch_text.2,(ch_text.3-ch_text.2),ch_flag_en  ; § â¥¬ ᤥ« âì  ªâ¨¢­ë¬
  617. ch3 check_box 145,105,5,11,cl_white,0,0,ch_text.3,(ch_text.4-ch_text.3),ch_flag_en ; ¯®ª § âì á­¨¬®ª
  618. ch4 check_box 5,135,5,11,cl_white,0,0,ch_text.4,(ch_text.5-ch_text.4),ch_flag_en   ; § ¤¥à¦ª 
  619. ch5 check_box 5,150,5,11,cl_white,0,0,ch_text.5,(ch_text.6-ch_text.5)
  620. ch6 check_box 5,165,5,11,cl_white,0,0,ch_text.6,(ch_text.7-ch_text.6),ch_flag_en
  621. use_rect check_box 145,150,5,11,cl_white,0,0,ch_text.7,(ch_text.8-ch_text.7) ; ¨á¯. ®¡« áâì
  622. ;  ¢â®­ã¬¥à æ¨ï
  623. check_boxes_end:
  624.  
  625. if lang eq ru
  626. text:
  627. .2 db '‚ëá®â  íªà ­ :',0
  628. .1 db '˜¨à¨­  íªà ­ :',0
  629. .3 db '‚¢¥¤¨â¥ ¯®«­ë© ¯ãâì ª ä ©«ã:',0
  630. .4 db '¨â ­  ¯¨ªá¥«ì:',0
  631. .5 db ' ©â ­  áâபã:',0
  632. .6 db '100 = 1 ᥪ㭤 ',0
  633. ;.7: db '‚¢¥¤¨â¥ ¨¬ï ä ©« :',0
  634. ;.8: db '‚¬¥áâ® "*" ¢ ¨¬¥­¨ ä ©«  ¡ã¤¥â ¢áâ ¢«ïâìáï ­®¬¥à.',0
  635. .9 db '®¬¥à ⥪ã饣® á­¨¬ª :',0
  636. .10 db 'Š®«¨ç¥á⢮ §­ ª®¢ ¢ ­®¬¥à¥:',0
  637.  
  638. but_text:
  639. .1 db '‘¤¥« âì á­¨¬®ª íªà ­ ',0
  640. .2 db '‘®åà ­¨âì á­¨¬®ª íªà ­ ',0
  641. .3 db '®ª § âì á­¨¬®ª ᥩç á',0
  642. .4 db 'à¨¬¥­¨âì',0
  643. .5 db ' ç âì  ¢â®áꥬªã',0
  644. .6 db 'Žáâ ­®¢¨âì  ¢â®áꥬªã',0
  645. .7 db '§ ¤ âì',0
  646.  
  647. ch_text:
  648. .1 db '‘¢¥à­ãâì ®ª­®';,0
  649. .2 db '®ª § âì á­¨¬®ª';,0
  650. .3 db '§ â¥¬ ᤥ« âì  ªâ¨¢­ë¬';,0
  651. .4 db '‡ ¤¥à¦ª :';,0
  652. .5 db '€¢â®á®åà ­¥­¨¥';,0
  653. .6 db '€¢â®­ã¬¥à æ¨ï, ­ ç¨­ ï á';,0
  654. .7 db 'Ž¡« áâì'
  655. .8:
  656.  
  657. no_shoot db '‘­¨¬®ª ­¥ ᤥ« ­',0
  658. shooting db '”®â®£à ä¨à®¢ ­¨¥...',0
  659. shooted_ok db '‘­¨¬®ª ᤥ« ­',0
  660. saving db '‘®åà ­¥­¨¥...',0
  661. saved_ok db '‘­¨¬®ª á®åà ­¥­',0
  662. delay_now db '‡ ¤¥à¦ª ...',0
  663. bad_file_name db 'ˆ¬ï ä ©«  ¢¢¥¤¥­® ­¥¢¥à­®',0
  664. disk_filled db '„¨áª § ¯®«­¥­',0
  665. bad_fat_table db '’ ¡«¨æ  FAT à §àã襭 ',0
  666. ac_den db '„®áâ㯠§ ¯à¥é¥­',0
  667. device_er db 'Žè¨¡ª  ãáâனá⢠',0
  668. not_shooted db '‘¤¥« ©â¥ á­¨¬®ª !!!',0
  669. no_file_name db '‚¢¥¤¨â¥ ¨¬ï ä ©«  !!!',0
  670. invalid_rect db '¥¤®¯ãáâ¨¬ë¥ à §¬¥àë ®¡« áâ¨',0
  671.  
  672. else
  673. text:
  674. .2 db 'Screen width:',0
  675. .1 db 'Screen height:',0
  676. .3 db 'Enter full path to the file:',0
  677. .4 db 'Bits per pixel:',0
  678. .5 db 'Bytes per line:',0
  679. .6 db '100 = 1 second',0
  680. ;.7: db 'Enter name of file:',0
  681. ;.8: db 'Instead of "*" in filename the number will be included.',0
  682. .9 db 'Current photo number:',0
  683. .10 db 'Amount of digits in number:',0
  684.  
  685. but_text:
  686. .1 db 'Make screen photo',0
  687. .2 db 'Save screen photo',0
  688. .3 db 'Show photo now',0
  689. .4 db 'Apply',0
  690. .5 db 'Start autoshooting',0
  691. .6 db 'Stop autoshooting',0
  692. .7 db 'Set',0
  693.  
  694. ch_text:
  695. .1 db 'Minimize window';,0
  696. .2 db 'Show photo';,0
  697. .3 db 'then make active';,0
  698. .4 db 'Delay:';,0
  699. .5 db 'Autosave';,0
  700. .6 db 'Start numeration from';,0
  701. .7 db 'Area'
  702. .8:
  703.  
  704. no_shoot db 'There is no photo',0
  705. shooting db 'Photographing...',0
  706. shooted_ok db 'Photo created',0
  707. saving db 'Saving...',0
  708. saved_ok db 'Photo saved',0
  709. delay_now db 'Delay...',0
  710. bad_file_name db 'File name is wrong',0
  711. disk_filled db 'Disk is full',0
  712. bad_fat_table db 'FAT table destroyed',0
  713. ac_den db 'Access denied',0
  714. device_er db 'Device error',0
  715. not_shooted db 'Make a photo !!!',0
  716. no_file_name db 'Enter file name !!!',0
  717. invalid_rect db 'Wrong area size',0
  718.  
  719. end if
  720.  
  721. sign_n_input:
  722.         db      '2',0
  723.  
  724. app_ipc ipc_buffer 32
  725. align 4
  726.  
  727. mouse_flag: dd 0x0
  728. structure_of_potock:
  729. rb 100
  730.  
  731. align 4
  732.  
  733. cur_number        dd      ?
  734.  
  735. sign_n        db      ?
  736.  
  737. slot_n        dd ?
  738.  
  739. flags        dd ?
  740.  
  741. scr_buf:
  742. .ptr        dd      ?
  743. .end_ptr        dd      ?
  744. .size:
  745. .height        dw      ?
  746. .width        dw      ?
  747.  
  748. fs_struc:
  749. .funk_n        dd      ?
  750.         dd      ?
  751.         dd      ?
  752. .bytes_to_write  dd      ?
  753. .data_ptr        dd    ?,?
  754. .fn_ptr        dd      ?
  755.  
  756. sf_buf:
  757. .bmp_header   dd      ?
  758. .bmp_area     dd      ?
  759. .end          dd      ?
  760.  
  761. set_rect_window_pid dd ?
  762. set_rect_window_slot dd ?
  763.  
  764. align 4
  765.  
  766. ed_buffer:
  767. .1: db '/sys/*.bmp',0
  768. rb 287
  769. .2: db '100',0
  770.  rb 6
  771. .3:  rb 10
  772.  
  773.  
  774. align 4
  775. rect_input_buffer:
  776. .left rb 6
  777. .top  rb 6
  778. .width  rb 6
  779. .height rb 6
  780.  
  781. cmdstr rb 257
  782.  
  783. align 4
  784.  
  785. file_name:
  786.         rb      1058
  787.  
  788. scr screen_prop
  789. rect:
  790. .left dw ?
  791. .top dw ?
  792. .height dw ?
  793. .width dw ?
  794.  
  795. sc sys_color_table
  796. app procinfo        ; ¨­ä®à¬ æ¨ï ® £« ¢­®¬ ®ª­¥
  797. active_app procinfo ; ¨­ä®à¬ æ¨ï ®¡  ªâ¨¢­®¬ ®ª­¥
  798. set_rect_window_procinfo procinfo  ; ¨­ä®à¬ æ¨ï ®¡ ®ª­¥ ®¡« áâ¨
  799. shoot_esp rb 512                   ; á⥪ ¯®â®ª  ä®âª ­ìï
  800. set_rect_window_esp rb 512         ; á⥪ ®ª­  ®¡« áâ¨
  801. ;        app_end    ; ª®­¥æ ¯à®£à ¬¬ë
  802. align 4
  803. cur_dir_path    rb 4096
  804. library_path    rb 4096
  805. i_end_tread:
  806. rb 1024
  807. align 4
  808. i_end: