;Hello world example use32 db 'MENUET01' dd 1 dd start dd i_end dd 0x1500 dd 0x1500 dd 0 dd 0 TRUE = 1 FALSE = 0 include 'libGUI.inc' start: ;load libGUI labrari push NULL ;use default system path to library call LoadLibGUI ;create main window CreateWindow mov [window],eax ;change size of main window SetWindowSizeRequest [window],90,60 ;set callback function for button close window SetCallbackFunction [window],DELETE_EVENT,callback_func_delete_window,NULL ;create control Button with text mov [bdata.x],5 mov [bdata.y],5 mov [bdata.wight],70 mov [bdata.height],20 CreateButtonWithText bdata,btext mov [button],eax ;set callback functions for button SetCallbackFunction [button],BUTTON_ENTER_EVENT,callback_func1,NULL SetCallbackFunction [button],BUTTON_PRESSED_EVENT,callback_func2,NULL SetCallbackFunction [button],BUTTON_RELEASED_EVENT,callback_func3,NULL SetCallbackFunction [button],BUTTON_LEAVE_EVENT,callback_func4,NULL ;pack control Text in window PackControls [window],[button] ;start libGUI main loop LibGUImain [window] ;void callback_func_delete_window(header_t *control,void *data) callback_func_delete_window: mov eax,[esp+4] ;control QuitLibGUI eax ret ;void callback_func1(header_t *control,void *data) callback_func1: ;save esi befor use push esi mov esi,btext1 call gui_ksys_debug_out_str pop esi ret ;void callback_func2(header_t *control,void *data) callback_func2: ;save esi befor use push esi mov esi,btext2 call gui_ksys_debug_out_str pop esi ret ;void callback_func3(header_t *control,void *data) callback_func3: ;save esi befor use push esi mov esi,btext3 call gui_ksys_debug_out_str pop esi ret ;void callback_func4(header_t *control,void *data) callback_func4: ;save esi befor use push esi mov esi,btext4 call gui_ksys_debug_out_str pop esi ret align 4 ;----------------------data-------------------- btext db 'Click Me!',0 btext1 db 13,10,'entry in button',0 btext2 db 13,10,'button pressed',0 btext3 db 13,10,'button released',0 btext4 db 13,10,'leave button',0 bdata gui_button_data_t window rd 1;parent_t *window button rd 1;gui_button_t *button i_end: