Subversion Repositories Kolibri OS

Rev

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