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