17 #ifndef DGL_WINDOW_HPP_INCLUDED
18 #define DGL_WINDOW_HPP_INCLUDED
20 #include "Geometry.hpp"
22 #ifndef DGL_FILE_BROWSER_DISABLED
23 # include "FileBrowserDialog.hpp"
28 #ifdef DISTRHO_NAMESPACE
112 DISTRHO_PREVENT_HEAP_ALLOCATION
116 Window::PrivateData*
const ppData;
137 uintptr_t parentWindowHandle,
146 uintptr_t parentWindowHandle,
167 bool isVisible() const noexcept;
174 void setVisible(
bool visible);
205 bool isResizable() const noexcept;
213 void setResizable(
bool resizable);
218 int getOffsetX() const noexcept;
223 int getOffsetY() const noexcept;
228 Point<
int> getOffset() const noexcept;
233 void setOffsetX(
int x);
238 void setOffsetY(
int y);
243 void setOffset(
int x,
int y);
248 void setOffset(const
Point<
int>& offset);
253 uint getWidth() const noexcept;
258 uint getHeight() const noexcept;
263 Size<uint> getSize() const noexcept;
268 void setWidth(uint width);
273 void setHeight(uint height);
278 void setSize(uint width, uint height);
283 void setSize(const
Size<uint>& size);
288 const
char* getTitle() const noexcept;
295 void setTitle(const
char* title);
300 bool isIgnoringKeyRepeat() const noexcept;
305 void setIgnoringKeyRepeat(
bool ignore) noexcept;
318 const
void* getClipboard(
size_t& dataSize);
329 bool setClipboard(const
char* mimeType, const
void* data,
size_t dataSize);
338 bool setCursor(MouseCursor cursor);
352 bool addIdleCallback(
IdleCallback* callback, uint timerFrequencyInMs = 0);
380 uintptr_t getNativeWindowHandle() const noexcept;
390 double getScaleFactor() const noexcept;
397 #ifndef DGL_FILE_BROWSER_DISABLED
425 void renderToPicture(const
char* filename);
432 void runAsModal(
bool blockWait = false);
438 Size<uint> getGeometryConstraints(
bool& keepAspectRatio);
443 void setGeometryConstraints(uint minimumWidth,
445 bool keepAspectRatio = false,
446 bool automaticallyScale = false,
447 bool resizeNowIfAutoScaling = true);
455 void setTransientParent(uintptr_t transientParentWindowHandle);
458 DISTRHO_DEPRECATED_BY("isIgnoringKeyRepeat()")
459 inline
bool getIgnoringKeyRepeat() const noexcept {
return isIgnoringKeyRepeat(); }
462 DISTRHO_DEPRECATED_BY(
"getScaleFactor()")
463 inline
double getScaling() const noexcept {
return getScaleFactor(); }
466 DISTRHO_DEPRECATED_BY(
"runAsModal(bool)")
467 inline
void exec(
bool blockWait = false) { runAsModal(blockWait); }
504 virtual void onFocus(
bool focus, CrossingMode mode);
520 #ifndef DGL_FILE_BROWSER_DISABLED
529 DISTRHO_DEPRECATED_BY(
"onFileSelected(const char*)")
530 inline virtual
void fileBrowserSelected(const
char* filename) {
return onFileSelected(filename); }
534 PrivateData*
const pData;
537 #ifdef DISTRHO_NAMESPACE
538 friend class DISTRHO_NAMESPACE::PluginWindow;
543 uintptr_t parentWindowHandle,
548 bool usesScheduledRepaints,
549 bool usesSizeRequest,
552 DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(
Window)
Definition: Application.hpp:43
Definition: Geometry.hpp:41
Definition: Geometry.hpp:614
Definition: Geometry.hpp:133
Definition: Window.hpp:63
virtual void onReshape(uint width, uint height)
virtual uint32_t onClipboardDataOffer()
Window(Application &app, uintptr_t parentWindowHandle, double scaleFactor, bool resizable)
virtual void onScaleFactorChanged(double scaleFactor)
bool openFileBrowser(const DGL_NAMESPACE::FileBrowserOptions &options=FileBrowserOptions())
std::vector< ClipboardDataOffer > getClipboardDataOfferTypes()
Window(Application &app, Window &transientParentWindow)
virtual void onFocus(bool focus, CrossingMode mode)
virtual void onFileSelected(const char *filename)
Window(Application &app, uintptr_t parentWindowHandle, uint width, uint height, double scaleFactor, bool resizable)
bool isEmbed() const noexcept
#define END_NAMESPACE_DISTRHO
Definition: DistrhoInfo.hpp:949
#define START_NAMESPACE_DISTRHO
Definition: DistrhoInfo.hpp:943
Definition: FileBrowserDialogImpl.hpp:33
Definition: Window.hpp:95
ScopedGraphicsContext(Window &window)
ScopedGraphicsContext(Window &window, Window &transientParentWindow)