17 #ifndef DGL_WINDOW_HPP_INCLUDED
18 #define DGL_WINDOW_HPP_INCLUDED
20 #include "Geometry.hpp"
22 #ifdef DISTRHO_DEFINES_H_INCLUDED
23 START_NAMESPACE_DISTRHO
39 #ifndef DGL_FILE_BROWSER_DISABLED
76 #endif // DGL_FILE_BROWSER_DISABLED
80 explicit Window(
Application& app, intptr_t parentId,
double scaling,
bool resizable);
86 void exec(
bool lockWait =
false);
89 void repaint() noexcept;
91 #ifndef DGL_FILE_BROWSER_DISABLED
92 bool openFileBrowser(
const FileBrowserOptions& options);
95 bool isEmbed() const noexcept;
97 bool isVisible() const noexcept;
98 void setVisible(
bool yesNo);
100 bool isResizable() const noexcept;
101 void setResizable(
bool yesNo);
103 uint getWidth() const noexcept;
104 uint getHeight() const noexcept;
105 Size<uint> getSize() const noexcept;
106 void setSize(uint width, uint height);
107 void setSize(
Size<uint> size);
109 const
char* getTitle() const noexcept;
110 void setTitle(const
char* title);
112 void setGeometryConstraints(uint width, uint height,
bool aspect);
113 void setTransientWinId(uintptr_t winId);
115 double getScaling() const noexcept;
117 bool getIgnoringKeyRepeat() const noexcept;
118 void setIgnoringKeyRepeat(
bool ignore) noexcept;
121 intptr_t getWindowId() const noexcept;
129 virtual
void onDisplayBefore();
130 virtual
void onDisplayAfter();
131 virtual
void onReshape(uint width, uint height);
132 virtual
void onClose();
134 #ifndef DGL_FILE_BROWSER_DISABLED
135 virtual void fileBrowserSelected(
const char* filename);
139 void _setAutoScaling(
double scaling) noexcept;
143 PrivateData*
const pData;
147 #ifdef DISTRHO_DEFINES_H_INCLUDED
148 friend class DISTRHO_NAMESPACE::UIExporter;
151 virtual void _addWidget(
Widget*
const widget);
152 virtual void _removeWidget(
Widget*
const widget);
155 bool handlePluginKeyboard(
const bool press,
const uint key);
156 bool handlePluginSpecial(
const bool press,
const Key key);
158 DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(
Window)
165 #endif // DGL_WINDOW_HPP_INCLUDED
FileBrowserOptions()
Definition: Window.hpp:69
Definition: Window.hpp:36
Definition: StandaloneWindow.hpp:28
Definition: Geometry.hpp:132
Definition: Window.hpp:43
Definition: Application.hpp:41