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

Method input_mouse_button_on_canvas_callback

src/DrawCamera.cpp:171–187  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

169}
170
171void DrawCamera::input_mouse_button_on_canvas_callback(World& w, const InputManager::MouseButtonCallbackArgs& button) {
172 if(!smoothMove.occurring && !isTouchTransforming && !w.main.g.gui.cursor_obstructed()) {
173 bool newIsAccurateZooming = (w.drawProg.controls.middleClickHeld && w.main.input.pen.isDown && w.main.conf.tabletOptions.zoomWhilePenDownAndButtonHeld) || // Hold middle click (pen button assigned to middle click) while pen is down
174 (w.drawProg.controls.middleClickHeld && w.main.input.key(InputManager::KEY_GENERIC_LCTRL).held) || // Hold middle click/pen button while holding control
175 (w.drawProg.controls.leftClickHeld && w.drawProg.drawTool->get_type() == DrawingProgramToolType::ZOOM); // Hold left click while on zoom tool
176 if(newIsAccurateZooming && !isAccurateZooming) {
177 startZoomMousePos = c.from_space(button.pos);
178 startZoomVal = c.inverseScale;
179 startZoomCameraPos = c.pos;
180 }
181 isAccurateZooming = newIsAccurateZooming;
182
183 checks_after_input(w);
184 }
185 else
186 isAccurateZooming = false;
187}
188
189void DrawCamera::input_mouse_motion_callback(World& w, const InputManager::MouseMotionCallbackArgs& motion) {
190 if(!smoothMove.occurring && !isTouchTransforming) {

Callers 1

Calls 4

cursor_obstructedMethod · 0.80
keyMethod · 0.45
get_typeMethod · 0.45
from_spaceMethod · 0.45

Tested by

no test coverage detected