This wx.DC derivative can be used inside of an EVT_PAINT()
event handler to achieve double-buffered drawing.
Just use this class instead of wx.PaintDC and make sure wx.Window.SetBackgroundStyle
is called with wx.BG_STYLE_PAINT
somewhere in the class initialization code, and that’s all you have to do to (mostly) avoid flicker.
The difference between wx.BufferedPaintDC and this class is that this class won’t double-buffer on platforms which have native double-buffering already, avoiding any unnecessary buffering to avoid flicker.
wx.AutoBufferedPaintDC is simply a typedef of wx.PaintDC on platforms that have native double-buffering, otherwise, it is a typedef of wx.BufferedPaintDC.
See also