Commit 9b894a78 authored by twanvl's avatar twanvl

* compatibility with wxWdigets 2.9+: SetClippingRegion -> SetDeviceClippingRegion

* overload wxEVT_ERASE_BACKGROUND, to reduce flicker
parent 1363c9a0
......@@ -88,7 +88,7 @@ void CardViewer::onPaint(wxPaintEvent&) {
// dc.SetDeviceOrigin(-dx, -dy);
wxRegion clip = GetUpdateRegion();
// clip.Offset(dx, dy);
dc.SetClippingRegion(clip);
dc.SetDeviceClippingRegion(clip);
// draw
if (!up_to_date) {
up_to_date = true;
......@@ -150,4 +150,5 @@ Rotation CardViewer::getRotation() const {
BEGIN_EVENT_TABLE(CardViewer, wxControl)
EVT_PAINT (CardViewer::onPaint)
EVT_ERASE_BACKGROUND(CardViewer::onEraseBackground)
END_EVENT_TABLE ()
......@@ -24,7 +24,7 @@ DECLARE_EVENT_TYPE(EVENT_SIZE_CHANGE, <not used>)
/// A control to view a single card
class CardViewer : public wxControl, public DataViewer {
public:
CardViewer(Window* parent, int id, long style = 0);
CardViewer(Window* parent, int id, long style = wxBORDER_THEME);
/// Get a dc to draw on the card outside onPaint
/** May NOT be called while in onPaint/draw */
......@@ -55,6 +55,7 @@ class CardViewer : public wxControl, public DataViewer {
private:
DECLARE_EVENT_TABLE();
void onEraseBackground(wxEraseEvent&) {}
void onPaint(wxPaintEvent&);
Bitmap buffer; ///< Off-screen buffer we draw to
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment