blob: e131bec1543d66bb5b749336f5eca9821dc5c85c [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<protocol name="webos_foreign">
<copyright>
Copyright (c) 2018-2019 LG Electronics, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
</copyright>
<interface name="wl_webos_foreign" version="1">
<description summary="entry point for webos_foreign"/>
<request name="destroy" type="destructor"/>
<enum name="webos_exported_type">
<description summary="type of webos_exported"/>
<entry name="video_object" value="0" summary="exported window for video object"/>
<entry name="subtitle_object" value="1" summary="exported window for subtitle object"/>
</enum>
<request name="export_element">
<description summary="create webos_exported"/>
<arg name="id" type="new_id" interface="wl_webos_exported"/>
<arg name="surface" type="object" interface="wl_surface"/>
<arg name="exported_type" type="uint"/>
</request>
<request name="import_element">
<description summary="create webos_imported"/>
<arg name="id" type="new_id" interface="wl_webos_imported"/>
<arg name="window_id" type="string" summary="window_id of associated exported window assigned by compositor"/>
<arg name="exported_type" type="uint"/>
</request>
</interface>
<interface name="wl_webos_exported" version="1">
<description summary="exported window"/>
<request name="destroy" type="destructor"/>
<request name="set_exported_window">
<description summary="set window to be exported"/>
<arg name="source_region" type="object" interface="wl_region" summary="source region of exported window"/>
<arg name="destination_region" type="object" interface="wl_region" summary="destination region of exported window"/>
</request>
<event name="window_id_assigned">
<description summary="window is associated with this wl_webos_exported"/>
<arg name="window_id" type="string" summary="window_id of associated exported window"/>
<arg name="exported_type" type="uint"/>
</event>
</interface>
<interface name="wl_webos_imported" version="1">
<description summary="imported content or punchthrough to be placed in exported window"/>
<enum name="surface_alignment" bitfield="true">
<entry name="stretch" value="0"/>
<entry name="north" value="1"/>
<entry name="west" value="2"/>
<entry name="south" value="4"/>
<entry name="east" value="8"/>
<entry name="center" value="16"/>
</enum>
<request name="set_surface_alignment">
<arg name="format" type="uint" enum="surface_alignment" summary="alignment the texture onto export"/>
</request>
<request name="destroy" type="destructor"/>
<request name="attach_punchthrough">
<description summary="attach punchthrough to webos_imported"/>
</request>
<request name="detach_punchthrough">
<description summary="detach punchthrough from webos_imported"/>
</request>
<request name="attach_surface">
<description summary="attach surface to webos_imported"/>
<arg name="surface" type="object" interface="wl_surface"/>
</request>
<request name="detach_surface">
<description summary="detach surface from webos_imported"/>
<arg name="surface" type="object" interface="wl_surface"/>
</request>
<event name="destination_region_changed">
<description summary="destination region of associated exported window has changed"/>
<arg name="width" type="uint" summary="destination width of exported window"/>
<arg name="height" type="uint" summary="destination height of exported window"/>
</event>
</interface>
</protocol>