1 case GRON: switch (param[0].xword)
3 case 0: GrSetMode(GR_width_height_graphics,
8 case 1: GrSetMode(GR_width_height_graphics,
13 case 2: GrSetMode(GR_width_height_graphics,
19 case 3: GrSetMode(GR_width_height_graphics,
24 case 4: GrSetMode(GR_width_height_graphics,
29 case 5: GrSetMode(GR_width_height_graphics,
34 case 6: GrSetMode(GR_width_height_graphics,
39 case 7: GrSetMode(GR_width_height_graphics,
44 case 8: GrSetMode(GR_width_height_graphics,
49 case 9: GrSetMode(GR_width_height_graphics,
54 default: GrSetMode(GR_width_height_graphics,
62 case POINT: CurX=param[0].xword;
64 GrPlot(CurX,CurY,Couleur);
67 case INPIX: CurX=param[0].xword;
69 param[2].xword=GrPixel(CurX,CurY);
72 case MOVE: CurX=param[0].xword;
76 case COLOR: Couleur=param[0].xword;
79 case PALETT: Coul[Pal++]=param[0].xword;
82 GrSetColor(Coul[0],Coul[1],Coul[2],Coul[3]);
87 case GROFF: if(MOUSE_PRESENT) MouseUnInit();
88 GrSetMode(GR_80_25_text);
91 case DRAW: GrLine(CurX,CurY,param[0].xword,param[1].xword,Couleur);
96 case HFILL: GrHLine(CurX,param[0].xword,CurY,Couleur);
100 case VFILL: GrVLine(CurX,CurY,param[0].xword,Couleur);
104 case CLS: GrClearScreen(Fond);
107 case BORDER: Fond=param[0].xword;
110 case INXPOS: param[0].xword=CurX;
113 case INYPOS: param[0].xword=CurY;
118 char *Texte= (char *)(M + strings + param[ 2 ].xword + 1);
119 if(param[0].xint==-1) ax=CurX;
120 else ax=param[0].xint;
121 if(param[1].xint==-1) bx=CurY;
122 else bx=param[1].xint;
123 if(param[3].xint==-1) cx=Couleur;
124 else cx=param[3].xint;
125 if(param[4].xint==-1) dx=Fond;
126 else dx=param[4].xint;
127 GrTextXY(ax,bx,Texte,cx,dx);
128 if(param[0].xint==-1 && param[1].xint==-1)
130 CurX+=8*strlen(Texte);
142 char *Texte=(char *)¶m[ 0 ].xword;
143 GrTextXY(CurX,CurY,Texte,Couleur,Fond);
159 param[0].xword=getkey();
167 GrContext *Destination;
169 w=abs(param[0].xword-CurX)+1;
170 h=abs(param[1].xword-CurY)+1;
171 newarry((word)1,3,(word)AINT,¶m[2].xvirt,&am);
172 Destination=GrCreateContext(w,h,
174 M[am+3]=(int)Destination;
177 GrBitBlt(Destination,0,0,
178 NULL,CurX,CurY,param[0].xword,param[1].xword,
183 case PUTMAP : if (member(¶m[0].xvirt,&am))
184 GrBitBlt(NULL,CurX,CurY,
185 (GrContext *)M[am+3],0,0,M[am+4],M[am+5],GrWRITE);
190 case ORMAP : if (member(¶m[0].xvirt,&am))
191 GrBitBlt(NULL,CurX,CurY,
192 (GrContext *)M[am+3],0,0,M[am+4],M[am+5],GrOR);
197 case XORMAP : if (member(¶m[0].xvirt,&am))
198 GrBitBlt(NULL,CurX,CurY,
199 (GrContext *)M[am+3],0,0,M[am+4],M[am+5],GrXOR);
209 if(member(¶m[1].xvirt,&am1) && member(¶m[2].xvirt,&am2))
211 if(param[0].xint>30) param[0].xint=30;
212 for(i=0;i<param[0].xint;i++)
214 pt1[i][0]=M[am1+3+i];
215 pt1[i][1]=M[am2+3+i];
218 GrFilledPolygon(param[0].xint,pt1,param[3].xint);
220 GrPolygon(param[0].xint,pt1,param[3].xint);
229 GrFilledBox(param[0].xint,param[1].xint,param[2].xint,param[3].xint,param[4].xint);
231 GrBox(param[0].xint,param[1].xint,param[2].xint,param[3].xint,param[4].xint);
233 case TRACK : afficheinteger(param[0].xint,param[1].xint,param[2].xint,param[3].xint,
236 case HFONT : param[9].xint=gscanfnum(param[0].xint,param[1].xint,param[2].xint*8,
237 param[3].xint,param[4].xint,param[5].xint,
238 param[6].xint,param[7].xint,param[8].xint);
242 char *Texte= (char *)(M + strings + param[ 4 ].xword + 1);
244 ret=gschar(param[0].xint,param[1].xint,param[2].xint,¶m[3].xint,
245 Texte,param[5].xint,param[6].xint,param[7].xint);
247 newarry((word) 0, param[3].xint-2,(word) AINT,¶m[8].xvirt,&ax);
255 ax=param[0].xint-param[2].xint; /* x */
256 bx=param[1].xint-param[3].xint; /* y */
257 cx=param[2].xint*2; /* rax */
258 dx=param[3].xint*2; /* ray */
260 GrFilledEllipseArc(ax,bx,cx,dx,param[4].xint,param[5].xint,
263 GrEllipseArc(ax,bx,cx,dx,param[4].xint,param[5].xint,
269 case INIT : mousenit(param[0].xint,param[1].xint);
284 MouseWarp(param[0].xint,param[1].xint);
290 ax=mouse(&v,&p,&h,&l,&r,&c);
297 /* parametre en retour*/
299 param[ 6 ].xbool = TRUE;
301 param[ 6 ].xbool = FALSE;
305 MouseSetLimits(param[0].xint,param[1].xint,param[2].xint,param[3].xint);
312 MouseEventEnable(param[1].xint,param[0].xint);
316 MouseSetSpeed(param[0].xint);