6#include "private/qguiapplication_p.h"
8#include <QCoreApplication>
11#include <qpa/qwindowsysteminterface.h>
26 window->
title().toUtf8(), B_NO_BORDER_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL, 0)
27 , m_qtCalledZoom(
false)
28 , m_zoomInProgress(
false)
41 m_zoomInProgress =
false;
51 BWindow::Minimize(minimize);
58 m_zoomInProgress =
true;
78 m_qtCalledZoom =
true;
80 m_qtCalledZoom =
false;
86 , m_windowState(
Qt::WindowNoState)
93 connect(haikuWindow,
SIGNAL(windowActivated(
bool)),
SLOT(haikuWindowActivated(
bool)));
101 qFatal(
"QHaikuWindow: failed to create window");
125 const BRect decoratorFrame =
m_window->DecoratorFrame();
129 frame.top - decoratorFrame.top,
130 decoratorFrame.right -
frame.right,
131 decoratorFrame.bottom -
frame.bottom);
139 window()->requestActivate();
159 return (WId)
static_cast<BWindow*
>(
m_window);
174 if (m_windowState ==
state)
177 const Qt::WindowStates oldState = m_windowState;
179 m_windowState =
state;
201 window_look wlook = B_TITLED_WINDOW_LOOK;
202 window_feel wfeel = B_NORMAL_WINDOW_FEEL;
203 uint32 wflag = (B_NO_WORKSPACE_ACTIVATION | B_NOT_ANCHORED_ON_ACTIVATE);
206 wlook = B_FLOATING_WINDOW_LOOK;
207 wflag |= B_WILL_ACCEPT_FIRST_CLICK;
210 if (isSplashScreen) {
211 wlook = B_NO_BORDER_WINDOW_LOOK;
215 wlook = B_NO_BORDER_WINDOW_LOOK;
216 wflag |= (B_WILL_ACCEPT_FIRST_CLICK | B_AVOID_FRONT | B_AVOID_FOCUS);
222 wfeel = B_MODAL_SUBSET_WINDOW_FEEL;
224 wfeel = B_MODAL_APP_WINDOW_FEEL;
228 wlook = B_NO_BORDER_WINDOW_LOOK;
229 wflag |= (B_WILL_ACCEPT_FIRST_CLICK | B_AVOID_FOCUS);
234 wlook = B_NO_BORDER_WINDOW_LOOK;
237 wflag |= (B_NOT_RESIZABLE | B_NOT_ZOOMABLE);
241 wflag |= B_NOT_MINIMIZABLE;
243 wflag |= B_NOT_ZOOMABLE;
245 wflag |= B_NOT_CLOSABLE;
249 wfeel = B_FLOATING_ALL_WINDOW_FEEL;
272void QHaikuWindow::haikuWindowMoved(
const QPoint &
pos)
280void QHaikuWindow::haikuWindowResized(
const QSize &
size,
bool zoomInProgress)
295void QHaikuWindow::haikuWindowActivated(
bool activated)
300void QHaikuWindow::haikuWindowMinimized(
bool minimize)
307void QHaikuWindow::haikuWindowZoomed()
314void QHaikuWindow::haikuWindowQuitRequested()
335void QHaikuWindow::haikuEnteredView()
340void QHaikuWindow::haikuExitedView()
345void QHaikuWindow::haikuDrawRequest(
const QRect &
rect)
void minimized(bool minimize)
void windowActivated(bool activated)
bool QuitRequested() override
void Zoom(BPoint pos, float width, float height) override
void Minimize(bool minimize) override
void resized(const QSize &size, bool zoomInProgress)
void FrameMoved(BPoint pos) override
void WindowActivated(bool activated) override
void FrameResized(float width, float height) override
HaikuWindowProxy(QWindow *window, const QRect &rect, QObject *parent=nullptr)
void moved(const QPoint &pos)
const char * constData() const noexcept
Returns a pointer to the const data stored in the byte array.
Type
This enum type defines the valid event types in Qt.
void requestActivateWindow() override
Reimplement to let Qt be able to request activation/focus for a window.
bool isExposed() const override
Returns if this window is exposed in the windowing system.
void setVisible(bool visible) override
Reimplemented in subclasses to show the surface if visible is true, and hide it if visible is false.
BWindow * nativeHandle() const
void propagateSizeHints() override
Reimplement to propagate the size hints of the QWindow.
void setWindowTitle(const QString &title) override
Reimplement to set the window title to title.
void setGeometry(const QRect &rect) override
This function is called by Qt whenever a window is moved or resized using the QWindow API.
void setWindowState(Qt::WindowStates state) override
Requests setting the window state of this surface to type.
HaikuWindowProxy * m_window
bool isActive() const override
Returns true if the window should appear active from a style perspective.
WId winId() const override
Reimplement in subclasses to return a handle to the native window.
QHaikuWindow(QWindow *window)
QMargins frameMargins() const override
void setWindowFlags(Qt::WindowFlags flags) override
Requests setting the window flags of this surface to flags.
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
The QRegion class specifies a clip region for a painter.
\macro QT_RESTRICTED_CAST_FROM_ASCII
QByteArray toLocal8Bit() const &
static void handleLeaveEvent(QWindow *window)
static bool handleMouseEvent(QWindow *window, const QPointF &local, const QPointF &global, Qt::MouseButtons state, Qt::MouseButton button, QEvent::Type type, Qt::KeyboardModifiers mods=Qt::NoModifier, Qt::MouseEventSource source=Qt::MouseEventNotSynthesized)
static bool handleCloseEvent(QWindow *window)
static void handleGeometryChange(QWindow *window, const QRect &newRect)
static bool handleKeyEvent(QWindow *window, QEvent::Type t, int k, Qt::KeyboardModifiers mods, const QString &text=QString(), bool autorep=false, ushort count=1)
static bool handleExposeEvent(QWindow *window, const QRegion ®ion)
static void handleWindowActivated(QWindow *window, Qt::FocusReason r=Qt::OtherFocusReason)
static void handleEnterEvent(QWindow *window, const QPointF &local=QPointF(), const QPointF &global=QPointF())
static bool handleWheelEvent(QWindow *window, const QPointF &local, const QPointF &global, QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers mods=Qt::NoModifier, Qt::ScrollPhase phase=Qt::NoScrollPhase, Qt::MouseEventSource source=Qt::MouseEventNotSynthesized)
static void handleWindowStateChanged(QWindow *window, Qt::WindowStates newState, int oldState=-1)
Qt::WindowFlags flags
the window flags of the window
Qt::WindowModality modality
the modality of the window
EGLImageKHR int int EGLuint64KHR * modifiers
Combined button and popup list for selecting options.
@ BlockingQueuedConnection
@ MSWindowsFixedSizeDialogHint
@ WindowMaximizeButtonHint
@ WindowMinimizeButtonHint
GLint GLint GLint GLint GLint x
[0]
GLint GLsizei GLsizei height
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLsizei GLsizei GLchar * source
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent