palitra with bigger elements: code refactoring and a lot of fixes

This commit is contained in:
2025-03-15 22:11:48 +02:00
parent da43ae6ac3
commit 93fabc4e60
3 changed files with 96 additions and 133 deletions

View File

@@ -1,12 +1,12 @@
draw_palitra:
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13 - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD><EFBFBD>
;mcall SF_DRAW_RECT, 110 shl 16+148, 9 shl 16+148, [sc.work]
;mcall SF_DRAW_RECT, PALITRA_XW, PALITRA_YW, [sc.work]
cmp [renmode],2
cmp [renmode],MODE_PIPET
je cyrcle_draw
;cmp [renmode],1
;je picker_draw
cmp [renmode],0
cmp [renmode],MODE_PALITRA
je sheme_draw
ret
@@ -39,6 +39,15 @@ draw_palitra:
;mov ebx,109*65536+150
;mov ecx, 10*65536+150
;mcall
PIPET_CELLW = 13
PIPET_AREA_W = PIPET_CELLW*PIPET_CELL_COUNT_X
PIPET_AREA_H = PIPET_CELLW*PIPET_CELL_COUNT_Y
PIPET_CELL_COUNT_X = 15
PIPET_CELL_COUNT_Y = 13
PIPET_SELECTED_X = PIPET_AREA_W/2+PALITRA_X
PIPET_SELECTED_Y = PIPET_AREA_H/2+DRAWY+2
call mouse_local ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⥫쭮 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ecx, [mouse_x] ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov edx, [mouse_y] ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -52,38 +61,39 @@ draw_palitra:
call desktop_get
call mouse_global
mov ebx,112*65536+11
mov ebx,PALITRA_X*65536+PIPET_CELLW
mov esi,0 ; counter=8
circle_loop:
mov ecx, 10*65536+11
mov ecx, (DRAWY+1)*65536+PIPET_CELLW
mov edi,0
circle_loop2:
call circle_pixel_read
mcall SF_DRAW_RECT
add ecx,11 shl 16
add ecx,PIPET_CELLW shl 16
inc edi
cmp edi,13
cmp edi,PIPET_CELL_COUNT_Y
jne circle_loop2
add ebx,11 shl 16
add ebx,PIPET_CELLW shl 16
inc esi
cmp esi,13
cmp esi,PIPET_CELL_COUNT_X
jne circle_loop
mcall SF_DRAW_RECT, 177*65536+13, 76*65536+13, 0
mcall SF_DRAW_RECT, <PIPET_SELECTED_X-10, PIPET_CELLW+4>, <PIPET_SELECTED_Y-10, PIPET_CELLW+4>, 0xFF0000
mov ecx, [mouse_x]
mov edx, [mouse_y]
inc ecx
inc ecx
inc edx
mov ebx, edx
imul ebx, [desctop_w]
add ebx, ecx
mcall SF_GET_PIXEL
mov edx,eax
mcall SF_DRAW_RECT, 178*65536+11, 77*65536+11
mcall SF_DRAW_RECT, <PIPET_SELECTED_X-8, PIPET_CELLW>, <PIPET_SELECTED_Y-8, PIPET_CELLW>
ret
end_cyrcle_draw:
mcall SF_DRAW_RECT, 111*65536+145, 9*65536+145, 0x666666
mcall SF_DRAW_RECT, <PALITRA_X-1, PIPET_AREA_W+2>, <DRAWY, PIPET_AREA_H+2>, [sc.work_graph]
ret
circle_pixel_read:
@@ -124,20 +134,20 @@ draw_palitra:
sheme_draw:
mov eax,SF_DRAW_RECT ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13 - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD><EFBFBD>
mov edx,0x222222 ; <EFBFBD>
mov ecx, palitra_yw ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> y [<EFBFBD>-<EFBFBD><EFBFBD> y]*65536 + [<EFBFBD><EFBFBD><EFBFBD>]
mov ecx, PALITRA_YW ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> y [<EFBFBD>-<EFBFBD><EFBFBD> y]*65536 + [<EFBFBD><EFBFBD><EFBFBD>]
mov esi,2 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
re_draw:
mov ebx,palitra_xw ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> x [<EFBFBD>-<EFBFBD><EFBFBD> x]*65536 + [<EFBFBD><EFBFBD><EFBFBD>]
mov ebx,PALITRA_XW ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> x [<EFBFBD>-<EFBFBD><EFBFBD> x]*65536 + [<EFBFBD><EFBFBD><EFBFBD>]
mov edi,2 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for_fon_loop:
int 0x40 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
add ebx,(palitra_w+2) shl 16 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>
add ebx,(PALITRA_W+2) shl 16 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>
dec edi ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp edi,0 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>
jnz for_fon_loop ; <EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
dec esi ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
cmp esi,0 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>
mov ecx,(palitra_w+DRAWY+3) shl 16+palitra_w ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> y [<EFBFBD>-<EFBFBD><EFBFBD> y]*65536 + [<EFBFBD><EFBFBD><EFBFBD>]
mov ecx,(PALITRA_W+DRAWY+3) shl 16+PALITRA_W ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> y [<EFBFBD>-<EFBFBD><EFBFBD> y]*65536 + [<EFBFBD><EFBFBD><EFBFBD>]
jnz re_draw ; <EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
;.................................................................................................
@@ -146,12 +156,12 @@ draw_palitra:
mov eax,SF_DRAW_RECT ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13 - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD><EFBFBD>
mov edx,0x0FFFFFFF ; <EFBFBD>
mov esi,4 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (#4,8)
mov ebx,(palitra_x-CELLW-3) shl 16+CELLW ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> x [<EFBFBD>-<EFBFBD><EFBFBD> x]*65536 + [<EFBFBD><EFBFBD><EFBFBD>]
mov ebx,(PALITRA_X-CELLW-3) shl 16+CELLW ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> x [<EFBFBD>-<EFBFBD><EFBFBD> x]*65536 + [<EFBFBD><EFBFBD><EFBFBD>]
for_abz:
;;push esi ; <EFBFBD><EFBFBD><EFBFBD>࠭塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD>
cmp esi,2
jne x2_line
mov ebx,(palitra_x-CELLW-3) shl 16+CELLW
mov ebx,(PALITRA_X-CELLW-3) shl 16+CELLW
x2_line:
add ebx,3 shl 16 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> x
mov edi,8 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
@@ -161,7 +171,7 @@ draw_palitra:
mov ecx, (1-CELLW/3) shl 16+CELLW ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> y [<EFBFBD>-<EFBFBD><EFBFBD> y]*65536 + [<EFBFBD><EFBFBD><EFBFBD>]
cmp esi,2
jg y2_line ; <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ecx,(palitra_w+4-(CELLW/3)) shl 16+CELLW
mov ecx,(PALITRA_W+4-(CELLW/3)) shl 16+CELLW
y2_line:
add ebx,(CELLW+1) shl 16 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> x
for_loop:

View File

@@ -64,43 +64,45 @@
;****************************************************************************************************|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> |
;----------------------------------------------------------------------------------------------------/
use32
org 0
db 'MENUET01'
dd 1,START,I_END,I_MEM,stacktop,params,sys_path
use32
org 0
db 'MENUET01'
dd 1,START,I_END,I_MEM,stacktop,params,sys_path
include '../../../macros.inc'
include '../../../proc32.inc'
include '../../../KOSfuncs.inc'
include '../../../dll.inc'
include '../../../macros.inc'
include '../../../proc32.inc'
include '../../../KOSfuncs.inc'
include '../../../dll.inc'
include 'draw_sliders.inc'
include 'draw_utils.inc'
include 'draw_palitra.inc'
include 'draw_sliders.inc'
include 'draw_utils.inc'
include 'draw_palitra.inc'
MODE_PALITRA = 0
MODE_PIPET = 1
WIN_W = 374 ; <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
WIN_H = 251 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
WIN_X = 250 ; <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
WIN_Y = 190 ; <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
WIN_W = 374 ; <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
WIN_H = 251 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
WIN_X = 250 ; <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
WIN_Y = 190 ; <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
Left_Border=4
SliderPanel_W = 110
DRAWY = 9
Left_Border=4
SliderPanel_W = 110
DRAWY = 9
CELLW = 11; 11 ; not used yet, but has to be :)
CELLW = 11; 11 ; not used yet, but has to be :)
ICONX = WIN_W - 39
ICONS = 18 ; icon size
SLIDEW = 25
ICONX = WIN_W - 39
ICONS = 18 ; icon size
SLIDEW = 25
palitra_x = Left_Border+SliderPanel_W+12
palitra_w = CELLW*(8)+8+1
palitra_xw = palitra_x shl 16 + palitra_w
palitra_yw = DRAWY shl 16 + palitra_w
PALITRA_X = Left_Border+SliderPanel_W+12
PALITRA_W = CELLW*(8)+8+1
PALITRA_XW = PALITRA_X shl 16 + PALITRA_W
PALITRA_YW = DRAWY shl 16 + PALITRA_W
START:
mcall SF_SYSTEM, SSF_WINDOW_BEHAVIOR, SSSF_SET_WB, -1, 1 ;always on top
mcall SF_SYS_MISC,SSF_HEAP_INIT ; <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mcall SF_SYS_MISC, SSF_MEM_OPEN, i18_name
mov [icons18], eax
@@ -138,7 +140,7 @@ key: ;
;end_key
mouse:
cmp [renmode],2
cmp [renmode],MODE_PIPET
jne left
call cyrcle_draw
jmp center
@@ -171,7 +173,7 @@ button:
cmp ah, 12 ; <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NEXT
jne next_bg ; <20><><EFBFBD><E5AEA4>
inc [pnext] ; 㢥<><E3A2A5><EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov [renmode],0 ; <20><><EFBFBD><EFBFBD><EFBFBD> 梥⮢<E6A2A5><E2AEA2> <20><EFBFBD>
mov [renmode],MODE_PALITRA ; <20><><EFBFBD><EFBFBD><EFBFBD> 梥⮢<E6A2A5><E2AEA2> <20><EFBFBD>
mov eax,[pnext] ; <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><E7A5AD> <20> <20><><EFBFBD>
cmp al,6 ; <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jne next_redraw ; <20><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᨬ㬠 <20><> <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2>
@@ -181,19 +183,19 @@ button:
call draw_palitra ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jmp still ; <20><EFBFBD><E5AEA4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E3A3AE><><E1AEA1><EFBFBD><EFBFBD>
next_bg:
cmp ah, 14 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BACKGROUND
cmp ah, 14 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GRADIENT
jne next_bg2 ; <20><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E5AEA4>
call set_background ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jmp still ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AEA1><EFBFBD><EFBFBD>
next_bg2:
cmp ah, 16 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BACKGROUND
cmp ah, 16 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NOISY
jne circle_bg ; <20><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E5AEA4>
call set_background2 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jmp still ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AEA1><EFBFBD><EFBFBD>
circle_bg:
cmp ah, 15 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E3A3AE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jne next_end ; <20><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E5AEA4>
mov [renmode],2 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><E3A3AE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov [renmode],MODE_PIPET ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><E3A3AE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
call draw_palitra ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jmp still ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AEA1><EFBFBD><EFBFBD>
next_end:
@@ -252,13 +254,8 @@ button:
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
;----------------------------------------------------------------------------------------------------/
draw_main:
; <20><EFBFBD><E3ADAA><EFBFBD> 12: <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mcall SF_REDRAW,SSF_BEGIN_DRAW
; <20><EFBFBD><E3ADAA><EFBFBD> 48 - <20><EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
; <20><EFBFBD><E3ADAA><EFBFBD> 48 - <20><EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT
mov ecx,eax ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AAA8>
@@ -288,10 +285,10 @@ draw_main:
call draw_palitra ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
call draw_result ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mcall SF_DEFINE_BUTTON, <palitra_x,palitra_w*2+1 > , <DRAWY,palitra_w*2+2>, 7+BT_HIDE ; palitra
mcall SF_DEFINE_BUTTON, <PALITRA_X,PALITRA_W*2+1 > , <DRAWY,PALITRA_W*2+2>, 7+BT_HIDE+BT_NOFRAME ; palitra
inc edx
mcall , <10,22>, <56,128> ; <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1ABA0><EFBFBD>஬ red
mcall , <10,22>, <54,136> ; <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1ABA0><EFBFBD>஬ red
add ebx,25*65536 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
inc edx ; ID = 9
int 0x40 ; <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1ABA0><EFBFBD>஬ green
@@ -303,103 +300,64 @@ draw_main:
int 0x40 ; <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1ABA0><EFBFBD>஬ alpha
; <20><EFBFBD><E3ADAA><EFBFBD> 8 - <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>/㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>)
mcall , <13,19>, <20,18>, 0x0D+BT_HIDE
mcall , <10,22>, <16,20>, 13+BT_HIDE
call draw_bottom_panel
call draw_left_panel
call draw_right_panel
; <20><EFBFBD><E3ADAA><EFBFBD> 12: <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mcall SF_REDRAW,SSF_END_DRAW
ret
;#___________________________________________________________________________________________________
;****************************************************************************************************|
; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
;----------------------------------------------------------------------------------------------------/
;#_______________________________________________________
;*******************************************************|
; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | --------------------------------------------------------/
;------------------------------------------------------------------------------------------------+
draw_left_panel: ; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SL97: <20><><><E1A0AC> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A2>.
draw_right_panel:
;.................................................................................................
; button_next_colorsheme
mcall SF_DEFINE_BUTTON, <ICONX,ICONS+3>, <DRAWY,ICONS+3>, 12+BT_HIDE
; palitra button ; ID = 14
mcall , ,(DRAWY+150) shl 16 + ICONS+3, 14+BT_HIDE
mcall , ,(DRAWY+141) shl 16 + ICONS+3, 14+BT_HIDE
; pipet button ; ID = 15
mcall , , (DRAWY+150) shl 16 + ICONS+3, 15+BT_HIDE
mcall , , (DRAWY+174) shl 16 + ICONS+3, 15+BT_HIDE
mov ebx,[icons18bg]
add ebx,ICONS*ICONS*4*53
mcall SF_PUT_IMAGE_EXT, ebx, <ICONS,ICONS>, <ICONX+2,DRAWY+2>, 32, 0, 0
add ebx,ICONS*ICONS*4*(39-53)
mov edx,(ICONX+2)*65536+WIN_H-90
mov edx,(ICONX+2)*65536+DRAWY+174+2
mcall
mov ebx,[icons18]
add ebx,ICONS*ICONS*4*(53-1)
sub edx,40
mov edx,(ICONX+2)*65536+DRAWY+141+2
mcall
stdcall DrawDeepRectangle, ICONX-1, DRAWY-1, ICONS+5, ICONS+5, [sc.work_graph], [sc.work_graph]
stdcall DrawDeepRectangle, ICONX, DRAWY, ICONS+3, ICONS+3, [sc.work_light], [sc.work_dark]
stdcall DrawDeepRectangle, ICONX-1, DRAWY+109, ICONS+5, ICONS+5, [sc.work_graph], [sc.work_graph]
stdcall DrawDeepRectangle, ICONX, DRAWY+110, ICONS+3, ICONS+3, [sc.work_dark], [sc.work_light]
stdcall DrawDeepRectangle, ICONX+1, DRAWY+111, ICONS+1, ICONS+1, 0xFFFfff, 0xFFFfff
stdcall DrawDeepRectangle, ICONX-1, DRAWY+140, ICONS+5, ICONS+5, [sc.work_graph], [sc.work_graph]
stdcall DrawDeepRectangle, ICONX, DRAWY+141, ICONS+3, ICONS+3, [sc.work_dark], [sc.work_light]
stdcall DrawDeepRectangle, ICONX+1, DRAWY+142, ICONS+1, ICONS+1, 0xFFFfff, 0xFFFfff
stdcall DrawDeepRectangle, ICONX-1, DRAWY+149, ICONS+5, ICONS+5, [sc.work_graph], [sc.work_graph]
stdcall DrawDeepRectangle, ICONX, DRAWY+150, ICONS+3, ICONS+3, [sc.work_light], [sc.work_dark]
stdcall DrawDeepRectangle, ICONX-1, DRAWY+173, ICONS+5, ICONS+5, [sc.work_graph], [sc.work_graph]
stdcall DrawDeepRectangle, ICONX, DRAWY+174, ICONS+3, ICONS+3, [sc.work_light], [sc.work_dark]
;stdcall DrawRectangle3D, ICONX, DRAWY, 22, 22, [sc.work_light], [sc.work_dark] ;Leency: draw rectangle around the button, buggy now
;mov eax,13 ; draw rect
;mov ebx,266 shl 16+16 ; [x] + [size]
;mov ecx,9 shl 16+16 ; [y] + [size]
;mov edx,0x666666 ; RGB
;push esi ; backup esi
;mov esi,8 ; counter=8
;draw_lpanel: ; loop label
; int 0x40 ; call draw black rect
; add ecx,19 shl 16 ; move rect
; dec esi ; decrement counter
; cmp esi,0 ; if counter!=zero
; jne draw_lpanel ; then goto label
; mov esi,8 ; else counter=8
; mov ebx,267 shl 16+14 ; [x] + [size]
; mov ecx,10 shl 16+14 ; [y] + [size]
; mov edx,0xF3F3F3 ; RGB
;draw_lpanel2: ; 2 loop label
; int 0x40 ; call draw white rect
; add ecx,19 shl 16 ; move rect
; dec esi ; decrement counter
; cmp esi,0 ; if counter!=0
; jne draw_lpanel2 ; then goto label2
;pop esi ; restore esi
; draw_left_arrow for button_next_colorsheme
;mov eax,4 ; Write string
;mov ebx,272 shl 16+13 ; [x] + [y]
;mov ecx,0x0 ; RGB
;mov edx,larrow ; string pointer
;mov esi,1 ; count symbol
;int 0x40 ; call
;mov eax,38 ; draw line
;mov ebx,270 shl 16+272 ; [start x] + [end x]
;mov ecx,16 shl 16+16 ; [start y] + [end y]
;mov edx,0x0 ; RGB
;int 0x40 ; call
ret ; return
ret
;.................................................................................................
;------------------------------------------------------------------------------------------------+
draw_bottom_panel: ; <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;.................................................................................................
mcall SF_DEFINE_BUTTON, <129,90>, <WIN_H-27,16>, 16, [sc.work_button]
mcall SF_DEFINE_BUTTON, <129,90>, <WIN_H-27,18>, 14, [sc.work_button]
add ebx, 100 shl 16
add edx, 2
@@ -408,7 +366,7 @@ draw_main:
; Write string
mov ecx,[sc.work_text] ; RGB
add ecx, 0x90000000
mcall SF_DRAW_TEXT, <35, WIN_H-26>, ,bground
mcall SF_DRAW_TEXT, <35, WIN_H-25>, ,bground
mov ecx, [sc.work_button_text]
add ecx, 0x90000000
@@ -892,8 +850,7 @@ endp
;****************************************************************************************************|
; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
;----------------------------------------------------------------------------------------------------/
circle:
title db 'Palitra v0.77',0 ; <20><EFBFBD><E0A0AD> <20><><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
title db 'Palitra v0.8',0 ; <20><EFBFBD><E0A0AD> <20><><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
hidden db 'Hidden',0
; hex db '#',0 ; <20><><EFBFBD> <20><EFBFBD><EBA2AE> <20><><EFBFBD><EFBFBD><20><><EFBFBD><><E2A5AA><EFBFBD>
cname db 'RGBAx' ; <20><EFBFBD><E0A0AD><><E0A0A7><EFBFBD><EFBFBD> 梥⮢ (red,green,blue) x-<2D><><20><><EFBFBD><EFBFBD><EFBFBD>
@@ -937,7 +894,7 @@ I_END:
cblue rb 1 ; <20><EFBFBD><E0A0AD><><E1A8AD><><E1AFA5><EFBFBD>
calpha rb 1 ; <20><EFBFBD><E0A0AD> <20><EFBFBD><E0AEA7><EFBFBD><E7ADAE><EFBFBD>
pnext rd 1 ; <20><><EFBFBD><EFBFBD><20><><EFBFBD><E0A5AA><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
renmode rd 1 ; <><E0A5A6> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> (1-梥⮢<E6A2A5><E2AEA2> <20><EFBFBD>,2-<2D><><EFBFBD><EFBFBD>,3-<2D><><EFBFBD><E3A3AE><EFBFBD>)
renmode rd 1 ; <><E0A5A6> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> (0-梥⮢<E6A2A5><E2AEA2> <20><EFBFBD>,1-<2D><><EFBFBD><EFBFBD>⪠)
params rb 20 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC>
params_c rb 9 ; <20><><EFBFBD>񬭨<EFBFBD> <20><><EFBFBD><><E6A2A5>
bgimg_buf rd 1 ; buffer for a generated image

