OGLplus  (0.59.0) a C++ wrapper for rendering APIs

application/024_overdraw/main.hpp

Copyright Matus Chochlik. Distributed under the Boost Software License, Version 1.0. See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt

#ifndef OGLPLUS_EXAMPLE_MAIN_HPP // NOLINT(llvm-header-guard)
#define OGLPLUS_EXAMPLE_MAIN_HPP
#include "resources.hpp"
//------------------------------------------------------------------------------
class example : public application {
public:
example(execution_context&, video_context&);
auto is_done() noexcept -> bool final {
return _is_done.is_expired();
}
void on_video_resize() noexcept final;
void update() noexcept final;
void clean_up() noexcept final;
auto ctx() noexcept -> auto& {
return _ctx;
}
auto video() noexcept -> auto& {
return _video;
}
auto cleanup() noexcept -> auto& {
return _cleanup;
}
auto camera() noexcept -> auto& {
return _camera;
}
private:
cleanup_group _cleanup;
execution_context& _ctx;
video_context& _video;
timeout _is_done{std::chrono::seconds{30}};
orbiting_camera _camera;
draw_program _draw_prog;
screen_program _screen_prog;
shape_geometry _shape;
screen_geometry _screen;
draw_buffers _draw_bufs;
};
//------------------------------------------------------------------------------
} // namespace eagine::application
#endif
Application harness / wrapper code is placed in this namespace.
Definition: eagine.hpp:72

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).