kolibrios/programs/fs/Eolite/trunk/include/LVabout.h--
Kirill Lipatov (Leency) fd524f2a8c Eolite: small code optimization
git-svn-id: svn://kolibrios.org@2241 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-09-26 14:30:45 +00:00

120 lines
3.3 KiB
Plaintext

//Leency - 2011
#include "imgs\logo.txt"
#define REDRAW 1
#define ANIM 2
#define NOTIP 3
#define BROWSER_PATH "/sys/htmlv"
#define BROWSER_LINK "http://www.kolibri-os.narod.ru"
void authors()
{
byte p;
mouse mm;
byte id, letitclose=0;
SetEventMask(100111b);
loop() switch(WaitEvent())
{
case evMouse:
mm.get();
//êóëüíî
IF (mm.x>85) && (mm.x<155) && (mm.y>190) && (mm.y<190+22)
IF (mm.lkm) {DrawRegion_3D(86,191,68,20,0xC7C7C7,0xFFFFFF); letitclose=1;}
ELSE {IF (letitclose) {DrawRegion_3D(86,191,68,20,0xFFFFFF,0xC7C7C7); Pause(7); ExitProcess();}}
ELSE IF (letitclose) {letitclose=0; DrawRegion_3D(86,191,68,20,0xFFFFFF,0xC7C7C7);}
/*WHILE (mm.lkm==1) //àíèìàöûÿ Ûûûû)))
{
PutPaletteImage(p*16*15+#ficons,16,15,30,192,#ficons_pal);
IF (p>23) p=0; ELSE p++;
Pause(25);
mm.get();
}*/
break;
case evButton:
id=GetButtonID();
IF (id==1) ExitProcess();
IF (id==23) RunProgram(BROWSER_PATH, BROWSER_LINK);
break;
case evKey:
IF (GetKey()==27) ExitProcess();
break;
case evReDraw:
DefineAndDrawWindow(500,200,181,256,0x34,0x10EFEBEF,0,0,"About Eolite");
DrawBar(0,0,172,50,0x8494C4); //ãîëóáîå ñçàäè
PutPaletteImage(#logo,85,85,43,7,#logo_pal);
WriteText(33,100,0x80,0xBF40BF,"Eolite v0.99.8 RC3",0);
WriteText(55,120,0x80,0,"Developers:",0);
WriteText(39,130,0x80,0,"Leency & Veliant",0);
WriteText(30,140,0x80,0,"Diamond, Lrz, Nable",0);
WriteText(55,150,0x80,0," 2008-2011 ",0);
WriteText(12,170,0x80,0,"Visit",0);
DrawLink(48,170,23, "kolibri-os.narod.ru"); //ññûëêa
DrawFlatButton(85,190,70,22,0,0xE4DFE1, "Close");
}
}
void DrawLink(dword x,y,btn_id, inscription)
{
WriteText(x,y,0x80,0x4E00E7,inscription,0);
DrawBar(x,y+8,strlen(inscription)*6,1,0x4E00E7); //ïîä÷åðêíóòü ññûëêó
DefineButton(x-1,y-1,strlen(inscription)*6,10,btn_id+BT_HIDE,0);
}
#define add_new_path 1
#define go_back 2
void HistoryPath(byte action)
{
if (action==add_new_path)
{
IF (strcmp(#PathHistory+find_symbol(#PathHistory,'|'),#path)==0) return;
IF (strlen(#PathHistory)+strlen(#path)>2560)
{
copystr(#PathHistory+1024,#PathHistory);
copystr("/",#PathHistory+strlen(#PathHistory));
}
copystr("|",#PathHistory+strlen(#PathHistory));
copystr(#path,#PathHistory+strlen(#PathHistory));
}
if (action==go_back)
{
i=strlen(#PathHistory)-1;
WHILE (PathHistory[i]<>'|') { i--; };
IF (i>0) PathHistory[i]=0x00;
WHILE (PathHistory[i]<>'|') { copystr(#PathHistory[i],#path); i--; }
IF (i>0) PathHistory[i]=0x00;
}
}
dword onLeft(dword right,left) {EAX=Form.width-right-left;}
dword onTop(dword down,up) {EAX=Form.height-GetSkinWidth()-down-up;}
void ShowMessage(dword message)
{
DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, message);
Pause(150);
List_ReDraw();
}
dword ConvertSize(dword bytes)
{
byte size_prefix[8], temp[3];
IF (bytes>=1073741824) copystr(" Gb",#temp);
ELSE IF (bytes>=1048576) copystr(" Mb",#temp);
ELSE IF (bytes>=1024) copystr(" Kb",#temp);
ELSE copystr(" b ",#temp);
WHILE (bytes>1023) bytes/=1024;
copystr(IntToStr(bytes),#size_prefix);
copystr(#temp,#size_prefix+strlen(#size_prefix));
EAX=#size_prefix;
}