From 5b0655cd7835ca0f9606e7c2d516fbf64a4d4243 Mon Sep 17 00:00:00 2001 From: theonlymirage Date: Sun, 14 Oct 2018 03:49:17 +0000 Subject: [PATCH] Hot Angles: Little code cleaning git-svn-id: svn://kolibrios.org@7460 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/other/ha/HACONFIG.ASM | 25 ++----- programs/other/ha/HOTANGLES.ASM | 114 ++------------------------------ programs/other/ha/ReadMe.txt | 4 +- 3 files changed, 12 insertions(+), 131 deletions(-) diff --git a/programs/other/ha/HACONFIG.ASM b/programs/other/ha/HACONFIG.ASM index d389422640..6ebd28f355 100644 --- a/programs/other/ha/HACONFIG.ASM +++ b/programs/other/ha/HACONFIG.ASM @@ -128,18 +128,16 @@ key: ; Keypress event handler mov eax, 2 ; The key is returned in ah. The key must be mcall ; read and cleared from the system queue. - ;push eax invoke edit_box_key, editLU invoke edit_box_key, editLD invoke edit_box_key, editRU invoke edit_box_key, editRD invoke edit_box_key, editRadius - ;pop eax cmp eax, 1 - je event_wait ;.end ;@f + je event_wait cmp word[hkSymbol], 0 - jne event_wait ;.end ;@f + jne event_wait cmp al, 0 jne .next mov byte[hkSymbol], ah @@ -167,13 +165,7 @@ key: ; Keypress event handler ;и сохраняем его mov dword[keystr.size], ecx -; cmp ecx, 3 -; jbe @f -; mcall -1 -; @@: - pop esi ecx eax - jmp red .next: ;cmp al, 2 @@ -187,7 +179,6 @@ key: ; Keypress event handler ;mov byte[hkSymbol], 2 ;jmp red @@: -;.end: jmp event_wait ; Just read the key, ignore it and jump to event_wait. button: ; Buttonpress event handler @@ -342,12 +333,11 @@ applyButton: add ecx, dword[hkSize] ;размер имени активационной кнопки add ecx, dword[keystr.size] ;размер сканкода активационной кнопки inc ecx ; ещё 1 байт для хранения размера элементов - ;mov ecx, 85 - cmp dword[keystr.size], 3 - jbe @f + ;cmp dword[keystr.size], 3 + ;jbe @f ;mcall -1 - @@: + ;@@: ;если заданы пустые строки, то мы автоматически добавляем знак минус, значит размер +1 байт cmp dword[editLU.size], 0 @@ -373,10 +363,6 @@ applyButton: mov dword[createFile.data_adr], eax ;сохраняем адрес буфера в структуру ;заполним буфер содержимого: - ;cmp byte[mode], 0 - ;jne @f - ;@@: - push ebx ;сохраняем выбранный режим mov bl, byte[mode] mov byte[eax], bl @@ -1859,7 +1845,6 @@ dd 0,0 akmenuitem_delete db 'kmenuitem_delete',0 akmenuitem_draw db 'kmenuitem_draw',0 -;mouse_dd dd ? sc system_colors mouse_dd rd 1 diff --git a/programs/other/ha/HOTANGLES.ASM b/programs/other/ha/HOTANGLES.ASM index d46e66c93e..8854f2c28e 100644 --- a/programs/other/ha/HOTANGLES.ASM +++ b/programs/other/ha/HOTANGLES.ASM @@ -250,7 +250,7 @@ run_command: cmp ecx, 0 jne @f - mov eax, apps.path1 ;dword[newData.lu] + mov eax, apps.path1 cmp byte[eax], 0 ;если по адресу пусто (или лежал символ '-'), то адрес 0 je .set0 mov dword[struct70.path_adr], eax @@ -260,7 +260,7 @@ run_command: @@: cmp ecx, 1 jne @f - mov eax, apps.path2 ;dword[newData.ld] + mov eax, apps.path2 cmp byte[eax], 0 ;если по адресу пусто (или лежал символ '-'), то адрес 0 je .set0 mov dword[struct70.path_adr], eax @@ -270,7 +270,7 @@ run_command: @@: cmp ecx, 2 jne @f - mov eax, apps.path3 ;dword[newData.ru] + mov eax, apps.path3 cmp byte[eax], 0 ;если по адресу пусто (или лежал символ '-'), то адрес 0 je .set0 mov dword[struct70.path_adr], eax @@ -280,7 +280,7 @@ run_command: @@: cmp ecx, 3 jne .set0 ;.end_set_path - mov eax, apps.path4 ;dword[newData.rd] + mov eax, apps.path4 cmp byte[eax], 0 ;если по адресу пусто (или лежал символ '-'), то адрес 0 je .set0 mov dword[struct70.path_adr], eax @@ -475,7 +475,7 @@ loadConfig: call readPath call gotoStartString - ;call checkAdr ;проверим строки на '-' и пустоту и выставим битовую маску + ;проверим строки на '-' call checkPathAdr pop edi esi @@ -485,8 +485,6 @@ loadConfig: call gotoStartString ;считываем сканкод активационной клавиши - ;call readKey - ;call gotoEndString push esi edi ecx mov esi, keystr mov edi, keystr @@ -532,54 +530,6 @@ loadConfig: ret -;readKey: - ;читаем клавишу и выходим -; cmp dword[eax], 'Ctrl' -; jne .notCtrl -; mov byte[keyActivate], 3 -; jmp .end -;.notCtrl: -; cmp dword[eax], 'Shif' -; jne .notShift -; mov byte[keyActivate], 2 -; jmp .end -;.notShift: -; cmp dword[eax], 'Spac' -; jne .notSpace -; mov byte[keyActivate], 32 -; jmp .end -;.notSpace: -; cmp word[eax], 'Al' -; jne .notAlt -; mov byte[keyActivate], 1 -; jmp .end -;.notAlt: - ;убедимся, что там 1 символ, а не строка -; cmp byte[eax+1], 10 -; je .oneSymb -; cmp byte[eax+1], 0 -; je .oneSymb -; cmp byte[eax+1], 13 -; je .oneSymb -; jmp .default ;в любом другом случае ошибка конфига - выход -;.oneSymb: - ;проверяем, что символ разрешённый !!! доделать - - ;добавляем символ как есть -; push ebx -; ;xor ebx, ebx -; mov bl, byte[eax] -; mov byte[keyActivate], bl -; pop ebx - -; jmp .end -;.default: -; mcall -1 -; ;mov byte[keyActivate], 2 -;.end: -; ret - - checkPathAdr: push eax ebx xor eax, eax @@ -615,59 +565,6 @@ checkPathAdr: pop ebx eax ret - -checkAdr: - push eax ebx - xor eax, eax - - mov ebx, apps.path1 - cmp byte[ebx], '-' - jne @f - inc eax -@@: - mov ebx, apps.path2 - cmp byte[ebx], '-' - jne @f - add eax, 2 -@@: - mov ebx, apps.path3 - cmp byte[ebx], '-' - jne @f - add eax, 4 -@@: - mov ebx, apps.path4 - cmp byte[ebx], '-' - jne @f - add eax, 8 -@@: - - mov ebx, apps.param1 - cmp byte[ebx], '-' - jne @f - add eax, 16 -@@: - mov ebx, apps.param2 - cmp byte[ebx], '-' - jne @f - add eax, 32 -@@: - mov ebx, apps.param3 - cmp byte[ebx], '-' - jne @f - add eax, 64 -@@: - mov ebx, apps.param4 - cmp byte[ebx], '-' - jne @f - add eax, 128 -@@: - - mov byte[apps.bits], al - pop ebx eax - ret - - - ;преобразование строки в целое число strToInteger: ;вход: esi - указатель на строку с десятичной записью числа, выход: eсx - число push eax ebx edx edi @@ -971,7 +868,6 @@ mode: rb 1 ; keystr: rb 4 ;строка со значением сканкода активационной клавиши radstr: rb 5 ;строка со значением радиуса apps: - .bits: rb 1 .path1: rb 512 .path2: rb 512 .path3: rb 512 diff --git a/programs/other/ha/ReadMe.txt b/programs/other/ha/ReadMe.txt index e77207dffb..849cca6b24 100644 --- a/programs/other/ha/ReadMe.txt +++ b/programs/other/ha/ReadMe.txt @@ -74,10 +74,10 @@ http://websvn.kolibrios.org/dl.php?repname=Kolibri+OS&path=%2Fprograms%2Fother%2 Известные недоработки, которые будут исправлены в следующих версиях: [+] отсутствие русского языка; [-] используется маленький шрифт текста; -[-] нет возможности запуска приложения с параметрами; +[+] нет возможности запуска приложения с параметрами; [+] знак минус не влияет на попытку запуска в конкретном углу; [+] пустое поле в конфигураторе и пустая строка в конфигурационном файле неверно обрабатываются; -[-] повреждение файла конфигурации после многократного вкл./выкл. опции Hot Angles; +[+] повреждение файла конфигурации после многократного вкл./выкл. опции Hot Angles; [+] режим явной команды клавишей активации: зажимаем горячую клавишу (например, shift), наводим курсор в угол - происходит реакция; [+] режим жеста/направления: зажимаем активирующую клавишу, после этого приложение анализирует мышь, в зависимости от направления движения мыши (от начальных координат в момент активации опции) выбирается активируемый угол - происходит реакция; [+] добавить диалог выбора пути OpenDialog в конфигураторе;