Should this also take options.useCanvas into account?