translate[0] = Math.min(0, Math.max(viewport_size[0] - canvas_size[0] * scale, translate[0]));