@@ -62,6 +62,9 @@ enum obs_frontend_event {
62
62
OBS_FRONTEND_EVENT_SCENE_COLLECTION_RENAMED ,
63
63
OBS_FRONTEND_EVENT_THEME_CHANGED ,
64
64
OBS_FRONTEND_EVENT_SCREENSHOT_TAKEN ,
65
+
66
+ OBS_FRONTEND_EVENT_CANVAS_ADDED ,
67
+ OBS_FRONTEND_EVENT_CANVAS_REMOVED ,
65
68
};
66
69
67
70
/* ------------------------------------------------------------------------- */
@@ -80,6 +83,19 @@ static inline void obs_frontend_source_list_free(struct obs_frontend_source_list
80
83
da_free (source_list -> sources );
81
84
}
82
85
86
+ struct obs_frontend_canvas_list {
87
+ DARRAY (obs_canvas_t * ) canvases ;
88
+ };
89
+
90
+ static inline void obs_frontend_canvas_list_free (struct obs_frontend_canvas_list * canvas_list )
91
+ {
92
+ size_t num = canvas_list -> canvases .num ;
93
+ for (size_t i = 0 ; i < num ; i ++ )
94
+ obs_canvas_release (canvas_list -> canvases .array [i ]);
95
+
96
+ da_free (canvas_list -> canvases );
97
+ }
98
+
83
99
#endif //!SWIG
84
100
85
101
/* ------------------------------------------------------------------------- */
@@ -238,6 +254,10 @@ typedef void (*undo_redo_cb)(const char *data);
238
254
EXPORT void obs_frontend_add_undo_redo_action (const char * name , const undo_redo_cb undo , const undo_redo_cb redo ,
239
255
const char * undo_data , const char * redo_data , bool repeatable );
240
256
257
+ EXPORT void obs_frontend_get_canvases (struct obs_frontend_canvas_list * canvas_list );
258
+ EXPORT obs_canvas_t * obs_frontend_add_canvas (const char * name , struct obs_video_info * ovi , int flags );
259
+ EXPORT bool obs_frontend_remove_canvas (obs_canvas_t * canvas );
260
+
241
261
/* ------------------------------------------------------------------------- */
242
262
243
263
#ifdef __cplusplus
0 commit comments