Subversion Repositories Kolibri OS

Rev

Rev 2098 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1.  
  2. #include "imgs\icons.txt"
  3. dword Put_icon(dword extension, yy)
  4. {
  5.         dword ftype="", fnum=0; //åøè íåèçâåñíûé ôàéë
  6.  
  7.         IF (!strcmp(extension,"htm")) || (!strcmp(extension,"html")) {fnum = 2; ftype="Web-page";}
  8.         IF (!strcmp(extension,"ini")) || (!strcmp(extension,"conf")) {fnum = 3; ftype="Config";}
  9.         IF (!strcmp(extension,"xlt")) || (!strcmp(extension,"xls")) ||
  10.                 (!strcmp(extension,"ods")) || (!strcmp(extension,"xlsx")) {fnum = 4; ftype="Table";}
  11.         IF (!strcmp(extension,"cmd")) || (!strcmp(extension,"bat")) || (!strcmp(extension,"sh")) {fnum = 5; ftype="Script";}
  12.         IF (!strcmp(extension,"com")) {fnum = 5; ftype="DOS Exec";}
  13.         IF (!strcmp(extension,"kex")) {fnum = 6; ftype="Program";}
  14.         IF (!strcmp(extension,"exe")) || (!strcmp(extension,"msi")) {fnum = 7; ftype="Win32 Exec";}
  15.         IF (!strcmp(extension,"sys")) || (!strcmp(extension,"ocx")) ||
  16.        (!strcmp(extension,"drv")) || (!strcmp(extension,"so")) fnum = 8;
  17.         IF (!strcmp(extension,"inc"))  fnum = 9;
  18.         IF (!strcmp(extension,"chr")) || (!strcmp(extension,"mt")) ||
  19.            (!strcmp(extension,"ttf")) || (!strcmp(extension,"fon")) {fnum = 10; ftype="Font";}
  20.         IF (!strcmp(extension,"asm")) {fnum = 11; ftype="Source";}
  21.         IF (!strcmp(extension,"skn")) {fnum = 13; ftype="Skin";}
  22.         IF (!strcmp(extension,"djvu")) || (!strcmp(extension,"pdf")) {fnum = 15; ftype="Book";}
  23.         IF (!strcmp(extension,"nes")) {fnum = 18; ftype="Cartridge";}
  24.         IF (!strcmp(extension,"img")) || (!strcmp(extension,"ima")) {fnum = 21; ftype="Image";}
  25.         IF (!strcmp(extension,"dll")) || (!strcmp(extension,"obj")) {fnum = 22; ftype="Library";}
  26.         IF (!strcmp(extension,"iso")) || (!strcmp(extension,"cue")) ||
  27.            (!strcmp(extension,"nrg")) || (!strcmp(extension,"mdf")) {fnum = 24; ftype="Disc image";}
  28.        
  29.         //text
  30.         IF (!strcmp(extension,"txt")) || (!strcmp(extension,"doc")) ||
  31.            (!strcmp(extension,"rtf")) || (!strcmp(extension,"odt")) ||
  32.            (!strcmp(extension,"docx")) {fnum = 1; ftype="Text";}
  33.         //èçîáðàæåíèÿ
  34.         IF (!strcmp(extension,"gif")) || (!strcmp(extension,"bmp")) ||
  35.            (!strcmp(extension,"tga")) || (!strcmp(extension,"pcx")) ||
  36.            (!strcmp(extension,"png")) || (!strcmp(extension,"jpg")) {fnum = 19; ftype="Image";}
  37.         IF (!strcmp(extension,"xcf")) || (!strcmp(extension,"ai")) ||
  38.            (!strcmp(extension,"jpeg")) || (!strcmp(extension,"raw")) ||
  39.            (!strcmp(extension,"psd")) {fnum = 19; ftype="Image";}
  40.         //ïèêòîãðàììû
  41.         IF (!strcmp(extension,"ico")) || (!strcmp(extension,"cur")) {fnum = 20; ftype="Icon";}
  42.         //àðõèâû
  43.         IF (!strcmp(extension,"rar")) || (!strcmp(extension,"zip")) ||
  44.            (!strcmp(extension,"cab")) || (!strcmp(extension,"tar")) ||
  45.            (!strcmp(extension,"ajr")) || (!strcmp(extension,"jar")) ||
  46.            (!strcmp(extension,"7z")) ||(!strcmp(extension,"gz")) {fnum = 23; ftype="Archive";}
  47.         //audio
  48.         IF (!strcmp(extension,"mp3")) {fnum = 12; ftype="Music";}
  49.         IF (!strcmp(extension,"wav")) || (!strcmp(extension,"mid")) ||
  50.            (!strcmp(extension,"midi")) || (!strcmp(extension,"ogg")) ||
  51.            (!strcmp(extension,"wma"))  || (!strcmp(extension,"flac")) {fnum = 12; ftype="Audio";}
  52.         //video
  53.         IF (!strcmp(extension,"avi")) || (!strcmp(extension,"flv")) ||
  54.            (!strcmp(extension,"mpg")) || (!strcmp(extension,"wmv")) ||
  55.            (!strcmp(extension,"mov")) || (!strcmp(extension,"mkv")) ||
  56.            (!strcmp(extension,"mp4")) || (!strcmp(extension,"vob")) {fnum = 14; ftype="Video";}
  57.         //ïàïêè
  58.         IF (!strcmp(extension,"<DIR>")) { fnum=16;  WriteText(onLeft(145,0),yy+4,0x80,0,extension,0);}
  59.         IF (!strcmp(extension,"..")) fnum=17;
  60.         //
  61.         PutPaletteImage(fnum*16*15+#ficons,16,15,195,yy,#ficons_pal);
  62.         WriteText(onLeft(160,0),yy+4,0x80,0,ftype,0);
  63.         return fnum;
  64. }
  65.  
  66.  
  67.  
  68. void IconFairing(int filenum, y)
  69. {
  70.         switch(filenum)
  71.         {
  72.                 case 0...1: //ôàéëèê
  73.                         DrawBar(195,y,2,15,videlenie);
  74.                         RIGHT_PAINT:
  75.                         DrawBar(209,y,2,15,videlenie);
  76.                         DrawBar(205,y,4,1,videlenie);
  77.                         DrawBar(206,y+1,3,1,videlenie);
  78.                         DrawBar(207,y+2,2,1,videlenie);
  79.                         PutPixel(208,y+3,videlenie);
  80.                         return;
  81.                 case 2: //html
  82.                         DrawBar(195,y,1,7,videlenie);
  83.                         DrawBar(196,y,1,6,videlenie);
  84.                         DrawBar(195,y+10,1,5,videlenie);
  85.                         DrawBar(196,y+11,1,4,videlenie);
  86.                         GOTO RIGHT_PAINT;
  87.                 case 3: //íàñòðîéêè
  88.                         DrawBar(195,y,2,7,videlenie);
  89.                         DrawBar(195,y+7,1,2,videlenie);
  90.                         DrawBar(195,y+12,1,3,videlenie);
  91.                         PutPixel(196,y+14,videlenie);
  92.                         GOTO RIGHT_PAINT;
  93.                 case 9: //inc
  94.                         DrawBar(195,y,1,12,videlenie);
  95.                         DrawBar(196,y,1,11,videlenie);
  96.                         DrawBar(197,y,1,10,videlenie);
  97.                         DrawBar(198,y,1,5,videlenie);
  98.                         DrawBar(199,y,1,4,videlenie);
  99.                         DrawBar(200,y,1,3,videlenie);
  100.                         DrawBar(201,y,1,2,videlenie);
  101.                         DrawBar(202,y,1,3,videlenie);
  102.                         DrawBar(203,y,1,2,videlenie);
  103.                         PutPixel(204,y,videlenie);
  104.                         PutPixel(205,y+4,videlenie);
  105.                         PutPixel(206,y+3,videlenie);
  106.                         PutPixel(207,y,videlenie);
  107.                         PutPixel(207,y+2,videlenie);
  108.                         DrawBar(208,y,1,3,videlenie);
  109.                         DrawBar(209,y,2,4,videlenie);
  110.                         DrawBar(210,y,1,15,videlenie);
  111.                         PutPixel(198,y+14,videlenie);
  112.                         DrawBar(199,y+13,1,2,videlenie);
  113.                         DrawBar(200,y+12,10,3,videlenie);
  114.                         PutPixel(205,y+11,videlenie);
  115.                         DrawBar(206,y+10,1,2,videlenie);
  116.                         DrawBar(207,y+9,1,3,videlenie);
  117.                         PutPixel(207,y+7,videlenie);
  118.                         DrawBar(208,y+6,2,7,videlenie);
  119.                         PutPixel(209,y+5,videlenie);
  120.                         return;
  121.                 case 10: //font
  122.                         DrawRegion_3D(195,y,15,14,videlenie,videlenie);
  123.                         DrawBar(196,y+1,1,13,videlenie);
  124.                         DrawBar(197,y+1,1,11,videlenie);
  125.                         DrawBar(198,y+1,1,10,videlenie);
  126.                         DrawBar(199,y+1,1,9,videlenie);
  127.                         DrawBar(200,y+1,1,7,videlenie);
  128.                         DrawBar(201,y+1,1,5,videlenie);
  129.                         DrawBar(202,y+1,1,4,videlenie);
  130.                         DrawBar(203,y+1,1,2,videlenie);
  131.                         DrawBar(209,y+1,1,13,videlenie);
  132.                         DrawBar(208,y+1,1,11,videlenie);
  133.                         PutPixel(204,y+6,videlenie);
  134.                         DrawBar(203,y+10,2,1,videlenie);
  135.                         DrawBar(202,y+11,2,3,videlenie);
  136.                         return;
  137.                 case 11: //asm
  138.                         DrawBar(195,y,1,15,videlenie);
  139.                         return;
  140.                 case 12: //audio
  141.                         DrawBar(195,y,16,1,videlenie);
  142.                         DrawBar(195,y,1,15,videlenie);
  143.                         DrawBar(196,y+1,4,8,videlenie);
  144.                         DrawBar(196,y+9,1,2,videlenie);
  145.                         PutPixel(197,y+9,videlenie);
  146.                         PutPixel(196,y+14,videlenie);
  147.                         DrawBar(210,y+1,1,14,videlenie);
  148.                         DrawBar(202,y+4,6,4,videlenie);
  149.                         DrawBar(202,y+8,4,1,videlenie);
  150.                         DrawBar(202,y+9,3,1,videlenie);
  151.                         DrawBar(202,y+10,2,3,videlenie);
  152.                         DrawBar(201,y+13,4,1,videlenie);
  153.                         DrawBar(200,y+14,14,1,videlenie);
  154.                         DrawBar(209,y+12,1,2,videlenie);
  155.                         PutPixel(208,y+13,videlenie);
  156.                         return;
  157.                 case 13: //skin
  158.                         PutPixel(210,y,videlenie);
  159.                         return;
  160.                 case 14...15: //video, book
  161.                         DrawBar(195,y,1,15,videlenie);
  162.                         DrawBar(210,y,1,15,videlenie);
  163.                         return;
  164.                 case 16...17: //ïàïêà
  165.                         DrawBar(195,y,1,15,videlenie);
  166.                         DrawBar(203,y,8,2,videlenie);
  167.                         IF (filenum==17) PutPixel(206,y+1,0x1A7B17); //çåë¸íàÿ òî÷êà ñòðåëêè
  168.                         DrawBar(196,y+13,15,2,videlenie);
  169.                         PutPixel(196,y,videlenie); //.òî÷êè
  170.                         PutPixel(202,y,videlenie);
  171.                         PutPixel(210,y+2,videlenie);
  172.                         PutPixel(196,y+12,videlenie);
  173.                         PutPixel(210,y+12,videlenie);
  174.                         return;
  175.                 case 18: //êàðòðèäæ
  176.                         DrawBar(195,y,16,2,videlenie);
  177.                         DrawBar(195,y+11,1,2,videlenie);
  178.                         DrawBar(210,y+11,1,2,videlenie);
  179.                         DrawBar(195,y+13,16,2,videlenie);
  180.                         return;
  181.                 case 19: //èçîáðàæåíèå
  182.                 case 20: //èçîáðàæåíèå
  183.                         DrawBar(195,y+14,16,1,videlenie);
  184.                         return;
  185.                 case 21: //äèñêåòà
  186.                         PutPixel(195,y,videlenie);
  187.                         PutPixel(210,y,videlenie);
  188.                         return;
  189.                 case 22: //áèáëèîòåêà
  190.                         DrawBar(195,y,16,1,videlenie); //ñâåðõó ñëåâà
  191.                         DrawBar(195,y+1,3,1,videlenie);
  192.                         DrawBar(195,y+2,2,1,videlenie);
  193.                         PutPixel(195,y+3,videlenie);
  194.                         PutPixel(210,y+11,videlenie); //ñïðàâà ñïðàâà
  195.                         DrawBar(209,y+12,2,1,videlenie);
  196.                         DrawBar(208,y+13,3,1,videlenie);
  197.                         DrawBar(207,y+14,4,1,videlenie);
  198.                         return;
  199.                 case 23: //àðõèâ
  200.                         PutPixel(195,y+3,videlenie);
  201.                         PutPixel(195,y+11,videlenie);
  202.                         PutPixel(210,y+3,videlenie);
  203.                         PutPixel(210,y+11,videlenie);
  204.  
  205.                         DrawBar(195,y,7,1,videlenie);
  206.                         DrawBar(204,y,7,1,videlenie);
  207.                         DrawBar(195,y+14,7,1,videlenie);
  208.                         DrawBar(204,y+14,7,1,videlenie);
  209.  
  210.                         DrawBar(195,y+1,5,1,videlenie);
  211.                         DrawBar(206,y+1,5,1,videlenie);
  212.                         DrawBar(195,y+13,5,1,videlenie);
  213.                         DrawBar(206,y+13,5,1,videlenie);
  214.  
  215.                         DrawBar(195,y+2,3,1,videlenie);
  216.                         DrawBar(208,y+2,3,1,videlenie);
  217.                         DrawBar(195,y+12,3,1,videlenie);
  218.                         DrawBar(208,y+12,3,1,videlenie);
  219.                         return;
  220.                 case 24: //îáðàç
  221.                         DrawBar(195,y,6,1,videlenie);
  222.                         DrawBar(195,y+1,4,1,videlenie);
  223.                         DrawBar(195,y+2,3,1,videlenie);
  224.                         DrawBar(195,y+3,2,2,videlenie);
  225.                        
  226.                         DrawBar(195,y+5,1,5,videlenie);
  227.                        
  228.                         DrawBar(195,y+10,2,2,videlenie);
  229.                         DrawBar(195,y+12,3,1,videlenie);
  230.                         DrawBar(195,y+13,4,1,videlenie);
  231.                         DrawBar(195,y+14,6,1,videlenie);                       
  232.  
  233.                        
  234.                         DrawBar(195+11,y,5,1,videlenie);
  235.                         DrawBar(195+13,y+1,3,1,videlenie);
  236.                         DrawBar(195+14,y+2,2,1,videlenie);
  237.                         DrawBar(195+15,y+3,1,2,videlenie);
  238.                        
  239.                         DrawBar(195+15,y+10,1,2,videlenie);
  240.                         DrawBar(195+14,y+12,2,1,videlenie);
  241.                         DrawBar(195+13,y+13,3,1,videlenie);
  242.                         DrawBar(195+11,y+14,5,1,videlenie);                    
  243.  
  244.                         return;
  245.         }
  246. }
  247.