Monado OpenXR Runtime
gui_window_record.c File Reference

Recording window gui. More...

#include "xrt/xrt_config_have.h"
#include "xrt/xrt_config_drivers.h"
#include "os/os_threading.h"
#include "math/m_api.h"
#include "util/u_var.h"
#include "util/u_misc.h"
#include "util/u_sink.h"
#include "util/u_file.h"
#include "util/u_json.h"
#include "util/u_frame.h"
#include "util/u_format.h"
#include "xrt/xrt_frame.h"
#include "xrt/xrt_prober.h"
#include "xrt/xrt_tracking.h"
#include "xrt/xrt_frameserver.h"
#include "gui_window_record.h"
#include "gui_ogl.h"
#include "gui_imgui.h"
#include "gui_common.h"
#include "stb_image_write.h"
#include <assert.h>
#include <inttypes.h>
Include dependency graph for gui_window_record.c:

Functions

static void window_draw_misc (struct gui_record_window *rw)
 
static void window_frame (struct xrt_frame_sink *xfs, struct xrt_frame *xf)
 
bool gui_window_record_init (struct gui_record_window *rw)
 Initialise a embeddable record window. More...
 
void gui_window_record_to_background (struct gui_record_window *rw, struct gui_program *p)
 Draw the sink image as the background to the background of the render view. More...
 
void gui_window_record_render (struct gui_record_window *rw, struct gui_program *p)
 Renders all controls of a record window. More...
 
void gui_window_record_close (struct gui_record_window *rw)
 Frees all resources associated with a record window. More...
 

Detailed Description

Recording window gui.

Author
Jakob Bornecrantz jakob.nosp@m.@col.nosp@m.labor.nosp@m.a.co.nosp@m.m

Function Documentation

◆ gui_window_record_close()

void gui_window_record_close ( struct gui_record_window rw)

Frees all resources associated with a record window.

Make sure to only call this function on the main gui thread, and that nothing is pushing into the record windows sink.

References gstreamer_pipeline_stop(), os_mutex::os_mutex_destroy(), os_mutex::os_mutex_lock(), os_mutex::os_mutex_unlock(), and xrt_frame_context::xrt_frame_context_destroy_nodes().

◆ gui_window_record_init()

bool gui_window_record_init ( struct gui_record_window rw)

Initialise a embeddable record window.

References xrt_frame_sink::push_frame.

◆ gui_window_record_render()

void gui_window_record_render ( struct gui_record_window rw,
struct gui_program p 
)

Renders all controls of a record window.

References gui_ogl_sink_update().

◆ gui_window_record_to_background()

void gui_window_record_to_background ( struct gui_record_window rw,
struct gui_program p 
)

Draw the sink image as the background to the background of the render view.

Basically the main window in which all ImGui windows lives in, not to a ImGui window.

References gui_ogl_draw_background(), and gui_ogl_sink_update().