;Hello world example use32 db 'MENUET01' dd 1 dd start dd i_end dd 0x1000 dd 0x1000 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],220,142 ;set callback function for button close window SetCallbackFunction [window],DELETE_EVENT,callback_func_delete_window,NULL ;create control Image mov [imgdata.x],5 mov [imgdata.y],5 mov [imgdata.wight],200 mov [imgdata.height],100 mov [imgdata.bits_per_pixel],32 CreateImage imgdata mov [image],eax ;copy data from pointer to local variable ;for access to filds of structure mov ecx,[image] mov eax,[ecx+HEADER_SIZE+2] ;pointer to picture xor ecx,ecx for_size_y: xor edx,edx for_size_x: ;generate color mov ebx,edx ;i mov esi,ecx ;j imul ebx,ebx ;i*i imul esi,esi ;j*j add ebx,esi ;i*i+j*J mov esi,edx ;i lea esi,[esi+2*esi] ;i*3 sub ebx,esi ;i*i+j*j-i*3 mov esi,ecx ;j shl esi,1 ;j*2 add ebx,esi ;i*i+j*j-i*3+2*j imul ebx,100 ;100*(i*i+j*j-i*3+2*j) mov [eax],ebx add eax,4 inc edx cmp edx,200 jl for_size_x inc ecx cmp ecx,100 jl for_size_y ;pack control Text in window PackControls [window],[image] ;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 align 4 ;----------------data----------------- imgdata gui_image_data_t window rd 1;parent_t *window image rd 1 i_end: