| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- /*
 
-  * EventsReceiver.cpp, part of VCMI engine
 
-  *
 
-  * Authors: listed in file AUTHORS in main folder
 
-  *
 
-  * License: GNU General Public License v2.0 or later
 
-  * Full text of license available in license.txt file, in main folder
 
-  *
 
-  */
 
- #include "StdInc.h"
 
- #include "EventsReceiver.h"
 
- #include "MouseButton.h"
 
- #include "CGuiHandler.h"
 
- #include "EventDispatcher.h"
 
- AEventsReceiver::AEventsReceiver()
 
- 	: activeState(0)
 
- 	, hoveredState(false)
 
- 	, strongInterestState(false)
 
- {
 
- }
 
- bool AEventsReceiver::isHovered() const
 
- {
 
- 	return hoveredState;
 
- }
 
- bool AEventsReceiver::isActive() const
 
- {
 
- 	return activeState;
 
- }
 
- bool AEventsReceiver::isMouseButtonPressed(MouseButton btn) const
 
- {
 
- 	return currentMouseState.count(btn) ? currentMouseState.at(btn) : false;
 
- }
 
- void AEventsReceiver::setMoveEventStrongInterest(bool on)
 
- {
 
- 	strongInterestState = on;
 
- }
 
- void AEventsReceiver::activateEvents(ui16 what)
 
- {
 
- 	assert((what & GENERAL) || (activeState & GENERAL));
 
- 	activeState |= GENERAL;
 
- 	GH.events().activateElement(this, what);
 
- }
 
- void AEventsReceiver::deactivateEvents(ui16 what)
 
- {
 
- 	if (what & GENERAL)
 
- 		activeState &= ~GENERAL;
 
- 	GH.events().deactivateElement(this, what & activeState);
 
- }
 
- void AEventsReceiver::click(MouseButton btn, tribool down, bool previousState)
 
- {
 
- 	switch(btn)
 
- 	{
 
- 	default:
 
- 	case MouseButton::LEFT:
 
- 		clickLeft(down, previousState);
 
- 		break;
 
- 	case MouseButton::MIDDLE:
 
- 		clickMiddle(down, previousState);
 
- 		break;
 
- 	case MouseButton::RIGHT:
 
- 		clickRight(down, previousState);
 
- 		break;
 
- 	}
 
- }
 
 
  |