chiark / gitweb /
terminal: add graphics interface
authorDavid Herrmann <dh.herrmann@gmail.com>
Fri, 19 Sep 2014 12:05:52 +0000 (14:05 +0200)
committerDavid Herrmann <dh.herrmann@gmail.com>
Fri, 19 Sep 2014 12:05:52 +0000 (14:05 +0200)
commit650c5444273993f969b9cd7df9add6ab2df0414e
tree042d7d3412fff2b44e5328df70e143cba1acc231
parent2ec3ff668ff03410e94cfef8e3ee9384a8222211
terminal: add graphics interface

The grdev layer provides graphics-device access via the
libsystemd-terminal library. It will be used by all terminal helpers to
actually access display hardware.

Like idev, the grdev layer is built around session objects. On each
session object you add/remove graphics devices as they appear and vanish.
Any device type can be supported via specific card-backends. The exported
grdev API hides any device details.

Graphics devices are represented by "cards". Those are hidden in the
session and any pipe-configuration is automatically applied. Out of those,
we configure displays which are then exported to the API user. Displays
are meant as lowest hardware entity available outside of grdev. The
underlying pipe configuration is fully hidden and not accessible from the
outside. The grdev tiling layer allows almost arbitrary setups out of
multiple pipes, but so far we only use a small subset of this. More will
follow.

A grdev-display is meant to represent real connected displays/monitors.
The upper level screen arrangements are user policy and not controlled by
grdev. Applications are free to apply any policy they want.

Real card-backends will follow in later patches.
Makefile.am
configure.ac
src/libsystemd-terminal/grdev-internal.h [new file with mode: 0644]
src/libsystemd-terminal/grdev.c [new file with mode: 0644]
src/libsystemd-terminal/grdev.h [new file with mode: 0644]