Are swap_buffer(), update(), clear() really things that you want to do?

Would you maybe prefer to simply call draw(const Texture& t) or something similar?