Some checks reported errors
		
		
	
	continuous-integration/drone/push Build was killed
				
			feat: surface system This commit puts the project in major jeopardy as it overhauls the architecture such as removing the layer stack completely, etc. I am filled with determination.
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include <format>
 | 
						|
 | 
						|
namespace lt::surface {
 | 
						|
 | 
						|
class KeyPressedEvent
 | 
						|
{
 | 
						|
public:
 | 
						|
	KeyPressedEvent(int32_t key): m_key(key)
 | 
						|
	{
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto get_key() const -> int32_t
 | 
						|
	{
 | 
						|
		return m_key;
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto to_string() const -> std::string
 | 
						|
	{
 | 
						|
		return std::format("KeyPressed: {}", m_key);
 | 
						|
	}
 | 
						|
 | 
						|
private:
 | 
						|
	int32_t m_key;
 | 
						|
};
 | 
						|
 | 
						|
class KeyRepeatEvent
 | 
						|
{
 | 
						|
public:
 | 
						|
	KeyRepeatEvent(int key): m_key(key)
 | 
						|
	{
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto get_key() const -> int32_t
 | 
						|
	{
 | 
						|
		return m_key;
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto to_string() const -> std::string
 | 
						|
	{
 | 
						|
		return std::format("KeyRepeated: {}", m_key);
 | 
						|
	}
 | 
						|
 | 
						|
private:
 | 
						|
	int32_t m_key;
 | 
						|
};
 | 
						|
 | 
						|
class KeyReleasedEvent
 | 
						|
{
 | 
						|
public:
 | 
						|
	KeyReleasedEvent(int key): m_key(key)
 | 
						|
	{
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto get_key() const -> int32_t
 | 
						|
	{
 | 
						|
		return m_key;
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto to_string() const -> std::string
 | 
						|
	{
 | 
						|
		return std::format("KeyReleased: {}", m_key);
 | 
						|
	}
 | 
						|
 | 
						|
private:
 | 
						|
	int32_t m_key;
 | 
						|
};
 | 
						|
 | 
						|
class KeySetCharEvent
 | 
						|
{
 | 
						|
public:
 | 
						|
	KeySetCharEvent(uint32_t character): m_character(character)
 | 
						|
	{
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto get_character() const -> uint32_t
 | 
						|
	{
 | 
						|
		return m_character;
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto to_string() const -> std::string
 | 
						|
	{
 | 
						|
		return std::format("KeyCharSet: {}", m_character);
 | 
						|
	}
 | 
						|
 | 
						|
private:
 | 
						|
	uint32_t m_character;
 | 
						|
};
 | 
						|
 | 
						|
} // namespace lt::surface
 |