17#ifndef DGL_WINDOW_HPP_INCLUDED
18#define DGL_WINDOW_HPP_INCLUDED
20#include "Geometry.hpp"
22#ifdef DGL_USE_FILE_BROWSER
23# include "FileBrowserDialog.hpp"
26#ifdef DGL_USE_WEB_VIEW
27# include "WebView.hpp"
117 DAF_PREVENT_HEAP_ALLOCATION
121 Window::PrivateData*
const ppData;
142 uintptr_t parentWindowHandle,
151 uintptr_t parentWindowHandle,
346 bool setClipboard(const
char* mimeType, const
void* data,
size_t dataSize);
490 #ifdef DGL_USE_FILE_BROWSER
500 bool openFileBrowser(
const DGL_NAMESPACE::FileBrowserOptions& options =
FileBrowserOptions());
503 #ifdef DGL_USE_WEB_VIEW
516 bool createWebView(
const char* url,
const DGL_NAMESPACE::WebViewOptions& options =
WebViewOptions());
521 void evaluateJS(
const char* js);
566 bool keepAspectRatio = false,
567 bool automaticallyScale = false,
568 bool resizeNowIfAutoScaling = true);
579 DAF_DEPRECATED_BY(
"isIgnoringKeyRepeat()")
583 DAF_DEPRECATED_BY(
"getScaleFactor()")
587 DAF_DEPRECATED_BY(
"runAsModal(bool)")
677 #ifdef DGL_USE_FILE_BROWSER
683 virtual void onFileSelected(
const char* filename);
686 DAF_DEPRECATED_BY(
"onFileSelected(const char*)")
687 inline virtual
void fileBrowserSelected(const
char* filename) {
return onFileSelected(filename); }
691 PrivateData*
const pData;
695 friend class DAF_NAMESPACE::PluginWindow;
700 uintptr_t parentWindowHandle,
705 bool usesScheduledRepaints,
706 bool usesSizeRequest,
709 DAF_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(
Window)
Definition Application.hpp:90
Definition Geometry.hpp:41
Definition Geometry.hpp:612
Definition Geometry.hpp:133
void runAsModal(bool blockWait=false)
uintptr_t getNativeWindowHandle() const noexcept
virtual void onReshape(uint width, uint height)
virtual uint32_t onClipboardDataOffer()
bool getIgnoringKeyRepeat() const noexcept
Definition Window.hpp:580
const char * getTitle() const noexcept
virtual bool onFileDrop(const FileDropEvent &ev)
void setResizable(bool resizable)
void setVisible(bool visible)
void setHeight(uint height)
bool isResizable() const noexcept
int getOffsetX() const noexcept
Size< uint > getGeometryConstraints(bool &keepAspectRatio)
Window(Application &app, uintptr_t parentWindowHandle, double scaleFactor, bool resizable)
virtual void onScaleFactorChanged(double scaleFactor)
Point< int > getOffset() const noexcept
void setIgnoringKeyRepeat(bool ignore) noexcept
bool startFileDrag(const char *filename)
virtual bool onFileDragMove(const FileDropEvent &ev)
virtual bool onFileDragEnter(const FileDropEvent &ev)
bool setAcceptingFileDrops(bool accept)
bool removeIdleCallback(IdleCallback *callback)
uint getHeight() const noexcept
void setOffset(int x, int y)
Window(Application &app, Window &transientParentWindow)
virtual void onFileDragLeave()
bool isVisible() const noexcept
std::vector< ClipboardDataOffer > getClipboardDataOfferTypes()
bool setEmbeddedOffset(int x, int y)
Application & getApp() const noexcept
virtual void onFocus(bool focus, CrossingMode mode)
double getScaleFactor() const noexcept
bool anyWidgetWantsKeyboardFocus()
bool setClipboard(const char *mimeType, const void *data, size_t dataSize)
void setSize(uint width, uint height)
int getOffsetY() const noexcept
const void * getClipboard(size_t &dataSize)
double getScaling() const noexcept
Definition Window.hpp:584
void setGeometryConstraints(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true)
bool setCursor(MouseCursor cursor)
uint getWidth() const noexcept
void setTitle(const char *title)
void setTransientParent(uintptr_t transientParentWindowHandle)
bool isIgnoringKeyRepeat() const noexcept
void renderToPicture(const char *filename)
const GraphicsContext & getGraphicsContext() const noexcept
void setWidth(uint width)
bool addIdleCallback(IdleCallback *callback, uint timerFrequencyInMs=0)
const char * getPortalParentHandle() const noexcept
Window(Application &app, uintptr_t parentWindowHandle, uint width, uint height, double scaleFactor, bool resizable)
void exec(bool blockWait=false)
Definition Window.hpp:588
bool isAcceptingFileDrops() const noexcept
Size< uint > getSize() const noexcept
bool isEmbed() const noexcept
#define END_NAMESPACE_DAF
Definition DafInfo.hpp:996
#define START_NAMESPACE_DAF
Definition DafInfo.hpp:990
FileBrowserOptions()
Definition FileBrowserDialogImpl.hpp:85
WebViewOptions()
Definition WebViewImpl.hpp:64
Definition Window.hpp:363
FileDropEvent() noexcept
Definition Window.hpp:378
uint mod
Definition Window.hpp:373
uint time
Definition Window.hpp:375
Point< double > pos
Definition Window.hpp:365
const char *const * files
Definition Window.hpp:367
ScopedGraphicsContext(Window &window)
ScopedGraphicsContext(Window &window, Window &transientParentWindow)