ECSTASY
All in the name
Loading...
Searching...
No Matches
ecstasy::integration::sfml::RenderWindow Class Reference

SFML RenderWindow wrapper. More...

#include <RenderWindow.hpp>

Inheritance diagram for ecstasy::integration::sfml::RenderWindow:
Collaboration diagram for ecstasy::integration::sfml::RenderWindow:

Public Member Functions

template<typename... Args>
 RenderWindow (Args &&...args)
 Construct a new Render Window.
 
 ~RenderWindow () noexcept=default
 Destroy the Render Window.
 
void setEventListener (EventListener listener) noexcept
 Set the event listener.
 
constexpr EventListenergetEventListener () noexcept
 Get the Event Listener.
 
bool pollEvent (sf::Event &event)
 Poll the next event.
 
- Public Member Functions inherited from ecstasy::ObjectWrapper< sf::RenderWindow >
 ObjectWrapper (Args &&...args)
 Construct a new Object Wrapper.
 
 ~ObjectWrapper ()=default
 Destroy the Object Wrapper.
 
constexpr sf::RenderWindow & operator* () noexcept
 Access the wrapped object.
 
constexpr const sf::RenderWindow & operator* () const noexcept
 Access the wrapped object.
 
constexpr sf::RenderWindow * operator-> () noexcept
 Access the wrapped object pointer.
 
constexpr sf::RenderWindow const * operator-> () const noexcept
 Access the wrapped object pointer.
 
constexpr sf::RenderWindow & get () noexcept
 Get a reference to the object.
 
constexpr const sf::RenderWindow & get () const noexcept
 Get a const reference to the object.
 
- Public Member Functions inherited from ecstasy::IResource
virtual ~IResource ()=default
 Default destructor.
 

Private Attributes

EventListener _eventListener
 

Additional Inherited Members

- Protected Attributes inherited from ecstasy::ObjectWrapper< sf::RenderWindow >
sf::RenderWindow _object
 Wrapped object.
 

Detailed Description

SFML RenderWindow wrapper.

Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2022-11-16)

Definition at line 40 of file RenderWindow.hpp.

Constructor & Destructor Documentation

◆ RenderWindow()

template<typename... Args>
ecstasy::integration::sfml::RenderWindow::RenderWindow ( Args &&...  args)
inline

Construct a new Render Window.

Template Parameters
ArgsArgument types of the object constructor.
Parameters
[in]argsArguments of the object constructor.

Definition at line 50 of file RenderWindow.hpp.

51 : ecstasy::ObjectWrapper<sf::RenderWindow>(std::forward<Args>(args)...), _eventListener(nullptr)
52 {
53 }
Basic object wrapper as a resource.

◆ ~RenderWindow()

ecstasy::integration::sfml::RenderWindow::~RenderWindow ( )
defaultnoexcept

Destroy the Render Window.

Member Function Documentation

◆ getEventListener()

constexpr EventListener & ecstasy::integration::sfml::RenderWindow::getEventListener ( )
inlineconstexprnoexcept

Get the Event Listener.

Returns
constexpr EventListener& Event listener.
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-09-26)

Definition at line 78 of file RenderWindow.hpp.

79 {
80 return _eventListener;
81 }

◆ pollEvent()

bool ecstasy::integration::sfml::RenderWindow::pollEvent ( sf::Event &  event)
inline

Poll the next event.

Parameters
[out]eventEvent to fill.
Returns
true If an event was polled.

Definition at line 90 of file RenderWindow.hpp.

91 {
92 while (_object.pollEvent(event)) {
93 // Return true if a usable (ie not stoled by the listener) event was polled
95 return true;
96 }
97 return false;
98 }
sf::RenderWindow _object
Wrapped object.
Event integration.
Definition Event.hpp:25

◆ setEventListener()

void ecstasy::integration::sfml::RenderWindow::setEventListener ( EventListener  listener)
inlinenoexcept

Set the event listener.

Parameters
[in]listenerEvent listener.

Definition at line 65 of file RenderWindow.hpp.

66 {
67 _eventListener = listener;
68 }

Member Data Documentation

◆ _eventListener

EventListener ecstasy::integration::sfml::RenderWindow::_eventListener
private

Definition at line 102 of file RenderWindow.hpp.


The documentation for this class was generated from the following file: