[futurebasic] Re: [FB] PG custom filter

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : December 1998 : Group Archive : Group : All Groups

From: "Osamu Shigematsu" <shige@...>
Date: Wed, 09 Dec 1998 11:07:18 +0900
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