17 #ifndef LOMIRI_SHELL_APPLICATION_MIRSURFACE_H
18 #define LOMIRI_SHELL_APPLICATION_MIRSURFACE_H
33 class MirSurfaceListInterface;
53 Q_PROPERTY(QString
name READ
name NOTIFY nameChanged)
78 Q_PROPERTY(QSize
size READ
size NOTIFY sizeChanged)
89 Q_PROPERTY(
bool live READ
live NOTIFY liveChanged)
108 NOTIFY orientationAngleChanged DESIGNABLE false)
155 Q_PROPERTY(QString
keymap READ
keymap WRITE setKeymap NOTIFY keymapChanged)
205 virtual QString
name()
const = 0;
209 virtual QString
appId()
const = 0;
211 virtual QPoint
position()
const = 0;
213 virtual QSize
size()
const = 0;
214 virtual void resize(
int width,
int height) = 0;
215 virtual void resize(
const QSize &
size) = 0;
219 virtual bool live()
const = 0;
220 virtual bool isReady()
const = 0;
221 virtual bool visible()
const = 0;
233 virtual void setKeymap(
const QString &) = 0;
234 virtual QString
keymap()
const = 0;
238 virtual bool focused()
const = 0;
245 virtual void setAllowClientResize(
bool) = 0;
248 virtual void setRequestedPosition(
const QPoint &) = 0;
259 Q_INVOKABLE
virtual void close() = 0;
272 Q_INVOKABLE
virtual void activate() = 0;
284 void liveChanged(
bool value);
285 void visibleChanged(
bool visible);
288 void positionChanged(QPoint
position);
289 void requestedPositionChanged(QPoint
position);
290 void sizeChanged(
const QSize &value);
291 void nameChanged(
const QString &
name);
292 void minimumWidthChanged(
int value);
293 void minimumHeightChanged(
int value);
294 void maximumWidthChanged(
int value);
295 void maximumHeightChanged(
int value);
296 void widthIncrementChanged(
int value);
297 void heightIncrementChanged(
int value);
299 void keymapChanged(
const QString &value);
300 void focusedChanged(
bool value);
301 void inputBoundsChanged(QRect value);
302 void confinesMousePointerChanged(
bool value);
303 void allowClientResizeChanged(
bool value);
325 #endif // LOMIRI_SHELL_APPLICATION_MIRSURFACE_H
OrientationAngle
Surface orientation angle.
Definition: Mir.h:86
ShellChrome
Shell chrome.
Definition: Mir.h:97
virtual Q_INVOKABLE void activate()=0
Activates this surface.
int minimumHeight
The requested minimum height for the surface Zero if not set.
Definition: MirSurfaceInterface.h:120
QRect inputBounds
Input bounds.
Definition: MirSurfaceInterface.h:169
bool isReady
True if surface is ready MirAL decides surface ready when it swaps its first frame.
Definition: MirSurfaceInterface.h:95
Acting mostly as a namespace to hold enums and such for use in QML.
Definition: Mir.h:25
int maximumWidth
The requested maximum width for the surface Zero if not set.
Definition: MirSurfaceInterface.h:126
virtual void requestState(Mir::State state)=0
Requests a change to the specified state.
QPoint position
Position of the current surface buffer, in pixels.
Definition: MirSurfaceInterface.h:68
Mir::OrientationAngle orientationAngle
Orientation angle of the surface.
Definition: MirSurfaceInterface.h:108
bool confinesMousePointer
Whether the surface wants to confine the mouse pointer within its boundaries.
Definition: MirSurfaceInterface.h:176
QString appId
App Id of the app this surface belongs to.
Definition: MirSurfaceInterface.h:63
bool visible
Visibility of the surface.
Definition: MirSurfaceInterface.h:100
MirSurfaceInterface parentSurface
The parent MirSurface or null if this is a top-level surface.
Definition: MirSurfaceInterface.h:188
int maximumHeight
The requested maximum height for the surface Zero if not set.
Definition: MirSurfaceInterface.h:132
virtual Q_INVOKABLE void forceClose()=0
Sends a force close request.
void closeRequested()
Emitted when close() is called.
bool focused
Whether the surface is focused.
Definition: MirSurfaceInterface.h:162
virtual Q_INVOKABLE void close()=0
Sends a close request.
int minimumWidth
The requested minimum width for the surface Zero if not set.
Definition: MirSurfaceInterface.h:114
int widthIncrement
The requested width increment for the surface Zero if not set.
Definition: MirSurfaceInterface.h:138
QString name
Name of the surface, given by the client application.
Definition: MirSurfaceInterface.h:53
Mir::ShellChrome shellChrome
The Shell chrome mode.
Definition: MirSurfaceInterface.h:149
QSize size
Size of the current surface buffer, in pixels.
Definition: MirSurfaceInterface.h:78
QString persistentId
Persistent Id of the surface.
Definition: MirSurfaceInterface.h:58
Mir::State state
State of the surface.
Definition: MirSurfaceInterface.h:83
void focusRequested()
Emitted in response to a requestFocus() call.
Interface for a list model of MirSurfaces.
Definition: MirSurfaceListInterface.h:31
bool live
True if it has a mir client bound to it. A "zombie" (live == false) surface never becomes alive again...
Definition: MirSurfaceInterface.h:89
int heightIncrement
The requested height increment for the surface Zero if not set.
Definition: MirSurfaceInterface.h:144
QString keymap
The requested keymap for this surface Its format is "layout+variant".
Definition: MirSurfaceInterface.h:155
Top-level namespace for all things Lomiri-related.
Definition: Version.h:37
bool allowClientResize
Whether to comply to resize requests coming from the client side.
Definition: MirSurfaceInterface.h:183
Holds a Mir surface. Pretty much an opaque class.
Definition: MirSurfaceInterface.h:41
lomiri::shell::application::MirSurfaceListInterface childSurfaceList
The list of child surfaces.
Definition: MirSurfaceInterface.h:196
Type
Surface type.
Definition: Mir.h:47
QPoint requestedPosition
Requested position of the current surface buffer, in pixels.
Definition: MirSurfaceInterface.h:73
Mir::Type type
The surface type.
Definition: MirSurfaceInterface.h:48
State
Surface state.
Definition: Mir.h:64