Dear GRX
I have experienced trouble using GrMouseWarp under Win32(MinGW). Using
it seems to position the cursor in the wrong place. Also, GrMouseErase
does not seem to remove the cursor. I enclose a sample program.
This draws a white cross at the centre. I then try and position the
mouse cursor over it using
GrMouseWarp. This seems to give the wrong position. Hiding it with
GrMouseErase does not seem to work.
I would be grateful of any advice.
/* Program draws a white cross in the centre of the screen */
/* It then attempts to position the mouse at his point. */
/* Using GrMouseWarp(oX,oY) it attempts to match this point */
/* GrMouseEraseCursor() attempts to hide the mouse cursor */
/* Under Win32(MinGW) (W2000 & XP) it fails in these last two tasks */
/* Program is halted by a key press */
#include <stdio.h>
#include <grx20.h>
int main()
{
GrMouseEvent event; /*Mouse event */
int x,y,buttons; /* Mouse position & buttons */
int xMax,yMax,oX,oY; /* Size of screen & centre */
GrGraphicsMode gM;
GrVideoAdapter gV;
GrSetMode(GR_default_graphics);
GrMouseInit(); /* In this order */
xMax = GrSizeX(); yMax = GrSizeY();
oX = xMax/2; oY = yMax/2;
GrMouseWarp(oX,oY);
GrMouseEraseCursor();
printf("xMax = %d yMax = %d\n",xMax,yMax);
printf("oX = %d oY = %d\n",oX,oY);
gM = GrCurrentMode();
printf("Graphics mode = %d\n",gM);
gV = GrAdapterType();
printf("Video adapter = %d\n",gV);
while(1)
{
GrMouseGetEvent(GR_M_MOTION,&event);
GrLine(oX-4,oY,oX+4,oY,GrWhite());
GrLine(oX,oY-4,oX,oY+4,GrWhite());
if(GrKeyPressed()) break;
}
GrMouseUnInit();
return 0;
}
--
Pete Williams
peter.williams173(a)ntlworld.com