def test_zoom_out_should_be_limited_to_20_percent(zoom_data, view): tool = zoom_tool(view) view.add_controller(tool) on_scale_changed(tool, 0.0, zoom_data) assert view.matrix[0] == 0.2 assert view.matrix[3] == 0.2
def test_zoom_in_should_be_limited_to_20_times(zoom_data, view): tool = zoom_tool(view) view.add_controller(tool) on_scale_changed(tool, 100.0, zoom_data) assert view.matrix[0] == 20 assert view.matrix[3] == 20
def test_scaling(zoom_data, view): tool = zoom_tool(view) view.add_controller(tool) on_scale_changed(tool, 1.2, zoom_data) assert view.matrix[0] == 1.2 assert view.matrix[3] == 1.2
def test_zoom_should_center_around_mouse_cursor(zoom_data, view): tool = zoom_tool(view) view.add_controller(tool) zoom_data.x0 = 100 zoom_data.y0 = 50 on_scale_changed(tool, 1.2, zoom_data) assert view.matrix[4] == -20.0 assert view.matrix[5] == -10.0
def test_scaling_with_unequal_scaling_factor(zoom_data, view): tool = zoom_tool(view) view.add_controller(tool) zoom_data.sx = 2 on_scale_changed(tool, 1.2, zoom_data) assert view.matrix[0] == 2.4 assert view.matrix[3] == 1.2
def test_can_create_zoom_tool(view): tool = zoom_tool(view) view.add_controller(tool) assert isinstance(tool, Gtk.Gesture)