Subversion Repositories Kolibri OS

Rev

Rev 2000 | 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_thread_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. ;---------------------------------------------------------------------
  19. .red:
  20.         call    .draw_window
  21. ;---------------------------------------------------------------------
  22. .still:
  23.         mcall   10      ; wait here for event
  24.         cmp     eax,1   ; redraw request ?
  25.         je      .red
  26.  
  27.         cmp     eax,2   ; key in buffer ?
  28.         je      .close
  29.  
  30.         cmp     eax,3   ; button in buffer ?
  31.         je      .button
  32.  
  33.         jmp     .still
  34. ;---------------------------------------------------------------------
  35. .button:                           ; button
  36.         mcall   17      ; get id
  37.         cmp     ah,1    ; button id=1 ?
  38.         jne     .still  ;.noclose
  39. .close:
  40.         xor     dword [status],2
  41.         xor     eax,eax
  42.         mov     [PID2],eax
  43.         mcall   68,13,[thread_stack_2]
  44.         mcall   -1      ; close this program
  45. ;---------------------------------------------------------------------
  46. ;   *********************************************
  47. ;   *******  WINDOW DEFINITIONS AND DRAW ********
  48. ;   *********************************************
  49. .draw_window:
  50.         mcall   12,2
  51.         xor     eax,eax         ; function 0 : define and draw window
  52.         xor     esi,esi
  53.         mcall   ,<100,330>,<100,120>,0x13eeeeee,,labelt2
  54.         mcall   4,<120,30>,0x80000000,file_name
  55.         mov     edx,fitext
  56.         mov     esi,14
  57.         mov     ebx,10*65536+30
  58.         mov     ecx,0x10000000
  59. @@:
  60.         mcall
  61.         add     ebx,10
  62.         add     edx,esi
  63.         cmp     ebx,10*65536+80
  64.         jbe     @r
  65.        
  66.         mov     esi,ecx
  67.         mcall   47,0x800a0000,[img_size],<120,40>
  68.        
  69.         add     edx,10
  70.         mcall   ,,[img_width_2]
  71.        
  72.         add     edx,10
  73.         mcall   ,,[img_high_2]
  74.        
  75.         add     edx,10
  76.         mcall   ,,[img_resolution_2]
  77.        
  78.         add     edx,10
  79.         mcall   ,,[Total_Repeat_N]
  80.  
  81. ;       mcall 47,0x80000,[PID2],<200, 5>,0xffffff
  82. ;       mcall 47,0x800a0000,[error_locate],<140,5>,0x10ffffff
  83.         mcall   12,2
  84.         ret
  85. ;--------------------------------------------------------------------
  86.