| 99 | } |
| 100 | |
| 101 | bool ToolLoopManager::releaseButton(const Pointer& pointer) |
| 102 | { |
| 103 | m_lastPointer = pointer; |
| 104 | |
| 105 | if (isCanceled()) |
| 106 | return false; |
| 107 | |
| 108 | Point spritePoint = pointer.point(); |
| 109 | snapToGrid(spritePoint); |
| 110 | |
| 111 | bool res = m_toolLoop->getController()->releaseButton(m_stroke, spritePoint); |
| 112 | |
| 113 | if (!res && (m_toolLoop->getInk()->isSelection() || m_toolLoop->getFilled())) { |
| 114 | m_toolLoop->getInk()->setFinalStep(m_toolLoop, true); |
| 115 | doLoopStep(true); |
| 116 | m_toolLoop->getInk()->setFinalStep(m_toolLoop, false); |
| 117 | } |
| 118 | |
| 119 | return res; |
| 120 | } |
| 121 | |
| 122 | void ToolLoopManager::movement(const Pointer& pointer) |
| 123 | { |
no test coverage detected