6#include "plugins/iplugin_host_window.h"
7#include "utils/utf8_string.h"
9#include <juce_gui_basics/juce_gui_basics.h>
11namespace zrythm::plugins
22class JuceDocumentPluginHostWindow final
23 :
private juce::DocumentWindow,
27 using CloseHandler = std::function<void ()>;
29 JuceDocumentPluginHostWindow (
31 CloseHandler close_handler);
54 void setSize (
int width,
int height)
override
56 juce::DocumentWindow::setSize (width, height);
59 void setVisible (
bool shouldBeVisible)
override
61 juce::DocumentWindow::setVisible (shouldBeVisible);
72 void closeButtonPressed ()
override;
75 CloseHandler close_handler_;
Interface for top-level plugin hosting windows.
void setSize(int width, int height) override
Set the window size without centering.
WId getEmbedWindowId() const override
Gets a native window handle to embed in.
void setSizeAndCenter(int width, int height) override
Sets the window size and centers it on the screen.
void setJuceComponentContentNonOwned(juce::Component *content_non_owned) override
Sets the JUCE component (normally a juce editor component) as the child of this window.
Lightweight UTF-8 string wrapper with safe conversions.