Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5521 leency 1
macro start_draw_window x,y,xsize,ysize,areacolor,caption
2
{
3
	mov	eax, 12 		; function 12:tell os about windowdraw
4
	mov	ebx, 1			; 1, start of draw
5
	int	0x40
6
	; DRAW WINDOW
7
	mov	eax, 0			; function 0 : define and draw window
8
	mov	ebx, x*65536+xsize	; [x start] *65536 + [x size]
9
	mov	ecx, y*65536+ysize	; [y start] *65536 + [y size]
10
	mov	edx,areacolor		; color of work area RRGGBB
11
        mov     edi,caption             ; window title
12
	int	0x40
13
}
14
 
15
macro end_draw_window
16
{
17
	mov	eax, 12 		; end of redraw
18
	mov	ebx, 2
19
	int	0x40
20
}
21
 
22
macro draw_button x,y,xsize,ysize,id,butcolor,text,textlen,textcolor
23
{
24
	mov	eax, 8			; function 8 : define and draw button
25
	mov	ebx, (x)*65536+xsize	  ; [x start] *65536 + [x size]
26
	mov	ecx, (y)*65536+ysize	  ; [y start] *65536 + [y size]
27
	mov	edx, id 		; button id
28
	mov	esi, butcolor		; button color RRGGBB
29
	int	0x40
30
 
31
	mov	ebx, (x+5)*65536+y+(ysize-5)/2	; Draw button text
32
	mov	ecx, textcolor
33
	mov	edx, text
34
	xor	eax, eax
35
	mov	al,  textlen
36
	mov	esi, eax
37
	mov	eax, 4
38
	int	0x40
39
}
40
 
41
macro outtextxy x,y,prompt,prompt_len,color
42
{
43
	mov	ebx, x*65536+y	       ; draw info text with function 4
44
	mov	ecx, color
45
	mov	edx, prompt
46
	xor	eax, eax
47
	mov	al,  prompt_len
48
	mov	esi, eax
49
	mov	eax, 4
50
	int	0x40
51
}
52
 
53
macro bar x,y,xsize,ysize,color
54
{
55
  mov eax, 13
56
  mov ebx, x*65536+xsize
57
  mov ecx, y*65536+ysize
58
  mov edx, color
59
  int 0x40
60
}
61
 
62
macro line x1,y1,x2,y2,color
63
{
64
  mov eax, 38
65
  mov ebx, x1*65536+x2
66
  mov ecx, y1*65536+y2
67
  mov edx, color
68
  int 0x40
69
}
70
 
71
macro rectangle x,y,xsize,ysize,color
72
{
73
  x2=x+xsize
74
  y2=y+ysize
75
  line x,y,x2,y,color
76
  line x,y,x,y2,color
77
  line x,y2,x2,y2,color
78
  line x2,y,x2,y2,color
79
}
80
 
81
macro putpixel x,y,color
82
{
83
  mov eax, 1
84
  mov ebx, x
85
  mov ecx, y
86
  mov edx, color
87
  int 0x40
88
}
89
 
90
macro lights_on cns
91
{
92
   mov ax, cns
93
   test ax, 0x40
94
   jz @f
95
   push ax
96
   bar 532, 53, 10, 11, 0x0000FF00
97
   pop ax
98
 @@:
99
   test ax, 0x80
100
   jz @f
101
   push ax
102
   bar 500, 53, 10, 11, 0x0000FF00
103
   pop ax
104
 @@:
105
   test ax, 0x100
106
   jz @f
107
   bar 565, 53, 10, 11, 0x0000FF00
108
 @@:
109
}
110
 
111
out_symbol:
112
	;mov	ebx, x*65536+y	       ; draw info text with function 4
113
	;mov	ecx, color
114
	;mov	edx, prompt
115
	mov	esi, 1
116
	mov	eax, 4
117
	int	0x40
118
  ret
119