On Sat, Jul 13, 2013 at 7:07 AM, Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> wrote: > On 07/13/2013 04:43 AM, jscipione@xxxxxxxxx wrote: >> >> Remove B_FULL_UPDATE_ON_RESIZE flag from view. >> We already Invalidate() on FrameResized() which redraws the [...] > > I could imagine that the other way around causes less flickering. > Right now, the app_server will invalidate the exposed areas on resize - and > notify the window about the resize. This will then call FrameResized() in > another thread which in turn calls invalidate which causes the complete > window to be invalidated. > The flag above would therefore safe a few steps here. I am really really interested in a solution that would cause DeskCalc to resize smoothly but I've yet to find it. If I take out both the B_FULL_UPDATE_ON_RESIZE and Invalidate() from FrameResized() then the view doesn't redraw at all. If I keep the B_FULL_UPDATE_ON_RESIZE flag but don't Invalidate() in FrameResized() it redraws the view before FrameResized() gets called so the view gets drawn on resize, but incorrectly. If I include both B_FULL_UPDATE_ON_RESIZE and Invalidate() in FrameResized() as it was before it draws the view twice each time the view is resized, once before FrameResized() and a second time at the end of FrameResized(). By taking out the B_FULL_UPDATE_ON_RESIZE flag I've eliminate a superfluous Invalidate() call on resize, but it doesn't help to make the drawing any smoother. I'm still stuck on how to do that.