View File

@@ -2,17 +2,10 @@ DOS-866
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC><20><><EFBFBD> <20><><EFBFBD><EFBFBD><20>ணࠬ<E0AEA3><E0A0AC> Palitra
$ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E0A0AC>
------------------------------------------------------------------------------+
<EFBFBD>ணࠬ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA1AE> 梥⮢ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> 䮭 ࠡ<><EFBFBD> <20><EFBFBD>.
..............................................................................+
$ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0A0AC>஬ N
------------------------------------------------------------------------------+
<EFBFBD><EFBFBD>ᨫ쭮 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>, <20><><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><E2A2AE><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A8A0><EFBFBD> <20><><EFBFBD><EFBFBD>᪠:
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮮ⢥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A8A0><EFBFBD> <20><><EFBFBD><EFBFBD>᪠:
/sys/media/palitra N 00FF00FF 00FF0000
/sys/media/palitra N 00F724A3 00736698
@@ -21,7 +14,10 @@ $
$ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0A0AC>஬ H
------------------------------------------------------------------------------+
<EFBFBD>ணࠬ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AAA0><EFBFBD><EFBFBD> <20> hidden mode <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><E3A6A0>
<EFBFBD><EFBFBD><EFBFBD><><E6A2A5> <20><> /settings/wallpaper.dat. <20><>᫥ 祣<>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> <EFBFBD><EFBFBD> <20><EFBFBD> <20><EFBFBD><E0A0A4><EFBFBD><20><><><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮢.
<EFBFBD>ணࠬ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AAA0><EFBFBD><EFBFBD> <20> hidden mode <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<EFBFBD><EFBFBD>᫥ 祣<>,<><E6A2A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>
<EFBFBD><EFBFBD> <20><EFBFBD> <20><EFBFBD><E0A0A4><EFBFBD><20><><><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮢.
/sys/media/palitra H 00FF00FF 00FF0000
/sys/media/palitra H 00F724A3 00736698
..............................................................................+