[Apps/Pipet] Proper color fixes for all skins and size optimization
This commit is contained in:
@@ -40,7 +40,6 @@ START:
|
||||
|
||||
mcall SF_SYS_MISC, SSF_MEM_OPEN, win_icons_name, , 0
|
||||
add eax, 39*18*18*4
|
||||
mov [win_icons], eax
|
||||
|
||||
mov esi, eax
|
||||
mov edi, [pip_icon]
|
||||
@@ -136,20 +135,6 @@ draw_window:
|
||||
add edx, 0x34000000
|
||||
mcall SF_CREATE_WINDOW, <WIN_X, WIN_W>, , , , header
|
||||
|
||||
; icon background color conversion
|
||||
mov esi, [pip_icon]
|
||||
mov ecx, 18*18
|
||||
|
||||
.icon_loop:
|
||||
mov eax, [esi]
|
||||
cmp eax, [win_cols.work]
|
||||
jne .skip_change
|
||||
mov ebx, [win_cols.work_light]
|
||||
mov [esi], ebx
|
||||
.skip_change:
|
||||
add esi, 4
|
||||
loop .icon_loop
|
||||
|
||||
call draw_base
|
||||
call draw_update
|
||||
|
||||
@@ -174,18 +159,18 @@ draw_base:
|
||||
mcall , , <BUT_RGB_Y, BUT_HEX_H - 1>,
|
||||
mcall , <BUT_REC_X, BUT_REC_W - 1>, <BUT_REC_Y, BUT_REC_H - 1>,
|
||||
|
||||
mcall , <BUT_PIP_X + 1, BUT_PIP_H - 2>, <BUT_PIP_Y + 1, BUT_PIP_H - 2>, [win_cols.work_light]
|
||||
mcall , <BUT_PIP_X + 1, BUT_PIP_H - 2>, <BUT_PIP_Y + 1, BUT_PIP_H - 2>, [col_white]
|
||||
mcall , <BUT_COL_X + 1, BUT_COL_W - 2>, ,
|
||||
mcall , <BUT_REC_X + 1, BUT_REC_W - 2>, <BUT_REC_Y + 1, BUT_REC_H - 2>,
|
||||
mcall , <BUT_HEX_X + 1, BUT_HEX_W - 2>, <BUT_HEX_Y + 1, BUT_HEX_H - 2>, 0x00FFFFFF
|
||||
mcall , <BUT_HEX_X + 1, BUT_HEX_W - 2>, <BUT_HEX_Y + 1, BUT_HEX_H - 2>,
|
||||
mcall , , <BUT_RGB_Y + 1, BUT_HEX_H - 2>,
|
||||
|
||||
mcall , <BUT_REC_X + 1, BUT_REC_W - 2>, <BUT_REC_Y + 1, BUT_REC_H - 2>,
|
||||
|
||||
|
||||
; buttons 11, 12, 13 and 14
|
||||
mcall SF_DEFINE_BUTTON, <BUT_PIP_X + 1, BUT_PIP_W - 3>, <BUT_PIP_Y + 1, BUT_PIP_H - 3>, 0x4000000B
|
||||
mcall , <BUT_HEX_X + 1, BUT_HEX_W - 3>, <BUT_HEX_Y + 1, BUT_HEX_H - 3>, 0x4000000C
|
||||
mcall , , <BUT_RGB_Y + 1, BUT_HEX_H - 3>, 0x4000000D
|
||||
mcall , <BUT_REC_X + 2, BUT_REC_W - 4>, <BUT_REC_Y + 2, BUT_REC_H - 4>, 0x6000000E
|
||||
mcall SF_DEFINE_BUTTON, <BUT_PIP_X + 1, BUT_PIP_W - 3>, <BUT_PIP_Y + 1, BUT_PIP_H - 3>, 0x4000000B
|
||||
mcall , <BUT_HEX_X + 1, BUT_HEX_W - 3>, <BUT_HEX_Y + 1, BUT_HEX_H - 3>, 0x4000000C
|
||||
mcall , , <BUT_RGB_Y + 1, BUT_RGB_H - 3>, 0x4000000D
|
||||
mcall , <BUT_REC_X + 2, BUT_REC_W - 4>, <BUT_REC_Y + 2, BUT_REC_H - 4>, 0x6000000E
|
||||
|
||||
; 18*18 pixels icon
|
||||
mcall SF_PUT_IMAGE_EXT, [pip_icon], 0x00120012, 0x000B000F, 32
|
||||
@@ -200,9 +185,9 @@ draw_update:
|
||||
mcall SF_DRAW_RECT, <BUT_COL_X + 2, BUT_COL_W - 4>, <BUT_COL_Y + 2, BUT_COL_H - 4>, [sel_color]
|
||||
|
||||
; color codes
|
||||
mcall , <BUT_RGB_X + 1, BUT_HEX_W - 2>, <BUT_RGB_Y + 1, BUT_HEX_H - 2>, [win_cols.work_button_text]
|
||||
mcall , <BUT_RGB_X + 1, BUT_HEX_W - 2>, <BUT_RGB_Y + 1, BUT_HEX_H - 2>, [col_white]
|
||||
|
||||
mcall SF_DRAW_NUMBER, 0x00060100, [sel_color], <BUT_HEX_X + 26, BUT_HEX_Y + 5>, 0x50000000, [win_cols.work_button_text]
|
||||
mcall SF_DRAW_NUMBER, 0x00060100, [sel_color], <BUT_HEX_X + 26, BUT_HEX_Y + 5>, 0x50000000, [col_white]
|
||||
|
||||
mov ebx, 0x00030000
|
||||
xor ecx, ecx
|
||||
@@ -233,10 +218,10 @@ draw_update:
|
||||
jle .du_loop_rect_row
|
||||
mov ebx, 118 * 65536 + 12
|
||||
add ecx, 12 * 65536
|
||||
|
||||
.du_loop_rect_row:
|
||||
add esi, 3
|
||||
dec edi
|
||||
cmp edi, 0
|
||||
jne .du_loop_rect
|
||||
|
||||
; selection of one pixel from 7*7 grid
|
||||
@@ -268,12 +253,11 @@ draw_update:
|
||||
; making pipet active again
|
||||
make_pick_active:
|
||||
|
||||
mov [pick_act], 0x01
|
||||
mov [pick_act], 0x01
|
||||
mov [cell_act_x], 0x03
|
||||
mov [cell_act_y], 0x03
|
||||
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_REC_X + 1, BUT_REC_W - 2>, <BUT_REC_Y + 1, BUT_REC_H - 2>, [win_cols.work_button_text]
|
||||
mcall SF_DRAW_RECT, <BUT_REC_X + 1, BUT_REC_W - 2>, <BUT_REC_Y + 1, BUT_REC_H - 2>, [col_white]
|
||||
mcall SF_DRAW_TEXT, <BUT_REC_X + 28, BUT_REC_Y + 37>, 0x10000000, mes_pick, 4
|
||||
|
||||
mcall SF_SLEEP, 50
|
||||
@@ -346,10 +330,9 @@ clamp_pixels:
|
||||
mov ax, dx
|
||||
|
||||
.combine_coords:
|
||||
xor edx, edx
|
||||
mov dx, cx
|
||||
rol edx, 16
|
||||
mov dx, ax
|
||||
shl edx, 16
|
||||
or dx, ax
|
||||
|
||||
ret
|
||||
|
||||
@@ -357,7 +340,7 @@ clamp_pixels:
|
||||
; copy color HEX code
|
||||
copy_col_hex:
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 2, BUT_HEX_W - 4>, <BUT_HEX_Y + 2, BUT_HEX_H - 4>, [win_cols.work_button_text]
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 2, BUT_HEX_W - 4>, <BUT_HEX_Y + 2, BUT_HEX_H - 4>, [col_white]
|
||||
|
||||
mov ebx, [sel_color]
|
||||
mov ecx, 6
|
||||
@@ -380,7 +363,7 @@ copy_col_hex:
|
||||
mcall SF_DRAW_TEXT, <BUT_HEX_X + 1, BUT_HEX_Y + 5>, 0x10000000, mes_copy, 12
|
||||
mcall SF_SLEEP, 50
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 1, BUT_HEX_W - 2>, <BUT_HEX_Y + 1, BUT_HEX_H - 2>, [win_cols.work_button_text]
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 1, BUT_HEX_W - 2>, <BUT_HEX_Y + 1, BUT_HEX_H - 2>, [col_white]
|
||||
|
||||
call draw_update
|
||||
jmp still
|
||||
@@ -389,7 +372,7 @@ copy_col_hex:
|
||||
; copy color RGB code
|
||||
copy_col_rgb:
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 2, BUT_HEX_W - 4>, <BUT_RGB_Y + 2, BUT_HEX_H - 4>, [win_cols.work_button_text]
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 2, BUT_HEX_W - 4>, <BUT_RGB_Y + 2, BUT_HEX_H - 4>, [col_white]
|
||||
|
||||
mov bl, 10
|
||||
mov edx, [sel_color]
|
||||
@@ -413,7 +396,6 @@ copy_col_rgb:
|
||||
shr edx, 8
|
||||
sub esi, 4
|
||||
dec edi
|
||||
cmp edi, 0
|
||||
jg cr_loop
|
||||
|
||||
|
||||
@@ -421,7 +403,7 @@ copy_col_rgb:
|
||||
mcall SF_DRAW_TEXT, <BUT_HEX_X + 1, BUT_RGB_Y + 5>, 0x10000000, mes_copy, 12
|
||||
mcall SF_SLEEP, 50
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 1, BUT_HEX_W - 2>, <BUT_RGB_Y + 1, BUT_HEX_H - 2>, [win_cols.work_button_text]
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 1, BUT_HEX_W - 2>, <BUT_RGB_Y + 1, BUT_HEX_H - 2>, [col_white]
|
||||
|
||||
call draw_update
|
||||
jmp still
|
||||
@@ -458,7 +440,7 @@ pick_col_cell:
|
||||
mov [sel_color], ebx
|
||||
|
||||
call draw_update
|
||||
jmp still
|
||||
jmp still
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
@@ -477,14 +459,15 @@ BUT_COL_W = 68
|
||||
BUT_COL_Y = 12
|
||||
BUT_COL_H = 24
|
||||
|
||||
|
||||
BUT_HEX_X = 8
|
||||
BUT_HEX_W = 100
|
||||
BUT_HEX_Y = 44
|
||||
BUT_HEX_H = 24
|
||||
|
||||
BUT_RGB_X = 8
|
||||
BUT_RGB_W = 100
|
||||
BUT_RGB_Y = 76
|
||||
BUT_RGB_H = 24
|
||||
|
||||
BUT_REC_X = 116
|
||||
BUT_REC_W = 88
|
||||
@@ -494,12 +477,12 @@ BUT_REC_H = 88
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
win_cols system_colors
|
||||
win_icons_name db 'ICONS18W', 0
|
||||
win_icons dd 0x00000000
|
||||
win_icons_name db 'ICONS18', 0
|
||||
pip_icon dd 0x00000000
|
||||
col_white dd 0x00FFFFFF
|
||||
|
||||
if lang eq ru_RU
|
||||
header db '<27><><EFBFBD><EFBFBD>⪠', 0
|
||||
header db '<27><><EFBFBD><EFBFBD>⪠', 0
|
||||
else if lang eq es_ES
|
||||
header db 'Pipeta', 0
|
||||
else
|
||||
|
Reference in New Issue
Block a user