Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 7401 → Rev 7402

/programs/other/ha/editbox.inc
File deleted
\ No newline at end of file
/programs/other/ha/check.inc
File deleted
\ No newline at end of file
/programs/other/ha/editbox.mac
File deleted
\ No newline at end of file
/programs/other/ha/HACONFIG
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/other/ha/HACONFIG.ASM
2,7 → 2,7
; Hot Angles Config ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Compile with FASM
; Version 0.2: Sep 19, 2018
; Version 0.3: Sep 22, 2018
 
; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage
; All rights reserved.
42,11 → 42,14
; Íà÷àëî îáëàñòè êîäà
include 'lang.inc' ;ïîääåðæêà ÿçûêîâ ïðè êîìïèëÿöèè
include '../../macros.inc'
include 'editbox.inc'
use_edit_box
include 'check.inc' ;âêëþ÷èòü ôàéë check.inc
version_ch1 ;íåîáõîäèìûé ìàêðîñ äëÿ âêëþ÷åíèÿ new âåðñèè check_box1
use_check_box ;èñïîëüçóÿ ìàêðîñû, âíåñòè ïðîöåäóðû äëÿ ðèñîâàíèÿ ÷åê áîêñà
include '../../proc32.inc'
include '../../dll.inc'
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
;;include 'editbox.inc'
;;use_edit_box
;;include 'check.inc' ;âêëþ÷èòü ôàéë check.inc
;;version_ch1 ;íåîáõîäèìûé ìàêðîñ äëÿ âêëþ÷åíèÿ new âåðñèè check_box1
;;use_check_box ;èñïîëüçóÿ ìàêðîñû, âíåñòè ïðîöåäóðû äëÿ ðèñîâàíèÿ ÷åê áîêñà
 
Otstup = 30
 
60,6 → 63,13
mov edx, sizeof.system_colors
mcall
 
 
stdcall dll.Load, @IMPORT
or eax, eax
jnz exit
 
invoke init_checkbox, ch1
 
mov eax,40 ;óñòàíîâèòü ìàñêó äëÿ îæèäàåìûõ ñîáûòèé
mov ebx,0x27 ;ñèñòåìà áóäåò ðåàãèðîâàòü òîëüêî íà ñîîáùåíèå î ïåðåðèñîâêå, íàæàòà êíîïêà, îïðåäåë¸ííàÿ ðàíåå, ñîáûòèå îò ìûøè (÷òî-òî ñëó÷èëîñü - íàæàòèå íà êíîïêó ìûøè èëè ïåðåìåùåíèå; ñáðàñûâàåòñÿ ïðè ïðî÷òåíèè)
mcall
84,8 → 94,14
je button ; Expl.: User has pressed one of the
; applications buttons.
 
mouse_edit_boxes editboxes,editboxes_end
mouse_check_boxes check_boxes,check_boxes_end ;ïðîâåðêà ÷åê áîêñà
;mouse_edit_boxes editboxes,editboxes_end
;mouse_check_boxes check_boxes,check_boxes_end ;ïðîâåðêà ÷åê áîêñà
invoke edit_box_mouse, editLU
invoke edit_box_mouse, editLD
invoke edit_box_mouse, editRU
invoke edit_box_mouse, editRD
invoke check_box_mouse, ch1 ;ïðîâåðêà ÷åê áîêñà
 
jmp event_wait
 
 
96,7 → 112,11
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.
key_edit_boxes editboxes,editboxes_end
;key_edit_boxes editboxes,editboxes_end
invoke edit_box_key, editLU
invoke edit_box_key, editLD
invoke edit_box_key, editRU
invoke edit_box_key, editRD
jmp event_wait ; Just read the key, ignore it and jump to event_wait.
 
button: ; Buttonpress event handler
105,6 → 125,7
 
cmp ah,1 ; button id=1 ?
jne noclose
exit:
mov eax,-1 ; Function -1 : close this program
mcall
noclose:
176,7 → 197,7
 
;çàïîëíèì áóôåð ñîäåðæèìîãî:
mov byte[eax], 110; 'n' ;ïî óìîë÷àíèþ ôëàã ñíÿò
cmp word[ch1.flags], ch_flag_en ;âûñòàâëåí checkBox èëè íåò?
cmp word[ch1.flags], 110b ;ch_flag_en and ch_flag_middle ;110b ;ch_flag_en ;âûñòàâëåí checkBox èëè íåò?
jne applyButton.no
mov byte[eax], 121 ;èíà÷å êëàä¸ì 'y'
.no:
332,10 → 353,10
cmp byte[eax], 121 ;'y' ;âûñòàâëÿåì checkBox - ïàðàìåòð àêòèâíîñòè ïðèëîæåíèÿ
jne loadConfig.no
.yes:
mov word[ch1.flags], ch_flag_en
mov word[ch1.flags], 110b ;ch_flag_en and ch_flag_middle ;110b ;ch_flag_en
jmp loadConfig.chEnd
.no:
mov word[ch1.flags], 0
mov word[ch1.flags], 100b ;0 and ch_flag_middle ;100b
.chEnd:
;jmp loadConfig.end ;êîìàíäà äëÿ óäîáñòâà îòëàäêè è ïîèñêà îøèáîê
 
