obs-frontend-api: Access system tray icon from API
All UI elements are accessible through the obs frontend api via obs_frontend_api_get_main_window, except for the tray icon and its elements. This commit adds an obs_frontend_api_get_system_tray function which returns the pointer to the QSystemTrayIcon cast to void (much like the QMainWindow pointer for the main window).
This commit is contained in:
parent
739072fdcb
commit
54da8eca85
@ -67,6 +67,11 @@ struct OBSStudioAPI : obs_frontend_callbacks {
|
|||||||
return (void*)main->winId();
|
return (void*)main->winId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *obs_frontend_get_system_tray(void) override
|
||||||
|
{
|
||||||
|
return (void*)main->trayIcon.data();
|
||||||
|
}
|
||||||
|
|
||||||
void obs_frontend_get_scenes(
|
void obs_frontend_get_scenes(
|
||||||
struct obs_frontend_source_list *sources) override
|
struct obs_frontend_source_list *sources) override
|
||||||
{
|
{
|
||||||
|
@ -71,6 +71,13 @@ void *obs_frontend_get_main_window_handle(void)
|
|||||||
: nullptr;
|
: nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *obs_frontend_get_system_tray(void)
|
||||||
|
{
|
||||||
|
return !!callbacks_valid()
|
||||||
|
? c->obs_frontend_get_system_tray()
|
||||||
|
: nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
char **obs_frontend_get_scene_names(void)
|
char **obs_frontend_get_scene_names(void)
|
||||||
{
|
{
|
||||||
if (!callbacks_valid())
|
if (!callbacks_valid())
|
||||||
|
@ -82,6 +82,7 @@ static inline void obs_frontend_source_list_free(
|
|||||||
|
|
||||||
EXPORT void *obs_frontend_get_main_window(void);
|
EXPORT void *obs_frontend_get_main_window(void);
|
||||||
EXPORT void *obs_frontend_get_main_window_handle(void);
|
EXPORT void *obs_frontend_get_main_window_handle(void);
|
||||||
|
EXPORT void *obs_frontend_get_system_tray(void);
|
||||||
|
|
||||||
EXPORT char **obs_frontend_get_scene_names(void);
|
EXPORT char **obs_frontend_get_scene_names(void);
|
||||||
EXPORT void obs_frontend_get_scenes(struct obs_frontend_source_list *sources);
|
EXPORT void obs_frontend_get_scenes(struct obs_frontend_source_list *sources);
|
||||||
|
@ -9,6 +9,7 @@ struct obs_frontend_callbacks {
|
|||||||
virtual ~obs_frontend_callbacks() {}
|
virtual ~obs_frontend_callbacks() {}
|
||||||
virtual void *obs_frontend_get_main_window(void)=0;
|
virtual void *obs_frontend_get_main_window(void)=0;
|
||||||
virtual void *obs_frontend_get_main_window_handle(void)=0;
|
virtual void *obs_frontend_get_main_window_handle(void)=0;
|
||||||
|
virtual void *obs_frontend_get_system_tray(void)=0;
|
||||||
|
|
||||||
virtual void obs_frontend_get_scenes(
|
virtual void obs_frontend_get_scenes(
|
||||||
struct obs_frontend_source_list *sources)=0;
|
struct obs_frontend_source_list *sources)=0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user