diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index e8cf1ec2c..ace6aef15 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -32,6 +32,7 @@ add_subdirectory(dialog) add_subdirectory(node) add_subdirectory(packaging) add_subdirectory(panel) +add_subdirectory(pluginSupport) add_subdirectory(render) add_subdirectory(shaders) add_subdirectory(task) diff --git a/app/pluginSupport/CMakeLists.txt b/app/pluginSupport/CMakeLists.txt new file mode 100644 index 000000000..59c97c6a8 --- /dev/null +++ b/app/pluginSupport/CMakeLists.txt @@ -0,0 +1,6 @@ +set(OLIVE_SOURCES + ${OLIVE_SOURCES} + pluginSupport/Plugin.cpp + pluginSupport/Plugin.h + PARENT_SCOPE +) \ No newline at end of file diff --git a/app/pluginSupport/Plugin.cpp b/app/pluginSupport/Plugin.cpp new file mode 100644 index 000000000..970578474 --- /dev/null +++ b/app/pluginSupport/Plugin.cpp @@ -0,0 +1,5 @@ +// +// Created by katherinesolar on 25-8-3. +// + +#include "Plugin.h" diff --git a/app/pluginSupport/Plugin.h b/app/pluginSupport/Plugin.h new file mode 100644 index 000000000..607477937 --- /dev/null +++ b/app/pluginSupport/Plugin.h @@ -0,0 +1,38 @@ +// +// Created by katherinesolar on 25-8-3. +// + +#ifndef PLUGIN_H +#define PLUGIN_H +#include +#include +#include +namespace olive +{ +typedef int(*button_callback_t)(); +namespace plugin +{ +struct Button { + std::string name; + button_callback_t callback; +}; + +struct Menu { + std::string name; + std::map> buttons; +}; +struct Plugin { + std::string name; + std::string version; + std::string author; + std::vector menus; +}; +} +class Plugin { +private: + std::vector plugins_; +}; +} + + +#endif //PLUGIN_H