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

eagine::application::execution_context Class Reference

Class holding shared video/audio rendering application support objects. More...

#include <eagine/application/context.hpp>

Public Member Functions

auto result () const noexcept -> int
 Returns the application execution result.
 
auto options () const noexcept -> const launch_options &
 Returns a reference to the launch options.
 
auto buffer () const noexcept -> memory::buffer &
 Returns a references to a multi-purpose memory buffer.
 
auto state () const noexcept -> const context_state_view &
 Returns a reference to the context state view.
 
auto prepare (std::unique_ptr< launchpad > pad) -> execution_context &
 Prepares the application launch pad object.
 
auto is_running () noexcept -> bool
 Indicates if the application is running its main loop. More...
 
void stop_running () noexcept
 Stops the main application loop. More...
 
void update () noexcept
 Updates this execution context (once per a single main loop iteration).
 
void clean_up () noexcept
 Cleans up this execution context and managed objects.
 
auto run () noexcept -> execution_context &
 Starts the main application loop (will block until stopped).
 
auto enough_run_time () const noexcept -> bool
 Indicates if the application ran long enough.
 
auto enough_frames (span_size_t frame_no) const noexcept -> bool
 Indicates if the application rendered enough frames.
 
auto video_ctx_count () const noexcept
 Returns the count of created video contexts.
 
auto video_ctx (span_size_t index=0) const noexcept -> video_context *
 Returns the video context at the specified index.
 
auto audio_ctx_count () const noexcept
 Returns the count of created audio contexts.
 
auto audio_ctx (span_size_t index=0) const noexcept -> audio_context *
 Returns the audio context at the specified index.
 
auto connect_input (message_id input_id, input_handler handler) -> execution_context &
 Connect the specified logical input to a callable handler reference.
 
auto connect_input (const input_slot &input) -> auto &
 Connect the specified input slot. More...
 
auto connect_inputs () -> execution_context &
 Connect generic, reusable application logical input slots.
 
auto map_input (message_id input_id, identifier mapping_id, message_id signal_id, input_setup setup) -> execution_context &
 Map a specified logical input to a physical input signal.
 
auto map_input (message_id input_id, message_id signal_id, input_setup setup) -> execution_context &
 Map a specified logical input to a physical input signal.
 
auto map_inputs (identifier mapping_id) -> execution_context &
 Binds generic application inputs to default physical input signals.
 
auto map_inputs () -> execution_context &
 Binds generic application inputs to default physical input signals.
 
auto setup_inputs (identifier mapping_id) -> execution_context &
 Sets-up (connects handlers and binds to signals) default inputs.
 
auto setup_inputs () -> execution_context &
 Sets-up (connects handlers and binds to signals) default inputs.
 
auto switch_input_mapping (identifier mapping_id) -> execution_context &
 Switches to the input mapping with the specified id.
 
auto switch_input_mapping () -> auto &
 Switches to the default input mapping.
 
void random_uniform (span< byte > dest)
 Generates random uniformly-distributed bytes into dest.
 
void random_uniform_01 (span< float > dest)
 Generates random uniformly-distributed floats in <0, 1> into dest.
 
void random_normal (span< float > dest)
 Generates random normally-distributed floats into dest.
 
- Public Member Functions inherited from eagine::main_ctx_object
 main_ctx_object (identifier obj_id, main_ctx_parent parent) noexcept
 Initialization from object id and parent.
 
auto process_instance_id () const noexcept -> process_instance_id_t
 Returns the process id.
 
auto main_context () const noexcept -> main_ctx &
 Returns a reference to the main context singleton.
 
auto app_config () const noexcept -> application_config &
 Returns a reference to the application config object.
 
auto as_parent () noexcept -> main_ctx_object_parent_info
 Returns this as main_ctx_object_parent_info.
 
template<typename T >
auto cfg_init (string_view key, T initial, string_view tag={}) -> T
 Reads and returns the configuration value identified by key.
 
template<typename Extractable , typename T >
auto cfg_extr (string_view key, T initial, string_view tag={}, type_identity< Extractable >={}) -> T
 Reads and returns the configuration value identified by key.
 
