17#ifndef LOMIRI_SHELL_APPLICATION_MIRSURFACE_H
18#define LOMIRI_SHELL_APPLICATION_MIRSURFACE_H
26#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
27Q_MOC_INCLUDE(
"MirSurfaceListInterface.h")
57 Q_PROPERTY(QString
name READ
name NOTIFY nameChanged)
82 Q_PROPERTY(QSize
size READ
size NOTIFY sizeChanged)
93 Q_PROPERTY(
bool live READ
live NOTIFY liveChanged)
112 NOTIFY orientationAngleChanged DESIGNABLE false)
159 Q_PROPERTY(QString
keymap READ
keymap WRITE setKeymap NOTIFY keymapChanged)
209 virtual QString
name()
const = 0;
213 virtual QString
appId()
const = 0;
215 virtual QPoint
position()
const = 0;
217 virtual QSize
size()
const = 0;
218 virtual void resize(
int width,
int height) = 0;
219 virtual void resize(
const QSize &
size) = 0;
223 virtual bool live()
const = 0;
224 virtual bool isReady()
const = 0;
225 virtual bool visible()
const = 0;
237 virtual void setKeymap(
const QString &) = 0;
238 virtual QString
keymap()
const = 0;
242 virtual bool focused()
const = 0;
249 virtual void setAllowClientResize(
bool) = 0;
252 virtual void setRequestedPosition(
const QPoint &) = 0;
263 Q_INVOKABLE
virtual void close() = 0;
276 Q_INVOKABLE
virtual void activate() = 0;
288 void liveChanged(
bool value);
289 void visibleChanged(
bool visible);
292 void positionChanged(QPoint
position);
293 void requestedPositionChanged(QPoint
position);
294 void sizeChanged(
const QSize &value);
295 void nameChanged(
const QString &
name);
296 void minimumWidthChanged(
int value);
297 void minimumHeightChanged(
int value);
298 void maximumWidthChanged(
int value);
299 void maximumHeightChanged(
int value);
300 void widthIncrementChanged(
int value);
301 void heightIncrementChanged(
int value);
303 void keymapChanged(
const QString &value);
304 void focusedChanged(
bool value);
305 void inputBoundsChanged(QRect value);
306 void confinesMousePointerChanged(
bool value);
307 void allowClientResizeChanged(
bool value);
Acting mostly as a namespace to hold enums and such for use in QML.
Definition Mir.h:26
State
Surface state.
Definition Mir.h:64
ShellChrome
Shell chrome.
Definition Mir.h:97
Type
Surface type.
Definition Mir.h:47
OrientationAngle
Surface orientation angle.
Definition Mir.h:86
Holds a Mir surface. Pretty much an opaque class.
Definition MirSurfaceInterface.h:46
int minimumHeight
The requested minimum height for the surface Zero if not set.
Definition MirSurfaceInterface.h:123
lomiri::shell::application::MirSurfaceListInterface * childSurfaceList
The list of child surfaces.
Definition MirSurfaceInterface.h:199
virtual Q_INVOKABLE void activate()=0
Activates this surface.
bool isReady
True if surface is ready MirAL decides surface ready when it swaps its first frame.
Definition MirSurfaceInterface.h:99
QString appId
App Id of the app this surface belongs to.
Definition MirSurfaceInterface.h:67
MirSurfaceInterface * parentSurface
The parent MirSurface or null if this is a top-level surface.
Definition MirSurfaceInterface.h:191
QSize size
Size of the current surface buffer, in pixels.
Definition MirSurfaceInterface.h:82
void focusRequested()
Emitted in response to a requestFocus() call.
int widthIncrement
The requested width increment for the surface Zero if not set.
Definition MirSurfaceInterface.h:141
bool visible
Visibility of the surface.
Definition MirSurfaceInterface.h:104
Mir::State state
State of the surface.
Definition MirSurfaceInterface.h:87
int maximumHeight
The requested maximum height for the surface Zero if not set.
Definition MirSurfaceInterface.h:135
virtual Q_INVOKABLE void close()=0
Sends a close request.
bool live
True if it has a mir client bound to it. A "zombie" (live == false) surface never becomes alive again...
Definition MirSurfaceInterface.h:93
int minimumWidth
The requested minimum width for the surface Zero if not set.
Definition MirSurfaceInterface.h:117
QRect inputBounds
Input bounds.
Definition MirSurfaceInterface.h:172
QPoint requestedPosition
Requested position of the current surface buffer, in pixels.
Definition MirSurfaceInterface.h:77
bool focused
Whether the surface is focused.
Definition MirSurfaceInterface.h:165
Mir::ShellChrome shellChrome
The Shell chrome mode.
Definition MirSurfaceInterface.h:152
bool allowClientResize
Whether to comply to resize requests coming from the client side.
Definition MirSurfaceInterface.h:186
Mir::Type type
The surface type.
Definition MirSurfaceInterface.h:52
virtual Q_INVOKABLE void forceClose()=0
Sends a force close request.
QString name
Name of the surface, given by the client application.
Definition MirSurfaceInterface.h:57
int maximumWidth
The requested maximum width for the surface Zero if not set.
Definition MirSurfaceInterface.h:129
QString keymap
The requested keymap for this surface Its format is "layout+variant".
Definition MirSurfaceInterface.h:158
QPoint position
Position of the current surface buffer, in pixels.
Definition MirSurfaceInterface.h:72
int heightIncrement
The requested height increment for the surface Zero if not set.
Definition MirSurfaceInterface.h:147
virtual void requestState(Mir::State state)=0
Requests a change to the specified state.
bool confinesMousePointer
Whether the surface wants to confine the mouse pointer within its boundaries.
Definition MirSurfaceInterface.h:179
Mir::OrientationAngle orientationAngle
Orientation angle of the surface.
Definition MirSurfaceInterface.h:111
QString persistentId
Persistent Id of the surface.
Definition MirSurfaceInterface.h:62
void closeRequested()
Emitted when close() is called.
Interface for a list model of MirSurfaces.
Definition MirSurfaceListInterface.h:36
Top-level namespace for all things Lomiri-related.
Definition Version.h:38