Files
Blocks3D/ArrowTool.cpp
2020-03-13 18:50:48 -07:00

49 lines
1.1 KiB
C++

#include "ArrowTool.h"
#include "Application.h"
ArrowTool::ArrowTool(void)
{
lctrlDown = false;
rctrlDown = false;
}
ArrowTool::~ArrowTool(void)
{
}
void ArrowTool::onButton1MouseDown(Mouse mouse)
{
if(!lctrlDown && !rctrlDown)
g_selectedInstances.clear();
PartInstance * target = mouse.getTarget();
if(target != NULL && std::find(g_selectedInstances.begin(), g_selectedInstances.end(), target) == g_selectedInstances.end())
g_selectedInstances.push_back(target);
if(g_selectedInstances.size() == 0)
g_selectedInstances.push_back(g_dataModel);
g_usableApp->_propWindow->UpdateSelected(g_selectedInstances[0]);
}
void ArrowTool::onMouseMoved(Mouse mouse)
{
PartInstance * target = mouse.getTarget();
if(target == NULL)
this->setCursor(GetFileInPath("/content/images/ArrowCursor.png"));
else this->setCursor(GetFileInPath("/content/images/DragCursor.png"));
}
void ArrowTool::onSelect(Mouse mouse)
{
this->setCursor(GetFileInPath("/content/images/ArrowCursor.png"));
}
void ArrowTool::onKeyDown(int key)
{
if(key == VK_CONTROL)
{
lctrlDown = true;
}
}
void ArrowTool::onKeyUp(int key)
{
if(key == VK_CONTROL)
lctrlDown = false;
}