Shiokaze Framework
A research-oriented fluid solver for computer graphics
drawable Class Reference

Interface for implementing drawable classes. More...

#include <drawable.h>

Inheritance diagram for drawable:
runnable UI_interface recursive_configurable_module recursive_configurable module configurable credit messageable

Public Member Functions

virtual void recursive_initialize (const environment_map &environment) override
 Recursively call configure. More...
 
virtual bool handle_event (const event_structure &event) override
 
virtual void reinitialize ()
 Re-initialize instance.
 
virtual void setup_window (std::string &name, int &width, int &height) const
 Set up an initial new window environment. More...
 
virtual bool should_quit () const override
 Function to tell the host program that program should quit. More...
 
virtual bool should_screenshot () const
 Function to tell the host program that screenshot should be taken. More...
 
virtual bool hide_logo () const
 Tell the host program if a SHKZ logo should be hidden. More...
 
virtual UI_interface::CURSOR_TYPE get_current_cursor () const override
 Get current cursor icon. More...
 
- Public Member Functions inherited from runnable
 runnable ()
 Constructor for runnable.
 
virtual ~runnable ()
 Destructor for runnable.
 
virtual void run_onetime ()
 Function that is called only one time on start.
 
virtual void idle ()
 idling function that is called while is_running() returns true.
 
virtual bool is_running () const
 Get if the simulation is running.
 
virtual void set_running (bool running)
 Set if the simulation is running.
 
- Public Member Functions inherited from recursive_configurable_module
virtual void recursive_load (configuration &config) override
 Start recursively load configurables. More...
 
virtual void recursive_configure (configuration &config) override
 Recursively call configure. More...
 
- Public Member Functions inherited from recursive_configurable
 recursive_configurable ()=default
 Default constructor.
 
virtual bool is_ready () const
 Get if the instance is initialized. More...
 
virtual void add_child (configurable *child)
 Add a child instance. More...
 
virtual void add_child (recursive_configurable *child)
 Add a child instance. More...
 
virtual void remove_child (configurable *child)
 Remove a child instance. More...
 
virtual void remove_child (recursive_configurable *child)
 Remove a child instance. More...
 
virtual void setup_now (configuration &config=get_global_configuration()) override
 Run recursive_load - recursive_configure - recursive_initialize processes.
 
virtual bool not_recursive () override
 Check if this instance is not derived from recursive_configurable. More...
 
void set_environment (std::string name, const void *value)
 Set the pointer to an environmental value associated with an input name. More...
 
- Public Member Functions inherited from configurable
virtual void load (configuration &config)
 Load the program. Used to load files and libraries into memory. More...
 
virtual void configure (configuration &config)
 Configure the program. Used to load and set parameters. More...
 
- Public Member Functions inherited from module
 module ()
 Default constructor for module.
 
virtual ~module ()
 Default destructor for module.
 
virtual std::string get_module_name () const
 Get the module name. More...
 
- Public Member Functions inherited from credit
 credit ()=default
 Default constructor.
 
 credit (std::string name, std::string argument_name)
 Constructor for credit. More...
 
virtual void set_name (std::string name, std::string argument_name="")
 Set name (and perhaps, argument name together) More...
 
virtual std::string get_name () const
 Get the name.
 
virtual void set_argument_name (std::string argument_name)
 Set an argument name. More...
 
virtual std::string get_argument_name () const
 Get an argument name. More...
 
virtual double get_version () const
 Get version. More...
 
virtual std::string get_author () const
 Get author's name. More...
 
virtual std::tuple< int, int, int > get_date () const
 Get currently set date. More...
 
virtual std::string get_email_address () const
 Get email address. More...
 
- Public Member Functions inherited from messageable
virtual bool send_message (std::string message, void *ptr=nullptr)
 Send a message. More...
 
virtual bool const_send_message (std::string message, void *ptr=nullptr) const
 Send a message. More...
 
- Public Member Functions inherited from UI_interface
virtual bool relay_event (const event_structure &event) const
 Get if the event shoule be relayed to other instances after handle_event of this instance is called. More...
 

Protected Attributes

environment_map m_environment
 
- Protected Attributes inherited from credit
std::string m_name
 Name of credit.
 
std::string m_argument_name
 Argument name.
 

Additional Inherited Members

- Public Types inherited from configurable
using environment_map = std::map< std::string, const void * >
 Type for environment_map.
 
- Public Types inherited from UI_interface
enum  ACTION { RELEASE = 0, PRESS = 1, REPEAT = 2 }
 Key and mose action type. More...
 
enum  MODIFIER {
  MOD_SHIFT = 0x0001, MOD_CONTROL = 0x0002, MOD_ALT = 0x0004, MOD_SUPER = 0x0008,
  MOD_CAPS_LOCK = 0x0010, MOD_NUM_LOCK = 0x0020
}
 Modifier bits. More...
 
