Hi, This is the new revision of libweston, with quite many changes after Pekka's comments:
- no more weston_compositor_init/fini, but weston_compositor_create/destroy. in a far future we may manage to make weston_compositor an opaque struct. - all the backends are now loaded through a common weston_compositor_init_backend. the struct weston_backend_config is used to pass backend specific data, by creating a backend specific subclass of it, as defined in the backends's new header files. struct weston_backend gained a create_output vfunc. Only some backends set it though, namely the nested ones. The other backends have a callback to get the output configuration when needed. In a far future it would be nice if we managed to unify these with a common API, not sure if feasible though. - no more xwayland library. Left as a follow up patch, will probably go the same route as the backends. - fixed quite a few autotools fuckups. Can't say there are no more though. ;) The biggest change for Weston-the-compositor here is that we kinda lose the ability to load random backends. Since the backends cannot have anymore weston specific configurations in them we need to fetch that configurations outside, currently in weston.c. While less nice than before I don't think it's that big of an issue. Giulio Camuffo (11): compositor: introduce struct weston_backend compositor: add API to manage compositor instances compositor: move the main() to a new weston.c file make the backends compositor-neutral compositor: remove the weston_config field from weston_compositor build a libweston.so used by the weston binary libweston: allow compositors to define the logging behavior libweston: move the child process launching and monitoring to weston libweston: handle the screenshoot and record bindings in weston.c text: build the text-backend in weston configure: add an option to allow building only the libraries Makefile.am | 95 +- configure.ac | 11 + desktop-shell/shell.c | 11 +- desktop-shell/shell.h | 1 + fullscreen-shell/fullscreen-shell.c | 3 +- ivi-shell/hmi-controller.c | 18 +- ivi-shell/ivi-layout-private.h | 2 +- ivi-shell/ivi-layout.c | 4 +- ivi-shell/ivi-shell.c | 13 +- src/cms-colord.c | 3 +- src/cms-static.c | 7 +- src/compositor-drm.c | 815 ++++++++-------- src/compositor-drm.h | 83 ++ src/compositor-fbdev.c | 231 ++--- src/compositor-fbdev.h | 64 ++ src/compositor-headless.c | 168 ++-- src/compositor-headless.h | 47 + src/compositor-rdp.c | 202 ++-- src/compositor-rdp.h | 54 ++ src/compositor-rpi.c | 199 ++-- src/compositor-rpi.h | 57 ++ src/compositor-wayland.c | 542 ++++------- src/compositor-wayland.h | 58 ++ src/compositor-x11.c | 671 ++++++------- src/compositor-x11.h | 55 ++ src/compositor.c | 1029 ++------------------ src/compositor.h | 61 +- src/input.c | 2 +- src/libinput-device.c | 29 +- src/libinput-device.h | 2 + src/libinput-seat.c | 10 + src/libinput-seat.h | 6 + src/log.c | 69 +- src/screenshooter.c | 173 +--- src/text-backend.c | 10 +- src/weston.c | 1833 +++++++++++++++++++++++++++++++++++ src/weston.h | 36 + tests/ivi_layout-internal-test.c | 2 + tests/ivi_layout-test-plugin.c | 2 + tests/surface-global-test.c | 3 +- tests/surface-screenshot.c | 7 +- tests/surface-test.c | 3 +- tests/weston-test.c | 3 +- xwayland/launcher.c | 6 +- xwayland/xwayland.h | 1 + 45 files changed, 3897 insertions(+), 2804 deletions(-) create mode 100644 src/compositor-drm.h create mode 100644 src/compositor-fbdev.h create mode 100644 src/compositor-headless.h create mode 100644 src/compositor-rdp.h create mode 100644 src/compositor-rpi.h create mode 100644 src/compositor-wayland.h create mode 100644 src/compositor-x11.h create mode 100644 src/weston.c create mode 100644 src/weston.h -- 2.4.4 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel