summaryrefslogtreecommitdiff
path: root/gtk2_ardour/cairo_widget.h
blob: 99f0d5d8c3302e6f1f392660d37124ac5488b6f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef __gtk2_ardour_cairo_widget_h__
#define __gtk2_ardour_cairo_widget_h__

#include <gtkmm/eventbox.h>

class CairoWidget : public Gtk::EventBox
{
public:
	CairoWidget ();
	virtual ~CairoWidget ();

	void set_dirty ();

protected:
	virtual void render (cairo_t *) = 0;
	virtual bool on_expose_event (GdkEventExpose *);
	void on_size_allocate (Gtk::Allocation &);

	int _width; ///< pixmap width
	int _height; ///< pixmap height
	
private:
	bool _dirty;
	GdkPixmap* _pixmap;
};

#endif