Exemplo n.º 1
0
	/// @brief Performs upkeep logic
	/// @param bPressed If true, there is a press
	void Widget::Upkeep (bool bPressed)
	{
		IssueEvent(ePreUpkeep);

		// Perform leave logic.
		Leave();

		// If the widget is signaled, perform enter logic; on a press, perform grab logic.
		if (IsSignaled())
		{
			Enter();

			if (bPressed) Grab();
		}

		// If there is no press, perform drop logic.
		if (!bPressed) Drop();

		// If the widget remains chosen, post-process it; otherwise, abandon it.
		if (!IsSignaled() && !IsChosen())
		{
			mState->ClearChoice();

			IssueEvent(eAbandon);
		}

		else IssueEvent(ePostUpkeep);
	}
Exemplo n.º 2
0
	/// @brief Performs choose logic
	/// @param bPressed If true, there is a press
	void Widget::Choose (bool bPressed)
	{
		IssueEvent(ePreChoose);

		Enter();

		if (bPressed) Grab();

		IssueEvent(ePostChoose);
	}
Exemplo n.º 3
0
	/// @brief Performs leave logic
	void Widget::Leave (void)
	{
		if (0 == mState->mEntered || mState->mEntered == mState->mSignaled) return;

		IssueEvent(IsEntered() ? eLeave : eLeavePart);

		mState->mEntered = 0;
	}
Exemplo n.º 4
0
	/// @brief Performs grab logic
	void Widget::Grab (void)
	{
		if (mState->mGrabbed != 0) return;

		mState->mGrabbed = mState->mSignaled;

		IssueEvent(IsGrabbed() ? eGrab : eGrabPart);
	}
Exemplo n.º 5
0
	/// @brief Performs enter logic
	void Widget::Enter (void)
	{
		if (mState->mEntered == mState->mSignaled) return;

		mState->mEntered = mState->mSignaled;

		IssueEvent(IsEntered() ? eEnter : eEnterPart);
	}
Exemplo n.º 6
0
	/// @brief Performs drop logic
	void Widget::Drop (void)
	{
		if (0 == mState->mGrabbed) return;

		IssueEvent(IsGrabbed() ? eDrop : eDropPart);

		mState->mGrabbed = 0;
	}
Exemplo n.º 7
0
void FD3D11EventQuery::InitDynamicRHI()
{
	D3D11_QUERY_DESC QueryDesc;
	QueryDesc.Query = D3D11_QUERY_EVENT;
	QueryDesc.MiscFlags = 0;
	VERIFYD3D11RESULT(D3DRHI->GetDevice()->CreateQuery(&QueryDesc,Query.GetInitReference()));

	// Initialize the query by issuing an initial event.
	IssueEvent();
}