Loading...
Searching...
No Matches
lomiri::shell::application::MirSurfaceInterface Class Referenceabstract

Holds a Mir surface. Pretty much an opaque class. More...

`#include <lomiri/shell/application/MirSurfaceInterface.h>`

Inheritance diagram for lomiri::shell::application::MirSurfaceInterface:
[legend]
Collaboration diagram for lomiri::shell::application::MirSurfaceInterface:
[legend]

## Public Slots

virtual void | requestState (Mir::State state)=0
| Requests a change to the specified state.

## Signals

void | focusRequested ()
| Emitted in response to a requestFocus() call.
void | closeRequested ()
| Emitted when close() is called.

## Public Member Functions

virtual Q_INVOKABLE void | close ()=0
| Sends a close request.
virtual Q_INVOKABLE void | forceClose ()=0
| Sends a force close request.
virtual Q_INVOKABLE void | activate ()=0
| Activates this surface.

## Properties

Mir::Type | type
| The surface type.
QString | name
| Name of the surface, given by the client application.
QString | persistentId
| Persistent Id of the surface.
QString | appId
| App Id of the app this surface belongs to.
QPoint | position
| Position of the current surface buffer, in pixels.
QPoint | requestedPosition
| Requested position of the current surface buffer, in pixels.
QSize | size
| Size of the current surface buffer, in pixels.
Mir::State | state
| State of the surface.
bool | live
| True if it has a mir client bound to it. A "zombie" (live == false) surface never becomes alive again.
bool | isReady
| True if surface is ready MirAL decides surface ready when it swaps its first frame.
bool | visible
| Visibility of the surface.
Mir::OrientationAngle | orientationAngle
| Orientation angle of the surface.
int | minimumWidth
| The requested minimum width for the surface Zero if not set.
int | minimumHeight
| The requested minimum height for the surface Zero if not set.
int | maximumWidth
| The requested maximum width for the surface Zero if not set.
int | maximumHeight
| The requested maximum height for the surface Zero if not set.
int | widthIncrement
| The requested width increment for the surface Zero if not set.
int | heightIncrement
| The requested height increment for the surface Zero if not set.
Mir::ShellChrome | shellChrome
| The Shell chrome mode.
QString | keymap
| The requested keymap for this surface Its format is "layout+variant".
bool | focused
| Whether the surface is focused.
QRect | inputBounds
| Input bounds.
bool | confinesMousePointer
| Whether the surface wants to confine the mouse pointer within its boundaries.
bool | allowClientResize
| Whether to comply to resize requests coming from the client side.
MirSurfaceInterface * | parentSurface
| The parent MirSurface or null if this is a top-level surface.
lomiri::shell::application::MirSurfaceListInterface * | childSurfaceList
| The list of child surfaces.

## Detailed Description

Holds a Mir surface. Pretty much an opaque class.

All surface manipulation is done by giving it to a MirSurfaceItem and then using MirSurfaceItem's properties.

## Member Function Documentation

## activate()

virtual Q_INVOKABLE void lomiri::shell::application::MirSurfaceInterface::activate | ( |  | ) |

pure virtual

Activates this surface.

It will get focused and raised

## focusRequested

void lomiri::shell::application::MirSurfaceInterface::focusRequested | ( |  | ) |

signal

Emitted in response to a requestFocus() call.

If shell agrees with it, it should call activate() on this surface

## Property Documentation

## allowClientResize

bool lomiri::shell::application::MirSurfaceInterface::allowClientResize

read write

Whether to comply to resize requests coming from the client side.

It's true by default

## childSurfaceList

lomiri::shell::application::MirSurfaceListInterface* lomiri::shell::application::MirSurfaceInterface::childSurfaceList

read

The list of child surfaces.

Ordered from top-most (index=0) to bottom (index=count-1) So the Z value for an item in this model would be z: count - index

## confinesMousePointer

bool lomiri::shell::application::MirSurfaceInterface::confinesMousePointer

read

Whether the surface wants to confine the mouse pointer within its boundaries.

If true, the surface doesn't want the mouse pointer to leave its boundaries while it's focused.

## focused

bool lomiri::shell::application::MirSurfaceInterface::focused

read

Whether the surface is focused.

It will be true if this surface is MirFocusControllerInterface::focusedSurface

## inputBounds

QRect lomiri::shell::application::MirSurfaceInterface::inputBounds

read

Input bounds.

Bounding rectangle of the surface region that accepts input.

## orientationAngle

Mir::OrientationAngle lomiri::shell::application::MirSurfaceInterface::orientationAngle

read write

Orientation angle of the surface.

How many degrees, clockwise, the UI in the surface has to rotate to match shell's UI orientation

The documentation for this class was generated from the following file:

- include/lomiri/shell/application/MirSurfaceInterface.h