Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
3363 | leency | 1 | //Leency - 2012 |
2 | |||
3 | dword onLeft(dword right,left) {EAX=Form.width-right-left;} |
||
4 | dword onTop(dword down,up) {EAX=Form.height-GetSkinHeight()-down-up;} |
||
5 | |||
6 | |||
7 | void ShowMessage(dword message) |
||
8 | { |
||
9 | DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, message); |
||
10 | pause(150); |
||
11 | List_ReDraw(); |
||
12 | } |
||
13 | |||
14 | |||
15 | dword ConvertSize(dword bytes) |
||
16 | { |
||
17 | unsigned char size_prefix[8], size_nm[4]; |
||
18 | if (bytes>=1073741824) strcpy(#size_nm, " Gb"); |
||
19 | else if (bytes>=1048576) strcpy(#size_nm, " Mb"); |
||
20 | else if (bytes>=1024) strcpy(#size_nm, " Kb"); |
||
21 | else strcpy(#size_nm, " b "); |
||
22 | while (bytes>1023) bytes/=1024; |
||
23 | strcpy(#size_prefix, itoa(bytes)); |
||
24 | strcat(#size_prefix, #size_nm); |
||
25 | return #size_prefix; |
||
26 | } |
||
27 | |||
28 | |||
29 | dword col_palette[14] = {0xD2D3D3,0xD4D4D4,0xD6D5D6,0xD8D7D8,0xDAD8D9,0xDCDADB, |
||
30 | 0xDFDCDD,0xE1DDDE,0xE2DEE0,0xE4DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1}; |
||
31 | |||
32 | inline fastcall void TVScroll() { //Прокрутка |
||
33 | dword on_y, i; |
||
34 | if (count<=0) {DrawFlatButton(onLeft(27,0),57,16,onTop(22,58),0,col_work,""); return;} |
||
35 | on_y = za_kadrom * onTop(22,57) / count +57; |
||
36 | scroll_size=onTop(22,57) * f_visible - f_visible / count; |
||
37 | if (scroll_size<20) scroll_size = 20; //устанавливаем минимальный размер скролла |
||
38 | if (scroll_size>onTop(22,57)-on_y+56) || (za_kadrom+f_visible>=count) on_y=onTop(23+scroll_size,0); //для большого списка |
||
39 | DrawFlatButton(onLeft(27,0),on_y,16,scroll_size,0,-1,"");//ползунок |
||
40 | if (!scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[13-i]); |
||
41 | if (scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[i]); |
||
42 | //поле до ползунка |
||
43 | if (on_y>58) DrawBar(onLeft(26,0),57,15,1, 0xC7C9C9); |
||
44 | DrawBar(onLeft(26,0),58,1, on_y-58,0xC7C9C9); |
||
45 | DrawBar(onLeft(25,0),58,14,on_y-58,0xCED0D0); |
||
46 | //поле после ползунка |
||
47 | if (onTop(22,57)-scroll_size+55>on_y) DrawBar(onLeft(26,0),on_y+scroll_size+1,15,1,0xC7C9C9); |
||
48 | DrawBar(onLeft(26,0),on_y+scroll_size+2,1,onTop(22,57)-scroll_size-on_y+55,0xC7C9C9); |
||
49 | DrawBar(onLeft(25,0),on_y+scroll_size+2,14,onTop(22,57)-scroll_size-on_y+55,0xCED0D0); |
||
50 | } |
||
51 | |||
52 | void DrawFlatButton(dword x,y,width,height,id,color,text) |
||
53 | { |
||
54 | int fill_h; |
||
55 | DrawRectangle(x,y,width,height,col_border); |
||
56 | DrawRectangle3D(x+1,y+1,width-2,height-2,0xFEFEFE,col_padding); |
||
57 | PutPixel(x+width-1, y+1, col_work); |
||
58 | if (color!=-1) DrawFilledBar(x+2, y+2, width-3, height-3); |
||
59 | IF (id<>0) DefineButton(x+1,y+1,width-2,height-2,id+BT_HIDE,0xEFEBEF); |
||
60 | WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,0,text); |
||
61 | } |
||
62 | |||
63 | void DrawFilledBar(dword x, y, w, h) |
||
64 | { |
||
65 | int i, fill_h; |
||
66 | if (h <= 14) fill_h = h; else fill_h = 14; |
||
67 | for (i=0; i |
||
68 | DrawBar(x, y+i, w, h-fill_h, col_palette[14-i]); |
||
69 | }=>>13;>13;>20)>=0)> |