Plasma Engine  2.0
Loading...
Searching...
No Matches
EventListener.h
1#pragma once
2
3#include <Foundation/Strings/HashedString.h>
4
5#include <RmlUi/Core/EventListener.h>
6#include <RmlUi/Core/EventListenerInstancer.h>
7
9
10namespace plRmlUiInternal
11{
12 class EventListener final : public Rml::EventListener
13 {
14 public:
15 virtual void ProcessEvent(Rml::Event& ref_event) override;
16
17 virtual void OnDetach(Rml::Element* pElement) override;
18
19 private:
20 friend class EventListenerInstancer;
21 plHashedString m_sIdentifier;
22 plUInt32 m_uiIndex = 0;
23 };
24
25 class EventListenerInstancer final : public Rml::EventListenerInstancer
26 {
27 public:
30
31 virtual Rml::EventListener* InstanceEventListener(const Rml::String& value, Rml::Element* pElement) override;
32
33 void ReturnToPool(EventListener& ref_listener);
34
35 private:
36 plDeque<EventListener> m_EventListenerPool;
37 plDynamicArray<plUInt32> m_EventListenerFreelist;
38 };
39} // namespace plRmlUiInternal
Definition Deque.h:270
Definition DynamicArray.h:81
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
Definition RmlUiContext.h:19
Definition EventListener.h:13
Definition EventListener.h:26