Subversion Repositories Kolibri OS

Rev

Rev 8108 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8108 Rev 8110
1
// BOXLIB EXAMPLE (scrollbar)
1
// BOXLIB EXAMPLE (scrollbar, progressbar)
2
// Writed by maxcodehack
2
// Writed by maxcodehack
3
#include 
3
#include 
4
#include 
4
#include 
5
#include 
5
#include 
6
 
6
 
7
#define evReDraw  1
7
#define evReDraw  1
8
#define evKey     2
8
#define evKey     2
9
#define evButton  3
9
#define evButton  3
10
#define evExit    4
10
#define evExit    4
11
#define evDesktop 5
11
#define evDesktop 5
12
#define evMouse   6
12
#define evMouse   6
13
#define evIPC     7
13
#define evIPC     7
14
#define evNetwork 8
14
#define evNetwork 8
15
#define evDebug   9
15
#define evDebug   9
16
 
16
 
17
#define WIN_W 640
17
#define WIN_W 640
18
#define WIN_H 563
18
#define WIN_H 563
19
 
19
 
20
char* title = "Boxlib example";
20
char* title = "Boxlib example";
21
int win_bg_color = 0x858585;
21
int win_bg_color = 0x858585;
22
scrollbar scroll = {15, WIN_W - 26, WIN_H - 29, 0, 0, 2, 115, 15, 0,0x707070,0xD2CED0,0x555555,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1};
22
scrollbar scroll = {15, WIN_W - 26, WIN_H - 29, 0, 0, 2, 215, 15, 0,0x707070,0xD2CED0,0x555555,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1};
-
 
23
progressbar pg = {0, 10, 10, 270, 35, 1, 0, 200, 0xB4B4B4, 0x2728FF, 0xA9A9A9};
23
 
24
 
24
void draw_window(){
25
void draw_window(){
25
        begin_draw(); 
26
        begin_draw(); 
26
        sys_create_window(215,100,WIN_W,WIN_H,title,win_bg_color,0x34);
27
        sys_create_window(215,100,WIN_W,WIN_H,title,win_bg_color,0x34);
27
        scrollbar_v_draw(&scroll);
28
        scrollbar_v_draw(&scroll);
-
 
29
        progressbar_draw(&pg);
28
        end_draw();
30
        end_draw();
29
}
31
}
30
 
32
 
31
//// EVENTMASK
33
//// EVENTMASK
32
#define EVM_REDRAW        1
34
#define EVM_REDRAW        1
33
#define EVM_KEY           2
35
#define EVM_KEY           2
34
#define EVM_BUTTON        4
36
#define EVM_BUTTON        4
35
#define EVM_EXIT          8
37
#define EVM_EXIT          8
36
#define EVM_BACKGROUND    16
38
#define EVM_BACKGROUND    16
37
#define EVM_MOUSE         32
39
#define EVM_MOUSE         32
38
#define EVM_IPC           64
40
#define EVM_IPC           64
39
#define EVM_STACK         128
41
#define EVM_STACK         128
40
#define EVM_DEBUG         256
42
#define EVM_DEBUG         256
41
#define EVM_STACK2        512
43
#define EVM_STACK2        512
42
#define EVM_MOUSE_FILTER  0x80000000
44
#define EVM_MOUSE_FILTER  0x80000000
43
#define EVM_CURSOR_FILTER 0x40000000
45
#define EVM_CURSOR_FILTER 0x40000000
44
//// EVENTMASK
46
//// EVENTMASK
45
 
47
 
46
 
48
 
47
int main()
49
int main()
48
{
50
{
49
	kolibri_boxlib_init();
51
	kolibri_boxlib_init();
50
	
52
	
51
	set_event_mask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
53
	set_event_mask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
52
	while(1)
54
	while(1)
53
	{
55
	{
54
		switch(get_os_event())
56
		switch(get_os_event())
55
		{
57
		{
56
			case evButton:
58
			case evButton:
57
				if (get_os_button() == 1) exit(0);
59
				if (get_os_button() == 1) exit(0);
58
				break;
60
				break;
59
		  
61
		  
60
			case evKey:
62
			case evKey:
61
				get_key();
63
				get_key();
62
				break;
64
				break;
63
			 
65
			 
64
			case evReDraw:
66
			case evReDraw:
65
				draw_window();
67
				draw_window();
66
				break;
68
				break;
67
			case evMouse:
69
			case evMouse:
68
				scrollbar_v_mouse(&scroll);
70
				scrollbar_v_mouse(&scroll);
-
 
71
				pg.value = scroll.position;
-
 
72
				progressbar_draw(&pg);
69
				break;
73
				break;
70
		}
74
		}
71
	}
75
	}
72
}
76
}