Changeset View
Changeset View
Standalone View
Standalone View
shell_client.h
Show First 20 Lines • Show All 213 Lines • ▼ Show 20 Line(s) | 191 | private: | |||
---|---|---|---|---|---|
214 | void setTransient(); | 214 | void setTransient(); | ||
215 | bool shouldExposeToWindowManagement(); | 215 | bool shouldExposeToWindowManagement(); | ||
216 | void updateClientOutputs(); | 216 | void updateClientOutputs(); | ||
217 | KWayland::Server::XdgShellSurfaceInterface::States xdgSurfaceStates() const; | 217 | KWayland::Server::XdgShellSurfaceInterface::States xdgSurfaceStates() const; | ||
218 | void updateShowOnScreenEdge(); | 218 | void updateShowOnScreenEdge(); | ||
219 | void updateMaximizeMode(MaximizeMode maximizeMode); | 219 | void updateMaximizeMode(MaximizeMode maximizeMode); | ||
220 | // called on surface commit and processes all m_pendingConfigureRequests up to m_lastAckedConfigureReqest | 220 | // called on surface commit and processes all m_pendingConfigureRequests up to m_lastAckedConfigureReqest | ||
221 | void updatePendingGeometry(); | 221 | void updatePendingGeometry(); | ||
222 | QPoint popupOffset(const QRect &anchorRect, const Qt::Edges anchorEdge, const Qt::Edges gravity) const; | 222 | QPoint popupOffset(const QRect &anchorRect, const Qt::Edges anchorEdge, const Qt::Edges gravity, const QSize popupSize) const; | ||
223 | static void deleteClient(ShellClient *c); | 223 | static void deleteClient(ShellClient *c); | ||
224 | 224 | | |||
225 | KWayland::Server::ShellSurfaceInterface *m_shellSurface; | 225 | KWayland::Server::ShellSurfaceInterface *m_shellSurface; | ||
226 | KWayland::Server::XdgShellSurfaceInterface *m_xdgShellSurface; | 226 | KWayland::Server::XdgShellSurfaceInterface *m_xdgShellSurface; | ||
227 | KWayland::Server::XdgShellPopupInterface *m_xdgShellPopup; | 227 | KWayland::Server::XdgShellPopupInterface *m_xdgShellPopup; | ||
228 | 228 | | |||
229 | // size of the last buffer | 229 | // size of the last buffer | ||
230 | QSize m_clientSize; | 230 | QSize m_clientSize; | ||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Line(s) | 280 | { | |||
281 | m_client->m_requestGeometryBlockCounter--; | 281 | m_client->m_requestGeometryBlockCounter--; | ||
282 | if (m_client->m_requestGeometryBlockCounter == 0) { | 282 | if (m_client->m_requestGeometryBlockCounter == 0) { | ||
283 | if (m_client->m_blockedRequestGeometry.isValid()) { | 283 | if (m_client->m_blockedRequestGeometry.isValid()) { | ||
284 | m_client->requestGeometry(m_client->m_blockedRequestGeometry); | 284 | m_client->requestGeometry(m_client->m_blockedRequestGeometry); | ||
285 | } else if (m_client->m_xdgShellSurface) { | 285 | } else if (m_client->m_xdgShellSurface) { | ||
286 | m_client->m_xdgShellSurface->configure(m_client->xdgSurfaceStates(), m_client->m_requestedClientSize); | 286 | m_client->m_xdgShellSurface->configure(m_client->xdgSurfaceStates(), m_client->m_requestedClientSize); | ||
287 | } else if (m_client->m_xdgShellPopup && m_client->transientFor()) { | 287 | } else if (m_client->m_xdgShellPopup && m_client->transientFor()) { | ||
288 | const QPoint parentPos = m_client->transientFor()->pos() + m_client->transientFor()->clientPos(); | 288 | const QPoint parentPos = m_client->transientFor()->pos() + m_client->transientFor()->clientPos(); | ||
289 | m_client->m_xdgShellPopup->configure(QRect(m_client->pos() - parentPos, m_client->size())); | 289 | const QSize size = m_client->size(); | ||
290 | m_client->m_xdgShellPopup->configure(QRect(m_client->pos() - parentPos, size)); | ||||
290 | } | 291 | } | ||
291 | } | 292 | } | ||
292 | } | 293 | } | ||
293 | private: | 294 | private: | ||
294 | ShellClient *m_client; | 295 | ShellClient *m_client; | ||
295 | }; | 296 | }; | ||
296 | friend class RequestGeometryBlocker; | 297 | friend class RequestGeometryBlocker; | ||
297 | int m_requestGeometryBlockCounter = 0; | 298 | int m_requestGeometryBlockCounter = 0; | ||
Show All 14 Lines |