Subversion Repositories Kolibri OS

Rev

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