libei/doc/mainpage.dox
Peter Hutterer 96ba358984 doc: hook up doxygen
Build the doxygen API documentation. This is copied from libinput so it takes
over that style (which is more readable than the default doxygen style).
Some extra documentation is added too and all the immediate errors are fixed
in this commit but doxygen still warns about undocumented parameters.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-28 12:00:08 +10:00

61 lines
2 KiB
Text

/**
@mainpage
This is the libei API reference.
libei provides two different libraries, `libei` for clients and `libeis` for
servers (read: compositors). These two libraries are independently and
normal consumers of either `libei` or `libeis` should never need the other
library.
@section ei EI - the client implementation
The `libei` library is the component used by clients that want to emulate
input. `libei` connects to an EIS implementation.
The API documentation for EI is available at @ref libei.
@section eis EIS - the server implementation
The `libeis` library is the component used by processes that handle input
events. `libeis` handles requests from a `libei` client.
The API documentation for EI is available at @ref libeis.
@section examples Examples
Please see the [demo programs](https://gitlab.freedesktop.org/libinput/libei/-/tree/master/tools)
in the git repository.
The `eis-demo-client` is a minimal client that connects to an EIS
implementation and sends events.
The `eis-demo-server` is a minimal EIS implementation that accepts all
requests and prints them to screen.
The `eis-fake-portal` is a minimal [XDG Desktop
Portal](https://github.com/flatpak/xdg-desktop-portal/) implementation that
connects a portal-aware libei client with an EIS implementation.
@section building_against Building against libei or libeis
libei and libeis provides
[pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) files.
Software that uses libei or libeis should use pkg-config and the
`PKG_CHECK_MODULES` autoconf macro or the `dependency()` function in meson.
Otherwise, the most rudimentary way to compile and link a program against
libei or libeis is:
@verbatim
gcc -o myprogram mylibeiclient.c `pkg-config --cflags --libs libei`
gcc -o myprogram myEISimplementation.c `pkg-config --cflags --libs libeis`
@endverbatim
For further information on using pkgconfig see the pkg-config documentation.
@section About
Documentation generated from git commit [__GIT_VERSION__](https://gitlab.freedesktop.org/libinput/libei/commit/__GIT_VERSION__)
*/