Subversion Repositories Kolibri OS

Rev

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

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