obs-frontend-api: Add func to add custom docks

master
jp9000 2019-06-13 21:12:49 -07:00
parent 6a4f1d0c1d
commit bcd59b670a
4 changed files with 17 additions and 0 deletions

View File

@ -310,6 +310,11 @@ struct OBSStudioAPI : obs_frontend_callbacks {
QObject::connect(action, &QAction::triggered, func);
}
void *obs_frontend_add_dock(void *dock) override
{
return (void*)main->AddDockWidget((QDockWidget *)dock);
}
void obs_frontend_add_event_callback(obs_frontend_event_cb callback,
void *private_data) override
{

View File

@ -269,6 +269,13 @@ void obs_frontend_add_tools_menu_item(const char *name,
private_data);
}
void *obs_frontend_add_dock(void *dock)
{
return !!callbacks_valid()
? c->obs_frontend_add_dock(dock)
: nullptr;
}
void obs_frontend_add_event_callback(obs_frontend_event_cb callback,
void *private_data)
{

View File

@ -111,6 +111,9 @@ EXPORT void *obs_frontend_add_tools_menu_qaction(const char *name);
EXPORT void obs_frontend_add_tools_menu_item(const char *name,
obs_frontend_cb callback, void *private_data);
/* takes QDockWidget and returns QAction */
EXPORT void *obs_frontend_add_dock(void *dock);
typedef void (*obs_frontend_event_cb)(enum obs_frontend_event event,
void *private_data);

View File

@ -53,6 +53,8 @@ struct obs_frontend_callbacks {
virtual void obs_frontend_add_tools_menu_item(const char *name,
obs_frontend_cb callback, void *private_data)=0;
virtual void *obs_frontend_add_dock(void *dock)=0;
virtual void obs_frontend_add_event_callback(
obs_frontend_event_cb callback, void *private_data)=0;
virtual void obs_frontend_remove_event_callback(