Subversion Repositories Kolibri OS

Rev

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

  1. ;---------------------------------------------------------------------
  2.   kinfo:
  3.         test dword [status],2
  4.         jnz      still
  5.         or      dword [status],2
  6.  
  7.         call    get_memory_for_tread_stack
  8.         mov     [thread_stack_2],eax
  9.         mcall   51,1,thread2    ;, thread_stack_2
  10.         jmp     still
  11. ;---------------------------------------------------------------------
  12. thread2:                            ; start of info thread
  13.         mcall 9, procinfo_threads, -1
  14.         mov   eax,[ebx+30]
  15.         mov   [PID2],eax
  16.         mcall 40, 0x7
  17.         call load_directory.copy_dir_path
  18. .red:
  19.         call .draw_window
  20.  
  21. .still:
  22.  
  23.         mov  eax,10          ; wait here for event
  24.         mcall
  25.  
  26.         cmp  eax,1                      ; redraw request ?
  27.         je      .red
  28.         cmp  eax,2                      ; key in buffer ?
  29.         je      .close
  30.         cmp  eax,3                      ; button in buffer ?
  31.         je      .button
  32.  
  33.         jmp  .still
  34.  
  35. .button:                           ; button
  36.         mov  eax,17          ; get id
  37.         mcall
  38.  
  39.         cmp  ah,1                        ; button id=1 ?
  40.         jne  .still  ;.noclose
  41. .close:
  42. ;       btr dword [status],1
  43. ;       bts dword [status],2
  44.         xor     dword [status],2
  45.         xor     eax,eax
  46.         mov     [PID2],eax
  47.         mcall   68,13,[thread_stack_2]
  48.         mov     eax,-1       ; close this program
  49.         mcall
  50. ;.noclose:
  51. ;       jmp  .still
  52.  
  53.  
  54.  
  55.  
  56. ;   *********************************************
  57. ;   *******  WINDOW DEFINITIONS AND DRAW ********
  58. ;   *********************************************
  59.  
  60.  
  61. .draw_window:
  62.  
  63.  
  64.         mov  eax,12              ; function 12:tell os about windowdraw
  65.         mov  ebx,1                         ; 1, start of draw
  66.         mcall
  67.  
  68.                                         ; DRAW WINDOW
  69.         xor  eax,eax            ; function 0 : define and draw window
  70.         mov  ebx,100*65536+330     ; [x start] *65536 + [x size]
  71.         mov  ecx,100*65536+120  ;290    ; [y start] *65536 + [y size]
  72.         mov  edx,0x03eeeeee     ; color of work area RRGGBB,8->color gl
  73.         mcall
  74.  
  75.                                         ; WINDOW LABEL
  76.         mcall 71,1, labelt2
  77.  
  78. ;       mov  ecx,0x80000000     ; font 1 & color ( 0xF0RRGGBB )
  79. ;       mov  ebx,120*65536+30
  80. ;       mov  edx,file_name  ;string
  81. ;       mov  esi,1  ;43
  82.         mcall 4,<120,30>,0x80000000,file_name
  83.         mov  edx,fitext
  84.         mov  esi,14
  85.         mov  ebx,10*65536+30
  86.         mov  ecx,0x10000000
  87. @@:
  88.         mcall
  89.         add  ebx,10
  90.         add  edx,esi
  91.         cmp  ebx,10*65536+80
  92.         jbe  @r
  93.         mov  eax,47
  94.         mov  edx,120*65536+40
  95.         mov  esi,ecx
  96.         mov  ecx, [img_size]
  97.         mov  ebx,0x800a0000
  98.         mcall
  99.         add  edx,10
  100.         mov  ecx,[img_width_2]
  101.         mcall
  102.         add  edx,10
  103.         mov  ecx,[img_high_2]
  104.         mcall
  105.         add  edx,10
  106.         mov  ecx,[img_resolution_2]
  107.         mcall
  108.         add  edx,10
  109.         mov  ecx,[Total_Repeat_N]
  110.         mcall
  111.  
  112. ;       add  edx,10
  113. ;       mov     ecx,[communication_area]
  114. ;       mov ecx,[ecx+4096]
  115. ;       mcall
  116.  
  117. ;       add  edx,10
  118. ;       mov     ecx,[communication_area]
  119. ;       mov ecx,[ecx+4096+4]
  120. ;       mcall
  121.        
  122. ;       add  edx,10+10
  123. ;       mov  ecx,[zoom_auto_factor]
  124. ;       mcall
  125.  
  126. ;       add  edx,10+10
  127. ;       mov  ecx,[scroll_bar_data_vertical.max_area] ;[img_resolution]
  128. ;       mcall
  129. ;       add  edx,10
  130. ;       mov  ecx,[scroll_bar_data_vertical.cur_area]  ;[return_code]
  131. ;       mcall
  132. ;       add  edx,10
  133. ;       mov  ecx,[scroll_bar_data_vertical.position]
  134. ;       mcall
  135. ;       add  edx,10
  136. ;       xor  ecx,ecx
  137. ;       mov  cx,[scroll_bar_data_vertical.size_y]
  138. ;       mcall
  139.  
  140. ;       add  edx,10+10
  141. ;       mcall 47,0x80000,[OpenDialog_Init]
  142.  
  143. ;       add  edx,10+10
  144. ;       mcall 47,0x80000,[OpenDialog_Start]
  145.  
  146. ;       add  edx,10+10
  147. ;       mcall 47,0x80000,[OpenDialog_data.com_area]
  148.  
  149. ;       add  edx,10+10
  150. ;       mcall 47,0x80000,I_END
  151.  
  152. ;       add  edx,10+10
  153. ;       mov  ecx,[scroll_bar_data_horizontal.max_area]  ;[img_resolution]
  154. ;       mcall
  155. ;       add  edx,10
  156. ;       mov  ecx,[scroll_bar_data_horizontal.cur_area]  ;[return_code]
  157. ;       mcall
  158. ;       add  edx,10
  159. ;       mov  ecx,[scroll_bar_data_horizontal.position]
  160. ;       mcall
  161. ;       add  edx,10
  162. ;       xor  ecx,ecx
  163. ;       mov  cx,[scroll_bar_data_horizontal.size_x]
  164. ;       mcall
  165.  
  166. ;       add  edx,10
  167. ;       mov  ecx,[raw_pointer] ;[deflate_unpack]
  168. ;       mcall
  169.  
  170. ;       add  edx,10+10
  171. ;       mov  ebp,test1  ;raw_pointer_2
  172. ;       mov  ecx,[ebp]
  173. ;       mcall
  174.        
  175. ;       add  edx,10+10
  176. ;       mov  ebp,size_before_open_dir ;lib_init   ;test1  ;raw_pointer_2
  177. ;       mov  ecx,[ebp]
  178. ;       mcall
  179. ;       add  edx,10
  180. ;       add  ebp,4
  181. ;       mov  ecx,[ebp]
  182. ;       mcall
  183. ;       add  edx,10
  184. ;       add  ebp,4
  185. ;       mov  ecx,[ebp]
  186. ;       mcall
  187. ;       add  edx,10
  188. ;       add  ebp,4
  189. ;       mov  ecx,[ebp]
  190. ;       mcall
  191. ;       add  edx,10
  192. ;       add  ebp,4
  193. ;       mov  ecx,[ebp]
  194. ;       mcall
  195. ;       add  edx,10
  196. ;       add  ebp,4
  197. ;       mov  ecx,[ebp]
  198. ;       mcall
  199. ;       add  edx,10
  200. ;       add  ebp,4
  201. ;       mov  ecx,[ebp]
  202. ;       mcall
  203. ;       add  edx,10
  204. ;       add  ebp,4
  205. ;       mov  ecx,[ebp]
  206. ;       mcall
  207. ;       add  edx,10
  208. ;       add  ebp,4
  209. ;       mov  ecx,[ebp]
  210. ;       mcall
  211. ;       add  edx,10
  212. ;       add  ebp,4
  213. ;       mov  ecx,[ebp]
  214. ;       mcall
  215.        
  216. ;       add  edx,10
  217. ;       add  ebp,4
  218. ;       mov  ecx,[version_lib_ini]
  219. ;;      mov  ecx,[ecx]
  220. ;       mcall
  221.  
  222. ;       add  edx,10
  223. ;       movzx  ecx,word  [image_draw_size.x]
  224. ;       mcall
  225. ;       add  edx,10
  226. ;       movzx  ecx,word [image_draw_size.y]
  227. ;       mcall
  228. ;       add  edx,10+10
  229. ;       movzx  ecx,word [wa_width]
  230. ;       mcall
  231. ;       add  edx,10
  232. ;       movzx  ecx,word [wa_high]
  233. ;       mcall
  234. ;       add  edx,10
  235. ;       movzx  ecx,word [wa_width_1]
  236. ;       mcall
  237. ;       add  edx,10
  238. ;       movzx  ecx,word [wa_width_2]
  239. ;       mcall
  240. ;       add  edx,10
  241. ;       movzx  ecx,word [wa_high_1]
  242. ;       mcall
  243. ;       add  edx,10
  244. ;       movzx  ecx,word [wa_high_2]
  245. ;       mcall
  246.  
  247. ;       add  edx,10+10
  248. ;       mov  ecx,[window_width]
  249. ;       mcall
  250. ;       add  edx,10
  251. ;       mov  ecx,[window_high]
  252. ;       mcall
  253.        
  254. ;       add  edx,10
  255. ;       xor  ecx,ecx
  256. ;       mov  cl,[Disposal_Method]
  257. ;       mcall
  258.        
  259. ;       add  edx,10
  260. ;       mov  ecx,[soi]
  261. ;       mcall
  262. ;       mcall 47,0x80000,[PID2],<200, 5>,0xffffff
  263. ;       mcall 47,0x800a0000,[error_locate],<140,5>,0x10ffffff
  264.         mov  eax,12              ; function 12:tell os about windowdraw
  265.         mov  ebx,2                         ; 2, end of draw
  266.         mcall
  267.  
  268.         ret
  269. ;---------------------------------------------------------------------