/** * a helper to handle the real device context used in kicad * @file kicad_device_context.h */ #ifndef __KICAD_DEVICE_CONTEXT_H__ #define __KICAD_DEVICE_CONTEXT_H__ // Comment this line to use the standard wxClientDC // and uncomment to use buffered DC // #define KICAD_USE_BUFFERED_DC // Currently under test // Comment this line to use the standard wxPaintDC // and uncomment to use buffered PaintDC #define KICAD_USE_BUFFERED_PAINTDC // Currently under test #if defined KICAD_USE_BUFFERED_DC || defined KICAD_USE_BUFFERED_PAINTDC #ifndef KICAD_USE_BUFFERED_PAINTDC #define KICAD_USE_BUFFERED_PAINTDC #endif #include #endif // Helper class to handle the client Device Context class KicadGraphicContext : public wxClientDC { public: KicadGraphicContext( WinEDA_DrawPanel * aDrawPanel ); ~KicadGraphicContext(); }; // Macro used to declare a device context in kicad: #ifdef KICAD_USE_BUFFERED_DC #define INSTALL_DC(name,parent) \ KicadGraphicContext _cDC( parent );\ wxBufferedDC name(&_cDC, _cDC.GetSize() ); #else #define INSTALL_DC(name,parent) KicadGraphicContext name( parent ) #endif #ifdef KICAD_USE_BUFFERED_PAINTDC #define INSTALL_PAINTDC(name,parent) wxAutoBufferedPaintDC name(parent ) #else #define INSTALL_PAINTDC(name,parent) wxPaintDC name( parent ) #endif #endif // __KICAD_DEVICE_CONTEXT_H__