2006-11-02 15:18:23 +01:00
|
|
|
macro use_label
|
|
|
|
{
|
|
|
|
draw_label:
|
|
|
|
pusha
|
2009-06-01 20:25:07 +02:00
|
|
|
xor esi,esi
|
|
|
|
mov edx,[edi+8]
|
2006-11-02 15:18:23 +01:00
|
|
|
.check_next:
|
2009-06-01 20:25:07 +02:00
|
|
|
mov ah,[edx+esi]
|
|
|
|
inc esi
|
|
|
|
test ah,ah
|
|
|
|
jz @f
|
|
|
|
jmp .check_next
|
2006-11-02 15:18:23 +01:00
|
|
|
@@:
|
2009-06-01 20:25:07 +02:00
|
|
|
mov eax,4
|
|
|
|
mov ebx,[edi]
|
|
|
|
mov ecx,[edi+4]
|
|
|
|
mcall
|
2006-11-02 15:18:23 +01:00
|
|
|
popa
|
|
|
|
ret
|
|
|
|
}
|
|
|
|
|
|
|
|
struc label left,top,color,text
|
|
|
|
{
|
|
|
|
.top: dw top ; +0
|
|
|
|
.left: dw left ; +2
|
|
|
|
.color: dd color; +4
|
2009-06-01 20:25:07 +02:00
|
|
|
.text: dd text ; +8
|
2006-11-02 15:18:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
l_struc_size=12
|
|
|
|
macro draw_labels start,end
|
|
|
|
{
|
2009-06-01 20:25:07 +02:00
|
|
|
mov edi,start
|
|
|
|
mov ecx,((end-start)/l_struc_size)
|
2006-11-02 15:18:23 +01:00
|
|
|
@@:
|
2009-06-01 20:25:07 +02:00
|
|
|
call draw_label
|
|
|
|
add edi,l_struc_size
|
|
|
|
loop @r
|
2006-11-02 15:18:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
macro labels_set_sys_color start,end,color_table
|
|
|
|
{
|
2009-06-01 20:25:07 +02:00
|
|
|
mov edi,start
|
|
|
|
mov ecx,((end-start)/l_struc_size)
|
|
|
|
mov esi,color_table
|
2006-11-02 15:18:23 +01:00
|
|
|
@@:
|
2009-06-01 20:25:07 +02:00
|
|
|
push dword [esi+32]
|
|
|
|
pop dword [edi+4]
|
|
|
|
add edi,l_struc_size
|
|
|
|
loop @r
|
2006-11-02 15:18:23 +01:00
|
|
|
}
|