29 #ifndef THOR_ACTION_HPP
30 #define THOR_ACTION_HPP
32 #include <Thor/Input/Detail/ActionOperations.hpp>
78 explicit Action(sf::Keyboard::Key key, ActionType action = Hold);
83 explicit Action(sf::Mouse::Button mouseButton, ActionType action = Hold);
100 explicit Action(sf::Event::EventType eventType);
110 bool isActive(
const detail::EventBuffer& buffer)
const;
113 bool isActive(
const detail::EventBuffer& buffer, detail::ActionResult& out)
const;
120 explicit Action(detail::ActionNode::CopiedPtr operation);
126 detail::ActionNode::CopiedPtr mOperation;
134 friend Action THOR_API operator! (
const Action& action);
135 friend Action THOR_API eventAction(std::function<
bool(
const sf::Event&)> filter);
136 friend Action THOR_API realtimeAction(std::function<
bool()> filter);
150 Action THOR_API operator|| (
const Action& lhs,
const Action& rhs);
162 Action THOR_API operator&& (
const Action& lhs,
const Action& rhs);
174 Action THOR_API operator! (
const Action& action);
190 Action THOR_API eventAction(std::function<
bool(
const sf::Event&)> filter);
206 Action THOR_API realtimeAction(std::function<
bool()> filter);
213 #endif // THOR_ACTION_HPP
Class for dynamic actions that are connected with SFML events.
Definition: Action.hpp:56
Contains information about a joystick number, an axis and its threshold.
Definition: Joystick.hpp:61
Release events that occur only once (e.g. key released).
Definition: Action.hpp:68
Definition: AnimationMap.hpp:42
ActionType
Type for actions.
Definition: Action.hpp:64
Configuration header of the library.
Press events that occur only once (e.g. key pressed).
Definition: Action.hpp:67
Repeated input (e.g. a key that is held down).
Definition: Action.hpp:66