Rev 3052 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2568 | leency | 1 | //Leency - 2012 |
2 | |||
3 | dword onLeft(dword right,left) {EAX=Form.width-right-left;} |
||
2875 | leency | 4 | dword onTop(dword down,up) {EAX=Form.height-GetSkinHeight()-down-up;} |
2568 | leency | 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 | { |
||
3043 | leency | 17 | unsigned char size_prefix[8], size_nm[4]; |
18 | if (bytes>=1073741824) copystr(" Gb",#size_nm); |
||
19 | else if (bytes>=1048576) copystr(" Mb",#size_nm); |
||
20 | else if (bytes>=1024) copystr(" Kb",#size_nm); |
||
21 | else copystr(" b ",#size_nm); |
||
22 | while (bytes>1023) bytes/=1024; |
||
2568 | leency | 23 | copystr(IntToStr(bytes),#size_prefix); |
3043 | leency | 24 | copystr(#size_nm,#size_prefix+strlen(#size_prefix)); |
25 | return #size_prefix; |
||
2568 | leency | 26 | } |
2695 | leency | 27 | |
3123 | leency | 28 | |
29 | dword col_palette[14] = {0xD2D3D3,0xD4D4D4,0xD6D5D6,0xD8D7D8,0xDAD8D9,0xDCDADB, |
||
30 | 0xDFDCDD,0xE1DDDE,0xE2DEE0,0xE4DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1}; |
||
31 | |||
2695 | leency | 32 | inline fastcall void TVScroll() { //Прокрутка |
3123 | leency | 33 | dword on_y, i; |
34 | if (count<=0) {DrawFlatButton(onLeft(27,0),57,16,onTop(22,58),0,col_work,""); return;} |
||
2695 | leency | 35 | on_y = za_kadrom * onTop(22,57) / count +57; |
3052 | leency | 36 | scroll_size=onTop(22,57) * f_visible - f_visible / count; |
3043 | leency | 37 | if (scroll_size<20) scroll_size = 20; //устанавливаем минимальный размер скролла |
3052 | leency | 38 | if (scroll_size>onTop(22,57)-on_y+56) || (za_kadrom+f_visible>=count) on_y=onTop(23+scroll_size,0); //для большого списка |
3123 | leency | 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 | DrawRegion_3D(x,y,width,height,col_border,col_border); |
||
56 | DrawRegion_3D(x+1,y+1,width-2,height-2,0xFEFEFE,col_padding); |
||
57 | PutPixel(x+width-1, y+1, col_work); |
||
58 | 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,0); |
||
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]); |
||
2695 | leency | 69 | }=>>13;>13;>20)>=0)> |