Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
iplugin_host_window.h
1// SPDX-FileCopyrightText: © 2025 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#pragma once
5
6#include <QtGui/qwindowdefs.h>
7
8#include <juce_wrapper.h>
9
10namespace zrythm::plugins
11{
16{
17public:
18 virtual ~IPluginHostWindow () = default;
19
26 virtual void
27 setJuceComponentContentNonOwned (juce::Component * content_non_owned) = 0;
28
34 virtual void setSizeAndCenter (int width, int height) = 0;
35
41 virtual void setSize (int width, int height) = 0;
42
43 virtual void setVisible (bool shouldBeVisible) = 0;
44
50 virtual WId getEmbedWindowId () const = 0;
51};
52} // namespace zrythm::plugins
Interface for top-level plugin hosting windows.
virtual void setJuceComponentContentNonOwned(juce::Component *content_non_owned)=0
Sets the JUCE component (normally a juce editor component) as the child of this window.
virtual WId getEmbedWindowId() const =0
Gets a native window handle to embed in.
virtual void setSize(int width, int height)=0
Set the window size without centering.
virtual void setSizeAndCenter(int width, int height)=0
Sets the window size and centers it on the screen.