Commit Graph

47 Commits

Author SHA1 Message Date
Pekka Paalanen 5dc2ddf9c6 Clean up .gitignore after autotools removal
There is no such thing as building in-tree anymore, so no need to ignore build
artifacts.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2019-03-28 13:56:45 +02:00
Louis-Francis Ratté-Boulianne b79dead1dd clients: add a new touchscreen calibrator
The new calibrator uses weston_touch_calibration protocol extension and
provides the following features:

- chooses the physical touch device to be calibrated by DEVPATH or by
  the output/head name; device enumeration provided

- the compositor ensures the calibrator window is shown in the correct
  position and size

- no matter how wrong the old calibration is, the touch events will
  always arrive in the application

- the calibration is complete, not incremental; the received touch
  events are guaranteed to be unmodified

- computes a libinput style calibration matrix directly, not the
  WL_CALIBRATION format

- supports multiple touch devices: calibrate one device at a time, and
  show user feedback on touching a wrong device instead of recording bad
  data

- uses four touch point samples: three to compute the calibration, and
  one to verify the calibration is roughly correct

- consistent exit codes

- upload the new calibration into the server after successful
  and verified calibration

Due to using special touchscreen calibration protocol extension, this
application cannot be tested without touch input from the compositor.

Practically all of the above mentioned are unlike how the old
calibrator client worked.

Co-developed by Louis-Francis and Pekka.

v2:
- improve help() text
- rename wrong_touch_handler() to invalid_touch_handler()
- improve debug prints by adding sample number
- reorganize code into sample funcs vs. touch funcs
- add a state machine to properly process touch and related events

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
v1 Tested-by: Matt Hoosier <matt.hoosier@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-05-30 14:46:24 +03:00
Guido Günther 63fcad4884 .gitignore weston-simple-dmabuf-drm
Got renamed in f9dec67990

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2018-03-16 14:58:21 +02:00
Pekka Paalanen c560a398c3 gitignore: version headers are in libweston/
Switching back and forth to e.g. weston 1.11 branch can leave
these files in src/. Fix the gitignores to not hide them from
git-status.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2017-01-23 14:06:49 +02:00
Bryce Harrington 6303d3ba7a Revert "clients: Add screensaver inhibitor client demo"
This reverts commit dfea66e780.

(Accidental landing)
2016-08-30 12:04:05 -07:00
Bryce Harrington dfea66e780 clients: Add screensaver inhibitor client demo
Derive client from simple-shm and hook up the API defined in
wayland-protocols to allow client screensaver inhibition requests.

v5:
  + Add simple-idle client demo
  + Add command line options to delay creation/destruction of inhibitor

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
2016-08-29 18:36:13 -07:00
Yong Bakos a4b34976dd gitignore: Ignore weston-confine client
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-07-26 16:24:46 -07:00
Emmanuel Gil Peyrot 5d43af3e88 clients: add simple-v4l-dmabuf client
This client opens a V4L2 device, usually exposed as /dev/videoN, and
retrieves its frames as dmabuf for later import into the compositor.

It supports both single- and multi-planar devices, and any format
exposed by the V4L2 device the Wayland compositor accepts.

This client never changes the v4l2 settings, use `v4l2-ctl -c` if you
want to change those.

Signed-off-by: Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com>
Acked-by: Derek Foreman <derekf@osg.samsung.com>
Tested-by: Derek Foreman <derekf@osg.samsung.com>

Maniphest Tasks: T90

Differential Revision: https://phabricator.freedesktop.org/D339
2016-01-11 13:34:22 -06:00
Emmanuel Gil Peyrot 3b65b0b38f clients: rename simple-dmabuf into simple-dmabuf-intel
This client was using an Intel-specific way to allocate a dmabuf, so it
makes sense to have that in its name.

Signed-off-by: Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>

Differential Revision: https://phabricator.freedesktop.org/D342
2016-01-11 13:30:49 -06:00
George Kiagiadakis 53868985ff clients: add simple-dmabuf client
v2:
- adapted to protocol changes
- added TODO comments
- minor clean-up
- change y-invert from per-plane boolean to per-buffer flag

v3:
- fix a typo: 1 -> i (noticed by Carlos Olmedo Escobar)

Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
2015-08-14 15:53:26 +03:00
Dawid Gajownik 2d7ded80f5 .gitignore: ignore doxygen generated files v2
Fixes incorrect commit d956379058

Signed-off-by: Dawid Gajownik <gajownik@gmail.com>
2015-07-31 15:46:18 -07:00
Dawid Gajownik d956379058 Update .gitignore
Hi,

after running configure with "Enable developer documentation" set to
"yes" git status warns about two new untracked files:

        doc/doxygen/tooldev.doxygen
        doc/doxygen/tools.doxygen

Below is a small patch.

HTH,
  Dawid
2015-07-31 12:52:19 -07:00
Bryce Harrington d88f1942df gitignore: Ignore some dist generated files 2015-07-30 18:17:29 -07:00
Jon A. Cruz 179c186e19 Adding doxygen setup and info for the testing framework.
Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-07-17 13:28:02 +03:00
Jon A. Cruz 5a75a41d07 Added simple unit/integration test framework and corresponding test program.
Added a simple C-based test framework and an example program
that uses it to run through some simple unit tests.

This is new code inspired primarily by the approaches of Google
Test, Boost Test, JUnit and TestNG. Factors of others were also
considered during design and implementation.

Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-07-07 15:47:08 +03:00
Pekka Paalanen 0a9d348fd8 Remove weston-screensaver
This removes the weston-screensaver client.

Screensavers are not so useful, DPMS is much better. This example has
existed here for a good while, and things that we could learn from it
have been learnt.

Nowadays this is just dead weigth, which is usually not even compiled,
because it depends on both cairo-gl and GLU. Removing it removes the
only possible dependency to GLU and one user of cairo-gl. Now the last
user of cairo-gl is gears (clients/nested.c uses cairo-glesv2).

Support for screensavers is still left in desktop-shell, so external
projects can still have their screensavers if they want.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Acked-by: Giulio Camuffo <giuliocamuffo@gmail.com>
2015-06-22 15:19:14 +03:00
Derek Foreman 708d326b30 internal-screenshot-test: ignore output image
In the future we should probably consider making all tests that output
images use an easily ignored template.

For now let's ignore this one individually.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
2015-05-28 12:25:30 -07:00
Pekka Paalanen f5b74f7ded tests: ivi_layout test infrastructure
Testing the ivi_layout API requires two things:
- the tests must be written as a controller module to access the API
- the tests need a helper client to create some objects that can then be
  managed via the API

This patch adds all the infrastructure and two different kinds of
example tests.

Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files
in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston
with ivi-shell, and loads the given module as a controller module, not
as a normal plugin.

The test controller module ivi-*.la will launch a helper client. For
ivi-layout-test.la the helper client is ivi-layout.ivi.

The helper client uses the weston-test-runner framework to fork and exec
each TEST with a fresh connection to the compositor.

The actual test is triggered by the weston_test_runner protocol
interface, a new addition to weston-test.xml. The helper client uses
weston_test_runner to trigger a test, and the server side of the
interface is implemented by the test controller module
(ivi-layout-test.la).

The server side of weston_test_runner uses the same trick as
weston-test-runner.h to gather a list of defined tests. A test is
defined with the RUNNER_TEST macro.

If a test defined by RUNNER_TEST succeeds, an event is sent to the
helper client that it can continue (or exit). If a test fails, a fatal
protocol error is sent to the helper client.

Once the helper client has iterated over all of its tests, it signals
the batch success/failure via process exit code. That is cought in the
test controller module, and forwarded as Weston's exit code.

In summary: each ivi_layout test is a combination of a client side
helper/setup and server side actual tests.

v2: Load weston-test.so, because create_client() needs it.

v3: add a comment about IVI_TEST_SURFACE_ID_BASE.

v4: Rebased to upstream weston-tests-env changes.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
2015-04-09 09:27:05 +03:00
Pekka Paalanen f3a3453270 build: generate weston-ivi.ini for tests
The ivi-shell / hmi-controller cannot run without a properly populated
config file. Generate a config file especially for tests, which includes
paths to the build dirs.

The generated file will be used by following patches adding ivi-shell
tests.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
2015-04-07 14:46:08 +03:00
Daniel Stone 7b9efcbcbf Update .gitignore
Add autotools remnants, as well as more comprehensive vim swapfiles,
Sublime Text configuration, and git format-patch output.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
2015-02-05 14:40:30 -08:00
Nobuhiko Tanibata 923bc14097 clients: a reference implementation of UI client how to use ivi-hmi-controller.
- introduces ivi-shell-user-interface.c

This is launched from hmi-controller by launch_hmi_client_process and
invoke a
client process.

The basic flow is as followed,
1/ process invoked
2/ read configuration from weston.ini.
3/ draw png file to surface according to configuration of weston.ini
4/ all parts of UI are ready. request "UI_ready" to draw UI.
5/ Enter event loop
6/ If a surface receives touch/pointer event, followings are invoked
according
   to type of event and surface
6-1/ If a surface to launch ivi_application receive touch up, it execs
     ivi-application configured in weston.ini.
6-2/ If a surface to switch layout mode receive touch up, it sends a
request,
     ivi_hmi_controller_switch_mode, to hmi-controller.
6-3/ If a surface to show workspace having launchers, it sends a
request,
     ivi_hmi_controller_home, to hmi-controller.
6-4/ If touch down events happens in workspace,
     ivi_hmi_controller_workspace_control is sent to slide workspace.
     When control finished, event:
ivi_hmi_controller_workspace_end_control
     is received.

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-12-04 17:13:42 +02:00
Pekka Paalanen ef2b592ad4 clients: add presentation-shm demo
This started as a copy of simple-shm.c before it was converted to
xdg_shell.

This demo excercises the presentation feedback interface in five
different modes:

- A continuous repaint loop triggered by frame callbacks, and using
  immediate commits, just gathering presentation feedback and computing
  some time intervals for statistics.

- The same as above, except with 1s sleep before actually repainting as
  a response to frame callback. This tests how well the compositor can
  do a repaint from idle state (not continuously repainting), assuming
  nothing else is causing repaints.

- A continuous repaint loop triggered by 'presented' events rather than
  by frame callbacks. If Weston uses an appropriate scheduling
  algorithm, this mode achieves the smallest possible frame latency
  (below one output refresh period).

In all modes, all frames are pre-rendered at startup, so no rendering
happens during the animation.

[Louis-Francis Ratté-Boulianne: split queuing feature]

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
2014-09-30 13:02:20 +03:00
Jason Ekstrand 549a53f186 Add a simple client for testing compositor damage handling
This allows for easily testing a compositor's damage tracking in all
currently available configurations including wl_surface.buffer_transform,
wl_surface.buffer_scale, and wl_viewport.  It also includes a
--rotating-damage that flag instructs the client to change the
wl_surface.buffer_transform on every commit.  This tests the compositor for
proper handling of texture uploads even when the transform has changed but
the buffer size hasn't.
2014-06-18 10:45:50 -07:00
Bryce W. Harrington 2f88f0be30 gitignore log files, now in root directory
[paalanen: added also *.trs to ignore]

Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-05-12 10:06:50 -07:00
Jasper St. Pierre 9679cf9ba2 Update .gitignore 2014-02-07 14:53:31 -08:00
Kristian Høgsberg 304d40d615 .gitignore: Add .dirstamp 2014-02-01 22:16:43 -08:00
Guillem Jover dff63a2300 build: Set a default aux dir
This moves all the auxiliary build scripts into a build-aux directory,
and fixes an issue with configure being unable to find scripts because
it tries to change to an empty directory to get the absolute path,
which results in getting the path to the user's home directory instead.

,--
checking whether build environment is sane... yes
/bin/bash: /home/user/missing: No such file or directory
configure: WARNING: 'missing' script is too old or missing
`---

Signed-off-by: Guillem Jover <guillem@hadrons.org>
2014-02-01 22:12:10 -08:00
Quentin Glidic 088ba5e475 Makefile.am: Fix protocol source files usage
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2014-02-01 21:21:39 -08:00
Neil Roberts e3de16ea30 Automatically generate weston.ini with the right paths
Previously weston.ini had hardcoded paths for the weston-* clients in
/usr/bin and /usr/libexec. This was a bit annoying when testing Weston
because you wouldn't usually install those in the system prefix. This
patch adds a make rule to automatically generate weston.ini from a
template file with some replacement markers for the paths so that they
can have the right prefix.
2013-11-27 22:49:31 -08:00
Kristian Høgsberg 5e392ef64e .gitignore: Add .valid files 2013-10-25 12:21:51 -07:00
Emilio Pozuelo Monfort 7f951e1117 Update .gitignore 2013-09-23 10:08:03 -07:00
Damien Lespiau cee79e91f3 gitignore: Ignore test-driver
Automake (1.12 here) parallel-tests installs a test-driver file, another
file to add to .gitignore.

While at it, remove the duplicate cscope.out entry and add TAGS (the
result of automake's "make tag")
2013-03-28 14:04:05 -04:00
Martin Olsson 61d67df18b Add cscope.out to .gitignore 2012-07-09 17:57:55 -04:00
Daniel Stone 9c7df91b19 .gitignore: Ignore ctags and cscope output
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-06-22 11:52:04 -04:00
Nikolai Kondrashov 7637ff0839 Clean up .gitignore files
Sort the contents and update .gitignore files to hide generated files from
git status output.

Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
2010-11-11 20:11:27 -05:00
Kristian Høgsberg 76b43326a5 Move example compositor to subdirectory 2010-09-14 10:56:25 -04:00
Kristian Høgsberg 4219a407ae Add DMZ cursor theme
Some day we can make this parse X cursor themes
2010-08-16 16:43:50 -04:00
Kristian Høgsberg a1f3f60bea Generate protocol types and metadata from xml 2010-08-03 09:44:48 -04:00
Kristian Høgsberg fc783d4071 Split native drm part of compositor out 2010-06-11 12:56:45 -04:00
Kristian Høgsberg b2a432ef18 Move clients to subdirectory 2010-06-04 21:46:55 -04:00
Kristian Høgsberg f75f0e80b7 Add a crazy rambling style TODO file. 2009-02-05 23:01:00 -05:00
Kristian Høgsberg 4a8767bbb7 Install libraries plus headers and add pkg-config files. 2008-12-10 13:49:28 -05:00
Kristian Høgsberg 0c4457f0c2 Refactor window logic into reusable parts, add a new terminal application.
The gears code is moved into a new file gearc.c and the window decoration
and management code stays in window.c.  A new application 'terminal' is the
second user of the windowing code, but doesn't do anything useful yet.
2008-12-07 20:05:36 -05:00
Kristian Høgsberg cb70316105 Update .gitignore. 2008-12-05 11:20:30 -05:00
Kristian Høgsberg d4de54efe7 Use autoconf instead of $(shell ...) in the Makefile. 2008-12-04 23:00:01 -05:00
Kristian Høgsberg d91e049735 Update .gitignore. 2008-12-02 15:18:38 -05:00
Kristian Høgsberg f3723fe79e Add .gitignore. 2008-11-25 23:18:29 -05:00