Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 8992 → Rev 8993

/programs/system/colrdial/color_dialog.asm
109,7 → 109,8
START:
mcall SF_SYS_MISC,SSF_HEAP_INIT
;mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1
mcall SF_SET_EVENTS_MASK,0x27
mcall SF_SET_EVENTS_MASK,EVM_REDRAW+EVM_KEY+\
EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER
;--------------------------------------
load_libraries l_libs_start,end_l_libs
test eax,eax
125,9 → 126,13
mov [palette_SIZE_Y],eax
mov [tone_SIZE_X],eax
mov [tone_SIZE_Y],eax
mov eax,0xff0000
;set the last used color as a current one
mov eax,[communication_area]
add eax,28
mov eax,[eax]
mov [selected_color],eax
mov [tone_color],eax
mov [selected_color],eax
call prepare_scrollbars_position_from_color
;--------------------------------------
mov ecx,[palette_SIZE_Y]
151,6 → 156,8
align 4
red:
call draw_window
;mov ah,0
;jmp button.history_click
;---------------------------------------------------------------------
align 4
still:
190,6 → 197,8
ja @f
 
sub ah,30
.history_click:
movzx eax,ah
shl eax,2
add eax,[communication_area]
302,7 → 311,7
add edi,28
mov ecx,10
cld
mov eax,0xffffff
mov eax,0x06BEEE
rep stosd
@@:
ret
412,8 → 421,13
align 4
key:
mcall SF_GET_KEY
test word[edit1.flags],10b ;ed_focus
je still
jne @f
cmp ah,027 ; Esc
je button.exit
jmp still
@@:
stdcall [edit_box_key], edit1
stdcall conv_str_to_int, [edit1.text]
cmp [selected_color],eax
465,8 → 479,8
align 4
draw_selected_color:
mcall SF_DRAW_RECT,<c_start_x,c_size_x>,<c_start_y,c_size_y>,[selected_color]
stdcall hex_in_str, sz_0x+2,[selected_color],6
mov byte[sz_0x+8],0
stdcall hex_in_str, sz_0x,[selected_color],6
mov byte[sz_0x+6],0
stdcall [edit_box_set_text],edit1,sz_0x
stdcall [edit_box_draw],edit1
ret
642,9 → 656,9
endp
;---------------------------------------------------------------------
;input:
; buf - указатель на строку, число должно быть в 10 или 16 ричном виде
; buf - pointer hexadecimal string
;output:
; eax - число
; eax - number
align 4
proc conv_str_to_int uses ebx ecx esi, buf:dword
xor eax,eax
651,45 → 665,10
xor ebx,ebx
mov esi,[buf]
 
;на случай если перед числом находятся пробелы
@@:
cmp byte[esi],' '
jne @f
inc esi
jmp @b
@@:
 
;определение отрицательных чисел
xor ecx,ecx
inc ecx
cmp byte[esi],'-'
jne @f
dec ecx
inc esi
@@:
 
cmp word[esi],'0x'
je .load_digit_16
 
.load_digit_10: ;считывание 10-тичных цифр
.cycle_16: ;считывание 16-ричных цифр
mov bl,byte[esi]
cmp bl,'0'
jl @f
cmp bl,'9'
jg @f
sub bl,'0'
imul eax,10
add eax,ebx
inc esi
jmp .load_digit_10
jmp @f
 
.load_digit_16: ;считывание 16-ричных цифр
add esi,2
.cycle_16:
mov bl,byte[esi]
cmp bl,'0'
jl @f
cmp bl,'f'
jg @f
cmp bl,'9'
/programs/system/colrdial/color_dialog.bat
1,6 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm color_dialog.asm colrdial
@kpack colrdial
@erase lang.inc
@pause
/programs/system/colrdial/i_data.inc
241,8 → 241,8
.font_backgr_color dd 0xEEEeee ;+44
;---------------------------------------------------------------------
mouse_dd dd edit1
edit1 edit_box ed_size_x, c_start_x+c_size_x+10, c_start_y, 0xffffff, 0xa0a0a0, 0xff, 0, 0, 8, string1, mouse_dd, 0
sz_0x db '0x______',0,0
string1 rb 10
edit1 edit_box ed_size_x, c_start_x+c_size_x+5, c_start_y, 0xffffff, 0xa0a0a0, 0xff, 0, 0x10000000, 6, string1, mouse_dd, 0
sz_0x db '______',0,0
string1 rb 8
;---------------------------------------------------------------------
OK_Cancel db 'OK Cancel',0
/programs/system/colrdial/palette.inc
18,7 → 18,7
mov edx,[offset_y]
;-------------------------------------------
xor ecx,ecx
mov eax,[tone_color]
mov eax,0xFF0000 ;there was [tone_area] which seems to be a bug
;-------------------------------------------
align 4
@@: