コード例 #1
0
void MultitouchTestBoxWidget::ProcessTimePassed(const double TimePassed)
{
	for (auto & Pointer : GetGestureRecognizer().GetConnected())
	{
		if (Pointer::VirtualCategory::TYPING == Pointer->GetVirtualCategory())
		{
			const PointerState & PointerState = Pointer->GetPointerState();

			const double SpeedMultiplier = 250;

			if (PointerState.GetButtonState(GLFW_KEY_LEFT) && !PointerState.GetButtonState(GLFW_KEY_RIGHT))
			{
				ModifyPosition().X() += -SpeedMultiplier * TimePassed;
			}
			else if (PointerState.GetButtonState(GLFW_KEY_RIGHT) && !PointerState.GetButtonState(GLFW_KEY_LEFT))
			{
				ModifyPosition().X() += SpeedMultiplier * TimePassed;
			}

			if (PointerState.GetButtonState(GLFW_KEY_UP) && !PointerState.GetButtonState(GLFW_KEY_DOWN))
			{
				ModifyPosition().Y() += -SpeedMultiplier * TimePassed;
			}
			else if (PointerState.GetButtonState(GLFW_KEY_DOWN) && !PointerState.GetButtonState(GLFW_KEY_UP))
			{
				ModifyPosition().Y() += SpeedMultiplier * TimePassed;
			}
		}
	}

	Widget::ProcessTimePassed(TimePassed);
}
コード例 #2
0
ファイル: ListWidget.hpp プロジェクト: prinsmike/Conception
template <typename T> void ListWidget<T>::ProcessManipulationUpdated(const PointerState & PointerState)
{
	if (!HasTypingFocus())
	{
		auto ParentLocalPosition = GlobalToParent(Vector2n(PointerState.GetAxisState(0).GetPosition(), PointerState.GetAxisState(1).GetPosition()));
		
		ModifyPosition() = GetGestureRecognizer().m_ManipulationOffset + ParentLocalPosition;
	}
}
コード例 #3
0
void MultitouchTestBoxWidget::ProcessManipulationUpdate(const InputEvent & InputEvent)
{
	const PointerState & PointerState = InputEvent.m_PostEventState;
	//printf("MultitouchTestBoxWidget::ProcessManipulationUpdate()\n");

	/*Vector2d PositionDouble = GetParent()->GlobalToCanvas(Vector2n(PointerState.GetAxisState(0).GetPosition(), PointerState.GetAxisState(1).GetPosition()));
	Vector2n PositionInt(std::lround(PositionDouble.X()), std::lround(PositionDouble.Y()));		// TODO: Loss of accuracy? Fix it if needed.*/
	auto ParentLocalPosition = GlobalToParent(Vector2n(PointerState.GetAxisState(0).GetPosition(), PointerState.GetAxisState(1).GetPosition()));

	ModifyPosition() = GetGestureRecognizer().m_ManipulationOffset + ParentLocalPosition;
}