zoom implementation with touchpad or mouse scroll