editbox update by Prohor N.

git-svn-id: svn://kolibrios.org@7919 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2020-05-14 19:14:14 +00:00
parent fc19507247
commit e8665a7cf1
3 changed files with 1185 additions and 1069 deletions

View File

@ -22,6 +22,7 @@ include '../../../../KOSfuncs.inc'
include 'bl_sys.mac' include 'bl_sys.mac'
include 'box_lib.mac' ;macro which should make life easier :) include 'box_lib.mac' ;macro which should make life easier :)
;include '../../../../debug.inc' ;include '../../../../debug.inc'
include 'keys.inc'
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
mem.alloc dd ? ;ôóíêöèÿ äëÿ âûäåëåíèÿ ïàìÿòè mem.alloc dd ? ;ôóíêöèÿ äëÿ âûäåëåíèÿ ïàìÿòè
@ -112,7 +113,7 @@ ret
align 4 align 4
proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dword, box_h:dword,\ proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dword, box_h:dword,\
col_0:dword, col_1:dword, col_2:dword col_0:dword, col_1:dword, col_2:dword
mov esi,dword[col_1] mov esi,dword[col_1]
and esi,111111101111111011111110b and esi,111111101111111011111110b
@ -130,7 +131,7 @@ proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dwo
inc ecx inc ecx
mov edi,3 ;for cycle mov edi,3 ;for cycle
@@: @@:
;calculate colors ;calculate colors
and edx,111111101111111011111110b and edx,111111101111111011111110b
add edx,esi add edx,esi
@ -155,7 +156,7 @@ proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dwo
add ecx,dword[box_h] add ecx,dword[box_h]
mov edi,3 ;for cycle mov edi,3 ;for cycle
@@: @@:
;calculate colors ;calculate colors
and edx,111111101111111011111110b and edx,111111101111111011111110b
add edx,esi add edx,esi
@ -179,7 +180,7 @@ proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dwo
inc ecx inc ecx
mov edi,3 ;for cycle mov edi,3 ;for cycle
@@: @@:
;calculate colors ;calculate colors
and edx,111111101111111011111110b and edx,111111101111111011111110b
add edx,esi add edx,esi
@ -203,7 +204,7 @@ proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dwo
add ecx,dword[box_h] add ecx,dword[box_h]
mov edi,3 ;for cycle mov edi,3 ;for cycle
@@: @@:
;calculate colors ;calculate colors
and edx,111111101111111011111110b and edx,111111101111111011111110b
add edx,esi add edx,esi
@ -432,7 +433,7 @@ sz_ted_but_paste db 'ted_but_paste',0
sz_ted_but_undo db 'ted_but_undo',0 sz_ted_but_undo db 'ted_but_undo',0
sz_ted_but_redo db 'ted_but_redo',0 sz_ted_but_redo db 'ted_but_redo',0
sz_ted_but_reverse db 'ted_but_reverse',0 sz_ted_but_reverse db 'ted_but_reverse',0
sz_ted_but_find db 'ted_but_find',0 sz_ted_but_find db 'ted_but_find',0
sz_ted_but_replace db 'ted_but_replace',0 sz_ted_but_replace db 'ted_but_replace',0
sz_ted_text_colored db 'ted_text_colored',0 sz_ted_text_colored db 'ted_text_colored',0
sz_ted_go_to_position db 'ted_go_to_position',0 sz_ted_go_to_position db 'ted_go_to_position',0
@ -444,7 +445,7 @@ szVersion_frame db 'version_frame',0
sz_progressbar_draw db 'progressbar_draw', 0 sz_progressbar_draw db 'progressbar_draw', 0
sz_progressbar_progress db 'progressbar_progress', 0 sz_progressbar_progress db 'progressbar_progress', 0
sz_tooltip_init db 'tooltip_init', 0 sz_tooltip_init db 'tooltip_init', 0
sz_tooltip_delete db 'tooltip_delete', 0 sz_tooltip_delete db 'tooltip_delete', 0
sz_tooltip_test_show db 'tooltip_test_show', 0 sz_tooltip_test_show db 'tooltip_test_show', 0
sz_tooltip_mouse db 'tooltip_mouse', 0 sz_tooltip_mouse db 'tooltip_mouse', 0

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,181 @@
; Key scan codes
SCAN_CODE_ESCAPE = $01
SCAN_CODE_1 = $02
SCAN_CODE_2 = $03
SCAN_CODE_3 = $04
SCAN_CODE_4 = $05
SCAN_CODE_5 = $06
SCAN_CODE_6 = $07
SCAN_CODE_7 = $08
SCAN_CODE_8 = $09
SCAN_CODE_9 = $0A
SCAN_CODE_0 = $0B
SCAN_CODE_MINUS = $0C
SCAN_CODE_PLUS = $0D
SCAN_CODE_BACK = $0E
SCAN_CODE_TAB = $0F
SCAN_CODE_Q = $10
SCAN_CODE_W = $11
SCAN_CODE_E = $12
SCAN_CODE_R = $13
SCAN_CODE_T = $14
SCAN_CODE_Y = $15
SCAN_CODE_U = $16
SCAN_CODE_I = $17
SCAN_CODE_O = $18
SCAN_CODE_P = $19
SCAN_CODE_RETURN = $1C
SCAN_CODE_A = $1E
SCAN_CODE_S = $1F
SCAN_CODE_D = $20
SCAN_CODE_F = $21
SCAN_CODE_G = $22
SCAN_CODE_H = $23
SCAN_CODE_J = $24
SCAN_CODE_K = $25
SCAN_CODE_L = $26
SCAN_CODE_Z = $2C
SCAN_CODE_X = $2D
SCAN_CODE_C = $2E
SCAN_CODE_V = $2F
SCAN_CODE_B = $30
SCAN_CODE_N = $31
SCAN_CODE_M = $32
SCAN_CODE_DIVIDE = $35 ; Numpad divide (has ASCII $2F)
SCAN_CODE_MULTIPLY = $37 ; Numpad multiply (has ASCII $2A)
SCAN_CODE_SNAPSHOT = $37 ; Print Screen (has ASCII $34)
SCAN_CODE_SPACE = $39
SCAN_CODE_CAPITAL_PRESSED = $3A ; Caps Lock
SCAN_CODE_F1 = $3B
SCAN_CODE_F2 = $3C
SCAN_CODE_F3 = $3D
SCAN_CODE_F4 = $3E
SCAN_CODE_F5 = $3F
SCAN_CODE_F6 = $40
SCAN_CODE_F7 = $41
SCAN_CODE_F8 = $42
SCAN_CODE_F9 = $43
SCAN_CODE_F10 = $44
SCAN_CODE_NUMLOCK_PRESSED = $45
SCAN_CODE_SCROLL_PRESSED = $46 ; Scroll Lock
SCAN_CODE_CANCEL_PRESSED = $46 ; Ctrl+Break ; share with scroll lock ASCII & scan code, but require 2 buttons Ctrl & Pause Break to be pressed same time, while scroll lock only 1 button
SCAN_CODE_NUMPAD_7 = $47
SCAN_CODE_HOME = $47
SCAN_CODE_NUMPAD_8 = $48
SCAN_CODE_UP = $48
SCAN_CODE_NUMPAD_9 = $49
SCAN_CODE_PGUP = $49
SCAN_CODE_SUBTRACT = $4A ; Numpad substract (has ASCII $4A)
SCAN_CODE_NUMPAD_4 = $4B
SCAN_CODE_LEFT = $4B
SCAN_CODE_NUMPAD_5 = $4C
SCAN_CODE_CLEAR = $4C ; Numpad unlocked 5(has ASCII $37)
SCAN_CODE_NUMPAD_6 = $4D
SCAN_CODE_RIGHT = $4D
SCAN_CODE_ADD = $4E ; Numpad add (has ASCII $2B)
SCAN_CODE_NUMPAD_1 = $4F
SCAN_CODE_END = $4F
SCAN_CODE_NUMPAD_2 = $50
SCAN_CODE_DOWN = $50
SCAN_CODE_NUMPAD_3 = $51
SCAN_CODE_PGDN = $51
SCAN_CODE_NUMPAD_0 = $52
SCAN_CODE_INSERT = $52
SCAN_CODE_DECIMAL = $53 ; Numpad loced decimal separator
SCAN_CODE_DELETE = $53
SCAN_CODE_LWIN_PRESSED = $5B
SCAN_CODE_RWIN_PRESSED = $5C
SCAN_CODE_CONTEXT = $5D ; right mouse button analog
SCAN_CODE_CAPITAL_RELEASED = $BA ; Caps Lock
SCAN_CODE_NUMLOCK_RELEASED = $C5
SCAN_CODE_SCROLL_RELEASED = $C6 ; Scroll Lock
SCAN_CODE_CANCEL_RELEASED = $C6 ; Ctrl+Break
SCAN_CODE_LWIN_RELEASED = $DB
SCAN_CODE_RWIN_RELEASED = $DC
; ASCII key codes
_ASCII equ $FF and
_CTRL equ $A0 +
ASCII_KEY_CANCEL = $01 ; ; Ctrl+Break ; share with scroll lock ASCII & scan code, but require 2 buttons Ctrl & Pause Break to be pressed same time, while scroll lock only 1 button
ASCII_KEY_SCROLL = $01 ; ; Scroll Lock
ASCII_KEY_NUMLOCK = $02
ASCII_KEY_CAPITAL = $04 ; Caps Lock
ASCII_KEY_BACK = $08
ASCII_KEY_CTRL_BACK = _ASCII(_CTRL(ASCII_KEY_BACK))
ASCII_KEY_TAB = $09
ASCII_KEY_CTRL_TAB = _ASCII(_CTRL(ASCII_KEY_TAB))
ASCII_KEY_RETURN = $0D
ASCII_KEY_CTRL_RETURN = _ASCII(_CTRL(ASCII_KEY_RETURN))
ASCII_KEY_ESCAPE = $1B
ASCII_KEY_CTRL_ESCAPE = _ASCII(_CTRL(ASCII_KEY_ESCAPE))
ASCII_KEY_SPACE = $20
ASCII_KEY_CTRL_SPACE = _ASCII(_CTRL(ASCII_KEY_SPACE))
ASCII_KEY_CTRL_0 = _ASCII(_CTRL('0'))
ASCII_KEY_CTRL_1 = _ASCII(_CTRL('1'))
ASCII_KEY_CTRL_2 = _ASCII(_CTRL('2'))
ASCII_KEY_CTRL_3 = _ASCII(_CTRL('3'))
ASCII_KEY_CTRL_4 = _ASCII(_CTRL('4'))
ASCII_KEY_CTRL_5 = _ASCII(_CTRL('5'))
ASCII_KEY_CTRL_6 = _ASCII(_CTRL('6'))
ASCII_KEY_CTRL_7 = _ASCII(_CTRL('7'))
ASCII_KEY_CTRL_8 = _ASCII(_CTRL('8'))
ASCII_KEY_CTRL_9 = _ASCII(_CTRL('9'))
ASCII_KEY_NUMPAD_0 = '0' ; numpad locked 0
ASCII_KEY_CTRL_NUMPAD_0 = '0' ; numpad locked 0
ASCII_KEY_NUMPAD_1 = '1' ; numpad locked 0
ASCII_KEY_CTRL_NUMPAD_1 = '1' ; numpad locked 0
ASCII_KEY_NUMPAD_2 = '2' ; numpad locked 0
ASCII_KEY_CTRL_NUMPAD_2 = '2' ; numpad locked 0
ASCII_KEY_NUMPAD_3 = '3' ; numpad locked 0
ASCII_KEY_CTRL_NUMPAD_3 = '3' ; numpad locked 0
ASCII_KEY_NUMPAD_4 = '4' ; numpad locked 0
ASCII_KEY_CTRL_NUMPAD_4 = '4' ; numpad locked 0
ASCII_KEY_NUMPAD_5 = '5' ; numpad locked 0
ASCII_KEY_CTRL_NUMPAD_5 = '5' ; numpad locked 0
ASCII_KEY_NUMPAD_6 = '6' ; numpad locked 0
ASCII_KEY_CTRL_NUMPAD_6 = '6' ; numpad locked 0
ASCII_KEY_NUMPAD_7 = '7' ; numpad locked 0
ASCII_KEY_CTRL_NUMPAD_7 = '7' ; numpad locked 0
ASCII_KEY_NUMPAD_8 = '8' ; numpad locked 0
ASCII_KEY_CTRL_NUMPAD_8 = '8' ; numpad locked 0
ASCII_KEY_NUMPAD_9 = '9' ; numpad locked 0
ASCII_KEY_CTRL_NUMPAD_9 = '9' ; numpad locked 0
ASCII_KEY_CLEAR = $37 ; Numpad unlocked 5
ASCII_KEY_CTRL_CLEAR = _ASCII(_CTRL(ASCII_KEY_CLEAR))
ASCII_KEY_LEFT = $B0
ASCII_KEY_CTRL_LEFT = _ASCII(_CTRL(ASCII_KEY_LEFT))
ASCII_KEY_DOWN = $B1
ASCII_KEY_CTRL_DOWN = _ASCII(_CTRL(ASCII_KEY_DOWN))
ASCII_KEY_UP = $B2
ASCII_KEY_CTRL_UP = _ASCII(_CTRL(ASCII_KEY_UP))
ASCII_KEY_RIGHT = $B3
ASCII_KEY_CTRL_RIGHT = _ASCII(_CTRL(ASCII_KEY_RIGHT))
ASCII_KEY_HOME = $B4
ASCII_KEY_CTRL_HOME = _ASCII(_CTRL(ASCII_KEY_HOME))
ASCII_KEY_END = $B5
ASCII_KEY_CTRL_END = _ASCII(_CTRL(ASCII_KEY_END))
ASCII_KEY_DELETE = $B6
ASCII_KEY_CTRL_DELETE = _ASCII(_CTRL(ASCII_KEY_DELETE))
ASCII_KEY_PGDN = $B7
ASCII_KEY_CTRL_PGDN = _ASCII(_CTRL(ASCII_KEY_PGDN))
ASCII_KEY_PGUP = $B8
ASCII_KEY_CTRL_PGUP = _ASCII(_CTRL(ASCII_KEY_PGUP))
ASCII_KEY_INSERT = $B9
ASCII_KEY_CTRL_INSERT = _ASCII(_CTRL(ASCII_KEY_INSERT))