mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-12-29 17:59:50 +03:00
Eye candy
git-svn-id: svn://kolibrios.org@4781 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
6947422b81
commit
cae4b1d9de
@ -24,59 +24,99 @@ use32
|
|||||||
dd I_END ; size of image
|
dd I_END ; size of image
|
||||||
dd (I_END+0x1000) ; memory for app
|
dd (I_END+0x1000) ; memory for app
|
||||||
dd (I_END+0x1000) ; esp
|
dd (I_END+0x1000) ; esp
|
||||||
dd 0, 0 ; I_Param , I_Path
|
dd 0, 0 ; I_Param, I_Path
|
||||||
|
|
||||||
include '../../macros.inc'
|
include '../../macros.inc'
|
||||||
include '../../network.inc'
|
include '../../network.inc'
|
||||||
|
|
||||||
|
|
||||||
macro DrawRectangle x, y, w, h, color
|
|
||||||
{
|
|
||||||
mcall 13, x shl 16 + w, y shl 16 + 1, color ; top
|
|
||||||
mcall , x shl 16 + 1, y shl 16 + h, color ; left
|
|
||||||
mcall , (x+w) shl 16 +1, y shl 16 + (h+1), color ; right
|
|
||||||
mcall , x shl 16 + w, (y+h) shl 16 + 1, color ; bottom
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
START:
|
START:
|
||||||
mcall 40, EVM_REDRAW + EVM_BUTTON + EVM_STACK2 + EVM_KEY
|
mcall 40, EVM_REDRAW + EVM_BUTTON + EVM_STACK2 + EVM_KEY
|
||||||
|
|
||||||
window_redraw:
|
window_redraw:
|
||||||
|
; Notify kernel of start of window draw
|
||||||
mcall 12, 1
|
mcall 12, 1
|
||||||
mcall 0, 100 shl 16 + 600, 100 shl 16 + 240, 0x34E1E1E1, , name ; draw window
|
|
||||||
DrawRectangle 0, 25, 400, 180, 0x777777
|
; Draw the window
|
||||||
|
mcall 0, 100 shl 16 + 600, 100 shl 16 + 240, 0x34E1E1E1, , name
|
||||||
|
|
||||||
|
; Define the buttons (for tabs)
|
||||||
|
mov ebx, 5 shl 16 + 54
|
||||||
|
mov ecx, 4 shl 16 + 21
|
||||||
|
mov edx, 0x60000000 + 101
|
||||||
|
.buttonloop:
|
||||||
|
mcall 8
|
||||||
|
add ebx, 60 shl 16
|
||||||
|
inc edx
|
||||||
|
cmp dl, 106
|
||||||
|
jle .buttonloop
|
||||||
|
|
||||||
|
; draw sides and upper lines of the tab buttons
|
||||||
|
mov eax, 13
|
||||||
|
mov ebx, 5 shl 16 + 1
|
||||||
|
mov ecx, 4 shl 16 + 21
|
||||||
|
mov edx, 0x00777777
|
||||||
|
.loop:
|
||||||
|
mcall
|
||||||
|
mov bx, 54
|
||||||
|
mov cx, 1
|
||||||
|
mcall
|
||||||
|
mov bx, 1
|
||||||
|
mov cx, 21
|
||||||
|
add ebx, 54 shl 16
|
||||||
|
mcall
|
||||||
|
add ebx, 6 shl 16
|
||||||
|
cmp ebx, 360 shl 16
|
||||||
|
jb .loop
|
||||||
|
|
||||||
|
; Draw sides and bottom lines of the rectangle
|
||||||
|
mcall , 0 shl 16 + 1, 25 shl 16 + 180;, 0x00777777
|
||||||
|
mcall , (0+400) shl 16 +1, 25 shl 16 + (180+1)
|
||||||
|
mcall , 0 shl 16 + 400, (25+180) shl 16 + 1
|
||||||
|
|
||||||
redraw:
|
redraw:
|
||||||
mcall 13, 1 shl 16 + 399, 26 shl 16 + 179, 0x00F3F3F3
|
|
||||||
|
; Draw interface buttons (on the right hand side)
|
||||||
call draw_interfaces
|
call draw_interfaces
|
||||||
|
|
||||||
|
; Draw upper line of rectangle
|
||||||
|
mcall 13, 0 shl 16 + 400, 25 shl 16 + 1, 0x00777777
|
||||||
|
|
||||||
|
; Fill rectangle
|
||||||
|
mcall 13, 1 shl 16 + 399, 26 shl 16 + 179, 0x00F3F3F3
|
||||||
|
|
||||||
|
; Fill tab buttons
|
||||||
|
mov eax, 13
|
||||||
|
mov ebx, 6 shl 16 + 53
|
||||||
|
mov si, 101
|
||||||
|
.buttonloop:
|
||||||
|
mov ecx, 6 shl 16 + 19
|
||||||
|
mov edx, 0x00BBBBBB
|
||||||
|
cmp si, [mode]
|
||||||
|
jne @f
|
||||||
|
mov edx, 0x00F3F3F3 ; Activated button has other colors
|
||||||
|
inc ecx
|
||||||
|
@@:
|
||||||
|
mcall
|
||||||
|
mov edx, 0x00E1E1E1
|
||||||
|
cmp si, [mode]
|
||||||
|
jne @f
|
||||||
|
mov edx, 0x00FFFFFF ; Activated button has other colors
|
||||||
|
@@:
|
||||||
|
mov ecx, 5 shl 16 + 1
|
||||||
|
mcall
|
||||||
|
add ebx, 60 shl 16
|
||||||
|
inc si
|
||||||
|
cmp si, 106
|
||||||
|
jle .buttonloop
|
||||||
|
; Print button names on top of the buttons
|
||||||
|
mcall 4, 9 shl 16 + 12, 0x80000000, modes
|
||||||
|
|
||||||
|
; Get information about the selected device
|
||||||
xor ebx, ebx
|
xor ebx, ebx
|
||||||
mov bh, [device]
|
mov bh, [device]
|
||||||
mcall 74
|
mcall 74
|
||||||
mov [device_type], eax
|
mov [device_type], eax
|
||||||
|
|
||||||
mov edx, 101
|
|
||||||
mov esi, 0x00BBBbbb
|
|
||||||
mov edi, 0x0081BBFF
|
|
||||||
|
|
||||||
cmp dl, [mode]
|
|
||||||
cmove esi, edi
|
|
||||||
mcall 8, 5 shl 16 + 55, 5 shl 16 + 20
|
|
||||||
.morebuttons:
|
|
||||||
inc edx
|
|
||||||
add ebx, 60 shl 16
|
|
||||||
mov esi, 0x00BBBbbb
|
|
||||||
|
|
||||||
cmp dl, [mode]
|
|
||||||
cmove esi, edi
|
|
||||||
mcall
|
|
||||||
|
|
||||||
cmp edx, 105
|
|
||||||
jle .morebuttons
|
|
||||||
|
|
||||||
mcall 4, 9 shl 16 + 12, 0x80000000, modes
|
|
||||||
|
|
||||||
cmp [mode], 101
|
cmp [mode], 101
|
||||||
jne .no_eth
|
jne .no_eth
|
||||||
|
|
||||||
@ -552,7 +592,8 @@ button: ; button
|
|||||||
je exit
|
je exit
|
||||||
cmp ah, 0
|
cmp ah, 0
|
||||||
je .interface
|
je .interface
|
||||||
mov [mode], ah
|
shr ax, 8
|
||||||
|
mov [mode], ax
|
||||||
jmp redraw
|
jmp redraw
|
||||||
|
|
||||||
.interface:
|
.interface:
|
||||||
@ -718,7 +759,7 @@ draw_interfaces:
|
|||||||
; DATA AREA
|
; DATA AREA
|
||||||
|
|
||||||
name db 'Network status', 0
|
name db 'Network status', 0
|
||||||
mode db 101
|
mode dw 101
|
||||||
device db 0
|
device db 0
|
||||||
last_device db 0
|
last_device db 0
|
||||||
device_type dd 0
|
device_type dd 0
|
||||||
|
Loading…
Reference in New Issue
Block a user