Hi, all. I found a bug in my tab project.
When an update event occurs while the window which has to be updated, my
project will draw out of window area. So I guess I have to limit copying
area to visible region of the window.
But I don't know how to get the visible window.
So I try to limit update region to copy area, but it not works well.
LONG IF offWorld&
INC(B%)
CALL RGBFORECOLOR (#LINE "black")
CALL RGBBACKCOLOR (#LINE "white")
' Followings works, but draw out of visible area in behind other
window.
'CALL COPYBITS (#offWorld& + 2,#WINDOW(_wndPointer) +
2,T%,cT,_srcCopy,_NIL)
' So I think I have to mask destination to visible area.
DIM maskRgn&,wndPtr&
'GET WINDOW gOutputWnd%,wndPtr&
wndPtr& = WINDOW(_wndPointer)
maskRgn& = wndPtr&.updateRgn& '<- try to limit draw area to update
region.
CALL COPYBITS (#offWorld& + 2,#oldWorld& + 2,T%,cT,_srcCopy,maskRgn&)
'<- This does not work
CALL SETGWORLD(oldWorld&,oldDevice&)
CALL DISPOSEGWORLD(offWorld&)
END IF
Any idea? TIA.
Osamu Shigematsu