Hi,

On 6/18/10 7:58 PM, Jonas Finnemann Jensen wrote:
Hi,

Thanks for you quick reply... I've played with VirtualDevice for a few
days now...
I assume what you suggest is:

SmGraphicWindow::Paint(const Rectangle&)
{
     size = ...
     VirtualDevice vDev(*this, 0, 0);
     vDev.SetOutputSize(size);
     rDoc.Draw(vDev, aPoint); //The drawing code...
     DrawOutDev(Point(0,0), size, Point(0,0), size, vDev);
}

I've tried this... But it doesn't solve the flickering, and it somehow
disables anti-alias... I've also tried to do the actual drawing on
vDev in PrePaint (not a great place I know, but might work),
nevertheless this didn't solve the issue either...

You can enable antialiasing with SetAntialias (call and flags in vcl/outdev.hxx).

I guess the problem is the Erase() call in Window::ImplCallPaint()...
Anyway, this issue isn't important (yet), so I'll work on something
that is. And post back here if I get back to playing with this issue
again...

Good point. If you draw fully opaque, you can disable the Erase by setting no background at all calling SetBackground() (the method without wallpaper).

Just my 2 cents, pl


--
"If the designers of X-window built cars, there would be no fewer than
 five steering wheels hidden about the cockpit, none of which followed
 the same principles -- but you'd be able to shift gears with your
 car stereo. Useful feature, that."
                -- From the programming notebooks of a heretic, 1990.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to