Le 13 sept. 11 à 17:01, Christian Schmitz a écrit:

>
> Am 13.09.2011 um 16:40 schrieb Arnaud Nicolet:
>
>>    c.drawPicture pict, CGMakeRectMBS(0, 0, pict.width, pict.height)
>
> so after this method you can call c.flush.
> And maybe also self.InvalidateShadowMBS

Ok, but then from my method 1 (the not-paint event method), I must  
call self.refresh to invoke the paint event.
Now, my code for changing the picture, which still doesn't work, looks  
like this (only most useful bits):
     Method 1 (init):
     DisableScreenUpdatesMBS
     Pict=CGCreateImageMBS(p,q)
     me.Refresh 'Call the paint event to flush
     self.InvalidateShadowMBS
     EnableScreenUpdatesMBS

     Method 2 (paint event):
     dim c as CGContextMBS

     c=self.CGContextMBS
     c.ClearRect CGMakeRectMBS(0, 0, g.width, g.height)
     c.drawPicture pict, CGMakeRectMBS(0, 0, pict.width, pict.height)
     c.Flush

In execution order, it's like that:
     DisableScreenUpdatesMBS
     Pict=CGCreateImageMBS(p,q)
     self.CGContextMBS.drawPicture pict, CGMakeRectMBS(0, 0,  
pict.width, pict.height)
     self.CGContextMBS.Flush
     self.InvalidateShadowMBS
     EnableScreenUpdatesMBS

So all steps are there (disable screen updates, draw, flush,  
invalidate shadows and enable back screen updates) but the shadows are  
still not correctly updated.
Ok, we may give up about this, but there's still the InvalidateShadow  
that seems broken.
Thanks for your help!
_______________________________________________
Mbsplugins_monkeybreadsoftware.info mailing list
[email protected]
https://ml01.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info

Reply via email to