83d61b6dfb
This adds a capture_screenshot request which returns an image of the screen in the client-supplied wl_buffer for the given display output. A 'done' event is used to indicate when screenshotting has finished and the wl_buffer is ready to be read. Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
129 lines
4.9 KiB
XML
129 lines
4.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<protocol name="weston_test">
|
|
|
|
<copyright>
|
|
Copyright © 2012 Intel Corporation
|
|
|
|
Permission to use, copy, modify, distribute, and sell this
|
|
software and its documentation for any purpose is hereby granted
|
|
without fee, provided that the above copyright notice appear in
|
|
all copies and that both that copyright notice and this permission
|
|
notice appear in supporting documentation, and that the name of
|
|
the copyright holders not be used in advertising or publicity
|
|
pertaining to distribution of the software without specific,
|
|
written prior permission. The copyright holders make no
|
|
representations about the suitability of this software for any
|
|
purpose. It is provided "as is" without express or implied
|
|
warranty.
|
|
|
|
THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
|
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
|
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
|
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
|
|
THIS SOFTWARE.
|
|
</copyright>
|
|
|
|
<interface name="weston_test" version="1">
|
|
<description summary="weston internal testing">
|
|
Internal testing facilities for the weston compositor.
|
|
|
|
It can't be stressed enough that these should never ever be used
|
|
outside of running weston's tests. The weston-test.so module should
|
|
never be installed.
|
|
|
|
These requests may allow clients to do very bad things.
|
|
</description>
|
|
<request name="move_surface">
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
|
<arg name="x" type="int"/>
|
|
<arg name="y" type="int"/>
|
|
</request>
|
|
<request name="move_pointer">
|
|
<arg name="x" type="int"/>
|
|
<arg name="y" type="int"/>
|
|
</request>
|
|
<request name="send_button">
|
|
<arg name="button" type="int"/>
|
|
<arg name="state" type="uint"/>
|
|
</request>
|
|
<request name="activate_surface">
|
|
<arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
|
|
</request>
|
|
<request name="send_key">
|
|
<arg name="key" type="uint"/>
|
|
<arg name="state" type="uint"/>
|
|
</request>
|
|
<request name="device_release">
|
|
<arg name="device" type="string"/>
|
|
</request>
|
|
<request name="device_add">
|
|
<arg name="device" type="string"/>
|
|
</request>
|
|
<event name="pointer_position">
|
|
<arg name="x" type="fixed"/>
|
|
<arg name="y" type="fixed"/>
|
|
</event>
|
|
<request name="get_n_egl_buffers">
|
|
<!-- causes a n_egl_buffers event to be sent which reports how many
|
|
buffer objects are live for the client -->
|
|
</request>
|
|
<event name="n_egl_buffers">
|
|
<arg name="n" type="uint"/>
|
|
</event>
|
|
<request name="capture_screenshot">
|
|
<description summary="records current screen image">
|
|
Records an image of what is currently displayed on a given
|
|
display output, returning the image as an event.
|
|
</description>
|
|
<arg name="output" type="object" interface="wl_output"
|
|
summary="output to capture from"/>
|
|
<arg name="buffer" type="object" interface="wl_buffer"
|
|
summary="buffer for returning screenshots to the test client"/>
|
|
</request>
|
|
<event name="capture_screenshot_done">
|
|
<description summary="screenshot capture is done">
|
|
The capture_screenshot_done signal is sent when a screenshot has been copied into the
|
|
provided buffer.
|
|
</description>
|
|
</event>
|
|
</interface>
|
|
|
|
<interface name="weston_test_runner" version="1">
|
|
<description summary="weston internal testing">
|
|
This is a global singleton interface for Weston internal tests.
|
|
|
|
This interface allows a test client to trigger compositor-side
|
|
test procedures. This is useful for cases, where the actual tests
|
|
are in compositor plugins, but they also require the presence of
|
|
a particular client.
|
|
|
|
This interface is implemented by the compositor plugins containing
|
|
the testing code.
|
|
|
|
A test client starts a test with the "run" request. It must not send
|
|
another "run" request until receiving the "finished" event. If the
|
|
compositor-side test succeeds, the "finished" event is sent. If the
|
|
compositor-side test fails, the compositor should send the protocol
|
|
error "test_failed", but it may also exit with an error (e.g. SEGV).
|
|
|
|
Unknown test name will raise "unknown_test" protocol error.
|
|
</description>
|
|
|
|
<enum name="error">
|
|
<entry name="test_failed" value="0" summary="compositor test failed"/>
|
|
<entry name="unknown_test" value="1" summary="unrecognized test name"/>
|
|
</enum>
|
|
|
|
<request name="destroy" type="destructor"/>
|
|
|
|
<request name="run">
|
|
<arg name="test_name" type="string"/>
|
|
</request>
|
|
|
|
<event name="finished"/>
|
|
</interface>
|
|
</protocol>
|