0,0 → 1,197 |
use32 |
org 0x0 |
;------------------------------------------------------------------------------- |
db "MENUET01" |
dd 1, @code, @data, @mem, @stack, 0, 0 |
;------------------------------------------------------------------------------- |
include "../../macros.inc" |
;=============================================================================== |
@code: |
mcall 48, 3, color, 40 |
;------------------------------------------------------------------------------- |
main_loop: |
mcall 10 |
cmp eax, EV_REDRAW |
je event_redraw |
cmp eax, EV_BUTTON |
je event_button |
|
jmp main_loop |
;------------------------------------------------------------------------------- |
exit: |
mcall -1 |
;------------------------------------------------------------------------------- |
event_redraw: |
call win.draw |
jmp main_loop |
;------------------------------------------------------------------------------- |
event_button: |
mcall 17 |
cmp ah, 0x01 |
je exit |
cmp ah, 0x10 |
je .tabs.walls |
cmp ah, 0x11 |
je .tabs.skins |
cmp ah, 0x12 |
je .tabs.docky |
cmp ah, 0x13 |
je .tabs.panel |
|
jmp main_loop |
|
.tabs.walls: |
mov [tabs.index], byte 0 |
call win.draw |
jmp main_loop |
.tabs.skins: |
mov [tabs.index], byte 1 |
call win.draw |
jmp main_loop |
.tabs.docky: |
mov [tabs.index], byte 2 |
call win.draw |
jmp main_loop |
.tabs.panel: |
mov [tabs.index], byte 3 |
call win.draw |
jmp main_loop |
;------------------------------------------------------------------------------- |
win.draw: |
mcall 12, 1 |
|
mov edx, [color.work] |
or edx, 0x34000000 |
mcall 0, <128, 256>, <128, 360>, , , win.title |
|
call tabs.draw |
|
mcall 12, 2 |
|
ret |
;------------------------------------------------------------------------------- |
tabs.draw: |
mcall 8, < 8, 57>, < 9, 25>, 0x40000010 |
mcall , < 65, 57>, , 0x40000011 |
mcall , <122, 57>, , 0x40000012 |
mcall , <179, 58>, , 0x40000013 |
|
mcall 13, < 9, 228>, , [color.work] |
|
mcall , , < 9, 1>, [color.workE] |
mcall , , <34, 1> |
mcall , < 8, 1>, <10, 24> |
mcall , < 65, 1> |
mcall , <122, 1> |
mcall , <179, 1> |
mcall , <237, 1> |
|
mov edx, [color.workE] |
|
cmp [tabs.index], byte 0 |
je .walls |
cmp [tabs.index], byte 1 |
je .skins |
cmp [tabs.index], byte 2 |
je .docky |
jmp .panel |
|
.walls: |
mcall , < 9, 56> |
|
mcall 4, < 22, 18>, [color.textE], tabs.walls_title, 5 |
mcall , < 79, 18>, [color.text] , tabs.skins_title |
mcall , <136, 18>, , tabs.docky_title |
mcall , <193, 18>, , tabs.panel_title |
|
call tabs.walls.draw |
|
ret |
.skins: |
mcall , < 66, 56> |
|
mcall 4, < 79, 18>, [color.textE], tabs.skins_title, 5 |
mcall , < 22, 18>, [color.text] , tabs.walls_title |
mcall , <136, 18>, , tabs.docky_title |
mcall , <193, 18>, , tabs.panel_title |
|
call tabs.skins.draw |
|
ret |
.docky: |
mcall , <123, 56> |
|
mcall 4, <136, 18>, [color.textE], tabs.docky_title, 5 |
mcall , < 79, 18>, [color.text] , tabs.skins_title |
mcall , < 22, 18>, , tabs.walls_title |
mcall , <193, 18>, , tabs.panel_title |
|
call tabs.docky.draw |
|
ret |
.panel: |
mcall , <180, 57> |
|
mcall 4, <193, 18>, [color.textE], tabs.panel_title, 5 |
mcall , < 79, 18>, [color.text] , tabs.skins_title |
mcall , <136, 18>, , tabs.docky_title |
mcall , < 22, 18>, , tabs.walls_title |
|
call tabs.panel.draw |
|
ret |
;------------------------------------------------------------------------------- |
tabs.walls.draw: |
mcall 8, <20, 50>, < 50, 20>, 0x20, [color.workE] |
ret |
;------------------------------------------------------------------------------- |
tabs.skins.draw: |
mcall 8, <40, 40>, < 60, 30>, 0x30, [color.workE] |
mcall , , < 99, 30>, 0x31 |
ret |
;------------------------------------------------------------------------------- |
tabs.docky.draw: |
mcall 8, <50, 10>, < 50, 10>, 0x40, [color.workE] |
mcall , , < 70, 10>, 0x41 |
mcall , , < 90, 10>, 0x42 |
mcall , , <110, 10>, 0x43 |
ret |
;------------------------------------------------------------------------------- |
tabs.panel.draw: |
mcall 8, <70, 20>, <70, 20>, 0x20, [color.workE] |
mcall 4, <30, 50>, [color.text], tabs.panel_title |
ret |
;=============================================================================== |
win.title: |
db "Desktop configuration", 0 |
|
tabs.walls_title: |
db "Walls" |
tabs.skins_title: |
db "Skins" |
tabs.docky_title: |
db "Docky" |
tabs.panel_title: |
db "Panel" |
|
@data: |
;=============================================================================== |
rb 2048 |
@stack: |
;------------------------------------------------------------------------------- |
tabs.index: |
rb 1 |
|
color: |
.frame: |
rd 5 |
.work: |
rd 1 |
.workE: |
rd 1 |
.textE: |
rd 1 |
.text: |
rd 2 |
|
@mem: |