Subversion Repositories Kolibri OS

Rev

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

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