forked from KolibriOS/kolibrios
Eolite: fix, font.h: simple smooth just for Eolite
git-svn-id: svn://kolibrios.org@5761 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
1649825db0
commit
bd8799a157
@ -270,7 +270,6 @@ void main()
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (two_panels) && (mouse.y > files.y) && (mouse.down) {
|
||||
if (mouse.x<Form.cwidth/2)
|
||||
{
|
||||
@ -586,6 +585,9 @@ void DrawFilePanels()
|
||||
|
||||
if (active_panel==1)
|
||||
{
|
||||
llist_copy(#files, #files_inactive);
|
||||
strcpy(#path, #inactive_path);
|
||||
col_selec = 0xCCCccc;
|
||||
files.SetSizes(Form.cwidth/2, 57+22, Form.cwidth/2 -17, Form.cheight-59-22, files.line_h);
|
||||
DrawList();
|
||||
Open_Dir(#path,WITH_REDRAW);
|
||||
@ -646,7 +648,7 @@ void List_ReDraw()
|
||||
}
|
||||
|
||||
|
||||
void Line_ReDraw(dword color, filenum){
|
||||
void Line_ReDraw(dword bgcol, filenum){
|
||||
dword text_col=0,
|
||||
ext1, attr,
|
||||
file_offet,
|
||||
@ -654,11 +656,11 @@ void Line_ReDraw(dword color, filenum){
|
||||
y=filenum*files.line_h+files.y;
|
||||
BDVK file;
|
||||
if (filenum==-1) return;
|
||||
DrawBar(files.x,y,3,files.line_h,color);
|
||||
DrawBar(files.x+19,y,files.w-19,files.line_h,color);
|
||||
DrawBar(files.x+3,y+17,16,1,color);
|
||||
if (files.line_h>18) DrawBar(files.x+3,y+18,16,files.line_h-18,color);
|
||||
if (files.line_h>15) DrawBar(files.x+3,y,16,files.line_h-15,color);
|
||||
DrawBar(files.x,y,3,files.line_h,bgcol);
|
||||
DrawBar(files.x+19,y,files.w-19,files.line_h,bgcol);
|
||||
DrawBar(files.x+3,y+17,16,1,bgcol);
|
||||
if (files.line_h>18) DrawBar(files.x+3,y+18,16,files.line_h-18,bgcol);
|
||||
if (files.line_h>15) DrawBar(files.x+3,y,16,files.line_h-15,bgcol);
|
||||
|
||||
file_offet = file_mas[filenum+files.first]*304 + buf+32;
|
||||
attr = ESDWORD[file_offet];
|
||||
@ -670,17 +672,17 @@ void Line_ReDraw(dword color, filenum){
|
||||
{
|
||||
ext1 = strrchr(file_name_off,'.') + file_name_off;
|
||||
if (ext1==file_name_off) ext1 = " \0"; //if no extension then show nothing
|
||||
Put_icon(ext1, files.x+3, files.line_h/2-7+y, color, 0);
|
||||
Put_icon(ext1, files.x+3, files.line_h/2-7+y, bgcol, 0);
|
||||
WriteText(7-strlen(ConvertSize(file.sizelo))*6+files.x+files.w - 58, files.text_y + y,files.font_type,0,ConvertSize(file.sizelo));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!strncmp(file_name_off,"..",3)) ext1=".."; else ext1="<DIR>";
|
||||
Put_icon(ext1, files.x+3, files.line_h/2-7+y, color, 0);
|
||||
Put_icon(ext1, files.x+3, files.line_h/2-7+y, bgcol, 0);
|
||||
}
|
||||
|
||||
if (TestBit(attr, 1)) || (TestBit(attr, 2)) text_col=0xA6A6B7; //system or hiden?
|
||||
if (color!=0xFFFfff)
|
||||
if (bgcol!=0xFFFfff)
|
||||
{
|
||||
itdir = TestBit(attr, 4);
|
||||
strcpy(#file_name, file_name_off);
|
||||
@ -703,7 +705,7 @@ void Line_ReDraw(dword color, filenum){
|
||||
}
|
||||
else
|
||||
{
|
||||
font.bg_color = color;
|
||||
font.bg_color = bgcol;
|
||||
font.text(files.x + 23, files.line_h - font.height / 2 - 1 + y, file_name_off);
|
||||
}
|
||||
DrawBar(files.x+files.w-141,y,1,files.line_h,system.color.work); //gray line 1
|
||||
@ -1103,7 +1105,6 @@ void FnProcess(byte N)
|
||||
Tip(56, T_DEVICES, 55, "-");
|
||||
Open_Dir(#path,WITH_REDRAW);
|
||||
pause(10);
|
||||
LoadIniSettings();
|
||||
GetSystemDiscs();
|
||||
Open_Dir(#path,WITH_REDRAW);
|
||||
DrawDeviceAndActionsLeftPanel();
|
||||
|
@ -27,13 +27,13 @@ int WinX, WinY, WinW, WinH;
|
||||
void settings_dialog()
|
||||
{
|
||||
byte id;
|
||||
|
||||
active_settings=1;
|
||||
loop(){
|
||||
switch(WaitEvent())
|
||||
{
|
||||
case evButton:
|
||||
id=GetButtonID();
|
||||
if (id==1) ExitSettings();
|
||||
if (id==1) { ExitSettings(); break; }
|
||||
else if (id==5)
|
||||
{
|
||||
RunProgram("tinypad", "/sys/settings/assoc.ini");
|
||||
@ -47,9 +47,8 @@ void settings_dialog()
|
||||
else if (id==26) && (files.line_h>18) files.line_h--;
|
||||
else if (id==27) MOUSE_TIME++;
|
||||
else if (id==28) && (MOUSE_TIME>29) MOUSE_TIME--;
|
||||
else if (id==30) && (font.size.text<22) { font.size.text++; BigFontsChange(); }
|
||||
else if (id==31) && (font.size.text>9) { font.size.text--; BigFontsChange(); }
|
||||
SaveIniSettings();
|
||||
else if (id==30) { font.size.text++; IF(!font.changeSIZE()) font.size.text--; BigFontsChange(); }
|
||||
else if (id==31) { font.size.text--; IF(!font.changeSIZE()) font.size.text++; BigFontsChange(); }
|
||||
EventRedrawWindow(Form.left,Form.top);
|
||||
DrawSettingsCheckBoxes();
|
||||
break;
|
||||
@ -72,7 +71,6 @@ void ExitSettings()
|
||||
active_settings = 0;
|
||||
settings_window = 0;
|
||||
cmd_free = 4;
|
||||
SaveIniSettings();
|
||||
ExitProcess();
|
||||
}
|
||||
|
||||
@ -103,6 +101,9 @@ void LoadIniSettings()
|
||||
ini_get_int stdcall (eolite_ini_path, #config_section, "WinW", 550); WinW = EAX;
|
||||
ini_get_int stdcall (eolite_ini_path, #config_section, "WinH", 500); WinH = EAX;
|
||||
BigFontsChange();
|
||||
files.SetFont(6, 6, 10000000b);
|
||||
FileShow.font_size_x = files.font_w;
|
||||
FileShow.font_number = 0;
|
||||
}
|
||||
|
||||
|
||||
@ -152,10 +153,6 @@ void BigFontsChange()
|
||||
files.line_h = font.height + 4;
|
||||
if (files.line_h<18) files.line_h = 18;
|
||||
files_active.line_h = files_inactive.line_h = files.line_h;
|
||||
|
||||
files.SetFont(6, 6, 10000000b);
|
||||
FileShow.font_size_x = files.font_w;
|
||||
FileShow.font_number = 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#define TITLE "Eolite File Manager v3.1"
|
||||
#define ABOUT_TITLE "Eolite 3.1"
|
||||
#define TITLE "Eolite File Manager v3.12"
|
||||
#define ABOUT_TITLE "Eolite 3.12"
|
||||
|
||||
#ifdef LANG_RUS
|
||||
?define T_FILE "” ©«"
|
||||
|
@ -244,9 +244,31 @@ FONT font = 0;
|
||||
IF(weight)len+=math.ceil(size.text/17);
|
||||
text1++;
|
||||
}
|
||||
IF (no_bg_copy) && (!color) SmoothFont(buffer, size.width, size.height);
|
||||
_PutImage(x,y,size.width,size.height,buffer);
|
||||
return len;
|
||||
}
|
||||
inline fastcall dword b24(EBX) { return DSDWORD[EBX] << 8; }
|
||||
:void SmoothFont(dword color_image, w, h)
|
||||
{
|
||||
byte rr,gg,bb;
|
||||
dword i,line_w,to, pixel;
|
||||
line_w = w * 3;
|
||||
to = w*h*3 + color_image - line_w - 3;
|
||||
for (i = color_image; i < to; i+=3) {
|
||||
if (i-color_image%line_w +3 == line_w) continue;
|
||||
if (b24(i)==0x000000) && (b24(i+3)!=0x000000) && (b24(i+line_w)!=0x000000) && (b24(i+3+line_w)==0x000000)
|
||||
{
|
||||
ShadowImage(i+3, 1, 1, 2);
|
||||
ShadowImage(i+line_w, 1, 1, 2);
|
||||
}
|
||||
else if (b24(i)!=0x000000) && (b24(i+3)==0x000000) && (b24(i+line_w)==0x000000) && (b24(i+3+line_w)!=0x000000)
|
||||
{
|
||||
ShadowImage(i, 1, 1, 2);
|
||||
ShadowImage(i+3+line_w, 1, 1, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
:dword FONT::textarea(word x,y;dword text1,c;byte size)
|
||||
{
|
||||
|
||||
|
@ -162,17 +162,18 @@
|
||||
|
||||
:void GrayScaleImage(dword color_image, w, h)
|
||||
{
|
||||
dword i,gray,rr,gg,bb;
|
||||
for (i = 0; i < w*h*3; i+=3)
|
||||
dword i,gray,to,rr,gg,bb;
|
||||
to = w*h*3 + color_image;
|
||||
for (i = color_image; i < to; i+=3)
|
||||
{
|
||||
rr = DSBYTE[i+color_image];
|
||||
gg = DSBYTE[i+1+color_image];
|
||||
bb = DSBYTE[i+2+color_image];
|
||||
rr = DSBYTE[i];
|
||||
gg = DSBYTE[i+1];
|
||||
bb = DSBYTE[i+2];
|
||||
gray = rr*rr;
|
||||
gray += gg*gg;
|
||||
gray += bb*bb;
|
||||
gray = sqrt(gray) / 3;
|
||||
DSBYTE[i +color_image] = DSBYTE[i+1+color_image] = DSBYTE[i+2+color_image] = gray;
|
||||
DSBYTE[i] = DSBYTE[i+1] = DSBYTE[i+2] = gray;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user