/programs/develop/libraries/libGUI/examples/src/text.c |
---|
File deleted |
/programs/develop/libraries/libGUI/examples/src/button.c |
---|
File deleted |
/programs/develop/libraries/libGUI/examples/src/progress_bar.c |
---|
File deleted |
/programs/develop/libraries/libGUI/examples/src/image.c |
---|
File deleted |
/programs/develop/libraries/libGUI/examples/src/scroll_bar.c |
---|
File deleted |
/programs/develop/libraries/libGUI/examples/src/scrolled_window.c |
---|
File deleted |
/programs/develop/libraries/libGUI/examples/src/ASM/BUTTON.ASM |
---|
0,0 → 1,115 |
;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: |
/programs/develop/libraries/libGUI/examples/src/ASM/IMAGE.ASM |
---|
0,0 → 1,92 |
;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: |
/programs/develop/libraries/libGUI/examples/src/ASM/PROGRESS_BAR.ASM |
---|
0,0 → 1,191 |
;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],320,57 |
;set callback function for button close window |
SetCallbackFunction [window],DELETE_EVENT,callback_func_delete_window,NULL |
;create control Text |
mov [pbdata.x],5 |
mov [pbdata.y],5 |
mov [pbdata.wight],300;use default system libGUI font |
mov [pbdata.height],25;use background for text |
mov [pbdata.progress],dword 0.0 |
CreateProgressBar pbdata |
mov [progress_bar],eax |
;create timer for update progress level each 50 milliseconds |
SetTimerCallbackForFunction [window],5,progress_bar_callback,[progress_bar] |
;pack control Text in window |
PackControls [window],[progress_bar] |
;redraw progress bar automatically each 50 milleseconds |
SetProgressBarPulse [progress_bar],5 |
;start libGUI main loop |
LibGUImain [window] |
;void progress_bar_callback(void *data) |
progress_bar_callback: |
mov eax,[esp+4];pointer to control progress bar |
mov ecx,[eax+HEADER_SIZE];progress |
mov [progress],ecx |
mov [increment],dword 0.01 |
mov [digit],100 |
fld dword[increment] |
fld dword[progress] |
fadd st0,st1 |
fst dword [progress] |
fild dword[digit] |
fmul st0,st1 |
fistp dword[digit] |
fstp st0 ;free progress |
fstp st0 ;free increment |
cmp [progress],dword 1.0 |
jl no_max_progress |
mov [progress],dword 0.0 |
no_max_progress: |
mov ecx,[progress] |
mov [eax+HEADER_SIZE],ecx ;save new value of progress |
;print progressvalue in string |
push ebx ;save befor use |
mov eax,txt |
add eax,9 |
mov ebx,eax ;save eax |
push eax |
push [digit] |
call dec_to_str |
add ebx,eax |
mov [ebx],byte '%' |
mov [ebx+1],byte 0 |
pop ebx |
;set text for progress bar |
ProgressBarSetText [progress_bar],txt |
ret |
;void callback_func_delete_window(header_t *control,void *data) |
callback_func_delete_window: |
mov eax,[esp+4] ;control |
QuitLibGUI eax |
ret |
;int dectostr(int digit,char *str) |
dec_to_str: |
mov eax,[esp+4];digit |
mov ecx,[esp+8];string |
push ebx esi edi ;save befor use |
cmp eax,10 |
jl print_digit |
mov ebx,eax ;save digit |
mov edi,1 |
mov esi,10 |
next_i_div: |
cdq ;extend to edx:eax |
idiv esi ;eax=eax/esi |
test eax,eax |
jz no_mul_ten |
imul edi,esi ;edi=edi*10 |
no_mul_ten: |
mov eax,edx ;eax=eax % 10 |
cmp eax,esi |
jae next_i_div |
test eax,eax |
jnz no_multyple_10 |
;print digit in string |
mov [ecx],byte '1' |
inc ecx |
mov eax,ebx ;eax=digit |
next_i_str_: |
cdq ;extend to edx:eax |
idiv edi ;eax=eax/edi |
mov [ecx],byte '0' |
inc ecx |
mov eax,edx ;eax=eax % edi |
cmp eax,10 |
jae next_i_str_ |
dec ecx |
jmp exit_multyple |
no_multyple_10: |
;print digit in string |
mov eax,ebx ;eax=digit |
next_i_str: |
cdq ;extend to edx:eax |
idiv edi ;eax=eax/edi |
add al,byte '0' ;al='0'+digit |
mov [ecx],byte al |
inc ecx |
mov eax,edx ;eax=eax % edi |
cmp eax,10 |
jae next_i_str |
print_digit: |
add al,byte '0' |
mov [ecx],byte al |
exit_multyple: |
mov eax,ecx |
pop edi esi ebx |
sub eax,[esp+8] ;number of printed simbols |
inc eax |
ret 8 |
align 4 |
;----------------data----------------- |
txt db 'PROGRESS ',0,0,0,0,0,0 |
pbdata gui_progress_bar_data_t |
window rd 1 |
progress_bar rd 1 |
progress rd 1 |
increment rd 1 |
digit rd 1 |
i_end: |
/programs/develop/libraries/libGUI/examples/src/ASM/SCROLLED_WINDOW.ASM |
---|
0,0 → 1,111 |
;Hello world example |
use32 |
db 'MENUET01' |
dd 1 |
dd start |
dd i_end |
dd 0x10000 |
dd 0x10000 |
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],270,282 |
;set callback function for button close window |
SetCallbackFunction [window],DELETE_EVENT,callback_func_delete_window,NULL |
;create control HorizontalScrollBar |
mov [swdata.x],5 |
mov [swdata.y],5 |
mov [swdata.wight],250 |
mov [swdata.height],250 |
CreateScrolledWindow swdata |
mov [scrolled_window],eax |
;create buttons |
mov ecx,10 |
next_j: |
mov edx,10 |
next_i: |
mov esi,edx ;i |
mov edi,ecx ;j |
dec esi ;i-1 |
dec edi ;j-1 |
imul esi,75 ;(i-1)*75 |
imul edi,25 ;(j-1)*25 |
add esi,10 ;10+(i-1)*75 |
add edi,10 ;10+(j-1)*25 |
mov [bdata.x],esi |
mov [bdata.y],edi |
mov [bdata.wight],70 |
mov [bdata.height],20 |
push ecx edx esi edi;save registers befor call |
CreateButtonWithText bdata,btxt |
mov [button],eax |
;set callback functions for scroll bars |
SetCallbackFunction [button],BUTTON_PRESSED_EVENT,callback_func,NULL |
;pack control Button in ScrolledWindow |
ScrolledWindowPackControls [scrolled_window],[button] |
pop edi esi edx ecx |
dec edx |
jnz next_i |
dec ecx |
jnz next_j |
;pack scrolled window in window |
PackControls [window],[scrolled_window] |
;start libGUI main loop |
LibGUImain [window] |
;void callback_func(header_t *control,void *data) |
callback_func: |
mov eax,[esp+4];pointer to control |
push esi;save befor use |
mov esi,message |
call gui_ksys_debug_out_str |
pop esi |
ret |
;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----------------- |
btxt db 'button',0 |
message db 13,10,'pressed button',0 |
bdata gui_button_data_t |
swdata gui_scrolled_window_data_t |
window rd 1 |
scrolled_window rd 1 |
button rd 1 |
i_end: |
/programs/develop/libraries/libGUI/examples/src/ASM/SCROLL_BAR.ASM |
---|
0,0 → 1,110 |
;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],270,207 |
;set callback function for button close window |
SetCallbackFunction [window],DELETE_EVENT,callback_func_delete_window,NULL |
;create control HorizontalScrollBar |
mov [hsbdata.x],5 |
mov [hsbdata.y],5 |
mov [hsbdata.wight],250 |
mov [hsbdata.height],16 |
mov [hsbdata.ruller_size],dword 0.2 ;ruler size 0..1 |
mov [hsbdata.ruller_pos],dword 0.5 ;ruler position 0..1 |
mov [hsbdata.ruller_step],dword 0.1 ;ruler step 0..1 |
CreateHorizontalScrollBar hsbdata |
mov [hscroll_bar],eax |
;create control HorizontalScrollBar |
mov [vsbdata.x],5 |
mov [vsbdata.y],26 |
mov [vsbdata.wight],16 |
mov [vsbdata.height],150 |
mov [vsbdata.ruller_size],dword 0.5 ;ruler size 0..1 |
mov [vsbdata.ruller_pos],dword 0.05 ;ruler position 0..1 |
mov [vsbdata.ruller_step],dword 0.1 ;ruler step 0..1 |
CreateVerticalScrollBar vsbdata |
mov [vscroll_bar],eax |
;set callback functions for scroll bars |
SetCallbackFunction [hscroll_bar],SCROLLBAR_CHANGED_EVENT,hscroll_bar_callback,NULL |
SetCallbackFunction [vscroll_bar],SCROLLBAR_CHANGED_EVENT,vscroll_bar_callback,NULL |
;pack controls in window |
PackControls [window],[hscroll_bar] |
PackControls [window],[vscroll_bar] |
;start libGUI main loop |
LibGUImain [window] |
;void hscroll_bar_callback(header_ *control,void *data) |
hscroll_bar_callback: |
mov eax,[esp+4];pointer to control scroll bar |
push ebx |
mov ebx,[eax+HEADER_SIZE];size of ruler |
mov ecx,[eax+HEADER_SIZE+4];position of ruler |
mov edx,[eax+HEADER_SIZE+8];step change position of ruler by press |
;buttons of scroll bar |
pop ebx |
ret |
;void hscroll_bar_callback(header_ *control,void *data) |
vscroll_bar_callback: |
mov eax,[esp+4];pointer to control scroll bar |
push ebx ;save befor use |
mov ebx,[eax+HEADER_SIZE];size of ruler |
mov ecx,[eax+HEADER_SIZE+4];position of ruler |
mov edx,[eax+HEADER_SIZE+8];step change position of ruler by press |
;buttons of scroll bar |
pop ebx |
ret |
;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----------------- |
hsbdata gui_scroll_bar_data_t |
vsbdata gui_scroll_bar_data_t |
window rd 1 |
hscroll_bar rd 1 |
vscroll_bar rd 1 |
i_end: |
/programs/develop/libraries/libGUI/examples/src/ASM/TEXT.ASM |
---|
0,0 → 1,63 |
;Hello world example |
use32 |
db 'MENUET01' |
dd 1 |
dd start |
dd i_end |
dd 0x800 |
dd 0x800 |
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],92,46 |
;set callback function for button close window |
SetCallbackFunction [window],DELETE_EVENT,callback_func_delete_window,NULL |
;create control Text |
mov [txtdata.x],5 |
mov [txtdata.y],5 |
mov [txtdata.font],NULL;use default system libGUI font |
mov [txtdata.background],TRUE;use background for text |
mov [txtdata.color],0xffffff;text color |
mov [txtdata.background_color],0xff8000 |
mov [txtdata.text],txt |
CreateText txtdata |
mov [text],eax |
;pack control Text in window |
PackControls [window],[text] |
;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----------------- |
txt db 'Hello world!',0 |
txtdata gui_text_data_t |
window rd 1;parent_t *window |
text rd 1;gui_text_data_t *text |
i_end: |
/programs/develop/libraries/libGUI/examples/src/ASM |
---|
Property changes: |
Added: tsvn:logminsize |
+5 |
\ No newline at end of property |
/programs/develop/libraries/libGUI/examples/src/C/button.c |
---|
0,0 → 1,70 |
/* |
test libGUI library |
*/ |
#include "stdarg.h" |
#include "libGUI.h" |
#include "stdio.h" |
#include "stdlib.h" |
#include "string.h" |
#define FALSE 0 |
#define TRUE 1 |
void callback_func_delete_window(header_t *control,void *data) |
{ |
QuitLibGUI((parent_t*)control); |
} |
void callback_func1(header_t *control,void *data) |
{ |
printf("\nentry in button"); |
} |
void callback_func2(header_t *control,void *data) |
{ |
printf("\nbutton pressed"); |
} |
void callback_func3(header_t *control,void *data) |
{ |
printf("\nbutton released"); |
} |
void callback_func4(header_t *control,void *data) |
{ |
printf("\nleave button"); |
} |
int main(int argc, char *argv[]) |
{ |
parent_t *window; |
gui_callback_t *id1,*id2,*id3,*id4; |
gui_button_data_t button_data; |
gui_button_t *button; |
//load libGUI library |
LoadLibGUI(NULL); |
//create main window |
window=CreateWindow(); |
SetWindowSizeRequest(window,90,60); |
//create button |
button_data.x=5; |
button_data.y=5; |
button_data.width=70; |
button_data.height=20; |
//create button with text |
button=CreateButtonWithText(&button_data,"Click my!"); |
//set callback functions for button close window |
SetCallbackFunction(window,DELETE_EVENT,&callback_func_delete_window,NULL); |
//set callback functions for button |
id1=SetCallbackFunction(button,BUTTON_ENTER_EVENT,&callback_func1,NULL); |
id2=SetCallbackFunction(button,BUTTON_PRESSED_EVENT,&callback_func2,NULL); |
id3=SetCallbackFunction(button,BUTTON_RELEASED_EVENT,&callback_func3,NULL); |
id4=SetCallbackFunction(button,BUTTON_LEAVE_EVENT,&callback_func4,NULL); |
//pack button in window |
PackControls(window,button); |
//start main libGUI loop |
LibGUImain(window); |
} |
/programs/develop/libraries/libGUI/examples/src/C/image.c |
---|
0,0 → 1,52 |
/* |
test libGUI library |
*/ |
#include "stdarg.h" |
#include "libGUI.h" |
#include "stdlib.h" |
#include "stdio.h" |
void callback_func_delete_window(header_t *control,void *data) |
{ |
QuitLibGUI((parent_t*)control); |
} |
int main(int argc, char *argv[]) |
{ |
parent_t *window; |
gui_image_data_t imdata; |
gui_image_t *image; |
int i,j; |
unsigned int *img; |
//load libGUI library |
LoadLibGUI(NULL);//use default system path to library |
//create main window |
window=CreateWindow(); |
//change window size |
SetWindowSizeRequest(window,220,142); |
//set callback function for close window button |
SetCallbackFunction(window,DELETE_EVENT,&callback_func_delete_window,NULL); |
//create image |
imdata.x=5; |
imdata.y=5; |
imdata.width=200; |
imdata.height=100; |
imdata.bits_per_pixel=32;//bits per pixel |
image=CreateImage(&imdata); |
img=(unsigned int*)image->img; |
//generate 32 bits image |
for(i=0;i<GetControlSizeY(image);i++) |
{ |
for(j=0;j<GetControlSizeX(image);j++) |
{ |
*img=100*(i*i+j*j-i*3+2*j); |
img++; |
} |
} |
//pack image in window |
PackControls(window,image); |
//start main libGUI loop |
LibGUImain(window); |
} |
/programs/develop/libraries/libGUI/examples/src/C/progress_bar.c |
---|
0,0 → 1,66 |
/* |
test libGUI library |
*/ |
#include "stdarg.h" |
#include "libGUI.h" |
#include "string.h" |
void callback_func_delete_window(header_t *control,void *data) |
{ |
QuitLibGUI((parent_t*)control); |
} |
void ProgressBarCallback(void *data) |
{ |
gui_progress_bar_t *progress_bar; |
int progress; |
static char txt[16]; |
progress_bar=(gui_progress_bar_t*)data; |
progress_bar->progress+=0.01;//incrase progress |
if (progress_bar->progress>1.0) progress_bar->progress=0.0; |
//calculate progress level in % |
progress=progress_bar->progress*100; |
snprintf(txt,16,"progress %d%%",progress); |
//set text for progress bar |
ProgressBarSetText(progress_bar,txt); |
} |
int main(int argc, char *argv[]) |
{ |
parent_t *window; |
gui_progress_bar_data_t progress_bar_data; |
gui_progress_bar_t *progress_bar; |
gui_timer_t *timer; |
//load libGUI library |
LoadLibGUI(NULL);//use default system path to library |
//create main window |
window=CreateWindow(); |
//change size of main window |
SetWindowSizeRequest(window,320,57); |
//set callback function for button close window |
SetCallbackFunction(window,DELETE_EVENT,&callback_func_delete_window,NULL); |
//create progress bar |
progress_bar_data.x=5; |
progress_bar_data.y=5; |
progress_bar_data.width=300; |
progress_bar_data.height=25; |
progress_bar_data.progress=0.0; |
progress_bar=CreateProgressBar(&progress_bar_data); |
//create timer for update progress level each 50 millisecunds |
timer=SetTimerCallbackForFunction(window,5,&ProgressBarCallback,progress_bar); |
//pack progress bar in window |
PackControls(window,progress_bar); |
//update progress bar automatically each 50 millisecund |
SetProgressBarPulse(progress_bar,5); |
//call main libGUI loop |
LibGUImain(window); |
} |
/programs/develop/libraries/libGUI/examples/src/C/scroll_bar.c |
---|
0,0 → 1,76 |
/* |
test libGUI library |
*/ |
#include "stdarg.h" |
#include "libGUI.h" |
#include "stdio.h" |
#define FALSE 0 |
#define TRUE 1 |
void callback_func_delete_window(header_t *control,void *data) |
{ |
printf("\nlibGUI quit..."); |
QuitLibGUI((parent_t*)control); |
} |
void ScrollStateH(header_t *control,void *data) |
{ |
gui_scroll_bar_t *hsc; |
hsc=(gui_scroll_bar_t*)control; |
printf("\nhorizontal ruler position %d%%",(int)(hsc->ruller_pos*100)); |
} |
void ScrollStateV(header_t *control,void *data) |
{ |
gui_scroll_bar_t *vsc; |
vsc=(gui_scroll_bar_t*)control; |
printf("\nvertical ruler position %d%%",(int)(vsc->ruller_pos*100)); |
} |
int main(int argc, char *argv[]) |
{ |
parent_t *window; |
gui_callback_t *id1,*id2; |
gui_scroll_bar_data_t horizontal_sbar_data; |
gui_scroll_bar_data_t vertical_sbar_data; |
gui_scroll_bar_t *ScrollBarH; |
gui_scroll_bar_t *ScrollBarV; |
//load libGUI library |
LoadLibGUI(NULL);//use default system path to library |
//create main window |
window=CreateWindow(); |
//change size of window |
SetWindowSizeRequest(window,270,207); |
//create horizontal scroll bar |
horizontal_sbar_data.x=5; |
horizontal_sbar_data.y=5; |
horizontal_sbar_data.width=250; |
horizontal_sbar_data.height=16; |
horizontal_sbar_data.ruller_size=0.2;//size of ruler E [0,1] |
horizontal_sbar_data.ruller_pos=0.5;//ruler position E [0,1] |
horizontal_sbar_data.ruller_step=0.1;//step of change ruler pos after press of button E [0,1] |
//create vertical scroll bar |
vertical_sbar_data.x=5; |
vertical_sbar_data.y=26; |
vertical_sbar_data.width=16; |
vertical_sbar_data.height=150; |
vertical_sbar_data.ruller_size=0.5;//size of ruler E [0,1] |
vertical_sbar_data.ruller_pos=0.05;//ruler position E [0,1] |
vertical_sbar_data.ruller_step=0.1;//step of change ruler pos after press of button E [0,1] |
//create horizontal and vertical scroll bars |
ScrollBarH=CreateHorizontalScrollBar(&horizontal_sbar_data); |
ScrollBarV=CreateVerticalScrollBar(&vertical_sbar_data); |
//set callback functions for scroll bars |
id1=SetCallbackFunction(ScrollBarH,SCROLLBAR_CHANGED_EVENT,&ScrollStateH,NULL); |
id2=SetCallbackFunction(ScrollBarV,SCROLLBAR_CHANGED_EVENT,&ScrollStateV,NULL); |
//pack scroll bars in window |
PackControls(window,ScrollBarH); |
PackControls(window,ScrollBarV); |
//start minl libGUI loop |
LibGUImain(window); |
} |
/programs/develop/libraries/libGUI/examples/src/C/scrolled_window.c |
---|
0,0 → 1,67 |
/* |
test libGUI library |
*/ |
#include "stdarg.h" |
#include "libGUI.h" |
#include "stdio.h" |
#include "stdlib.h" |
#include "string.h" |
void callback_func_delete_window(header_t *control,void *data) |
{ |
QuitLibGUI((parent_t*)control); |
} |
void callback_func(header_t *control,void *data) |
{ |
printf("\npressed button with ID=%d control=%d",(int)control->ctrl_ID,(int)control); |
} |
int main(int argc, char *argv[]) |
{ |
parent_t *window; |
gui_button_data_t button_data; |
gui_button_t *button; |
gui_scrolled_window_data_t scroll_win_data; |
gui_scrolled_window_t *ScrollWin; |
int i,j; |
static char txt[20]; |
//load libGUI library |
LoadLibGUI(NULL); |
//create main window |
window=CreateWindow(); |
//change size of window |
SetWindowSizeRequest(window,270,282); |
//create scrolled window |
scroll_win_data.x=5; |
scroll_win_data.y=5; |
scroll_win_data.width=250; |
scroll_win_data.height=250; |
ScrollWin=CreateScrolledWindow(&scroll_win_data); |
//create buttons |
for(j=1;j<=10;j++) |
{ |
for(i=1;i<=10;i++) |
{ |
button_data.x=10+(i-1)*75; |
button_data.y=10+(j-1)*25; |
button_data.width=70; |
button_data.height=20; |
snprintf(txt,20,"(%d,%d)",j,i); |
button=CreateButtonWithText(&button_data,txt); |
SetCallbackFunction(button,BUTTON_PRESSED_EVENT,&callback_func,NULL); |
ScrolledWindowPackControls(ScrollWin,button); |
} |
} |
//set callback function for button close window |
SetCallbackFunction(window,DELETE_EVENT,&callback_func_delete_window,NULL); |
//pack scrolled window in window |
PackControls(window,ScrollWin); |
//start main libGUI loop |
LibGUImain(window); |
} |
/programs/develop/libraries/libGUI/examples/src/C/text.c |
---|
0,0 → 1,45 |
/* |
hello world example |
*/ |
#include "libGUI.h" |
#define TRUE 1 |
#define FALSE 0 |
void callback_func_delete_window(header_t *control,void *data) |
{ |
QuitLibGUI((parent_t*)control); |
} |
int main(int argc, char *argv[]) |
{ |
parent_t *window; |
gui_text_data_t txtdata; |
gui_text_t *text; |
//load libGUI library |
LoadLibGUI(NULL);//load from default system path to library |
//create main window |
window=CreateWindow(); |
//change size of window |
SetWindowSizeRequest(window,92,46); |
//set callback function for button close window |
SetCallbackFunction(window,DELETE_EVENT,&callback_func_delete_window,NULL); |
//create control text |
txtdata.x=5; |
txtdata.y=5; |
txtdata.font=NULL;//use default system libGUI font |
txtdata.background=TRUE;//use background for text |
txtdata.color=0xffffff;//text color |
txtdata.background_color=0xff8000;//background color |
txtdata.text="Hello world!"; |
text=CreateText(&txtdata); |
//pack control text in window |
PackControls(window,text); |
//start libGUI main loop |
LibGUImain(window); |
} |
/programs/develop/libraries/libGUI/examples/src/C |
---|
Property changes: |
Added: tsvn:logminsize |
+5 |
\ No newline at end of property |