Since i called it a bad design, i am entitled to introduce a better design. interface renderer { void draw(rect rects, size_t n); } class widget { void draw(renderer r) { ... } } -- Using Opera's revolutionary email client: http://www.opera.com/mail/