Eolite File Manager 4.1:

- show 8.3 names in title case at /rd/1, 
- add hotkeys to change sorting by Ctrl+Fn
- change disk drive by Ctrl+number
Kolibri Graphics Benchmark 0.9 (mgb): 
- big fonts and UI impovements
- add second editbox to edit the Right comment
- show difference in percent between two columns
- if the difference is less or equal to 1% it is not shown
- Russian translation by Daniel Ovchinnikov
- add 16x16 icon for *.mgb files, add associations
icons32.png:
- add Pig icon, bought at http://porctrijambiste.e-monsite.com/contact/contact.html and a bit improved
Kiv:
- improve icons

git-svn-id: svn://kolibrios.org@7628 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2019-04-16 21:21:19 +00:00
parent 94944f3e3d
commit 067e22eae8
20 changed files with 286 additions and 165 deletions

View File

@ -1 +1 @@
/sys/TinyPad: asm, inc, txt, mac, log, dat /sys/media/kiv: gif, bmp, png, tga, jpg, ico, cur, tif, tiff, jpeg, ppm, pgm, pbm, pnm, pcx, wbmp, xcf /sys/Network/Webview: htm, html, mht, xhtml /sys/fb2read: fb2 /sys/develop/cObj: obj /sys/skincfg: skn /sys/rtfRead: rtf /sys/develop/t_edit: cpp, h, c, c--, pas, set, ext, ini /sys/media/pixie/pixie: mp3 /sys/media/AC97SND: wav, xm /sys/media/MIDAMP: mid /sys/media/listplay: m3u, lap, asf /sys/shell: sh /sys/3d/view3ds: 3ds, asc /sys/graph: cvs /sys/unz: zip, 7z /sys/table: csv /kolibrios/media/updf: pdf /kolibrios/media/fplay: avi, mpg, mov, flv, wmv, vob, mkv, mp4, mpeg, divx, 3gp, webm /kolibrios/emul/zsnes: smc /kolibrios/emul/psx4all: mcr /kolibrios/emul/fceu/fceu: nes /kolibrios/emul/e80/e80: sna /kolibrios/emul/gameboy: gb, gbc /kolibrios/emul/pokemini: min /sys/develop/heed: /sys/TinyPad: asm, inc, txt, mac, log, dat /sys/media/kiv: gif, bmp, png, tga, jpg, ico, cur, tif, tiff, jpeg, ppm, pgm, pbm, pnm, pcx, wbmp, xcf /sys/Network/Webview: htm, html, mht, xhtml /sys/fb2read: fb2 /sys/develop/cObj: obj /sys/skincfg: skn /sys/rtfRead: rtf /sys/develop/t_edit: cpp, h, c, c--, pas, set, ext, ini /sys/media/mgb: mgb /sys/media/pixie/pixie: mp3 /sys/media/AC97SND: wav, xm /sys/media/MIDAMP: mid /sys/media/listplay: m3u, lap, asf /sys/shell: sh /sys/3d/view3ds: 3ds, asc /sys/graph: cvs, grf /sys/unz: zip, 7z /sys/table: csv /kolibrios/media/updf: pdf /kolibrios/media/fplay: avi, mpg, mov, flv, wmv, vob, mkv, mp4, mpeg, divx, 3gp, webm /kolibrios/emul/zsnes: smc /kolibrios/emul/psx4all: mcr /kolibrios/emul/fceu/fceu: nes /kolibrios/emul/e80/e80: sna /kolibrios/emul/gameboy: gb, gbc /kolibrios/emul/pokemini: min /sys/develop/heed:

View File

@ -154,6 +154,7 @@ drv=18
iso=19 iso=19
cue=19 cue=19
mdf=19 mdf=19
csv=21
xls=21 xls=21
xlsx=21 xlsx=21
nes=23 nes=23
@ -167,7 +168,7 @@ c=27
java=27 java=27
pas=27 pas=27
fb2=29 fb2=29
csv=21 mgb=47
[icons32] [icons32]
<dir>=45 <dir>=45

View File

@ -61,6 +61,7 @@ min=/kolibrios/emul/pokemini
nc=/kolibrios/utils/cnc_editor/cnc_editor nc=/kolibrios/utils/cnc_editor/cnc_editor
kf=/sys/KF_VIEW kf=/sys/KF_VIEW
csv=/sys/table csv=/sys/table
mgb=/sys/mgb
[Menu] [Menu]
AsmMenu1=&Edit,/sys/TinyPad AsmMenu1=&Edit,/sys/TinyPad

View File

@ -214,7 +214,7 @@ mht /sys/network/WebView
fb2 /sys/fb2read fb2 /sys/fb2read
kla /sys/games/klavisha kla /sys/games/klavisha
bin /sys/develop/heed bin /sys/develop/heed
mgb /sys/develop/heed mgb /sys/mgb
<>end <>end
<>files_association1 <>files_association1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -178,3 +178,4 @@ bas=/kolibrios/develop/TinyBasic/TinyBasic
vox=/kolibrios/3D/voxel_editor/VOXEL_EDITOR vox=/kolibrios/3D/voxel_editor/VOXEL_EDITOR
mgb=/sys/mgb

View File

@ -32,7 +32,7 @@ Sea War=games/SW,66
Almaz=/k/games/almaz,81 Almaz=/k/games/almaz,81
Tanks=games/tanks,67 Tanks=games/tanks,67
RocketForces=games/rforces,110 RocketForces=games/rforces,110
Pig=/k/games/pig/pigex Pig=/k/games/pig/pigex,120
; Ataka=games/ataka,35 ;rus only ; Ataka=games/ataka,35 ;rus only
Donkey=/k/games/donkey Donkey=/k/games/donkey
Loderunner=/k/games/LRL/LRL,41 Loderunner=/k/games/LRL/LRL,41

View File

