diff options
author | Sam Spilsbury <smspillaz@gmail.com> | 2013-07-15 18:11:20 -0700 |
---|---|---|
committer | Sam Spilsbury <smspillaz@gmail.com> | 2013-10-12 00:34:31 +0800 |
commit | 9f5d93981ee8abab0765bb85578accbb2a0baac0 (patch) | |
tree | 9399387c45f3e9dd43f78301a6e0a80cc9b435fd /.gitignore | |
parent | 1b06bcdb9199994a7319e26e2a2d447cfdf67b57 (diff) |
Added initial support for displaying on Wayland compositors.
SDL and X11 builds are disabled when using the --enable-wayland
switch.
EGLNativeTypeWayland is an implementation of EGLNativeType which
connects to a running wayland compositor if possible and starts
rendering in a new surface.
WinEventsWayland polls the wayland display for new events and updates
the main surface.
The wayland client libraries are loaded dynamically and their functions
should not be used directly. Instead, IDllWaylandClient should be injected
into any objects that need to call functions in those libraries. Because
the autogenerated protocol functions are inline in the header files
and not available to be looked up, the protocol needs to be used directly.
Some of the helpers there are:
1. wayland::protocol::CreateWaylandObject -> creates a wl_proxy casted
to the result type with a specific wl_interface as looked up in
the client library.
2. wayland::protocol::CallMethodOnWaylandObject -> calls wl_proxy_marshal
with on the proxy with the specified opcode and arguments
3. wayland::protocol::AddListenerOnWaylandObject -> adds a wl_listener
to the wl_proxy
4. wayland::protocol::DestroyWaylandObject -> calls wl_proxy_destroy
on the proxy.
There may be some cases where additional constructor or destructor functions
might need to be called before or after CreateWaylandObject and
DestroyWaylandObject. Developers should consult the autogenerated
wayland-*-protocol.h headers to determine the expected call order.
XBMCSurface and XBMCConnection wrap most of the wayland connection
and surface creation / destruction and provide outputs for getting
the current resolution and EGL surface.
There is currently no support for keyboard input, mouse input or
multiple monitors.
Diffstat (limited to '.gitignore')
-rw-r--r-- | .gitignore | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index 51097428ea..187fab716b 100644 --- a/.gitignore +++ b/.gitignore @@ -717,6 +717,10 @@ lib/cmyth/Makefile # no longer used /xbmc/win32/git_rev.h +# /xbmc/windowing/ +/xbmc/windowing/Makefile +/xbmc/windowing/egl/Makefile + # /lib/ffmpeg/ /lib/ffmpeg/config.h /lib/ffmpeg/config.err |