Unified *Painter constructors