All checks were successful
		
		
	
	Build (Arch Linux) / build (push) Successful in 3m10s
				
			
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "graphics/opengl/framebuffer.hpp"
 | |
| 
 | |
| #include <glm/vec2.hpp>
 | |
| 
 | |
| #include <cstdint>
 | |
| #include <memory>
 | |
| #include <string_view>
 | |
| 
 | |
| namespace kuiper
 | |
| {
 | |
| 
 | |
| class window {
 | |
|   public:
 | |
|     virtual ~window() = default;
 | |
| 
 | |
|     virtual void*                  get_native_handle() const noexcept                 = 0;
 | |
|     virtual void                   set_title(std::u8string_view title) noexcept       = 0;
 | |
|     virtual void                   poll_events() noexcept                             = 0;
 | |
|     virtual void                   swap_buffers() noexcept                            = 0;
 | |
|     virtual void                   set_swap_interval(std::uint32_t interval) noexcept = 0;
 | |
|     virtual void                   bind_context() noexcept                            = 0;
 | |
|     virtual gl::framebuffer::s_ptr back_buffer() const noexcept                       = 0;
 | |
| 
 | |
|     virtual bool should_close() const noexcept     = 0;
 | |
|     virtual bool is_minimised() const noexcept     = 0;
 | |
|     virtual bool is_cursor_locked() const noexcept = 0;
 | |
| 
 | |
|     virtual void lock_cursor() noexcept       = 0;
 | |
|     virtual void unlock_cursor() noexcept     = 0;
 | |
|     virtual void enable_raw_input() noexcept  = 0;
 | |
|     virtual void disable_raw_input() noexcept = 0;
 | |
| 
 | |
|     virtual glm::uvec2 get_size() const noexcept             = 0;
 | |
|     virtual glm::uvec2 get_framebuffer_size() const noexcept = 0; // should this go in render context?
 | |
|     virtual glm::vec2  get_content_scale() const noexcept    = 0;
 | |
| };
 | |
| 
 | |
| } // namespace kuiper
 |