making draw() work with any device context