Subversion Repositories Kolibri OS

Rev

Rev 3067 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3067 leency 1
//lev
2
//:dword boxlib = #abox_lib;
3076 leency 3
char abox_lib[]="/sys/lib/box_lib.obj";
3067 leency 4
 
3076 leency 5
char aboxlib_init[]       = "lib_init";
6
char aScrollbar_v_draw[]  = "scrollbar_v_draw";
7
char aScrollbar_v_mouse[] = "scrollbar_v_mouse";
8
char aScrollbar_h_draw[]  = "scrollbar_h_draw";
9
char aScrollbar_h_mouse[] = "scrollbar_h_mouse";
10
char aVersion_scrollbar[] = "version_scrollbar";
3067 leency 11
 
3076 leency 12
dword boxlib_init       = #aboxlib_init;
13
dword scrollbar_v_draw  = #aScrollbar_v_draw;
14
dword scrollbar_v_mouse = #aScrollbar_v_mouse;
15
dword scrollbar_h_draw  = #aScrollbar_h_draw;
16
dword scrollbar_h_mouse = #aScrollbar_h_mouse;
17
dword version_scrollbar = #aVersion_scrollbar;
3067 leency 18
 
19
dword  sc_am__ = 0x0;
20
dword  sc_bm__ = 0x0;
21
 
22
struct scroll_bar
23
{
24
//scroll_bar:
25
word size_x,//		equ [edi]
26
start_x,//		equ [edi+2]
27
size_y,//		equ [edi+4]
28
start_y;//		equ [edi+6]
29
dword btn_height, //		equ [edi+8]
30
type,//			equ [edi+12]
31
max_area,//		equ [edi+16]
32
cur_area,//		equ [edi+20]
33
position,//		equ [edi+24]
34
bckg_col,//		equ [edi+28]
35
frnt_col,//		equ [edi+32]
36
line_col,//		equ [edi+36]
37
redraw;//		equ [edi+40]
38
word delta,//		equ [edi+44]
39
delta2,//		equ [edi+46]
40
r_size_x,//		equ [edi+48]
41
r_start_x,//	equ [edi+50]
42
r_size_y,//		equ [edi+52]
43
r_start_y;//	equ [edi+54]
44
dword m_pos,//		equ [edi+56]
45
m_pos_2,//		equ [edi+60]
46
m_keys,//		equ [edi+64]
47
run_size,//		equ [edi+68]
48
position2,//	equ [edi+72]
49
work_size,//	equ [edi+76]
50
all_redraw,//	equ [edi+80]
51
ar_offset;//	equ [edi+84]
52
};
53
 
54
/*scroll_bar scroll1 = {
55
18,//word size_x,
56
200, //start_x,
57
398, //size_y,
58
44,//start_y;
59
18,//dword btn_height,
60
0,//type,
61
115,//max_area, (100+cur_area)
62
15,//cur_area,
63
0,//position,
64
0xeeeeee,//bckg_col,
65
0xD2CED0,//frnt_col,
66
0x555555,//line_col,
67
0,//redraw;
68
0,//word delta,
69
0,//delta2,
70
0,//r_size_x,
71
0,//r_start_x,
72
0,//r_size_y,
73
0,//r_start_y;
74
0,//dword m_pos,
75
0,//m_pos_2,
76
0,//m_keys,
77
0,//run_size,
78
0,//position2,
79
0,//work_size,
80
1,//all_redraw,
81
1//ar_offset;
82
};*/
83
 
84
//btn_height - высота боковых кнопок (левая и правая для гориз. и верхняя и нижняя для верт.)
85
//type - type - 0-1-2, остальные выглядят как 0.
86
//max_area - область максимальная, актуально когда не влазит в отображаемую область, т.е. случай активности компонента (весь максимальный размер документа)
87
//cur_area - размер бегунка//область отображаемая (какая часть документа влазит в экран)
88
//position - позиция бегунка изменяемая от 0 до значения (max_area-cur_area)
89
//bckg_col - цвет внутренний, применяется для областей между бегунком и кноками
90
//frnt_col - цвет наружный, применяется для областей отличных от применяемых в bckg_col
91
//line_col - цвет линий и стрелок на кнопках
92
//redraw - индикатор необходимости перерисовки управляемой области учитывая изменение position и cur_area
93
//delta2 - индикатор захвата фокуса скроллбаром (удержание бегунка)
94
//all_redraw - флаг устанавливаемый в 1 для перерисовки всего компонента, если поставить 0, то перерисовка происходит только для области бегунка. Введено для ускорения отрисовки, поскольку не во всех случаях требуется принудитеьно отрисовывать все части компонента. Когда вызывается по событию мыши всегда отрисовывается самим компонентом со значением 0.
95
//ar_offset - величина смещения при однократном нажатии боковой кнопки.