50 lines
1.4 KiB
C++
50 lines
1.4 KiB
C++
/**
|
|
* 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 <wx/dcbuffer.h>
|
|
#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__
|