Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::renderer Struct Reference

#include <renderer.h>

Public Types

using render_window_t = std::unique_ptr<render_window>
 

Public Member Functions

 renderer (rtti::context &ctx, cmd_line::parser &parser)
 
 ~renderer ()
 
auto init (rtti::context &ctx, const cmd_line::parser &parser) -> bool
 
auto deinit (rtti::context &ctx) -> bool
 
auto create_window_for_display (int index, const std::string &title, uint32_t flags) -> const std::unique_ptr< render_window > &
 
void set_main_window (os::window &&window)
 
auto get_main_window () const -> render_window *
 
void close_main_window ()
 
void request_screenshot (const std::string &file)
 
auto get_vsync () const -> bool
 
void set_vsync (bool vsync)
 

Protected Member Functions

auto init_backend (const cmd_line::parser &parser) -> bool
 
void on_os_event (rtti::context &ctx, os::event &e)
 
void frame_begin (rtti::context &ctx, delta_t dt)
 
void frame_end (rtti::context &ctx, delta_t dt)
 
auto get_renderer_type (const cmd_line::parser &parser) const -> gfx::renderer_type
 
auto get_reset_flags (const cmd_line::parser &parser) const -> uint32_t
 
auto get_reset_flags (bool vsync) const -> uint32_t
 

Protected Attributes

uint32_t reset_flags_ {}
 
std::unique_ptr< os::window > init_window_ {}
 engine windows
 
std::unique_ptr< render_windowrender_window_ {}
 
std::string request_screenshot_ {}
 
std::shared_ptr< int > sentinel_ = std::make_shared<int>(0)
 

Detailed Description

Definition at line 16 of file renderer.h.

Member Typedef Documentation

◆ render_window_t

Definition at line 18 of file renderer.h.

Constructor & Destructor Documentation

◆ renderer()

unravel::renderer::renderer ( rtti::context & ctx,
cmd_line::parser & parser )

Definition at line 15 of file renderer.cpp.

◆ ~renderer()

unravel::renderer::~renderer ( )

Definition at line 214 of file renderer.cpp.

Member Function Documentation

◆ close_main_window()

void unravel::renderer::close_main_window ( )

Definition at line 235 of file renderer.cpp.

◆ create_window_for_display()

auto unravel::renderer::create_window_for_display ( int index,
const std::string & title,
uint32_t flags ) -> const std::unique_ptr<render_window>&

Definition at line 64 of file renderer.cpp.

◆ deinit()

auto unravel::renderer::deinit ( rtti::context & ctx) -> bool

Definition at line 87 of file renderer.cpp.

◆ frame_begin()

void unravel::renderer::frame_begin ( rtti::context & ctx,
delta_t dt )
protected

Definition at line 265 of file renderer.cpp.

◆ frame_end()

void unravel::renderer::frame_end ( rtti::context & ctx,
delta_t dt )
protected

Definition at line 275 of file renderer.cpp.

◆ get_main_window()

auto unravel::renderer::get_main_window ( ) const -> render_window*

Definition at line 230 of file renderer.cpp.

◆ get_renderer_type()

auto unravel::renderer::get_renderer_type ( const cmd_line::parser & parser) const -> gfx::renderer_type
protected

Definition at line 162 of file renderer.cpp.

◆ get_reset_flags() [1/2]

auto unravel::renderer::get_reset_flags ( bool vsync) const -> uint32_t
protected

Definition at line 198 of file renderer.cpp.

◆ get_reset_flags() [2/2]

auto unravel::renderer::get_reset_flags ( const cmd_line::parser & parser) const -> uint32_t
protected

Definition at line 191 of file renderer.cpp.

◆ get_vsync()

auto unravel::renderer::get_vsync ( ) const -> bool

Definition at line 245 of file renderer.cpp.

◆ init()

auto unravel::renderer::init ( rtti::context & ctx,
const cmd_line::parser & parser ) -> bool

Definition at line 47 of file renderer.cpp.

◆ init_backend()

auto unravel::renderer::init_backend ( const cmd_line::parser & parser) -> bool
protected

Definition at line 93 of file renderer.cpp.

◆ on_os_event()

void unravel::renderer::on_os_event ( rtti::context & ctx,
os::event & e )
protected

Definition at line 131 of file renderer.cpp.

◆ request_screenshot()

void unravel::renderer::request_screenshot ( const std::string & file)

Definition at line 240 of file renderer.cpp.

◆ set_main_window()

void unravel::renderer::set_main_window ( os::window && window)

Definition at line 82 of file renderer.cpp.

◆ set_vsync()

void unravel::renderer::set_vsync ( bool vsync)

Definition at line 249 of file renderer.cpp.

Member Data Documentation

◆ init_window_

std::unique_ptr<os::window> unravel::renderer::init_window_ {}
protected

engine windows

Definition at line 49 of file renderer.h.

◆ render_window_

std::unique_ptr<render_window> unravel::renderer::render_window_ {}
protected

Definition at line 50 of file renderer.h.

◆ request_screenshot_

std::string unravel::renderer::request_screenshot_ {}
protected

Definition at line 51 of file renderer.h.

◆ reset_flags_

uint32_t unravel::renderer::reset_flags_ {}
protected

Definition at line 47 of file renderer.h.

◆ sentinel_

std::shared_ptr<int> unravel::renderer::sentinel_ = std::make_shared<int>(0)
protected

Definition at line 53 of file renderer.h.


The documentation for this struct was generated from the following files: