Subversion Repositories Kolibri OS

Rev

Rev 8949 | Rev 8952 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8949 Rev 8951
Line -... Line 1...
-
 
1
//===================================================//
-
 
2
//                                                   //
-
 
3
//                     SCROLL                        //
-
 
4
//                                                   //
-
 
5
//===================================================//
-
 
6
 
1
void DrawScroll(bool _scroll_used) {
7
void DrawScroll(bool _scroll_used) {
2
	dword i;
8
	dword i;
Line 3... Line 9...
3
 
9
 
4
	dword sc_x = files.x + files.w;
10
	dword sc_x = files.x + files.w;
Line 30... Line 36...
30
	}
36
	}
31
 
37
 
Line 32... Line 38...
32
	sc_center = sc_slider_h / 2 + sc_slider_y;
38
	sc_center = sc_slider_h / 2 + sc_slider_y;
Line -... Line 39...
-
 
39
 
33
 
40
	DrawBar(sc_x+3,   sc_center,   10, 1, sc.work_graph);
34
	DrawBar(sc_x+4,   sc_center-3, 8,  1, sc.work_graph);
41
	DrawBar(sc_x+4,   sc_center-3, 8,  1, sc.work_graph);
Line 35... Line -...
35
	DrawBar(sc_x+4+1, sc_center-2, 8,  1, sc.work_light);
-
 
36
 
42
	DrawBar(sc_x+4,   sc_center+3, 8,  1, sc.work_graph);
37
	DrawBar(sc_x+3,   sc_center,   10, 1, sc.work_graph);
-
 
38
	DrawBar(sc_x+3+1, sc_center+1, 10, 1, sc.work_light);
43
 
39
 
44
	DrawBar(sc_x+3+1, sc_center+1, 10, 1, sc.work_light);
Line 40... Line 45...
40
	DrawBar(sc_x+4,   sc_center+3, 8,  1, sc.work_graph);
45
	DrawBar(sc_x+4+1, sc_center-2, 8,  1, sc.work_light);
41
	DrawBar(sc_x+4+1, sc_center+4, 8,  1, sc.work_light);
46
	DrawBar(sc_x+4+1, sc_center+4, 8,  1, sc.work_light);
42
 
47
 
Line 55... Line 60...
55
		DrawBar(sc_x+2, sc_slider_y + sc_slider_h+2, 14, sc_h-sc_slider_h-sc_slider_y+sc_y-2, col.slider_bg_big);
60
		DrawBar(sc_x+2, sc_slider_y + sc_slider_h+2, 14, sc_h-sc_slider_h-sc_slider_y+sc_y-2, col.slider_bg_big);
56
	}
61
	}
57
}
62
}
58
 
63
 
Line -... Line 64...
-
 
64
//===================================================//
-
 
65
//                                                   //
-
 
66
//                  FLAT BUTTONS                     //
-
 
67
//                                                   //
-
 
68
//===================================================//
-
 
69
 
59
void DrawFlatButtonSmall(dword x,y,width,height,id,text)
70
void DrawFlatButtonSmall(dword x,y,width,height,id,text)
60
{
71
{
61
	DrawRectangle(x,y,width,height,sc.work_graph);
72
	DrawRectangle(x,y,width,height,sc.work_graph);
62
	DrawRectangle3D(x+1,y+1,width-2,height-2, sc.work_light, sc.work_dark);
73
	DrawRectangle3D(x+1,y+1,width-2,height-2, sc.work_light, sc.work_dark);
63
	PutPixel(x+width-1, y+1, sc.work_dark);
74
	PutPixel(x+width-1, y+1, sc.work_dark);
64
	DrawFilledBar(x+2, y+2, width-3, height-3);
75
	DrawFilledBar(x+2, y+2, width-3, height-3);
65
	if (id) DefineHiddenButton(x+1,y+1,width-2,height-2,id);
76
	if (id) DefineHiddenButton(x+1,y+1,width-2,height-2,id);
66
	WriteText(-strlen(text)*6+width/2+x+1,height/2+y-3,0x80,sc.work_text,text);
77
	WriteText(-strlen(text)*6+width/2+x+1,height/2+y-3,0x80,sc.work_text,text);
67
}
78
}
Line -... Line 79...
-
 
