|
|
@@ -62,6 +62,9 @@ enum obs_frontend_event {
|
|
|
OBS_FRONTEND_EVENT_SCENE_COLLECTION_RENAMED,
|
|
|
OBS_FRONTEND_EVENT_THEME_CHANGED,
|
|
|
OBS_FRONTEND_EVENT_SCREENSHOT_TAKEN,
|
|
|
+
|
|
|
+ OBS_FRONTEND_EVENT_CANVAS_ADDED,
|
|
|
+ OBS_FRONTEND_EVENT_CANVAS_REMOVED,
|
|
|
};
|
|
|
|
|
|
/* ------------------------------------------------------------------------- */
|
|
|
@@ -80,6 +83,19 @@ static inline void obs_frontend_source_list_free(struct obs_frontend_source_list
|
|
|
da_free(source_list->sources);
|
|
|
}
|
|
|
|
|
|
+struct obs_frontend_canvas_list {
|
|
|
+ DARRAY(obs_canvas_t *) canvases;
|
|
|
+};
|
|
|
+
|
|
|
+static inline void obs_frontend_canvas_list_free(struct obs_frontend_canvas_list *canvas_list)
|
|
|
+{
|
|
|
+ size_t num = canvas_list->canvases.num;
|
|
|
+ for (size_t i = 0; i < num; i++)
|
|
|
+ obs_canvas_release(canvas_list->canvases.array[i]);
|
|
|
+
|
|
|
+ da_free(canvas_list->canvases);
|
|
|
+}
|
|
|
+
|
|
|
#endif //!SWIG
|
|
|
|
|
|
/* ------------------------------------------------------------------------- */
|
|
|
@@ -238,6 +254,10 @@ typedef void (*undo_redo_cb)(const char *data);
|
|
|
EXPORT void obs_frontend_add_undo_redo_action(const char *name, const undo_redo_cb undo, const undo_redo_cb redo,
|
|
|
const char *undo_data, const char *redo_data, bool repeatable);
|
|
|
|
|
|
+EXPORT void obs_frontend_get_canvases(struct obs_frontend_canvas_list *canvas_list);
|
|
|
+EXPORT obs_canvas_t *obs_frontend_add_canvas(const char *name, struct obs_video_info *ovi, int flags);
|
|
|
+EXPORT bool obs_frontend_remove_canvas(obs_canvas_t *canvas);
|
|
|
+
|
|
|
/* ------------------------------------------------------------------------- */
|
|
|
|
|
|
#ifdef __cplusplus
|