@ -114,7 +114,6 @@ void main()
loop() switch(WaitEvent()) loop() switch(WaitEvent())
{ {
case evMouse: case evMouse:
if (!CheckActiveProcess(Form.ID)) break;
SelectList_ProcessMouse(); SelectList_ProcessMouse();
if (tabs.active_tab == SKINS) { if (tabs.active_tab == SKINS) {

View File

@ -54,13 +54,15 @@ dword col_selec, col_lpanel, col_work, col_graph, col_list_line=0xDDD7CF;
int toolbar_buttons_x[7]={9,46,85,134,167,203}; int toolbar_buttons_x[7]={9,46,85,134,167,203};
byte active_about=0; bool active_about = false;
word about_window; bool active_settings = false;
bool _not_draw = false;
bool menu_call_mouse = false;
bool exif_load = false;
bool dir_at_fat16 = NULL;
word about_thread_id;
word settings_window; word settings_window;
byte active_settings=0;
dword _not_draw = false;
byte menu_call_mouse=0;
byte exif_load=0;
byte del_active=0; byte del_active=0;
byte new_element_active=0; byte new_element_active=0;
@ -74,13 +76,12 @@ dword file_mas[6898];
int selected_count; int selected_count;
int count_dir; int count_dir;
byte byte path[4096];
path[4096], byte file_path[4096];
file_path[4096], byte file_name[256];
file_name[256], byte new_element_name[256];
new_element_name[256], byte temp[4096];
temp[4096], bool itdir;
itdir;
char active_path[4096], inactive_path[4096]; char active_path[4096], inactive_path[4096];
@ -132,7 +133,6 @@ byte cmd_free=0;
void main() void main()
{ {
char selected_filename[256];
dword id; dword id;
byte count_sl = 0; byte count_sl = 0;
signed x_old, y_old, dif_x, dif_y, adif_x, adif_y; signed x_old, y_old, dif_x, dif_y, adif_x, adif_y;
@ -341,7 +341,7 @@ void main()
switch(id) switch(id)
{ {
case CLOSE_BTN: case CLOSE_BTN:
KillProcess(about_window); KillProcess(about_thread_id);
SaveIniSettings(); SaveIniSettings();
ExitProcess(); ExitProcess();
case PATH_BTN: case PATH_BTN:
@ -371,14 +371,8 @@ void main()
case 26: case 26:
Paste(); Paste();
break; break;
case 31...33: //sorting case 31...33:
id -= 30; EventSort(id-30);
if (sort_type == id) sort_desc ^= 1;
else sort_type = id;
strcpy(#selected_filename, #file_name);
DrawList();
Open_Dir(#path,WITH_REDRAW);
SelectFileByName(#selected_filename);
break; break;
case 50...60: //Actions case 50...60: //Actions
FnProcess(id-50); FnProcess(id-50);
@ -428,17 +422,18 @@ void main()
{ {
switch(key_scancode) switch(key_scancode)
{ {
case 059...068: case SCAN_CODE_F1...SCAN_CODE_F3:
key_scancode -= 59; EventSort(key_scancode - 58);
if (key_scancode < SystemDiscs.list.count) break;
{ case SCAN_CODE_1...SCAN_CODE_10:
key_scancode-=2;
if (key_scancode >= SystemDiscs.list.count) break;
if (!two_panels.checked) if (!two_panels.checked)
{ {
DrawRectangle(17,key_scancode*16+74,159,16, 0); //display click DrawRectangle(17,key_scancode*16+74,159,16, 0); //display click
pause(7); pause(7);
} }
SystemDiscs.Click(key_scancode); SystemDiscs.Click(key_scancode);
}
break; break;
case SCAN_CODE_KEY_X: case SCAN_CODE_KEY_X:
Copy(#file_path, CUT); Copy(#file_path, CUT);
@ -704,6 +699,22 @@ void List_ReDraw()
if (new_element_active) && (col_selec != 0xCCCccc) NewElement_Form(new_element_active, #new_element_name); if (new_element_active) && (col_selec != 0xCCCccc) NewElement_Form(new_element_active, #new_element_name);
} }
bool file_name_is_8_3(dword name)
{
int name_len = strlen(name);
int dot_pos = strrchr(name, '.');
if (name_len<=12)
{
if (dot_pos) {
if (name_len - dot_pos > 3) return false;
}
else {
if (name_len>8) return false;
}
return true;
}
return false;
}
void Line_ReDraw(dword bgcol, filenum){ void Line_ReDraw(dword bgcol, filenum){
dword text_col=0, dword text_col=0,
@ -753,6 +764,7 @@ void Line_ReDraw(dword bgcol, filenum){
if (TestBit(attr, 1)) || (TestBit(attr, 2)) text_col=0xA6A6B7; //system or hiden? if (TestBit(attr, 1)) || (TestBit(attr, 2)) text_col=0xA6A6B7; //system or hiden?
if (bgcol==col_selec) if (bgcol==col_selec)
{ {
file_name_is_8_3(file_name_off);
itdir = TestBit(attr, 4); itdir = TestBit(attr, 4);
strcpy(#file_name, file_name_off); strcpy(#file_name, file_name_off);
if (!strcmp(#path,"/")) sprintf(#file_path,"%s%s",#path,file_name_off); if (!strcmp(#path,"/")) sprintf(#file_path,"%s%s",#path,file_name_off);
@ -815,6 +827,8 @@ void Open_Dir(dword dir_path, redraw){
SystemDiscs.Draw(); SystemDiscs.Draw();
files.visible = files.h / files.item_h; files.visible = files.h / files.item_h;
if (files.count < files.visible) files.visible = files.count; if (files.count < files.visible) files.visible = files.count;
if (!strncmp(dir_path, "/rd/1/",5))
dir_at_fat16 = true; else dir_at_fat16 = false;
if (redraw!=ONLY_SHOW) Sorting(); if (redraw!=ONLY_SHOW) Sorting();
list_full_redraw = true; list_full_redraw = true;
if (redraw!=ONLY_OPEN)&&(!_not_draw) {DrawStatusBar(); List_ReDraw();} if (redraw!=ONLY_OPEN)&&(!_not_draw) {DrawStatusBar(); List_ReDraw();}
@ -841,7 +855,7 @@ inline Sorting()
} }
for (j=files.count-1, file_off=files.count-1*304+buf+32; j>=0; j--, file_off-=304;) //files | folders for (j=files.count-1, file_off=files.count-1*304+buf+32; j>=0; j--, file_off-=304;) //files | folders
{ {
if (!show_real_names.checked) strttl(file_off+40); if (dir_at_fat16) && (file_name_is_8_3(file_off+40)) strttl(file_off+40);
if (TestBit(ESDWORD[file_off],4)) //directory? if (TestBit(ESDWORD[file_off],4)) //directory?
{ {
file_mas[d]=j; file_mas[d]=j;
@ -908,7 +922,7 @@ void SelectFileByName(dword that_file)
int ind; int ind;
files.KeyHome(); files.KeyHome();
Open_Dir(#path,ONLY_OPEN); Open_Dir(#path,ONLY_OPEN);
if (!show_real_names.checked) strttl(that_file); if (dir_at_fat16) && (file_name_is_8_3(that_file)) strttl(that_file);
for (ind=files.count-1; ind>=0; ind--;) { if (!strcmp(file_mas[ind]*304+buf+72,that_file)) break; } for (ind=files.count-1; ind>=0; ind--;) { if (!strcmp(file_mas[ind]*304+buf+72,that_file)) break; }
files.cur_y = ind - 1; files.cur_y = ind - 1;
files.KeyDown(); files.KeyDown();
@ -1075,12 +1089,12 @@ void FnProcess(byte N)
if (!active_about) if (!active_about)
{ {
about_stak = malloc(4096); about_stak = malloc(4096);
about_window = CreateThread(#about_dialog,about_stak+4092); about_thread_id = CreateThread(#about_dialog,about_stak+4092);
break; break;
} }
else else
{ {
ActivateWindow(GetProcessSlot(about_window)); ActivateWindow(GetProcessSlot(about_thread_id));
} }
break; break;
case 2: case 2:
@ -1208,4 +1222,15 @@ void EventRefreshDisksAndFolders()
} }
} }
void EventSort(dword id)
{
char selected_filename[256];
if (sort_type == id) sort_desc ^= 1;
else sort_type = id;
strcpy(#selected_filename, #file_name);
DrawList();
Open_Dir(#path,WITH_REDRAW);
SelectFileByName(#selected_filename);
}
stop: stop:

View File

@ -2,7 +2,6 @@
#ifdef LANG_RUS #ifdef LANG_RUS
?define TITLE_SETT "<EFBFBD> áâனª¨" ?define TITLE_SETT "<EFBFBD> áâனª¨"
?define SHOW_DEVICE_CLASS "‚뢮¤¨âì ­ §¢ ­¨ï ª« áá  ãáâனáâ¢" ?define SHOW_DEVICE_CLASS "‚뢮¤¨âì ­ §¢ ­¨ï ª« áá  ãáâனáâ¢"
?define SHOW_REAL_NAMES "<EFBFBD>®ª §ë¢ âì ¨¬¥­  ä ©«®¢ ­¥ ¬¥­ïï ॣ¨áâà"
?define SHOW_STATUS_BAR "<EFBFBD>®ª §ë¢ âì áâ âãá ¡ à" ?define SHOW_STATUS_BAR "<EFBFBD>®ª §ë¢ âì áâ âãá ¡ à"
?define NOTIFY_COPY_END "“¢¥¤®¬«ïâì ® § ¢¥à襭¨¨ ª®¯¨à®¢ ­¨ï" ?define NOTIFY_COPY_END "“¢¥¤®¬«ïâì ® § ¢¥à襭¨¨ ª®¯¨à®¢ ­¨ï"
?define SHOW_BREADCRUMBS "ˆá¯®«ì§®¢ âì 'å«¥¡­ë¥ ªà®èª¨'" ?define SHOW_BREADCRUMBS "ˆá¯®«ì§®¢ âì 'å«¥¡­ë¥ ªà®èª¨'"
@ -18,7 +17,6 @@
#else #else
?define TITLE_SETT "Settings" ?define TITLE_SETT "Settings"
?define SHOW_DEVICE_CLASS "Show device class name" ?define SHOW_DEVICE_CLASS "Show device class name"
?define SHOW_REAL_NAMES "Show file names in original case"
?define SHOW_STATUS_BAR "Show status bar" ?define SHOW_STATUS_BAR "Show status bar"
?define NOTIFY_COPY_END "Notify when copying finished" ?define NOTIFY_COPY_END "Notify when copying finished"
?define SHOW_BREADCRUMBS "Show breadcrumbs" ?define SHOW_BREADCRUMBS "Show breadcrumbs"
@ -40,7 +38,6 @@ edit_box path_start_ed = {290,50,57,0xffffff,0x94AECE,0xffffff,0xffffff,0x100000
more_less_box font_size = { NULL, 9, 22, FONT_SIZE_LABEL }; more_less_box font_size = { NULL, 9, 22, FONT_SIZE_LABEL };
more_less_box line_height = { NULL, 16, 64, LIST_LINE_HEIGHT }; more_less_box line_height = { NULL, 16, 64, LIST_LINE_HEIGHT };
checkbox show_dev_name = { SHOW_DEVICE_CLASS }; checkbox show_dev_name = { SHOW_DEVICE_CLASS };
checkbox show_real_names = { SHOW_REAL_NAMES };
checkbox show_status_bar = { SHOW_STATUS_BAR }; checkbox show_status_bar = { SHOW_STATUS_BAR };
checkbox info_after_copy = { NOTIFY_COPY_END }; checkbox info_after_copy = { NOTIFY_COPY_END };
checkbox show_breadcrumb = { SHOW_BREADCRUMBS }; checkbox show_breadcrumb = { SHOW_BREADCRUMBS };
@ -86,7 +83,6 @@ void settings_dialog()
break; break;
} }
show_dev_name.click(id); show_dev_name.click(id);
if (show_real_names.click(id)) action_buf=109;
info_after_copy.click(id); info_after_copy.click(id);
two_panels.click(id); two_panels.click(id);
show_breadcrumb.click(id); show_breadcrumb.click(id);
@ -133,7 +129,6 @@ void DrawSettingsCheckBoxes()
int x=11, frx=26, but_x; int x=11, frx=26, but_x;
y.n = 0; y.n = 0;
show_dev_name.draw(x, y.inc(14)); show_dev_name.draw(x, y.inc(14));
show_real_names.draw(x, y.inc(25));
show_status_bar.draw(x, y.inc(25)); show_status_bar.draw(x, y.inc(25));
info_after_copy.draw(x, y.inc(25)); info_after_copy.draw(x, y.inc(25));
show_breadcrumb.draw(x, y.inc(25)); show_breadcrumb.draw(x, y.inc(25));
@ -160,7 +155,6 @@ void LoadIniSettings()
ini.section = "Eolite"; ini.section = "Eolite";
files.SetFont(6, 9, 10000000b); files.SetFont(6, 9, 10000000b);
show_real_names.checked = ini.GetInt("RealFileNamesCase", true);
show_dev_name.checked = ini.GetInt("ShowDeviceName", true); show_dev_name.checked = ini.GetInt("ShowDeviceName", true);
show_status_bar.checked = ini.GetInt("ShowStatusBar", true); show_status_bar.checked = ini.GetInt("ShowStatusBar", true);
info_after_copy.checked = ini.GetInt("InfoAfterCopy", false); info_after_copy.checked = ini.GetInt("InfoAfterCopy", false);
@ -188,7 +182,6 @@ void SaveIniSettings()
{ {
ini.SetInt("ShowDeviceName", show_dev_name.checked); ini.SetInt("ShowDeviceName", show_dev_name.checked);
ini.SetInt("ShowStatusBar", show_status_bar.checked); ini.SetInt("ShowStatusBar", show_status_bar.checked);
ini.SetInt("RealFileNamesCase", show_real_names.checked);
ini.SetInt("InfoAfterCopy", info_after_copy.checked); ini.SetInt("InfoAfterCopy", info_after_copy.checked);
ini.SetInt("BigIcons", big_icons.checked); ini.SetInt("BigIcons", big_icons.checked);
ini.SetInt("TwoPanels", two_panels.checked); ini.SetInt("TwoPanels", two_panels.checked);

View File

@ -1,5 +1,5 @@
#define TITLE "Eolite File Manager 4.07" #define TITLE "Eolite File Manager 4.1"
#define ABOUT_TITLE "EOLITE 4.07" #define ABOUT_TITLE "EOLITE 4.1"
#ifdef LANG_RUS #ifdef LANG_RUS
?define T_FILE "” ©«" ?define T_FILE "” ©«"

View File

@ -41,7 +41,7 @@ int id;
if (id==SETBG_BTN) EventSetBackground(#image,256,256); if (id==SETBG_BTN) EventSetBackground(#image,256,256);
break; break;
case evKey: case evKey:
if (GetKey()==27) ExitProcess(); if (GetKeys()==27) ExitProcess();
break; break;
case evReDraw: case evReDraw:
system.color.get(); system.color.get();

View File

@ -58,6 +58,17 @@
#define SCAN_CODE_F11 087 #define SCAN_CODE_F11 087
#define SCAN_CODE_F12 088 #define SCAN_CODE_F12 088
#define SCAN_CODE_1 002
#define SCAN_CODE_2 003
#define SCAN_CODE_3 004
#define SCAN_CODE_4 005
#define SCAN_CODE_5 006
#define SCAN_CODE_6 007
#define SCAN_CODE_7 008
#define SCAN_CODE_8 009
#define SCAN_CODE_9 010
#define SCAN_CODE_10 011
#define SCAN_CODE_KEY_A 030 #define SCAN_CODE_KEY_A 030
#define SCAN_CODE_KEY_B 048 #define SCAN_CODE_KEY_B 048
#define SCAN_CODE_KEY_C 046 #define SCAN_CODE_KEY_C 046
@ -94,24 +105,6 @@
#define KEY_LWIN 01000000000b #define KEY_LWIN 01000000000b
#define KEY_RWIN 10000000000b #define KEY_RWIN 10000000000b
inline fastcall word GetKey() //+Gluk fix
{
$push edx
GETKEY:
$mov eax,2
$int 0x40
$cmp eax,1
$jne GETKEYI
$mov ah,dh
$jmp GETKEYII //jz?
GETKEYI:
$mov dh,ah
$jmp GETKEY
GETKEYII:
$pop edx
$shr eax,8
}
:unsigned char key_ascii; :unsigned char key_ascii;
:dword key_scancode, key_modifier, key_editbox; :dword key_scancode, key_modifier, key_editbox;
:int GetKeys() :int GetKeys()

View File

@ -135,8 +135,8 @@ void main()
break; break;
case evKey: case evKey:
key = GetKey(); GetKeys();
if (key==27) ExitProcess(); if (key_scancode == SCAN_CODE_ESC) ExitProcess();
break; break;
case evReDraw: case evReDraw:

View File

@ -30,7 +30,7 @@
char default_dir[] = "/rd/1"; char default_dir[] = "/rd/1";
od_filter filter2 = { 15, "MP3\0WAV\0XM\0\0" }; od_filter filter2 = { 15, "MP3\0WAV\0XM\0\0" };
#define ABOUT_MESSAGE "Pixie Player v2.93 Final #define ABOUT_MESSAGE " v2.94 Final
A tiny music folder player. A tiny music folder player.
Supports MP3, WAV, XM audio file formats. Supports MP3, WAV, XM audio file formats.
@ -133,7 +133,6 @@ void main()
WaitEventTimeout(10); WaitEventTimeout(10);
switch(EAX & 0xFF) { switch(EAX & 0xFF) {
case evMouse: case evMouse:
if (!CheckActiveProcess(Form.ID)) break;
mouse.get(); mouse.get();
scrollbar_v_mouse (#scroll1); scrollbar_v_mouse (#scroll1);
if (list.first != scroll1.position) if (list.first != scroll1.position)
@ -148,10 +147,10 @@ void main()
if (mouse.dblclick) EventStartPlayingSelectedItem(); if (mouse.dblclick) EventStartPlayingSelectedItem();
if (mouse.down) && (mouse.key&MOUSE_LEFT) if (mouse.down) && (mouse.key&MOUSE_LEFT)
&& (list.ProcessMouse(mouse.x, mouse.y)) DrawPlayList(); && (list.ProcessMouse(mouse.x, mouse.y)) DrawPlayList();
if (mouse.down) && (mouse.key&MOUSE_RIGHT) EventShowAbout();
} }
if(mouse.key&MOUSE_LEFT) && (mouse.x<14) if(mouse.key&MOUSE_LEFT) && (mouse.x<14)
&& (window_mode == WINDOW_MODE_SMALL) EventDragWindow(); && (window_mode == WINDOW_MODE_SMALL) EventDragWindow();
if (mouse.down) && (mouse.y>skin_height) && (mouse.key&MOUSE_RIGHT) EventShowAbout();
break; break;
case evButton: case evButton:
switch(GetButtonID()) { switch(GetButtonID()) {
@ -555,19 +554,23 @@ void ShowAboutThread()
if (key_scancode == SCAN_CODE_ESC) ExitProcess(); if (key_scancode == SCAN_CODE_ESC) ExitProcess();
break; break;
case evReDraw: case evReDraw:
DefineDragableWindow(150, 200, 400, 368); DefineDragableWindow(150, 200, 400, 400);
GetProcessInfo(#pop_up, SelfInfo); GetProcessInfo(#pop_up, SelfInfo);
DrawBar(0, 0, pop_up.width, pop_up.height, theme.color_top_panel_bg); DrawBar(0, 0, pop_up.width, pop_up.height, theme.color_top_panel_bg);
DrawRectangle(0, 0, pop_up.width, pop_up.height, theme.color_list_border); DrawRectangle(0, 0, pop_up.width, pop_up.height, theme.color_list_border);
DefineHiddenButton(pop_up.width - 27, 1, 26, 15, BUTTON_WINDOW_CLOSE); DefineHiddenButton(pop_up.width - 27, 1, 26, 15, BUTTON_WINDOW_CLOSE);
img_draw stdcall(skin.image, pop_up.width-28, 0, 28, 18, skin.w - 29, 0); //img_draw stdcall(skin.image, pop_up.width-28, 0, 28, 18, skin.w - 29, 0);
DrawCaptButton(pop_up.width-10-80, pop_up.height - 34, 80, 24, 2, DrawCaptButton(pop_up.width-10-80, pop_up.height - 34, 80, 24, 2,
theme.color_list_active_bg, theme.color_top_panel_song_name, "Cool"); 0x171717, 0xF5EFB3, "Cool");
WriteTextLines(10, 10, 0x90, theme.color_top_panel_song_name, ABOUT_MESSAGE, 19); WriteText(131,16, 0x81, 0x8E7C61, "Pixie Player");
DrawIcon32(10, 48, theme.color_top_panel_bg, 65); WriteText(130,15, 0x81, 0xF5EFB3, "Pixie Player");
WriteTextLines(10, 40, 0x90, theme.color_top_panel_song_name, ABOUT_MESSAGE, 19);
DrawIcon32(45, 15, theme.color_top_panel_bg, 65);
DrawIcon32(pop_up.width-32-45, 15, theme.color_top_panel_bg, 65);
} }
} }

View File

@ -63,7 +63,6 @@ void Main_Window()
switch(WaitEvent()) switch(WaitEvent())
{ {
case evMouse: case evMouse:
if (!CheckActiveProcess(Form.ID)) break;
edit_box_mouse stdcall (#edit_disk_size); edit_box_mouse stdcall (#edit_disk_size);
break; break;

View File

@ -1002,15 +1002,15 @@ draw_window:
imul ebx, 10001h imul ebx, 10001h
mcall mcall
mcall SF_DEFINE_BUTTON, <5 + 25 * 0, 20>, <5, 20>, 'opn'+40000000h mcall SF_DEFINE_BUTTON, <4 + 25 * 0, 21>, <4, 21>, 'opn'+40000000h
mcall , <10 + 25 * 1, 20>, , 'bck'+40000000h mcall , <9 + 25 * 1, 21>, , 'bck'+40000000h
mcall , <10 + 25 * 2, 20>, , 'fwd'+40000000h mcall , <9 + 25 * 2, 21>, , 'fwd'+40000000h
mcall , <15 + 25 * 3, 20>, , 'bgr'+40000000h mcall , <14 + 25 * 3, 21>, , 'bgr'+40000000h
mcall , <15 + 25 * 4, 20>, , 'sld'+40000000h mcall , <14 + 25 * 4, 21>, , 'sld'+40000000h
pop ebx pop ebx
add ebx, 5 add ebx, 5
shl ebx, 16 shl ebx, 16
mov bl, 20 mov bl, 21
mcall , , , 'flh'+40000000h mcall , , , 'flh'+40000000h
add ebx, 25 * 65536 add ebx, 25 * 65536
mcall , , , 'flv'+40000000h mcall , , , 'flv'+40000000h

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -1,10 +1,16 @@
;============================================================================= ;=============================================================================
; Kolibri Graphics Benchmark 0.82 ; Kolibri Graphics Benchmark 0.9
;-------------------------------------- ;--------------------------------------
; MGB - Menuet Graphics Benchmark 0.3 ; MGB - Menuet Graphics Benchmark 0.3
; Compile with FASM ; Compile with FASM
; ;
;============================================================================= ;=============================================================================
; version: 0.9
; last update: 15/04/2019
; written by: Kiril Lipatov aka Leency
; changes: use big fonts, editing two comments, improve UI, show delta %
; Russian translation by Daniel Ovchinnikov
;---------------------------------------------------------------------
; version: 0.82 ; version: 0.82
; last update: 03/11/2014 ; last update: 03/11/2014
; written by: Marat Zakiyanov aka Mario79, aka Mario ; written by: Marat Zakiyanov aka Mario79, aka Mario
@ -75,9 +81,9 @@ use32
dd cur_dir_path dd cur_dir_path
include '../../../config.inc' ;for nightbuild include '../../../config.inc' ;for nightbuild
include '..\..\..\macros.inc' include '../../../macros.inc'
include '..\..\..\proc32.inc' include '../../../proc32.inc'
;include '..\..\..\debug.inc' ;include '../../../debug.inc'
include '../../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../../develop/libraries/box_lib/load_lib.mac' include '../../../develop/libraries/box_lib/load_lib.mac'
include 'lang.inc' ;language support include 'lang.inc' ;language support
@ -152,8 +158,8 @@ key:
jz ActionTest jz ActionTest
cmp ah,'c' cmp ah,'c'
jz ActionComment jz ActionComment
cmp ah,'p' cmp ah,'m'
jz ActionPattern jz ActionPatternMove
cmp ah,'o' cmp ah,'o'
jz ActionOpen jz ActionOpen
cmp ah,'s' cmp ah,'s'
@ -185,9 +191,9 @@ ActionComment:
jmp still jmp still
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
NotComment: NotComment:
cmp ah,4 cmp ah,6
jnz NotPattern jnz NotPatternCopy
ActionPattern: ActionPatternMove:
test dword [wFlags],1 test dword [wFlags],1
jnz still jnz still
mov esi,results_table mov esi,results_table
@ -204,8 +210,8 @@ ActionPattern:
call DrawBars call DrawBars
jmp still jmp still
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
NotPattern: NotPatternCopy:
cmp ah,5 cmp ah,4
jnz NotOpen jnz NotOpen
ActionOpen: ActionOpen:
test dword [wFlags],1 test dword [wFlags],1
@ -226,7 +232,7 @@ OpenDialog_Start_1:
ret ret
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
NotOpen: NotOpen:
cmp ah,6 cmp ah,5
jnz still jnz still
ActionSave: ActionSave:
test dword [wFlags],1 test dword [wFlags],1
@ -280,36 +286,36 @@ align 4
draw_window: draw_window:
mcall 12,1 mcall 12,1
mcall 48,4 mcall 48,4
mov ebx,100*65536+72*5+14 mov ebx,460*65536+(LINE_DESCRIPTION_CHARS+5)*8+16
mov ecx,80*65536+TESTS_NUM*LINE_HEIGHT+15+20+35 mov ecx,80*65536+TESTS_NUM*(LINE_HEIGHT+2)+15+38
add cx,ax add cx,ax
xor eax,eax xor eax,eax
xor esi,esi xor esi,esi
mcall ,,,34000000h,,aCaption mcall ,,,34000000h,,aCaption
mov eax,8 mov eax,8
mov ebx,050036h+12 mov ebx,20*65536+84
mov ecx,5*65536+20 mov ecx,4*65536+24
mov edx,2 mov edx,2
mov esi,0x00007F7F mov esi,0x00007F7F
@@: @@:
mcall mcall
add ebx,72*65536 add ebx,96*65536
inc edx inc edx
cmp edx,7 cmp edx,7
jb @r jb @r
mov ecx,31 mov ecx,33
mov edx,0x00007F7F mov edx,0x00007F7F
mov esi,(72*5)/2 mov esi,(LINE_DESCRIPTION_CHARS*8)/2+20
call drawSeparator call drawSeparator
mcall 4,<27,12>,0x80DDEEFF,aButtonsText mcall 4,<46,9>,0x90DDEEFF,aButtonsText
call DrawBars call DrawBars
mov ecx,TESTS_NUM*LINE_HEIGHT+15+21 mov ecx,TESTS_NUM*LINE_HEIGHT+15+23
mov edx,0x00007F7F mov edx,0x00007F7F
mov esi,(72*5)/2 mov esi,(LINE_DESCRIPTION_CHARS*8)/2+20
call drawSeparator call drawSeparator
mcall 12,2 mcall 12,2
ret ret
@ -584,7 +590,7 @@ DrawBars:
add ecx,-2 add ecx,-2
shl ecx,16 shl ecx,16
mov cx,LINE_HEIGHT mov cx,LINE_HEIGHT
mov ebx,0*65536+72*5+5 mov ebx,0*65536+LINE_DESCRIPTION_CHARS*8+5
xor edx,edx xor edx,edx
mcall 13 mcall 13
pop ebx pop ebx
@ -592,7 +598,7 @@ DrawBars:
and ebx,0x0000FFFF and ebx,0x0000FFFF
or ebx,5*65536 or ebx,5*65536
mov edx,[edi+TEST_REC_SIZE-4] mov edx,[edi+TEST_REC_SIZE-4]
mcall 4,,0x8000CCCC mcall 4,,0x9000CCCC
push '=' 0x00FFFF00 0x00FFFF7F 0x00FFFF7F push '=' 0x00FFFF00 0x00FFFF7F 0x00FFFF7F
mov eax,[edi+0] mov eax,[edi+0]
@ -612,42 +618,90 @@ DrawBars:
@@: @@:
pop ecx pop ecx
call int2str call int2str
add ebx,(72*5-6*8*2-6-10-5)*65536 ; 196 add ebx,(LINE_DESCRIPTION_CHARS*8-8*8*2-20)*65536 ; 196
add ecx,0x10000000 ;big font
mcall 4,,,textarea,8 mcall 4,,,textarea,8
pop ecx pop ecx
mov eax,[edi+4] mov eax,[edi+4]
call int2str call int2str
add ebx,(6*8+6+10)*65536 add ebx,(6*8+26)*65536
add ecx,0x10000000 ;big font
mcall 4 mcall 4
;pop ecx
;add ebx,(-15)*65536
;mov edx,esp
;mov esi,1
;add ecx,0x10000000 ;big font
;mcall
; draw difference
pop ecx pop ecx
add ebx,(-6-5)*65536 add ecx,0x10000000 ;big font
mov edx,esp
pusha
mov esi,ecx
mov eax,[edi+0]
mov ecx,[edi+4]
cmp ecx,0
je .difference_end ; no div by zero
imul eax,100
xor edx,edx
div ecx
mov ecx, eax
sub ecx,100
mov [sign],'+'
cmp ecx,0
jge @f ; no need to invert positive rumber
neg ecx
mov [sign],'-'
@@:
cmp ecx,1 ; do not show <=1% results
jle .difference_end
cmp ecx,100 ; do not show >=100% results
je .difference_end
push ecx esi
add ebx,(10*8)*65536
mov ecx,esi
mov edx,sign
mov esi,1 mov esi,1
mcall mcall 4
pop esi ecx
add ebx,(1*8)*65536
mov edx,ebx
mcall 47, 10000000000001000000000000000000b
.difference_end:
popa
add esp,4 add esp,4
add edi,TEST_REC_SIZE add edi,TEST_REC_SIZE
add bx,LINE_HEIGHT add bx,LINE_HEIGHT
jmp .next_result jmp .next_result
.exit: .exit:
mov ebx, 0*65536+72*5+5
mov ecx, (TESTS_NUM*LINE_HEIGHT+15+25)*65536+26
mov ebx, 0*65536+LINE_DESCRIPTION_CHARS*8+5
mov ecx, (TESTS_NUM*LINE_HEIGHT+15+27)*65536+LINE_HEIGHT*2
xor edx, edx xor edx, edx
mcall 13 mcall 13
mov ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27) mov ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27)
mcall 4,,0x8000CCCC,aLeft mcall 4,,0x9000CCCC,aLeft
add ebx, (6*10)*65536 add ebx, (8*10)*65536
mcall ,,0x80FFFF00,comment_string_1 mcall ,,0x90FFFF00,comment_string_1
mov ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27+12) mov ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27+LINE_HEIGHT)
mcall ,,0x8000CCCC,aRight mcall ,,0x9000CCCC,aRight
add ebx, (6*10)*65536 add ebx, (8*10)*65536
mcall ,,0x80FFFF00,comment_string_2 mcall ,,0x90FFFF00,comment_string_2
ret ret
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
int2str: int2str:
@ -682,7 +736,21 @@ thread_comment:
mov edi, edit1 mov edi, edit1
mov [edi+48], eax ;ed_size mov [edi+48], eax ;ed_size
mov [edi+52], eax ;ed_pos mov [edi+52], eax ;ed_pos
;---------------------------------------------------------------------
mov esi,comment_string_2
cld
@@:
lodsb
test al,al
jne @r
sub esi,comment_string_2
mov eax,esi
dec eax
mov edi, edit2
mov [edi+48], eax ;ed_size
mov [edi+52], eax ;ed_pos
;---------------------------------------------------------------------
.red: .red:
call .draw_window call .draw_window
.still: .still:
@ -694,7 +762,9 @@ thread_comment:
cmp eax,3 ; button in buffer ? cmp eax,3 ; button in buffer ?
je .button je .button
push dword name_editboxes push dword edit1
call [edit_box_mouse]
push dword edit2
call [edit_box_mouse] call [edit_box_mouse]
jmp .still jmp .still
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
@ -705,7 +775,9 @@ thread_comment:
cmp ah,27 cmp ah,27
je .close je .close
push dword name_editboxes push dword edit1
call [edit_box_key]
push dword edit2
call [edit_box_key] call [edit_box_key]
jmp .still jmp .still
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
@ -721,8 +793,10 @@ thread_comment:
mcall 12,1 mcall 12,1
xor eax,eax xor eax,eax
xor esi,esi xor esi,esi
mcall ,<100,300>,<100,80>,0x34780078,,aComment mcall ,<110,300>,<120,120>,0x34C0C0C0,,aCommentT ; 0x34780078
push dword name_editboxes push dword edit1
call [edit_box_draw]
push dword edit2
call [edit_box_draw] call [edit_box_draw]
mcall 12,2 mcall 12,2
ret ret
@ -749,7 +823,7 @@ locLoadFile:
locSaveFile: locSaveFile:
mov [stFileInfoBlock], 2 mov [stFileInfoBlock], 2
or dword [wFlags],1 or dword [wFlags],1
mov esi,results_table+4 mov esi,results_table ;+4 to save Right Bar
mov edi,mgb_data mov edi,mgb_data
cld cld
@@: @@:
@ -793,8 +867,9 @@ results_table dd \
?,?,testDrawPixel,aDrawingPixel,\ ?,?,testDrawPixel,aDrawingPixel,\
0,0,0,0 0,0,0,0
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
LINE_HEIGHT = 13 LINE_HEIGHT = 17
TEST_REC_SIZE = 16 TEST_REC_SIZE = 16
LINE_DESCRIPTION_CHARS = 58
TESTS_NUM = ($ - results_table) / TEST_REC_SIZE - 1 TESTS_NUM = ($ - results_table) / TEST_REC_SIZE - 1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
if lang eq it if lang eq it
@ -815,15 +890,42 @@ if lang eq it
aDrawingPixel db 'Singolo pixel',0 aDrawingPixel db 'Singolo pixel',0
aTestText db 'This is a 34-charachters test text' aTestText db 'This is a 34-charachters test text'
aButtonsText db 'Test Commenti Pattern+ Apri Salva',0 aButtonsText db 'Test Commenti Apri Salva Move >',0
aCaption db 'Kolibri Graphical Benchmark 0.82',0 aCaption db 'Kolibri Graphical Benchmark 0.9',0
aLeft db 'Sinistra:',0 aLeft db 'Sinistra:',0
aRight db 'Destra :',0 aRight db 'Destra :',0
aComment1 db 'Attuale ',0 aComment1 db 'Attuale test',0
aComment2 db 'no pattern',0 aComment2 db 'previous test',0
aComment db 'Commento',0 aCommentT db 'Commenti',0
else if lang eq ru
aDrawingWindow db '‘¨á⥬­®¥ ®ª­® ᮠ᪨­®¬, 325x400 px',0
aDrawingBar db '‡ ªà è¥­­ë© ¯àאַ㣮«ì­¨ª, 100x250 px',0
aDrawingPicture db 'Š à⨭ª , 90x123, px',0
aDrawingPictF73 db 'Š à⨭ª  ¤«ï ¡«¨ââ¥à , 90x123, px',0
aGetScreenF36 db '—⥭¨¥ íªà ­  ¨§ ¢¨¤¥®¯ ¬ïâ¨, 90x123, px',0
aGetScreen_GS db '—⥭¨¥ íªà ­  ¨§ ¢¨¤¥®ª àâë, 90x123, px',0
aDrawingVLine db '<27>®«ì訩 ª â¥â, 350 px',0
aDrawingHLine db 'Œ¥­ì訩 ª â¥â, 270 px',0
aDrawingFLine db 'ƒ¨¯®â¥­ã§ , 350 px',0
aDrawingText1 db '‘¨á⥬­ë© ⥪áâ ¬ «¥­ìª¨©, 34 §­ ª ',0
aDrawingText1m db '‘¨á⥬­ë© ⥪áâ ¬ «¥­ìª¨© (¡ãä), 34 §­ ª ',0
aDrawingText2 db '‘¨á⥬­ë© ⥪áâ ¡®«ì让, 34 §­ ª ',0
aDrawingText2m db '‘¨á⥬­ë© ⥪áâ ¡®«ì让 (¡ãä), 34 §­ ª ',0
aDrawingNumber db '„¥áïâ¨ç­®¥ ç¨á«®, 8 æ¨äà',0
aDrawingPixel db 'Ž¤¨­®ç­ë© ¯¨ªá¥«ì',0
aTestText db 'This is a 34-charachters test text'
aButtonsText db '’¥áâ <20> §¢ ­¨ï ˆ§ ä ©«  ä ©« ‚¯à ¢® >',0
aCaption db 'ƒà ä¨ç¥áª¨© ¡¥­ç¬ àª ¤«ï Š®«¨¡à¨ v0.9',0
aLeft db '‘«¥¢ :',0
aRight db '‘¯à ¢ :',0
aComment1 db 'íâ®â â¥áâ',0
aComment2 db '¯à¥¤ë¤ã騩 â¥áâ',0
aCommentT db '<27>¥¤ ªâ¨à®¢ âì ª®¬¬¥­â à¨¨',0
else else
aDrawingWindow db 'Window Of Type #3, 325x400 px',0 aDrawingWindow db 'Window Of Type #3, 325x400 px',0
aDrawingBar db 'Filled Rectangle, 100x250 px',0 aDrawingBar db 'Filled Rectangle, 100x250 px',0
@ -835,22 +937,22 @@ else
aDrawingHLine db 'Horizontal Line, 270 px',0 aDrawingHLine db 'Horizontal Line, 270 px',0
aDrawingFLine db 'Free-angled Line, 350 px',0 aDrawingFLine db 'Free-angled Line, 350 px',0
aDrawingText1 db 'Fixed-width Text, 34 chars',0 aDrawingText1 db 'Fixed-width Text, 34 chars',0
aDrawingText1m db 'Fixed-width Text(m), 34 chars',0 aDrawingText1m db 'Fixed-width Text(mem), 34 chars',0
aDrawingText2 db 'Proportional Text, 34 chars',0 aDrawingText2 db 'Proportional Text, 34 chars',0
aDrawingText2m db 'Proportional Text(m), 34 chars',0 aDrawingText2m db 'Proportional Text(mem), 34 chars',0
aDrawingNumber db 'Decimal Number, 8 digits',0 aDrawingNumber db 'Decimal Number, 8 digits',0
aDrawingPixel db 'Single Pixel',0 aDrawingPixel db 'Single Pixel',0
aTestText db 'This is a 34-charachters test text' aTestText db 'This is a 34-charachters test text'
aButtonsText db 'Test Comment+ Pattern+ Open Save',0 aButtonsText db 'Test Comments Open Save Move >',0
aCaption db 'Kolibri Graphical Benchmark 0.82',0 aCaption db 'Kolibri Graphical Benchmark 0.9',0
aLeft db 'Left :',0 aLeft db 'Left :',0
aRight db 'Right :',0 aRight db 'Right :',0
aComment1 db 'current',0 aComment1 db 'current test',0
aComment2 db 'no pattern',0 aComment2 db 'previous test',0
aComment db 'Comment',0 aCommentT db 'Edit comments',0
end if end if
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
system_dir_Boxlib db '/sys/lib/box_lib.obj',0 system_dir_Boxlib db '/sys/lib/box_lib.obj',0
@ -919,9 +1021,11 @@ db 'MGB',0
.end: .end:
db 0 db 0
start_temp_file_name: db 'pattern.mgb',0 sign db ?,0
path4 db '/rd/1/pattern.mgb',0 start_temp_file_name: db 'results.mgb',0
path4 db '/rd/1/results.mgb',0
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4 align 4
params_f73: params_f73:
@ -1037,14 +1141,16 @@ aEdit_box_mouse db 'edit_box_mouse',0
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
; for EDITBOX ; for EDITBOX
align 4 align 4
name_editboxes: editboxes:
edit1 edit_box 200,10,30,0xffffff,0xbbddff,0,0,0,255,comment_string_1,mouse_dd,ed_focus+ed_always_focus,0 edit1 edit_box 260,12,15,0xffffff,0xbbddff,0xFF00FF,0x7F7F7F,\
name_editboxes_end: 0x90000000,43,comment_string_1,0,ed_focus,0
edit2 edit_box 260,12,50,0xffffff,0xbbddff,0xFF00FF,0x7F7F7F,\
0x90000000,43,comment_string_2,0,0,0
editboxes_end:
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
IM_END: IM_END:
align 4 align 4
mouse_dd rd 1
area_for_f36 rd 1 area_for_f36 rd 1
dwTestEndTime rd 1 dwTestEndTime rd 1
dwMainPID rd 1 dwMainPID rd 1