Rev 6278 | Rev 6566 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6278 | Rev 6289 | ||
---|---|---|---|
1 | dword col_palette[14] = {0xD2D3D3,0xD4D4D4,0xD6D5D6,0xD8D7D8,0xDAD8D9,0xDCDADB, |
- | |
2 | 0xDFDCDD,0xE1DDDE,0xE2DEE0,0xE4DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1}; |
1 | dword col_palette[14] = {0xD2D3D3,0xD4D4D4,0xD6D5D6,0xD8D7D8,0xDAD8D9,0xDCDADB,0xDFDCDD,0xE1DDDE,0xE2DEE0,0xE4DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1}; |
3 | 2 | ||
4 | void Scroll() { |
3 | void Scroll() { |
5 | dword i; |
4 | dword i; |
6 | 5 | ||
7 | word sc_x = files.x + files.w; |
6 | word sc_x = files.x + files.w; |
8 | word sc_y = files.y; |
7 | word sc_y = files.y; |
9 | word sc_h = files.h - 16; |
8 | word sc_h = files.h - 16; |
10 | word sc_slider_y; |
9 | word sc_slider_y; |
11 | 10 | ||
12 | if (files.count<=0) |
11 | if (files.count<=0) |
13 | { |
12 | { |
14 | sc_slider_y = sc_y; |
13 | sc_slider_y = sc_y; |
15 | sc_slider_h = sc_h - 1; |
14 | sc_slider_h = sc_h - 1; |
16 | } |
15 | } |
17 | else |
16 | else |
18 | { |
17 | { |
19 | sc_slider_y = files.first * sc_h / files.count + sc_y; |
18 | sc_slider_y = files.first * sc_h / files.count + sc_y; |
20 | sc_slider_h = sc_h * files.visible - files.visible / files.count; |
19 | sc_slider_h = sc_h * files.visible - files.visible / files.count; |
21 | if (sc_slider_h < 20) sc_slider_h = 20; //minimal scroll width |
20 | if (sc_slider_h < 20) sc_slider_h = 20; //minimal scroll width |
22 | if (sc_slider_h > sc_h-sc_slider_y+56) || (files.first+files.visible>=files.count) sc_slider_y= Form.cheight - 19 - sc_slider_h; //äëÿ áîëüøîãî ñïèñêà |
21 | if (sc_slider_h > sc_h-sc_slider_y+56) || (files.first+files.visible>=files.count) sc_slider_y= Form.cheight - 19 - sc_slider_h; //äëÿ áîëüøîãî ñïèñêà |
23 | } |
22 | } |
24 | //slider |
23 | //slider |
25 | DrawRectangle(sc_x,sc_slider_y,16,sc_slider_h,col_graph); |
24 | DrawRectangle(sc_x,sc_slider_y,16,sc_slider_h,col_graph); |
26 | DrawRectangle3D(sc_x+1,sc_slider_y+1,14,sc_slider_h-2,0xFEFEFE,col_padding); |
25 | DrawRectangle3D(sc_x+1,sc_slider_y+1,14,sc_slider_h-2,0xFEFEFE,col_padding); |
27 | if (!scroll_used) for (i=0; i<13; i++) DrawBar(sc_x + 2 + i, sc_slider_y+2, 1, sc_slider_h-3, col_palette[13-i]); |
26 | if (!scroll_used) for (i=0; i<13; i++) DrawBar(sc_x + 2 + i, sc_slider_y+2, 1, sc_slider_h-3, col_palette[13-i]); |
28 | if (scroll_used) for (i=0; i<13; i++) DrawBar(sc_x + 2 + i, sc_slider_y+2, 1, sc_slider_h-3, col_palette[i]); |
27 | if (scroll_used) for (i=0; i<13; i++) DrawBar(sc_x + 2 + i, sc_slider_y+2, 1, sc_slider_h-3, col_palette[i]); |
29 | //area before slider |
28 | //area before slider |
30 | if (sc_slider_y > sc_y + 1) |
29 | if (sc_slider_y > sc_y + 1) |
31 | { |
30 | { |
32 | DrawBar(sc_x+1, sc_y, 15, 1, 0xC7C9C9); |
31 | DrawBar(sc_x+1, sc_y, 15, 1, 0xC7C9C9); |
33 | DrawBar(sc_x+1, sc_y+1, 1, sc_slider_y-sc_y-1, 0xC7C9C9); |
32 | DrawBar(sc_x+1, sc_y+1, 1, sc_slider_y-sc_y-1, 0xC7C9C9); |
34 | DrawBar(sc_x+2, sc_y+1, 14, sc_slider_y-sc_y-1, 0xCED0D0); |
33 | DrawBar(sc_x+2, sc_y+1, 14, sc_slider_y-sc_y-1, 0xCED0D0); |
35 | } |
34 | } |
36 | //area after slider |
35 | //area after slider |
37 | if (sc_h-sc_slider_h+sc_y-2>sc_slider_y) |
36 | if (sc_h-sc_slider_h+sc_y-2>sc_slider_y) |
38 | { |
37 | { |
39 | DrawBar(sc_x+1, sc_slider_y + sc_slider_h+1, 15, 1, 0xC7C9C9); |
38 | DrawBar(sc_x+1, sc_slider_y + sc_slider_h+1, 15, 1, 0xC7C9C9); |
40 | DrawBar(sc_x+1, sc_slider_y + sc_slider_h+2, 1, sc_h-sc_slider_h-sc_slider_y+sc_y-2, 0xC7C9C9); |
39 | DrawBar(sc_x+1, sc_slider_y + sc_slider_h+2, 1, sc_h-sc_slider_h-sc_slider_y+sc_y-2, 0xC7C9C9); |
41 | DrawBar(sc_x+2, sc_slider_y + sc_slider_h+2, 14, sc_h-sc_slider_h-sc_slider_y+sc_y-2, 0xCED0D0); |
40 | DrawBar(sc_x+2, sc_slider_y + sc_slider_h+2, 14, sc_h-sc_slider_h-sc_slider_y+sc_y-2, 0xCED0D0); |
42 | } |
41 | } |
43 | } |
42 | } |
44 | 43 | ||
45 | void DrawFlatButton(dword x,y,width,height,id,text) |
44 | void DrawFlatButton(dword x,y,width,height,id,text) |
46 | { |
45 | { |
47 | DrawRectangle(x,y,width,height,col_graph); |
46 | DrawRectangle(x,y,width,height,col_graph); |
48 | DrawRectangle3D(x+1,y+1,width-2,height-2,0xFEFEFE,col_padding); |
47 | DrawRectangle3D(x+1,y+1,width-2,height-2,0xFEFEFE,col_padding); |
49 | PutPixel(x+width-1, y+1, col_padding); |
48 | PutPixel(x+width-1, y+1, col_padding); |
50 | DrawFilledBar(x+2, y+2, width-3, height-3); |
49 | DrawFilledBar(x+2, y+2, width-3, height-3); |
51 | if (id) DefineButton(x+1,y+1,width-2,height-2,id+BT_HIDE,0xEFEBEF); |
50 | if (id) DefineButton(x+1,y+1,width-2,height-2,id+BT_HIDE,0xEFEBEF); |
52 | if (height<18) { |
51 | if (height<18) { |
53 | WriteText(-strlen(text)*6+width/2+x+1,height/2+y-3,0x80,MixColors(system.color.work_text,0xFFFfff,210),text); |
52 | WriteText(-strlen(text)*6+width/2+x+1,height/2+y-3,0x80,MixColors(system.color.work_text,0xFFFfff,210),text); |
54 | } |
53 | } |
55 | else { |
54 | else { |
56 | DrawRectangle3D(x-1,y-1,width+2,height+2,system.color.work,MixColors(system.color.work,col_graph,200)); |
55 | DrawRectangle3D(x-1,y-1,width+2,height+2,system.color.work,MixColors(system.color.work,col_graph,200)); |
57 | WriteText(-strlen(text)*8+width/2+x+1,height/2+y-6,0x90,MixColors(system.color.work_text,0xFFFfff,210),text); |
56 | WriteText(-strlen(text)*8+width/2+x+1,height/2+y-6,0x90,MixColors(system.color.work_text,0xFFFfff,210),text); |
58 | } |
57 | } |
59 | } |
58 | } |
60 | 59 | ||
- | 60 | ||
61 | void DrawFilledBar(dword x, y, w, h) |
61 | void DrawFilledBar(dword x, y, w, h) |
62 | { |
62 | { |
63 | int i, fill_h; |
63 | int i, fill_h; |
64 | if (h <= 14) fill_h = h; else fill_h = 14; |
64 | if (h <= 14) fill_h = h; else fill_h = 14; |
65 | for (i=0; i |
65 | for (i=0; i |
66 | DrawBar(x, y+i, w, h-fill_h, col_palette[14-i]); |
66 | DrawBar(x, y+i, w, h-fill_h, col_palette[14-i]); |
67 | } |
67 | } |
68 | 68 | ||
69 | int popin_w=250; |
69 | int popin_w=250; |
70 | void DrawEolitePopup(dword b1_text, b2_text) |
70 | void DrawEolitePopup(dword b1_text, b2_text) |
71 | { |
71 | { |
72 | int button_padding=30; |
72 | int button_padding=30; |
73 | int b1_len = strlen(b1_text) * 8 + button_padding; |
73 | int b1_len = strlen(b1_text) * 8 + button_padding; |
74 | int b2_len = strlen(b2_text) * 8 + button_padding; |
74 | int b2_len = strlen(b2_text) * 8 + button_padding; |
75 | int popin_x = files.w - popin_w / 2 + files.x ; |
75 | int popin_x = files.w - popin_w / 2 + files.x ; |
76 | int button_margin = popin_w - b1_len - b2_len / 3; |
76 | int button_margin = popin_w - b1_len - b2_len / 3; |
77 | int b1_x = popin_x + button_margin; |
77 | int b1_x = popin_x + button_margin; |
78 | int b2_x = popin_x + button_margin + b1_len + button_margin; |
78 | int b2_x = popin_x + button_margin + b1_len + button_margin; |
79 | DrawPopup(popin_x, 160, popin_w, 90, 1, system.color.work, col_graph); |
79 | DrawPopup(popin_x, 160, popin_w, 90, 1, system.color.work, col_graph); |
80 | DrawFlatButton(b1_x, 210, b1_len, 24, POPUP_BTN1, b1_text); |
80 | DrawFlatButton(b1_x, 210, b1_len, 24, POPUP_BTN1, b1_text); |
81 | DrawFlatButton(b2_x, 210, b2_len, 24, POPUP_BTN2, b2_text); |
81 | DrawFlatButton(b2_x, 210, b2_len, 24, POPUP_BTN2, b2_text); |
82 | }=>18)>13;>13;>>=0) |
82 | }=>18)>13;>13;>>=0) |
83 | > |
83 | > |