commit f97904136f3036b46dccc06ee88296a043f86159
parent 85ab63ade88fe7ec0f6f3d6c9261f3a3b1cdd3fb
Author: falkTX <falktx@falktx.com>
Date: Sun, 22 Aug 2021 23:30:52 +0100
Remove some virtuals, cleanup
Signed-off-by: falkTX <falktx@falktx.com>
Diffstat:
1 file changed, 28 insertions(+), 21 deletions(-)
diff --git a/distrho/extra/ExternalWindow.hpp b/distrho/extra/ExternalWindow.hpp
@@ -85,12 +85,36 @@ public:
return !isVisible();
}
+ /**
+ Hide the UI and gracefully terminate.
+ */
+ virtual void close()
+ {
+ hide();
+
+ if (ext.inUse)
+ terminateAndWaitForExternalProcess();
+ }
+
+ /**
+ Grab the keyboard input focus.
+ */
+ virtual void focus() {}
+
+ /**
+ Get the transient window that we should attach ourselves to.
+ TODO what id? also NSView* on macOS, or NSWindow?
+ */
uintptr_t getTransientWindowId() const noexcept
{
return pData.transientWinId;
}
- virtual void setTransientWindowId(uintptr_t winId)
+ /**
+ Called by the host to set the transient window that we should attach ourselves to.
+ TODO what id? also NSView* on macOS, or NSWindow?
+ */
+ void setTransientWindowId(uintptr_t winId)
{
if (pData.transientWinId == winId)
return;
@@ -98,14 +122,6 @@ public:
transientWindowChanged(winId);
}
- void close()
- {
- hide();
-
- if (ext.inUse)
- terminateAndWaitForExternalProcess();
- }
-
#if DISTRHO_PLUGIN_HAS_EMBED_UI
/**
Whether this Window is embed into another (usually not DGL-controlled) Window.
@@ -160,7 +176,7 @@ public:
Set window visible (or not) according to @a visible.
@see isVisible(), hide(), show()
*/
- virtual void setVisible(bool visible)
+ void setVisible(bool visible)
{
if (pData.visible == visible)
return;
@@ -223,7 +239,7 @@ public:
/**
Set size using @a width and @a height values.
*/
- virtual void setSize(uint width, uint height)
+ void setSize(uint width, uint height)
{
DISTRHO_SAFE_ASSERT_UINT2_RETURN(width > 1 && height > 1, width, height,);
@@ -246,7 +262,7 @@ public:
/**
Set the title of the window, typically displayed in the title bar or in window switchers.
*/
- virtual void setTitle(const char* title)
+ void setTitle(const char* title)
{
if (pData.title == title)
return;
@@ -257,21 +273,12 @@ public:
/**
Get the scale factor requested for this window.
This is purely informational, and up to developers to choose what to do with it.
-
- If you do not want to deal with this yourself,
- consider using setGeometryConstraints() where you can specify to automatically scale the window contents.
- @see setGeometryConstraints
*/
double getScaleFactor() const noexcept
{
return pData.scaleFactor;
}
- /**
- Grab the keyboard input focus.
- */
- virtual void focus() {}
-
protected:
/* --------------------------------------------------------------------------------------------------------
* ExternalWindow special calls for running externals tools */