MCPcopy Create free account
hub / github.com/ErrorAtLine0/infinipaint / set_grid

Method set_grid

src/DrawingProgram/Tools/GridModifyTool.cpp:40–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38}
39
40void GridModifyTool::set_grid(const NetObjWeakPtr<WorldGrid>& newGrid) {
41 grid = newGrid;
42 NetworkingObjects::NetObjTemporaryPtr<WorldGrid> gLock = grid.lock();
43 if(gLock) {
44 WorldGrid& g = *gLock;
45 oldGrid = g;
46 CoordSpaceHelper newCam;
47 newCam.inverseScale = g.size / WorldScalar(WorldGrid::GRID_UNIT_PIXEL_SIZE);
48 newCam.inverseScale = newCam.inverseScale.divide_double(drawP.world.main.g.final_gui_scale());
49 newCam.pos = g.offset - drawP.world.main.window.size.cast<WorldScalar>() * newCam.inverseScale * WorldScalar(0.5);
50 newCam.rotation = 0.0;
51 drawP.world.drawData.cam.smooth_move_to(drawP.world, newCam, drawP.world.main.window.size.cast<float>());
52 }
53}
54
55DrawingProgramToolType GridModifyTool::get_type() {
56 return DrawingProgramToolType::GRIDMODIFY;

Callers 1

modify_gridMethod · 0.80

Calls 4

lockMethod · 0.80
final_gui_scaleMethod · 0.80
smooth_move_toMethod · 0.80
divide_doubleMethod · 0.45

Tested by

no test coverage detected