forked from KolibriOS/kolibrios
system/MyKey: Post-SVN clean up
- Fix ASM include paths. - Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
This commit is contained in:
@@ -1,163 +1,165 @@
|
||||
include '../../../proc32.inc'
|
||||
|
||||
macro start_draw_window x,y,xsize,ysize,areacolor,caption,capsize
|
||||
{
|
||||
;pusha
|
||||
mov eax, 12 ; function 12:tell os about windowdraw
|
||||
mov ebx, 1 ; 1, start of draw
|
||||
int 0x40
|
||||
; DRAW WINDOW
|
||||
mov eax, 0 ; function 0 : define and draw window
|
||||
mov ebx, x*65536+xsize ; [x start] *65536 + [x size]
|
||||
mov ecx, y*65536+ysize ; [y start] *65536 + [y size]
|
||||
mov edx, areacolor ; color of work area RRGGBB
|
||||
mov esi, 0x00334455 ; color of grab bar RRGGBB
|
||||
mov edi, 0x00ddeeff ; color of frames RRGGBB
|
||||
int 0x40
|
||||
; WINDOW LABEL
|
||||
mov eax, 4 ; function 4 : write text to window
|
||||
mov ebx, 8*65536+8 ; [x start] *65536 + [y start]
|
||||
mov ecx, 0x0;0ffffff ; color of text RRGGBB
|
||||
mov edx, caption ; pointer to text beginning
|
||||
mov esi, capsize ; text length
|
||||
int 0x40
|
||||
;popa
|
||||
}
|
||||
|
||||
macro end_draw_window
|
||||
{
|
||||
mov eax, 12 ; end of redraw
|
||||
mov ebx, 2
|
||||
int 0x40
|
||||
}
|
||||
|
||||
macro change_window_place_size x,y,xsize,ysize
|
||||
{
|
||||
mov eax, 67 ; function 67 : replace and/or resize window
|
||||
mov ebx, x
|
||||
mov ecx, y
|
||||
mov edx, xsize
|
||||
mov esi, ysize
|
||||
int 0x40
|
||||
}
|
||||
|
||||
proc draw_button stdcall, x:dword, y:dword, xsize:dword, ysize:dword, \
|
||||
id:dword, butcolor:dword, text:dword, textlen:byte, textcolor:dword
|
||||
|
||||
pusha
|
||||
mov ebx, dword [x]
|
||||
shl ebx, 16
|
||||
add ebx, dword [xsize] ; [x start] *65536 + [x size]
|
||||
|
||||
mov ecx, dword [y]
|
||||
shl ecx, 16
|
||||
add ecx, dword [ysize] ; [y start] *65536 + [y size]
|
||||
|
||||
mov edx, dword [id] ; button id
|
||||
mov esi, dword [butcolor] ; button color RRGGBB
|
||||
mov eax, 8 ; function 8 : define and draw button
|
||||
int 0x40
|
||||
|
||||
mov ebx, dword [x]
|
||||
add ebx, 5
|
||||
shl ebx, 16
|
||||
mov eax, dword [ysize]
|
||||
sub eax, 5
|
||||
shr eax, 1
|
||||
add ebx, eax
|
||||
add ebx, dword [y] ;mov ebx, (x+5)*65536+y+(ysize-5)/2 ; Draw button text
|
||||
|
||||
mov ecx, dword [textcolor]
|
||||
mov edx, dword [text]
|
||||
xor eax, eax
|
||||
mov al, byte [textlen]
|
||||
mov esi, eax
|
||||
mov eax, 4
|
||||
int 0x40
|
||||
popa
|
||||
ret
|
||||
endp
|
||||
|
||||
;macro outtextxy x,y,prompt,prompt_len,color
|
||||
;{
|
||||
proc outtextxy stdcall, x:dword, y:dword, prompt:dword, prompt_len:dword, color:dword
|
||||
pusha
|
||||
mov eax, 4
|
||||
mov ebx, dword [x] ; draw info text with function 4
|
||||
shl ebx, 16
|
||||
or ebx, dword [y]
|
||||
mov ecx, dword [color]
|
||||
mov edx, dword [prompt]
|
||||
mov esi, dword [prompt_len]
|
||||
test esi, esi
|
||||
jnz @f
|
||||
or ecx, 0x80000000
|
||||
@@:
|
||||
int 0x40
|
||||
popa
|
||||
ret
|
||||
endp
|
||||
;}
|
||||
|
||||
;proc bar x:dword, y:dword, xsize:dword, ysize:dword, color:dword
|
||||
macro bar x, y, xsize, ysize, color
|
||||
{
|
||||
pusha
|
||||
mov eax, 13
|
||||
;mov ebx, [x]
|
||||
;shl ebx, 16
|
||||
;add ebx, [xsize]
|
||||
;mov ecx, [y]
|
||||
;shl ecx, 16
|
||||
;add ecx, [ysize]
|
||||
;mov edx, [color]
|
||||
mov ebx, x*65536+xsize
|
||||
mov ecx, y*65536+ysize
|
||||
mov edx, color
|
||||
|
||||
int 0x40
|
||||
popa
|
||||
;ret
|
||||
;endp
|
||||
}
|
||||
|
||||
macro line x1,y1,x2,y2,color
|
||||
{
|
||||
pusha
|
||||
mov eax, 38
|
||||
mov ebx, x1*65536+x2
|
||||
mov ecx, y1*65536+y2
|
||||
mov edx, color
|
||||
int 0x40
|
||||
popa
|
||||
}
|
||||
|
||||
macro rectangle x,y,xsize,ysize,color
|
||||
{
|
||||
x2=x+xsize
|
||||
y2=y+ysize
|
||||
line x,y,x2,y,color
|
||||
line x,y,x,y2,color
|
||||
line x,y2,x2,y2,color
|
||||
line x2,y,x2,y2,color
|
||||
}
|
||||
|
||||
macro rectangle2 x,y,xsize,ysize,color1,color2
|
||||
{
|
||||
x2=x+xsize
|
||||
y2=y+ysize
|
||||
line x,y,x2,y,color1
|
||||
line x,y,x,y2,color1
|
||||
line x,y2,x2,y2,color2
|
||||
line x2,y,x2,y2,color2
|
||||
}
|
||||
|
||||
macro putpixel x,y,color
|
||||
{
|
||||
mov eax, 1
|
||||
mov ebx, x
|
||||
mov ecx, y
|
||||
mov edx, color
|
||||
int 0x40
|
||||
}
|
||||
|
||||
; SPDX-License-Identifier: NOASSERTION
|
||||
;
|
||||
|
||||
include '../../proc32.inc'
|
||||
|
||||
macro start_draw_window x,y,xsize,ysize,areacolor,caption,capsize
|
||||
{
|
||||
;pusha
|
||||
mov eax, 12 ; function 12:tell os about windowdraw
|
||||
mov ebx, 1 ; 1, start of draw
|
||||
int 0x40
|
||||
; DRAW WINDOW
|
||||
mov eax, 0 ; function 0 : define and draw window
|
||||
mov ebx, x*65536+xsize ; [x start] *65536 + [x size]
|
||||
mov ecx, y*65536+ysize ; [y start] *65536 + [y size]
|
||||
mov edx, areacolor ; color of work area RRGGBB
|
||||
mov esi, 0x00334455 ; color of grab bar RRGGBB
|
||||
mov edi, 0x00ddeeff ; color of frames RRGGBB
|
||||
int 0x40
|
||||
; WINDOW LABEL
|
||||
mov eax, 4 ; function 4 : write text to window
|
||||
mov ebx, 8*65536+8 ; [x start] *65536 + [y start]
|
||||
mov ecx, 0x0;0ffffff ; color of text RRGGBB
|
||||
mov edx, caption ; pointer to text beginning
|
||||
mov esi, capsize ; text length
|
||||
int 0x40
|
||||
;popa
|
||||
}
|
||||
|
||||
macro end_draw_window
|
||||
{
|
||||
mov eax, 12 ; end of redraw
|
||||
mov ebx, 2
|
||||
int 0x40
|
||||
}
|
||||
|
||||
macro change_window_place_size x,y,xsize,ysize
|
||||
{
|
||||
mov eax, 67 ; function 67 : replace and/or resize window
|
||||
mov ebx, x
|
||||
mov ecx, y
|
||||
mov edx, xsize
|
||||
mov esi, ysize
|
||||
int 0x40
|
||||
}
|
||||
|
||||
proc draw_button stdcall, x:dword, y:dword, xsize:dword, ysize:dword, \
|
||||
id:dword, butcolor:dword, text:dword, textlen:byte, textcolor:dword
|
||||
|
||||
pusha
|
||||
mov ebx, dword [x]
|
||||
shl ebx, 16
|
||||
add ebx, dword [xsize] ; [x start] *65536 + [x size]
|
||||
|
||||
mov ecx, dword [y]
|
||||
shl ecx, 16
|
||||
add ecx, dword [ysize] ; [y start] *65536 + [y size]
|
||||
|
||||
mov edx, dword [id] ; button id
|
||||
mov esi, dword [butcolor] ; button color RRGGBB
|
||||
mov eax, 8 ; function 8 : define and draw button
|
||||
int 0x40
|
||||
|
||||
mov ebx, dword [x]
|
||||
add ebx, 5
|
||||
shl ebx, 16
|
||||
mov eax, dword [ysize]
|
||||
sub eax, 5
|
||||
shr eax, 1
|
||||
add ebx, eax
|
||||
add ebx, dword [y] ;mov ebx, (x+5)*65536+y+(ysize-5)/2 ; Draw button text
|
||||
|
||||
mov ecx, dword [textcolor]
|
||||
mov edx, dword [text]
|
||||
xor eax, eax
|
||||
mov al, byte [textlen]
|
||||
mov esi, eax
|
||||
mov eax, 4
|
||||
int 0x40
|
||||
popa
|
||||
ret
|
||||
endp
|
||||
|
||||
;macro outtextxy x,y,prompt,prompt_len,color
|
||||
;{
|
||||
proc outtextxy stdcall, x:dword, y:dword, prompt:dword, prompt_len:dword, color:dword
|
||||
pusha
|
||||
mov eax, 4
|
||||
mov ebx, dword [x] ; draw info text with function 4
|
||||
shl ebx, 16
|
||||
or ebx, dword [y]
|
||||
mov ecx, dword [color]
|
||||
mov edx, dword [prompt]
|
||||
mov esi, dword [prompt_len]
|
||||
test esi, esi
|
||||
jnz @f
|
||||
or ecx, 0x80000000
|
||||
@@:
|
||||
int 0x40
|
||||
popa
|
||||
ret
|
||||
endp
|
||||
;}
|
||||
|
||||
;proc bar x:dword, y:dword, xsize:dword, ysize:dword, color:dword
|
||||
macro bar x, y, xsize, ysize, color
|
||||
{
|
||||
pusha
|
||||
mov eax, 13
|
||||
;mov ebx, [x]
|
||||
;shl ebx, 16
|
||||
;add ebx, [xsize]
|
||||
;mov ecx, [y]
|
||||
;shl ecx, 16
|
||||
;add ecx, [ysize]
|
||||
;mov edx, [color]
|
||||
mov ebx, x*65536+xsize
|
||||
mov ecx, y*65536+ysize
|
||||
mov edx, color
|
||||
|
||||
int 0x40
|
||||
popa
|
||||
;ret
|
||||
;endp
|
||||
}
|
||||
|
||||
macro line x1,y1,x2,y2,color
|
||||
{
|
||||
pusha
|
||||
mov eax, 38
|
||||
mov ebx, x1*65536+x2
|
||||
mov ecx, y1*65536+y2
|
||||
mov edx, color
|
||||
int 0x40
|
||||
popa
|
||||
}
|
||||
|
||||
macro rectangle x,y,xsize,ysize,color
|
||||
{
|
||||
x2=x+xsize
|
||||
y2=y+ysize
|
||||
line x,y,x2,y,color
|
||||
line x,y,x,y2,color
|
||||
line x,y2,x2,y2,color
|
||||
line x2,y,x2,y2,color
|
||||
}
|
||||
|
||||
macro rectangle2 x,y,xsize,ysize,color1,color2
|
||||
{
|
||||
x2=x+xsize
|
||||
y2=y+ysize
|
||||
line x,y,x2,y,color1
|
||||
line x,y,x,y2,color1
|
||||
line x,y2,x2,y2,color2
|
||||
line x2,y,x2,y2,color2
|
||||
}
|
||||
|
||||
macro putpixel x,y,color
|
||||
{
|
||||
mov eax, 1
|
||||
mov ebx, x
|
||||
mov ecx, y
|
||||
mov edx, color
|
||||
int 0x40
|
||||
}
|
||||
|
Reference in New Issue
Block a user