using namespace std;
using namespace ArdourCanvas;
-Widget::Widget (Group* parent, CairoWidget& w)
+Widget::Widget (Canvas* c, CairoWidget& w)
+ : Item (c)
+ , _widget (w)
+{
+ Event.connect (sigc::mem_fun (*this, &Widget::event_proxy));
+}
+
+Widget::Widget (Item* parent, CairoWidget& w)
: Item (parent)
, _widget (w)
{
bool
Widget::event_proxy (GdkEvent* ev)
{
+ /* XXX need to translate coordinate into widget's own coordinate space */
return _widget.event (ev);
}
void
Widget::render (Rect const & area, Cairo::RefPtr<Cairo::Context> context) const
{
- std::cerr << "Render widget\n";
+ // std::cerr << "Render widget\n";
if (!_bounding_box) {
std::cerr << "no bbox\n";
crect.height = draw.height();
crect.width = draw.width();
- std::cerr << "will draw " << draw << "\n";
+ // std::cerr << "will draw " << draw << "\n";
context->save ();
context->translate (-draw.x0, -draw.y0);
//context->rectangle (draw.x0, draw.y0, draw.width(), draw.height());
{
std::cerr << "cbbox for widget\n";
- GtkRequisition req;
+ GtkRequisition req = { 0, 0 };
Gtk::Allocation alloc;
_widget.size_request (req);