jfl wrote:It's hard to say without more code to verify but judging by your comments I get the feeling you haven't really understood how this is supposed to work. Basically, you turn the mouse off just before drawing on the screen and turn it on again just after you are finished drawing. That's it. At no other moment do you need to fiddle with the mouse pointer.
Thats what I am doing, but some functions turn the mouse back on again, like opening a window and doing blitting for some odd reason. I turn it off just after opening the window (dont really have a choice there) it works on all tests other than the blitting test and GEM window test.
OK knock yourselves out... I can't figure it out, I give up

Code: Select all
LIBRARY "gemaes","gemvdi","bios","gemdos","xbios"
'$option k150
'$option g,y+,v-,u+,#,[,]
'$option fE:\GB6\blttst.PRG
DEFINT a-z
call test11&
SUB TEST11&
STATIC tmp(),size&,t&,p,x1,y1,w1,h1
STATIC x,y,w,h,i,bar_y2,bar_h,blith,c
mywind_id=freewind
x1=0:y1=10:w1=639:h1=199-12
vsf_color 1
bar_y2=84
bar_h=40
WINDOW OPEN mywind_id,"Blitting",0,12,630,190,&hfef
graf_mouse 256,0 ' turn off mouse
for c=1 to 3
vsf_color c
x=10:y=44:w=200:h=bar_h
v_bar 10,y,210,bar_y2
p=4 ' if mono then we should really set colours to 1 and 0
size&=2*(h+1)*((w+1)\16+1)+6
REDIM tmp(size&*p)
FOR i=0 TO 400
GET (x,y)-(x+w,y+h),tmp
PUT(x+i,y),tmp,PSET
NEXT i
FOR i=0 TO 98
GET (x,y)-(x+w,y+h),tmp
PUT(x,y+i),tmp,PSET
NEXT i
NEXT c
vsf_color 1
WINDOW CLOSE mywind_id
ERASE tmp
graf_mouse 257,0 ' turn on mouse
END SUB