79
 
-
 
80
void DrawFilledBar(dword x, y, w, h)
-
 
81
{ int i; for (i=0; i
68
 
82
 
69
void DrawFuncButton(dword x,y,width,id,number,text)
83
void DrawFuncButton(dword x,y,width,id,number,text)
70
{
84
{
71
	#define FW 12
85
	#define FW 12
72
	#define FH 16
86
	#define FH 16
Line 90... Line 104...
90
	$add ecx, 0xFFFfff-0x444444
104
	$add ecx, 0xFFFfff-0x444444
91
	$int 64
105
	$int 64
92
}
106
}
93
 
107
 
Line -... Line 108...
-
 
108
//===================================================//
-
 
109
//                                                   //
-
 
110
//                     LEFT PANEL                    //
-
 
111
//                                                   //
-
 
112
//===================================================//
-
 
113
 
-
 
114
void Tip(int y, dword caption, id, arrow)
-
 
115
{
-
 
116
	DrawBar(17,y,160,1,col.list_bg);
-
 
117
	DrawBar(17,y+1,1,16,sc.work_light);
94
void DrawFilledBar(dword x, y, w, h)
118
	DrawFilledBar(18, y+1, 160-1, 16);
-
 
119
	DrawBar(17,y+17,160,1,sc.work_graph);
-
 
120
	WriteText(25,y+5,0x80,col.list_gb_text,caption);
-
 
121
	if (id) DefineButton(159,y+1,16,16,id+BT_HIDE+BT_NOFRAME,0); //arrow button
-
 
122
	WriteText(165,y+5,0x80,col.list_gb_text,arrow); //arrow
-
 
123
}
-
 
124
 
-
 
125
 
-
 
126
void ActionsDraw(int actions_y)
-
 
127
{
-
 
128
	int i;
-
 
129
	Tip(actions_y-18, T_ACTIONS, 77, "");
-
 
130
	for (i=0; actions[i*3]!=0; i++, actions_y+=DEV_H)
-
 
131
	{
-
 
132
		DrawBar(17,actions_y,160,DEV_H,0xFFFFFF); //áåëîå
-
 
133
		DefineButton(17,actions_y,159,DEV_H,actions[i*3]+BT_HIDE,0xE4DFE1);
-
 
134
		WriteText(45,actions_y+4,0x80,0,actions[i*3+1]);
-
 
135
		WriteText(-strlen(actions[i*3+2])*6+170,actions_y+4,0x80,0x999999,actions[i*3+2]);
-
 
136
		_PutImage(23,actions_y+2, 14,13, i*14*13*3+#factions);
-
 
137
	}
-
 
138
}
-
 
139
 
-
 
140
void DrawLeftPanelBg(int actions_y)
-
 
141
{
-
 
142
	int start_y = actions_y+159;
-
 
143
	int area_h;
-
 
144
	DrawBar(2,41,190,15,waves_pal[0]);    //above devices block
-
 
145
	DrawBar(17,actions_y+75,160,15,EDX);  //below devices block
-
 
146
	DrawBar(2,56,15,actions_y+103,EDX);   //on the left
-
 
147
	DrawBar(177,56,15,actions_y+103,EDX); //on the right
-
 
148
	area_h = Form.cheight-start_y-2 - status_bar_h;
-
 
149
	if (area_h < 268){
-
 
150
		PutPaletteImage(#blue_hl, 190, area_h, 2, start_y, 8, #waves_pal);
-
 
151
	} else {
-
 
152
		DrawBar(2,start_y,190, area_h-268, waves_pal[0]);
-
 
153
		PutPaletteImage(#blue_hl, 190, 268, 2, Form.cheight-270-status_bar_h, 8, #waves_pal);
-
 
154
	}
-
 
155
	PutShadow(17,actions_y+75,160,1,1,3);
-
 
156
	PutShadow(18,actions_y+75+1,158,1,1,1);
-
 
157
	PutShadow(17,start_y,160,1,1,3);
-
 
158
	PutShadow(18,start_y+1,158,1,1,1);
-
 
159
}
-
 
160
 
-
 
161
//===================================================//
-
 
162
//                                                   //
-
 
163
//                     PATHBAR                       //
-
 
164
//                                                   //
-
 
165
//===================================================//
-
 
166
 
-
 
167
char work_area_pointer[1024];
-
 
168
PathShow_data PathShow = {0, 17,250, 6, 250, 0, 0, 0x000000, 0xFFFFCC, NULL, #work_area_pointer, 0};
-
 
169
void DrawPathBar()
-
 
170
{
-
 
171
	if (efm) {
-
 
172
		DrawPathBarKfm();
-
 
173
		return;
-
 
174
	}
-
 
175
 
-
 
176
	if (show_breadcrumb.checked) {
-
 
177
		DrawBreadCrumbs(); 
-
 
178
		return;
-
 
179
	}
-
 
180
 
-
 
181
	PathShow.text_pointer = location[0];
-
 
182
	PathShow.start_x = 250;
-
 
183
	PathShow.start_y = 17;
-
 
184
	PathShow.area_size_x = Form.cwidth-300;
-
 
185
	DrawBar(PathShow.start_x-3, PathShow.start_y-6, PathShow.area_size_x+3, 19, col.odd_line);
-
 
186
	DrawRectangle(PathShow.start_x-4,PathShow.start_y-7,PathShow.area_size_x+4,20,sc.work_graph);
-
 
187
	DefineHiddenButton(PathShow.start_x-4+1,PathShow.start_y-7+1,PathShow.area_size_x+4-2,20-2,PATH_BTN);
-
 
188
	DrawBar(PathShow.start_x-4, PathShow.start_y+14, PathShow.area_size_x+5+18, 1, sc.work_light);
-
 
189
 
-
 
190
	DrawFlatButtonSmall(PathShow.start_x+PathShow.area_size_x,PathShow.start_y-7,18,20, 61, "\26");
-
 
191
 
-
 
192
	PathShow.font_color = col.list_gb_text;
-
 
193
	PathShow_prepare stdcall(#PathShow);
-
 
194
	PathShow_draw stdcall(#PathShow);
-
 
195
}
-
 
196
 
-
 
197
void DrawPathBarKfm()
-
 
198
{
-
 
199
	dword bgc;
-
 
200
	int i=0;
-
 
201
	if (!Form.cwidth) return;
-
 
202
 
-
 
203
	if (skin_is_dark()) {
-
 
204
		bgc = col.odd_line;
-
 
205
		PathShow.font_color = col.list_gb_text;
-
 
206
	} else {
-
 
207
		bgc = 0xFFFFCC; 
-
 
208
		PathShow.font_color = 0x222222;
-
 
209
	}
-
 
210
	PathShow.start_y = Form.cheight - status_bar_h+2;
-
 
211
 
-
 
212
	PathShow.start_x = 4;
-
 
213
	PathShow.area_size_x = Form.cwidth/2-8;
-
 
214
	do {
-
 
215
		DrawBar(PathShow.start_x-2,PathShow.start_y-3,PathShow.area_size_x+5,14,bgc);
-
 
216
		DrawRectangle(PathShow.start_x-3,PathShow.start_y-4,PathShow.area_size_x+6,15,sc.work_graph);
-
 
217
		PathShow.text_pointer = location[i];
-
 
218
		PathShow_prepare stdcall(#PathShow);
-
 
219
		PathShow_draw stdcall(#PathShow);
-
 
220
		
-
 
221
		PathShow.start_x = Form.cwidth/2 + 2;
-
 
222
		PathShow.area_size_x = Form.cwidth - PathShow.start_x - 5;		
-
 
223
		i++;
-
 
224
	} while (i<2);
-
 
225
 
-
 
226
	DrawBar(0,PathShow.start_y-2,1,15,sc.work);
-
 
227
	DrawBar(Form.cwidth-1,PathShow.start_y-2,1,15,sc.work);
-
 
228
	DrawBar(1,PathShow.start_y+12,Form.cwidth-2,1,sc.work_light);
-
 
229
}
-
 
230
 
-
 
231
//===================================================//
-
 
232
//                                                   //
-
 
233
//                   BREADCRUMBS                     //
-
 
234
//                                                   //
-
 
235
//===================================================//
-
 
236
 
-
 
237
void DrawBreadCrumbs()
-
 
238
 collection_int breadCrumb=0;
-
 
239
 char PathShow_path[4096];
-
 
240
 block btn;
-
 
241
 int i;
-
 
242
 unsigned text_line;
-
 
243
 {
-
 
244
	strcat(#PathShow_path, path);
-
 
245
	for (i=0; i<50; i++) DeleteButton(i+BREADCRUMB_ID);
-
 
246
	breadCrumb.drop();
-
 
247
	for (i=0; (PathShow_path[i]) && (i
-
 
248
	{
-
 
249
		if (PathShow_path[i]=='/') {
-
 
250
			PathShow_path[i] = NULL;
-
 
251
			breadCrumb.add(i+1);
-
 
252
		}
-
 
253
	}
-
 
254
	breadCrumb.add(i+1);
-
 
255
	btn.set_size(246,10,NULL,20);
-
 
256
	//area_w = Form.cwidth - btn.x - 20;
-
 
257
	for (i=0; i
-
 
258
	{
-
 
259
		text_line = breadCrumb.get(i) + #PathShow_path;
-
 
260
		btn.w = strlen(text_line)*8+10;
-
 
261
		DrawBreadcrumbButton(btn.x, btn.y, btn.w, btn.h, i+BREADCRUMB_ID, text_line);
-
 
262
		btn.x += btn.w;
-
 
263
	}
-
 
264
	//DrawFavButton(btn.x);
-
 
265
	//btn.x+=20;
-
 
266
	btn.x++;
-
 
267
	DrawBar(btn.x,btn.y-1,Form.cwidth-btn.x-25,btn.h+3,sc.work);
-
 
268
}
-
 
269
 
-
 
270
void ClickOnBreadCrumb(unsigned clickid)
-
 
271
{
-
 
272
	int i, slashpos = path;
-
 
273
	for (i=0; i!=clickid+2; i++) {
-
 
274
		slashpos=strchr(slashpos,'/')+1;
-
 
275
	}
-
 
276
	ESBYTE[slashpos-1] = NULL;
-
 
277
	Open_Dir(path,WITH_REDRAW);
-
 
278
}
-
 
279
 
-
 
280
void DrawBreadcrumbButton(dword x,y,w,h,id,text)
-
 
281
{
-
 
282
	int i;
-
 
283
	DrawRectangle(x,y,w,h,sc.work_graph);
95
{ int i; for (i=0; i
284
	for (i=0; (i
-
 
285
	DrawRectangle3D(x+1,y+1,w-2,h-2,sc.work_light, sc.work_dark);
-
 
286
	DefineHiddenButton(x+1,y+1,w-2,h-2,id);
-
 
287
	WriteText(-strlen(text)*8+w/2+x,h/2+y-7,0x90,sc.work_text,text);
-
 
288
	DrawBar(x, y+h+1, w+1, 1, sc.work_light);
-
 
289
}
-
 
290
 
-
 
291
//===================================================//
-
 
292
//                                                   //
-
 
293
//                       MISC                        //
-
 
294
//                                                   //
-
 
295
//===================================================//
Line 96... Line 296...
96
 
296
 
97
void DrawEolitePopup(dword b1_text, b2_text)
297
void DrawEolitePopup(dword b1_text, b2_text)
98
{
298
{
99
	#define POPIN_W 260
299
	#define POPIN_W 260