MCPcopy Create free account
hub / github.com/LibreSprite/LibreSprite / pressButton

Method pressButton

src/app/tools/active_tool.cpp:155–190  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

153}
154
155void ActiveToolManager::pressButton(const Pointer& pointer)
156{
157 ActiveToolChangeTrigger trigger(this);
158 Tool* tool = nullptr;
159 std::shared_ptr<Ink> ink = nullptr;
160
161 if (pointer.button() == Pointer::Right) {
162 m_rightClick = true;
163
164 if (isToolAffectedByRightClickMode(activeTool())) {
165 switch (Preferences::instance().editor.rightClickMode()) {
166 case app::gen::RightClickMode::PAINT_BGCOLOR:
167 // Do nothing, use the active tool
168 break;
169 case app::gen::RightClickMode::PICK_FGCOLOR:
170 tool = m_toolbox->getToolById(WellKnownTools::Eyedropper);
171 ink = m_toolbox->getInkById(tools::WellKnownInks::PickFg);
172 break;
173 case app::gen::RightClickMode::ERASE:
174 tool = m_toolbox->getToolById(WellKnownTools::Eraser);
175 ink = m_toolbox->getInkById(tools::WellKnownInks::Eraser);
176 break;
177 case app::gen::RightClickMode::SCROLL:
178 tool = m_toolbox->getToolById(WellKnownTools::Hand);
179 ink = m_toolbox->getInkById(tools::WellKnownInks::Scroll);
180 break;
181 }
182 }
183 }
184 else {
185 m_rightClick = false;
186 }
187
188 m_rightClickTool = tool;
189 m_rightClickInk = ink;
190}
191
192void ActiveToolManager::releaseButtons()
193{

Callers 3

initToolLoopMethod · 0.45
onMouseDownMethod · 0.45
onProcessMessageMethod · 0.45

Calls 4

instanceFunction · 0.85
getToolByIdMethod · 0.80
getInkByIdMethod · 0.80
buttonMethod · 0.45

Tested by

no test coverage detected