Subversion Repositories Kolibri OS

Rev

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

  1. ;---------------------------------------------------------------------
  2. kabout:
  3.         test    dword [status],4
  4.         jnz     still
  5.         or      dword [status],4
  6.  
  7.         call    get_memory_for_thread_stack
  8.         mov     [thread_stack_3],eax
  9.         mcall   51,1,thread3    ;thread_stack_3
  10.         jmp     still
  11. ;---------------------------------------------------------------------
  12. thread3:          ; start of bgrd thread
  13.         mcall   9, procinfo_threads, -1
  14.         mov     eax,[ebx+30]
  15.         mov     [PID3],eax
  16.         mcall   40,0x7
  17. ;------------------------------
  18. .red:
  19.         call    .draw_window
  20. ;------------------------------
  21. .still:
  22.         mcall   10      ; wait here for event
  23.         cmp     eax,1   ; redraw request ?
  24.         je      .red
  25.  
  26.         cmp     eax,2   ; key in buffer ?
  27.         je      .close   ;.key
  28.  
  29.         cmp     eax,3   ; button in buffer ?
  30.         je      .button
  31.  
  32.         jmp     .still
  33. ;---------------------------------------------------------------------
  34. ;.key:
  35. ;       mcall
  36. ;       cmp     ah,27
  37. ;       je      .close
  38. ;       jmp     .still
  39. ;---------------------------------------------------------------------
  40. .button:                         ; button
  41.         mcall   17              ; get id
  42.         cmp     ah,1                    ; button id=1 ?
  43.         je      .close
  44.        
  45.         cmp     ah,2
  46.         jne     .still   ;noclose3
  47.    
  48. .close:
  49.         xor     dword [status],4
  50.         xor     eax,eax
  51.         mov     [PID3],eax
  52.         mcall   68,13,[thread_stack_3]
  53.         mcall   -1      ; close this program
  54. ;---------------------------------------------------------------------
  55. ;   *********************************************
  56. ;   *******  WINDOW DEFINITIONS AND DRAW ********
  57. ;   *********************************************
  58. .draw_window:
  59.         mcall   12,1
  60.         xor     eax,eax            ; function 0 : define and draw window
  61.         xor     esi,esi
  62.         mcall   ,<100,300>,<100,240>,0x13eeeeee,,labelt3
  63.         mcall   8,<120,40>,<210,20>,2,0xdddddd
  64.         add     ebx,15 shl 16
  65.         shr     ecx,16
  66.         mov     bx,cx
  67.         add     ebx,6
  68.         xor     ecx,ecx
  69.         mcall   4,,,ok_btn,ok_btn.size
  70.         mcall   ,<20,30>,0x80000000,Authors_text.1
  71.         mcall   ,<30,45>, ,Authors_text.2
  72.         mcall   ,<30,60>, ,Authors_text.3
  73.         mcall   ,<60,70>, ,Authors_text.4
  74.         mcall   ,<60,80>, ,Authors_text.5
  75.         mcall   ,<60,90>, ,Authors_text.6
  76.         mcall   ,<60,100>, ,Authors_text.7
  77.         mcall   ,<30,115>, ,Authors_text.8
  78.         mcall   ,<60,125>, ,Authors_text.9
  79.         mcall   ,<60,135>, ,Authors_text.10
  80.         mcall   ,<30,150>, ,Authors_text.11
  81.         mcall   ,<60,160>, ,Authors_text.12
  82.         mcall   ,<30,175>, ,Authors_text.13
  83.         mcall   ,<60,185>, ,Authors_text.14
  84. ;       mcall   47,0x80000,[PID3],<200, 5>,0xffffff
  85.         mcall   12,2
  86.         ret
  87. ;---------------------------------------------------------------------
  88.