Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. ;Hello world example
  2.  
  3. use32
  4.         db      'MENUET01'
  5.         dd      1
  6.         dd      start
  7.         dd      i_end
  8.         dd      0x800
  9.         dd      0x800
  10.         dd      0
  11.         dd      0
  12.  
  13. TRUE    =     1
  14. FALSE   =     0
  15.  
  16. include 'libGUI.inc'
  17.  
  18. start:
  19.         ;load libGUI labrari
  20.         push NULL  ;use default system path to library
  21.         call LoadLibGUI
  22.         ;create main window
  23.         CreateWindow
  24.         mov [window],eax
  25.         ;change size of main window
  26.         SetWindowSizeRequest [window],92,46
  27.         ;set callback function for button close window
  28.         SetCallbackFunction [window],DELETE_EVENT,callback_func_delete_window,NULL
  29.  
  30.         ;create control Text
  31.         mov [txtdata.x],5
  32.         mov [txtdata.y],5
  33.         mov [txtdata.font],NULL;use default system libGUI font
  34.         mov [txtdata.background],TRUE;use background for text
  35.         mov [txtdata.color],0xffffff;text color
  36.         mov [txtdata.background_color],0xff8000
  37.         mov [txtdata.text],txt
  38.         CreateText txtdata
  39.         mov [text],eax
  40.  
  41.         ;pack control Text in window
  42.         PackControls [window],[text]
  43.  
  44.         ;start libGUI main loop
  45.         LibGUImain [window]
  46.  
  47.  
  48. ;void callback_func_delete_window(header_t *control,void *data)
  49. callback_func_delete_window:
  50.  
  51.         mov eax,[esp+4] ;control
  52.  
  53.         QuitLibGUI eax
  54.  
  55.         ret
  56. align 4
  57. ;----------------data-----------------
  58. txt             db 'Hello world!',0
  59. txtdata         gui_text_data_t
  60. window          rd 1;parent_t *window
  61. text            rd 1;gui_text_data_t *text
  62.  
  63. i_end: