add pannable support and fix some zooming bug