Loading...
Searching...
No Matches
plugins/score-plugin-clap/Clap/Window.hpp
1#pragma once
2#include <Clap/EffectModel.hpp>
3
4#include <score/widgets/PluginWindow.hpp>
5
6#include <clap/all.h>
7
8#include <memory>
9#include <verdigris>
10
11namespace Clap
12{
13
14class Window final : public score::PluginWindow
15{
16public:
17 Window(const Model& e, const score::DocumentContext& ctx, QWidget* parent);
18 ~Window() override;
19
21 void resize(int w, int h);
23 void resizeHintsChanged();
24
25private:
26 bool createClapWindow();
27 void destroyClapWindow();
28
29 void resizeEvent(QResizeEvent* event) override;
30 void closeEvent(QCloseEvent* event) override;
31 void showEvent(QShowEvent* event) override;
32 void hideEvent(QHideEvent* event) override;
33 void contextMenuEvent(QContextMenuEvent* event) override;
34
35 void setup_rect(int width, int height);
36
37 bool queryExtensions();
38 void initializeGui();
39
40 QPointer<const Model> m_model;
41 std::shared_ptr<PluginHandle> m_handle{};
42
43 // CLAP GUI extension
44 const clap_plugin_gui_t* m_gui_ext{};
45
46 // Window state
47 bool m_gui_created{false};
48 bool m_gui_visible{false};
49 bool m_is_floating{false};
50
51 // Platform specific window handle
52 clap_window_t m_clap_window{};
53
54 // GUI API being used
55 std::string m_gui_api;
56};
57
58}
Definition plugins/score-plugin-clap/Clap/Window.hpp:15
void resizeHintsChanged()
Whether the window can be resized follows the editor again.
Definition plugins/score-plugin-clap/Clap/Window.cpp:291
void resize(int w, int h)
A size in the editor's own pixels.
Definition plugins/score-plugin-clap/Clap/Window.cpp:286
Definition PluginWindow.hpp:9
Definition DocumentContext.hpp:18