542,9 → 563,15
mov edi, title
mcall
 
draw_check_boxes check_boxes,check_boxes_end ;ðèñîâàíèå ÷åêáîêñîâ
draw_edit_boxes editboxes,editboxes_end ;ðèñîâàíèå edit box'îâ
;draw_check_boxes check_boxes,check_boxes_end ;ðèñîâàíèå ÷åêáîêñîâ
;draw_edit_boxes editboxes,editboxes_end ;ðèñîâàíèå edit box'îâ
invoke edit_box_draw, editLU ;ðèñîâàíèå edit box'îâ
invoke edit_box_draw, editLD
invoke edit_box_draw, editRU
invoke edit_box_draw, editRD
 
invoke check_box_draw, ch1 ;ðèñîâàíèå ÷åêáîêñîâ
 
;ðèñóåì êíîïêó
mov ebx, (WindowsWidth-80-Otstup)*65536 + 80 ;êîîðäèíàòà X, øèðèíà êíîïêè
mov ecx, 160*65536 + 20 ;êîîðäèíàòà Y, âûñîòà êíîïêè
583,17 → 610,36
 
 
 
align 4
align 16
@IMPORT:
library box_lib, 'box_lib.obj'
import box_lib,\
edit_box_draw, 'edit_box',\
edit_box_key, 'edit_box_key',\
edit_box_mouse, 'edit_box_mouse',\
init_checkbox, 'init_checkbox2',\
check_box_draw, 'check_box_draw2',\
check_box_mouse, 'check_box_mouse2',\
option_box_draw, 'option_box_draw',\
option_box_mouse, 'option_box_mouse'
 
 
 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;DATA äàííûå äëÿ check_box1 - èñïîëüçóåò ñèñòåìíûå öâåòà
;Ôîðìàò äàííûõ ÷åê áîêñà:
; êîîðäèíàòà õ, êîîðäèíàòà ó, óêàçàòåëü íà íà÷àëî ñòðîêè, äëèíà ñòðîêè
;ñîñòîÿíèå ðàáîòû óòèëèòû: àêòèâíà/íåò
check_boxes:
ch1 check_box1 30,160,ch_text.1,ch_text.e1-ch_text.1,ch_flag_en
check_boxes_end:
;check_boxes:
; ch1 check_box1 30,160,ch_text.1,ch_text.e1-ch_text.1,ch_flag_en
;check_boxes_end:
 
;êîîðäèíàòû (x,y) = (30, 160) ðàçìåð ÷åêáîêñà 12, öâåò òåêñòà 0x224466
ch1 check_box2 30 shl 16 + 12, 160 shl 16 + 12, 6, 0xFFFFFFFF, 0xAABBCC, 0x224466, ch_text, 110b ; ch_flag_en and ch_flag_middle
 
 
if lang eq ru ;åñëè ÿçûê ñáîðêè ðóññêèé
 
text db "Š®­ä¨£ãà â®à Hot Angles ®â¢¥ç ¥â §  ­ áâனªã  ªâ¨¢­ëå 㣫®¢. "
605,9 → 651,10
buttonTextSize = 9
buttonTextXoffset = 12
 
ch_text: ;ñîïðîâîæäàþùèé òåêñò äëÿ ÷åê áîêñîâ
.1 db '‚ª«îç¨âì/ ªâ¨¢¨à®¢ âì "Hot Angles"'
.e1:
ch_text db '‚ª«îç¨âì/ ªâ¨¢¨à®¢ âì "Hot Angles"', 0
;ch_text: ;ñîïðîâîæäàþùèé òåêñò äëÿ ÷åê áîêñîâ
;.1 db '‚ª«îç¨âì/ ªâ¨¢¨à®¢ âì "Hot Angles"'
;.e1:
 
superText:
.lu db 'Š®¬ ­¤  «¥¢®£® ¢¥àå­¥£® 㣫 : ', 0
627,9 → 674,9
buttonTextSize = 5
buttonTextXoffset = 0
 
ch_text: ;ñîïðîâîæäàþùèé òåêñò äëÿ ÷åê áîêñîâ
.1 db 'Activate "Hot Angles"'
.e1:
ch_text db 'Activate "Hot Angles"',0 ;ñîïðîâîæäàþùèé òåêñò äëÿ ÷åê áîêñà
;.1 db 'Activate "Hot Angles"',0
;.e1:
 