- Public Member Functions inherited from eagine::named_logging_object< main_ctx_log_backend_getter >
 named_logging_object (identifier id, main_ctx_log_backend_getter backend_getter) noexcept
 Constructor from identifier and backend_getter object. More...
 
 named_logging_object (identifier id, const named_logging_object &parent) noexcept
 Constructor from logger id and parent logging object.
 
 named_logging_object () noexcept=default
 Construct logging object without backend.
 
 named_logging_object (named_logging_object &&temp) noexcept
 Move constructor.
 
 named_logging_object (const named_logging_object &that) noexcept
 Copy constructor.
 
auto operator= (named_logging_object &&) noexcept -> named_logging_object &=default
 Move assignment operator.
 
auto operator= (const named_logging_object &) -> named_logging_object &=default
 Copy assignment operator.
 
constexpr auto object_id () const noexcept
 Returns the identifier of this logging object.
 
void object_description (string_view display_name, string_view description) noexcept
 Sets the human-readable name and description of this object.
 
auto log_fatal (string_view format) noexcept
 Create a log message entry for fatal error, with specified format. More...
 
auto log_error (string_view format) noexcept
 Create a log message entry for error, with specified format. More...
 
auto log_warning (string_view format) noexcept
 Create a log message entry for warning, with specified format. More...
 
auto log_info (string_view format) noexcept
 Create a log message entry for information, with specified format. More...
 
auto log_stat (string_view format) noexcept
 Create a log message entry for statistic, with specified format. More...
 
auto log_debug (string_view format) noexcept
 Create a log message entry for debugging, with specified format. More...
 
auto log_trace (string_view format) noexcept
 Create a log message entry for tracing, with specified format. More...
 
auto log_backtrace (string_view format) noexcept
 Create a log message entry for backtracing, with specified format. More...
 
auto log_debug_stream () noexcept
 Returns a log entry stream for debug messages. More...
 
auto log_error_stream () noexcept
 Returns a log entry stream for error messages. More...
 
auto log_chart_sample (identifier series, float value) noexcept -> named_logging_object &
 Stores a new value in the specified chart data series.
 
auto log_chart_sample (identifier series, const tagged_quantity< T, U > &qty) noexcept -> std::enable_if_t< std::is_convertible_v< T, float >, named_logging_object & >
 Stores a new value in the specified chart data series.
 
auto log_chart_sample (identifier series, const valid_if< T, P > &opt_value) noexcept -> named_logging_object &
 Stores a new value in the specified chart data series.
 
- Public Member Functions inherited from eagine::basic_logger< main_ctx_log_backend_getter >
auto backend () noexcept
 Returns a pointer to the backend of this logger object.
 
auto instance_id () const noexcept -> logger_instance_id
 Returns the unique id of this logger instance.
 

Additional Inherited Members

- Public Types inherited from eagine::named_logging_object< main_ctx_log_backend_getter >
using entry_type = std::conditional_t< is_log_level_enabled_v< severity >, log_entry, no_log_entry >
 The entry type for the specified log_event_severity. More...
 
- Public Types inherited from eagine::basic_logger< main_ctx_log_backend_getter >
using entry_type = std::conditional_t< is_log_level_enabled_v< severity >, log_entry, no_log_entry >
 The entry type for the specified log_event_severity. More...
 

Detailed Description

Class holding shared video/audio rendering application support objects.

See also
video_context
audio_context
launch_options

Member Function Documentation

◆ connect_input()

auto eagine::application::execution_context::connect_input ( const input_slot input) -> auto&
inline

Connect the specified input slot.

See also
input_slot

◆ is_running()

auto eagine::application::execution_context::is_running ( ) -> bool
noexcept

Indicates if the application is running its main loop.

See also
stop_running

Referenced by run().

◆ stop_running()

void eagine::application::execution_context::stop_running ( )
noexcept

Stops the main application loop.

See also
is_running

The documentation for this class was generated from the following file:

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