Betray plugin api

This is the api to use if you want to write a plugin for Bertray


No NOT use funtions from betray.h but do use defines and typedefs

To build a library you need to include this file, betray.h, b_keys.h,
b_plugin_api.c, b_plugin_api_internal.h and the files for the libs
Forge (forge.h and files starting with "f_") and Imagine (imagine.h
and files starting with "i_").

Your plug-in will need to implement:

void betray_plugin_init(void)

In this function you can then set upp all callbacks you need. See
b_plugin_templet.c for sample code.

Betray plugins defining a callback for betray_plugin_callback_set_image_warp in betray_plugin_init will be assuiged their own full OpenGL context. All assets of the applications Context will be shared with this context. Plugins can use this secondary context to retrive the graphics from the application in order to modify it befoire drawing it to screen. Examples of uses for this is perspective correction, color correction, screenshot captiure and much more.

Contents:

betray state
betray_plugin_get_input_state
betray_plugin_context_type_get
betray_plugin_screen_mode_get
betray_plugin_gl_proc_address_get
Clipboard
betray_plugin_clipboard_set
betray_plugin_clipboard_get
Callbacks
betray_plugin_callback_set_main
betray_plugin_callback_set_view_vantage
betray_plugin_callback_set_view_direction
betray_plugin_callback_set_event_pump
Image manipulation
betray_plugin_callback_set_image_warp
betray_plugin_application_draw
Sound call backs
betray_plugin_audio_unit_create
betray_plugin_callback_set_audio_sound_create
betray_plugin_callback_set_audio_sound_destroy
betray_plugin_callback_set_audio_sound_play
betray_plugin_callback_set_audio_sound_set
betray_plugin_callback_set_audio_sound_is_playing
betray_plugin_callback_set_audio_sound_stop
betray_plugin_callback_set_audio_stream_create
betray_plugin_callback_set_audio_stream_destroy
betray_plugin_callback_set_audio_stream_feed
betray_plugin_callback_set_audio_stream_buffer_left
betray_plugin_callback_set_audio_stream_set
betray_plugin_callback_set_audio_listener
betray_plugin_callback_set_audio_read
betray_plugin_audio_master_volume_get
Allocate inputs
betray_plugin_user_allocate
betray_plugin_input_device_allocate
betray_plugin_input_device_free
betray_plugin_button_allocate
betray_plugin_button_set
betray_plugin_button_free
betray_plugin_pointer_allocate
betray_plugin_pointer_set
betray_plugin_pointer_free
betray_plugin_axis_allocate
betray_plugin_axis_set
betray_plugin_axis_free
Settings
betray_settings_create
betray_settings_count
betray_settings_type
betray_settings_name
betray_settings_toggle_get
betray_settings_toggle_set
betray_settings_select_get
betray_settings_select_set
betray_settings_select_count_get
betray_settings_select_name_get
betray_settings_number_float_get
betray_settings_number_float_set
betray_settings_number_int_get
betray_settings_number_int_set
betray_settings_string_get
betray_settings_string_set
betray_settings_slider_get
betray_settings_slider_set
betray_settings_2d_get
betray_settings_2d_set
betray_settings_3d_get
betray_settings_3d_set
betray_settings_color_get
betray_settings_color_set
betray_settings_4x4_matrix_get
betray_settings_4x4_matrix_set
Windows specific
betray_plugin_windows_window_handle_get
Defines