canvas always matches window size