Subversion Repositories Kolibri OS

Rev

Rev 7786 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;In this file content a macros need for compilation the scrshoot
  2. evm_redraw equ 1
  3. evm_key equ 10b
  4. evm_button equ 100b
  5. evm_mouse equ 100000b
  6. evm_ipc equ 1000000b
  7.  
  8. ;--- ñîîáùèòü ñèñòåìå î íà÷àëå ïåðåðèñîâêè îêíà ---
  9. macro draw_status text_ptr
  10. {
  11.         mov     [status.text],dword text_ptr
  12.         call    send_draw_status
  13. }
  14.  
  15. macro start_draw_window
  16. {
  17.         xor     ebx,ebx
  18.         inc     ebx
  19.         mcall   SF_REDRAW
  20. }
  21.  
  22. ;--- ñîîáùèòü ñèñòåìå î çàâåðøåíèè ïåðåðèñîâêè îêíà ---
  23. macro stop_draw_window
  24. {
  25.         mcall   SF_REDRAW, SSF_END_DRAW
  26. }
  27.  
  28. ;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé ---
  29.  
  30. ;--- îæèäàòü ñîáûòèÿ ---
  31. macro wait_event redraw,key,button,mouse,ipc,other
  32. {
  33.         mcall   SF_WAIT_EVENT
  34.         dec     ax
  35. if redraw eq
  36. else
  37.         jz      redraw
  38. end if
  39.         dec     ax
  40. if key eq
  41. else
  42.         jz      key
  43. end if
  44.         dec     ax
  45. if button eq
  46. else
  47.         jz      button
  48. end if
  49.         dec     ax
  50.         dec     ax
  51.         dec     ax
  52. if mouse eq
  53. else
  54.         jz      mouse
  55. end if
  56. if ipc eq
  57. else
  58.         dec     ax
  59.         jz      ipc
  60. end if
  61. if other eq
  62.         jmp     still
  63. else
  64.         jmp     other
  65. end if
  66. }
  67. ;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé ---
  68. macro set_events_mask mask
  69. {
  70.         mcall   SF_SET_EVENTS_MASK, mask
  71. }
  72.  
  73. macro get_key
  74. {
  75.         mcall   SF_GET_KEY
  76. }
  77. ;--- ïîëó÷èòü êîä íàæàòîé êíîïêè ---
  78. macro get_pressed_button
  79. {
  80.         mcall   SF_GET_BUTTON
  81. }
  82. macro get_active_window
  83. {
  84.         mcall   SF_SYSTEM,SSF_GET_ACTIVE_WINDOW
  85. }
  86. ;--- ïîëó÷èòü èíôîðìàöèþ î ïðîöåññå ---
  87. macro get_procinfo proc_inf_buf,slot_num
  88. {
  89.         ;mov     ebx,proc_inf_buf
  90.         push    proc_inf_buf
  91.         pop     ebx
  92. if slot_num eq
  93.         xor     ecx,ecx
  94.         dec     ecx
  95. else
  96.         ;mov     ecx,slot_num
  97.         push    slot_num
  98.         pop     ecx
  99. end if
  100.         mcall   SF_THREAD_INFO
  101. }
  102. macro get_screen_prop  struc_ptr
  103. {
  104.         mov     eax,SF_GET_GRAPHICAL_PARAMS
  105.         push    eax eax
  106.         xor     ebx,ebx
  107.         inc     ebx
  108.         mcall
  109.         mov     [struc_ptr],eax
  110.         pop     eax
  111.         inc     ebx
  112.         mcall
  113.         mov     [struc_ptr+4],ax
  114.         pop     eax
  115.         inc     ebx
  116.         mcall
  117.         mov     [struc_ptr+6],eax
  118. }
  119. macro min_window
  120. {
  121.         mcall   SF_SYSTEM,SSF_MINIMIZE_WINDOW
  122. }
  123. macro app_close
  124. {
  125.         mcall  SF_TERMINATE_PROCESS
  126. }
  127. macro get_skin_height
  128. {
  129.         mcall   SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT
  130. }
  131. macro delay time
  132. {
  133. if time eq
  134. else
  135.         mov     ebx,time
  136. end if
  137.         mcall   SF_SLEEP
  138. }
  139. macro activ_window slot_n
  140. {
  141. if slot_n eq
  142. else
  143.         mov     ecx,slot_n
  144. end if
  145.         mcall   SF_SYSTEM,SSF_FOCUS_WINDOW
  146. }
  147. struc screen_prop
  148. {
  149. .height: dw ? ;+0
  150. .width: dw ?  ;+2
  151. .bitspp: dw ? ;+4
  152. .bytesps: dd ?;+6
  153. }
  154. struc sys_color_table
  155. {
  156. .frames: dd ?  ;+0
  157. .grab: dd ?    ;+4
  158. .work_dark: dd ? ;+8
  159. .work_light: dd ?  ;+12
  160. .grab_text: dd ?  ;+16
  161. .work: dd ?       ;+20
  162. .work_button: dd ?;+24
  163. .work_button_text: dd ? ;+28
  164. .work_text: dd ?        ;+32
  165. .work_graph: dd ?       ;+36
  166. }
  167. struc procinfo
  168. {
  169. .takts_per_second: dd ?
  170. .window_stack_pos: dw ?
  171. .slot_number: dw ?
  172. dw ?
  173. .name: rb 11
  174. .align: db ?
  175. .addres: dd ?
  176. .use_mem: dd ?
  177. .pid: dd ?
  178. .left: dd ?
  179. .top: dd ?
  180. .width: dd ?
  181. .height: dd ?
  182. .slot_state: dw ?
  183. rb (1024-56)
  184. }
  185.  
  186.  
  187.  
  188. struc ipc_buffer size
  189. {
  190. .block: dd ?
  191. .in_use: dd ?
  192. .messages: rb size
  193. }
  194.  
  195. ;--- öâåòà  ---
  196. cl_white=0xffffff
  197. cl_black=0x000000
  198.  
  199. ch_struc_size=36
  200.