enum  MOUSE_BUTTON { LEFT = 1, RIGHT = 2, MIDDLE = 3 }
 Mouse button type. More...
 
enum  CURSOR_TYPE {
  ARROW_CURSOR = 0, HAND_CURSOR = 1, IBEAM_CURSOR = 2, CROSSHAIR_CURSOR = 3,
  HRESIZE_CURSOR = 4, VRESIZE_CURSOR = 5
}
 Cursor icon type. More...
 
- Static Public Member Functions inherited from configurable
static configurationset_global_configuration (const configuration &config)
 Assign the global settings of the program. More...
 
static configurationget_global_configuration ()
 Get the global settings of the program. More...
 
template<class T >
static const T & get_env (const environment_map &environment, std::string key)
 Extract an specified type of pointer from the input environment. More...
 
- Static Public Member Functions inherited from module
static std::string module_libpath (std::string module_name)
 Get the path to the dynamic library. e.g., "mylib" -> "symlink-public/lib/libshiokaze_mylib.dylib". More...
 
static modulealloc_module (configuration &config, std::string arg_name, std::string default_module_name, std::string description)
 Automatically reads the parameter "arg_name" to fetch the name for the library, and allocate the library. More...
 
static modulealloc_module (std::string path)
 Reads the dynamic library of a class module, allocate, and return the pointer to it. More...
 
static unsigned close_all_handles ()
 Close all the handles that are still unloaded. More...
 
template<class T >
static std::unique_ptr< T > unique_alloc_module (configuration &config, std::string arg_name, std::string default_module_name, std::string description)
 Allocate the module and cast to the a specified class T. More...
 
static unsigned count_open_modules ()
 Count all the open modules. More...
 
- Static Public Member Functions inherited from UI_interface
static bool has_graphical_interface ()
 Get if a graphical interface is available. More...
 
- Protected Member Functions inherited from runnable
virtual void initialize (const environment_map &environment) override
 Initialize the program. Used to get things ready for actual use. More...
 
- Protected Member Functions inherited from configurable
bool check_set (const environment_map &environment, std::vector< std::string > names)
 Check if the values for a variable keys exist. More...
 
- Protected Member Functions inherited from UI_interface
virtual void resize (int width, int height)
 Function that catches window resizing events. More...
 
virtual void draw (graphics_engine &g) const
 Function that catches draw event. More...
 
virtual bool keyboard (int key, int action, int mods)
 Function that catches key down event. More...
 
virtual void cursor (double x, double y, double z)
 Function that catches passive cursor event. More...
 
virtual void mouse (double x, double y, double z, int button, int action, int mods)
 Function that catches mouse event. More...
 
virtual void scroll (double xoffset, double yoffset)
 Function that catches scroll event. More...
 
virtual void drag (double x, double y, double z, double u, double v, double w)
 Function that catches drag event. More...
 

Detailed Description

Interface for implementing drawable classes.

Member Function Documentation

◆ get_current_cursor()

virtual UI_interface::CURSOR_TYPE drawable::get_current_cursor ( ) const
inlineoverridevirtual

Get current cursor icon.

Returns
Current icon.

Reimplemented from UI_interface.

◆ handle_event()

virtual bool drawable::handle_event ( const event_structure event)
inlineoverridevirtual

Handle an UI input event.

Parameters
[in]Eventinformation.

Reimplemented from UI_interface.

◆ hide_logo()

virtual bool drawable::hide_logo ( ) const
inlinevirtual

Tell the host program if a SHKZ logo should be hidden.

Returns
If return true, SHKZ logo will not be displayed. If return false logo will stay appeared.

◆ recursive_initialize()

virtual void drawable::recursive_initialize ( const environment_map environment)
inlineoverridevirtual

Recursively call configure.

Parameters
[in]configConfiguration setting.

Reimplemented from recursive_configurable.

◆ setup_window()

virtual void drawable::setup_window ( std::string &  name,
int &  width,
int &  height 
) const
inlinevirtual

Set up an initial new window environment.

Parameters
[out]nameName of the window.
[out]widthWidth of the window.
[out]heightHeight of the window.

◆ should_quit()

virtual bool drawable::should_quit ( ) const
inlineoverridevirtual

Function to tell the host program that program should quit.

Returns
If return true, program will exit. false otherwise.

Reimplemented from runnable.

◆ should_screenshot()

virtual bool drawable::should_screenshot ( ) const
inlinevirtual

Function to tell the host program that screenshot should be taken.

Returns
If return true, the host program will take a screenshot and save to a file. false if not.

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