superText:
.lu db 'Left up angle command: ', 0
669,19 → 716,25
ret
 
 
edMaxSize = 510
edMaxSize = 510 ;òåïåðü ñ íîâûì êîìïîíåíòîì ìîæíî è 511 óêàçàòü
edMax = 0 ;max, size, pos
 
editboxes:
editLU edit_box 180,Otstup,85,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.1,ed_focus,edMax,edMax
editLD edit_box 180,Otstup,120,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.2,0,edMax,edMax
editRU edit_box 180,240,85,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.3,0,edMax,edMax
editRD edit_box 180,240,120,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.4,0,edMax,edMax
editboxes_end:
align 4
editLU edit_box 180,Otstup,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.1, mouse_dd, 0, edMax, edMax ;ed_focus
editLD edit_box 180,Otstup,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.2, mouse_dd, 0, edMax, edMax
editRU edit_box 180,240,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.3, mouse_dd, 0, edMax, edMax
editRD edit_box 180,240,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.4, mouse_dd, 0, edMax, edMax
 
data_of_code dd 0
mouse_flag dd 0x0
;editboxes:
;editLU edit_box 180,Otstup,85,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.1,ed_focus,edMax,edMax
;editLD edit_box 180,Otstup,120,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.2,0,edMax,edMax
;editRU edit_box 180,240,85,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.3,0,edMax,edMax
;editRD edit_box 180,240,120,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.4,0,edMax,edMax
;editboxes_end:
 
;data_of_code dd 0
;mouse_flag dd 0x0
 
dataBuffer:
.1: rb 512
.2: rb 512
695,6 → 748,7
;äâà çàïàñíûõ áàéòà íåîáõîäèìû äëÿ òîãî ÷òî áû íå ïåïåðåïèñàòü ñëåäóþùèåé áàéòû, â êîíöå áóôåðà 0
dataBufferEnd:
 
mouse_dd dd ?
sc system_colors
 
I_END:
/programs/other/ha/ReadMe.txt
37,9 → 37,12
[-] çíàê ìèíóñ íå âëèÿåò íà ïîïûòêó çàïóñêà â êîíêðåòíîì óãëó;
[-] ïóñòîå ïîëå â êîíôèãóðàòîðå è ïóñòàÿ ñòðîêà â êîíôèãóðàöèîííîì ôàéëå íåâåðíî îáðàáàòûâàþòñÿ;
[-] ïîâðåæäåíèå ôàéëà êîíôèãóðàöèè ïîñëå ìíîãîêðàòíîãî âêë./âûêë. îïöèè Hot Angles;
[-] ðàçìàçûâàíèå òåêñòà èëè åãî íàñëîåíèå ïðè ââîäå â ïîëå EditBox'à;
[-] ðåæèì ÿâíîé êîìàíäû êëàâèøåé àêòèâàöèè: çàæèìàåì ãîðÿ÷óþ êëàâèøó (íàïðèìåð, shift), íàâîäèì êóðñîð â óãîë - ïðîèñõîäèò ðåàêöèÿ;
[-] ðåæèì æåñòà/íàïðàâëåíèÿ: çàæèìàåì àêòèâèðóþùóþ êëàâèøó, ïîñëå ýòîãî ïðèëîæåíèå àíàëèçèðóåò ìûøü, â çàâèñèìîñòè îò íàïðàâëåíèÿ äâèæåíèÿ ìûøè (îò íà÷àëüíûõ êîîðäèíàò â ìîìåíò àêòèâàöèè îïöèè) âûáèðàåòñÿ àêòèâèðóåìûé óãîë - ïðîèñõîäèò ðåàêöèÿ;
[+] ïåðåõîä íà EditBox èç áèáëèîòåêè box_lib;
[+] ðàçìàçûâàíèå òåêñòà èëè åãî íàñëîåíèå ïðè ââîäå â ïîëå EditBox'à;
[+] ïîñëå çàïóñêà ïðèëîæåíèÿ, âñå ïîëÿ íàõîäÿòñÿ â ôîêóñå (ýòî ôè÷à èç-çà áàãà â êîìïîíåíòå EditBox);
[-] ïðèñóòñòâóåò íåèñïðàâëåííûé áàã â êîìïîíåíòå EditBox;
[+] ïðèñóòñòâóåò íåèñïðàâëåííûé áàã â êîìïîíåíòå EditBox;
[+] ïðèëîæåíèå êîíôèãóðàòîðà íå äîáàâëåíî â ñèñòåìíóþ ïàíåëü.
 
Îáîçíà÷åíèÿ: