1 <protocol name="tizen_extension">
2 <interface name="tizen_surface" version="1">
3 <request name="get_tizen_resource">
4 <arg name="id" type="new_id" interface="tizen_resource" />
5 <arg name="surface" type="object" interface="wl_surface" />
9 <interface name="tizen_resource" version="1">
10 <request name="destroy" type="destructor" />
12 <event name="resource_id">
13 <arg name="id" type="uint" />
17 <interface name="tizen_policy" version="1">
18 <request name="get_visibility">
19 <arg name="id" type="new_id" interface="tizen_visibility" summary="new visibility object"/>
20 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
23 <request name="get_position">
24 <arg name="id" type="new_id" interface="tizen_position" summary="new position object"/>
25 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
28 <request name="activate">
29 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
32 <request name="activate_below_by_res_id">
33 <arg name="res_id" type="uint" />
34 <arg name="below_res_id" type="uint" />
37 <request name="raise">
38 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
41 <request name="lower">
42 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
45 <request name="lower_by_res_id">
46 <arg name="res_id" type="uint" />
49 <request name="set_focus_skip">
50 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
53 <request name="unset_focus_skip">
54 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
57 <request name="set_role">
58 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
59 <arg name="role" type="string"/>
62 <enum name="win_type">
63 <entry name="none" value="0"/>
64 <entry name="toplevel" value="1"/>
65 <entry name="fullscreen" value="2"/>
66 <entry name="maximized" value="3"/>
67 <entry name="transient" value="4"/>
68 <entry name="menu" value="5"/>
69 <entry name="dnd" value="6"/>
70 <entry name="custom" value="7"/>
71 <entry name="notification" value="8"/>
72 <entry name="utility" value="9"/>
75 <request name="set_type">
76 <arg name="surface" type="object" interface="wl_surface"/>
77 <arg name="win_type" type="uint" />
80 <!-- for conformant -->
81 <request name="set_conformant">
82 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
85 <request name="unset_conformant">
86 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
89 <request name="get_conformant">
90 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
93 <event name="conformant">
94 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
95 <arg name="is_conformant" type="uint"/>
98 <enum name="conformant_part">
99 <entry name="indicator" value="0"/>
100 <entry name="keyboard" value="1"/>
101 <entry name="clipboard" value="2"/>
104 <event name="conformant_area">
105 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
106 <arg name="conformant_part" type="uint"/>
107 <arg name="state" type="uint"/>
108 <arg name="x" type="int"/>
109 <arg name="y" type="int"/>
110 <arg name="w" type="int"/>
111 <arg name="h" type="int"/>
114 <enum name="error_state">
115 <entry name="none" value="0"/>
116 <entry name="permission_denied" value="1"/>
119 <!-- for notification -->
121 <entry name="1" value="0"/>
122 <entry name="2" value="1"/>
123 <entry name="3" value="2"/>
124 <entry name="none" value="-1"/>
125 <entry name="default" value="10"/>
126 <entry name="medium" value="20"/>
127 <entry name="high" value="30"/>
128 <entry name="top" value="40"/>
131 <request name="set_notification_level">
132 <arg name="surface" type="object" interface="wl_surface"/>
133 <arg name="level" type="int"/>
136 <event name="notification_done">
137 <arg name="surface" type="object" interface="wl_surface"/>
138 <arg name="level" type="int"/>
139 <arg name="error_state" type="uint"/>
142 <!-- for transient_for -->
143 <request name="set_transient_for">
144 <arg name="child_id" type="uint" />
145 <arg name="parent_id" type="uint" />
148 <request name="unset_transient_for">
149 <arg name="child_id" type="uint" />
152 <event name="transient_for_done">
153 <arg name="child_id" type="uint"/>
156 <!-- for window_screen_mode -->
158 <entry name="default" value="0"/>
159 <entry name="always_on" value="1"/>
162 <request name="set_window_screen_mode">
163 <arg name="surface" type="object" interface="wl_surface"/>
164 <arg name="mode" type="uint"/>
167 <event name="window_screen_mode_done">
168 <arg name="surface" type="object" interface="wl_surface"/>
169 <arg name="mode" type="uint"/>
170 <arg name="error_state" type="uint"/>
173 <!-- for subsurface -->
174 <request name="place_subsurface_below_parent">
175 <arg name="subsurface" type="object" interface="wl_subsurface"/>
178 <request name="set_subsurface_stand_alone">
179 <arg name="subsurface" type="object" interface="wl_subsurface"/>
182 <request name="get_subsurface">
183 <arg name="id" type="new_id" interface="wl_subsurface" />
184 <arg name="surface" type="object" interface="wl_surface" />
185 <arg name="parent_id" type="uint" />
188 <!-- for opaque_state -->
189 <request name="set_opaque_state">
190 <arg name="surface" type="object" interface="wl_surface" />
191 <arg name="state" type="int"/>
195 <request name="iconify">
196 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
198 <request name="uniconify">
199 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
202 <event name="iconify_state_changed">
203 <arg name="surface" type="object" interface="wl_surface"/>
204 <arg name="iconified" type="uint"/>
205 <arg name="force" type="uint"/>
208 <!-- for aux_hint -->
209 <request name="add_aux_hint">
210 <arg name="surface" type="object" interface="wl_surface"/>
211 <arg name="id" type="int" />
212 <arg name="name" type="string" />
213 <arg name="value" type="string" />
216 <request name="change_aux_hint">
217 <arg name="surface" type="object" interface="wl_surface"/>
218 <arg name="id" type="int" />
219 <arg name="value" type="string" />
222 <request name="del_aux_hint">
223 <arg name="surface" type="object" interface="wl_surface"/>
224 <arg name="id" type="int" />
227 <request name="get_supported_aux_hints">
228 <arg name="surface" type="object" interface="wl_surface"/>
231 <event name="supported_aux_hints">
232 <arg name="surface" type="object" interface="wl_surface"/>
233 <arg name="hints" type="array" />
234 <arg name="num_hints" type="uint"/>
237 <event name="allowed_aux_hint">
238 <arg name="surface" type="object" interface="wl_surface"/>
239 <arg name="id" type="int" />
242 <!-- for aux_message -->
243 <event name="aux_message">
244 <arg name="surface" type="object" interface="wl_surface" />
245 <arg name="key" type="string" />
246 <arg name="value" type="string" />
247 <arg name="options" type="array" />
250 <!-- for background state -->
251 <request name="set_background_state">
252 <arg name="pid" type="uint" />
255 <request name="unset_background_state">
256 <arg name="pid" type="uint" />
259 <!-- for floating mode -->
260 <request name="set_floating_mode">
261 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
264 <request name="unset_floating_mode">
265 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
268 <!-- for stack mode -->
269 <enum name="stack_mode">
270 <entry name="none" value="0"/>
271 <entry name="above" value="1"/>
272 <entry name="below" value="2"/>
275 <request name="set_stack_mode">
276 <arg name="surface" type="object" interface="wl_surface"/>
277 <arg name="mode" type="uint" />
281 <interface name="tizen_visibility" version="1">
282 <request name="destroy" type="destructor"/>
284 <enum name="visibility">
285 <entry name="unobscured" value="0"/>
286 <entry name="partially_obscured" value="1"/>
287 <entry name="fully_obscured" value="2"/>
290 <event name="notify">
291 <arg name="visibility" type="uint"/>
295 <interface name="tizen_position" version="1">
296 <request name="destroy" type="destructor"/>
299 <arg name="x" type="int"/>
300 <arg name="y" type="int"/>
303 <event name="changed">
304 <arg name="x" type="int"/>
305 <arg name="y" type="int"/>
309 <interface name="tizen_gesture" version="1">
311 <entry name="none" value="0"/>
312 <entry name="invalid_data" value="1"/>
313 <entry name="no_permission" value="2"/>
314 <entry name="no_system_resources" value="3"/>
315 <entry name="grabbed_already" value="4"/>
319 <entry name="swipe" value="1"/>
323 <entry name="begin" value="1"/>
324 <entry name="update" value="2"/>
325 <entry name="end" value="3"/>
326 <entry name="done" value="4"/>
329 <enum name="direction">
330 <entry name="down" value="1"/>
331 <entry name="left" value="2"/>
332 <entry name="up" value="4"/>
333 <entry name="right" value="8"/>
336 <request name="grab_swipe">
337 <arg name="num_of_fingers" type="uint"/>
338 <arg name="direction" type="uint"/>
341 <request name="ungrab_swipe">
342 <arg name="num_of_fingers" type="uint"/>
343 <arg name="direction" type="uint"/>
346 <event name="grab_swipe_notify">
347 <arg name="num_of_fingers" type="uint"/>
348 <arg name="direction" type="uint" enum="direction"/>
349 <arg name="error" type="uint"/>
353 <arg name="mode" type="uint" enum="mode"/>
354 <arg name="num_of_fingers" type="uint"/>
355 <arg name="sx" type="int" summary="x coordinate of touch down point"/>
356 <arg name="sy" type="int" summary="y coordinate of touch down point"/>
357 <arg name="direction" type="uint" enum="direction"/>
361 <interface name="tizen_keyrouter" version="1">
362 <description summary="an interface to set each focus for each key">
363 In tradition, all the keys in a keyboard and a device on which
364 some keys are attached will be sent to focus surface by default.
365 Currently it's possible to set up each focus for each key in a keyboard and a device.
366 Therefore, by setting a key grab for a surface, the owner of the
367 surface will get the key event when it has the key grab for the key.
371 <entry name="none" value="0" summary="no error"/>
372 <entry name="invalid_surface" value="1" summary="Given surface is invalid."/>
373 <entry name="invalid_key" value="2" summary="Given key is invalid."/>
374 <entry name="invalid_mode" value="3" summary="Given mode is invalid."/>
375 <entry name="grabbed_already" value="4" summary="The key has been grabbed already."/>
376 <entry name="no_permission" value="5" summary="The wl client has no permission to grab the key."/>
377 <entry name="no_system_resources" value="6" summary="System resources are insufficient."/>
378 <entry name="invalid_array" value="7" summary="Given array has invalid pairs or data type."/>
382 <description summary="mode for a key grab">
383 This value is used to set a mode for a key grab. With this mode and
384 the order of the surface between surfaces' stack, the compositor will determine the destination client
387 <entry name="none" value="0" summary="none"/>
388 <entry name="shared" value="1"
389 summary="mode to get a key grab with the other client surfaces when the focused client surface gets the key"/>
390 <entry name="topmost" value="2"
391 summary="mode to get a key grab when the client surface is the top most surface"/>
392 <entry name="overridable_exclusive" value="3"
393 summary="mode to get a key grab exclusively, overridably regardless of the order in the surface stack"/>
394 <entry name="exclusive" value="4"
395 summary="mode to get a key grab exclusively regardless of the order in surface stack"/>
396 <entry name="registered" value="5"
397 summary="mode to get a key grab only when a requesting surface is on top among the registering surfaces for the key"/>
400 <enum name="config_mode">
401 <description summary="mode for setting specific property for Key delivery">
402 This value is used to set a mode for a window. With this mode and
403 the order of the surface between surfaces' stack, the compositor will determine the destination client
406 <entry name="none" value="0" summary="none"/>
407 <entry name="invisible_set" value="1"
408 summary="mode to set window to enable send event to invisible window below in stack"/>
409 <entry name="invisible_get" value="2"
410 summary="mode to set window to get event to invisible state if any top window has set register_set"/>
411 <entry name="num_key_focus" value="3"
412 summary="mode to register for num keys for focus window"/>
413 <entry name="picture_off" value="4"
414 summary="mode to set picture off for particular key"/>
417 <request name="set_keygrab">
418 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
419 <arg name="key" type="uint"/>
420 <arg name="mode" type="uint"/>
423 <request name="unset_keygrab">
424 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
425 <arg name="key" type="uint"/>
428 <request name="get_keygrab_status">
429 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
430 <arg name="key" type="uint"/>
433 <request name="set_keygrab_list">
434 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
435 <arg name="grab_list" type="array" summary="array of two integer variables pairs each pairs consist of keycode and keygrab mode"/>
438 <request name="unset_keygrab_list">
439 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
440 <arg name="ungrab_list" type="array" summary="array of integer variables meaning keycode wanted to ungrab"/>
443 <request name="get_keygrab_list">
444 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
447 <request name="set_register_none_key">
448 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
449 <arg name="data" type="uint"/>
452 <request name="get_keyregister_status">
453 <arg name="data" type="uint"/>
456 <request name="set_input_config">
457 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
458 <arg name="config_mode" type="uint"/>
459 <arg name="value" type="uint"/>
462 <event name="keygrab_notify">
463 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
464 <arg name="key" type="uint"/>
465 <arg name="mode" type="uint"/>
466 <arg name="error" type="uint"/>
469 <event name="keygrab_notify_list">
470 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
471 <arg name="grab_result" type="array" summary="array of three integer variables pairs each pairs consist of keycode, keygrab mode and keygrab result"/>
474 <event name="getgrab_notify_list">
475 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
476 <arg name="grab_result" type="array" summary="array of two integer variables pairs each pairs consist of keycode, keygrab mode"/>
479 <event name="set_register_none_key_notify">
480 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
481 <arg name="mode" type="uint"/>
484 <event name="keyregister_notify">
485 <arg name="status" type="uint"/>
488 <event name="set_input_config_notify">
489 <arg name="status" type="uint"/>
493 <interface name="tizen_screenshooter" version="1">
494 <description summary="interface for tizen-screenshooter">
495 Clients can get a screenmirror object from this interface.
498 <request name="get_screenmirror">
499 <description summary="create a screenmirror object">
500 Before using screenmirror, a client should get a screenmirror object from display
503 <arg name="id" type="new_id" interface="tizen_screenmirror" summary="new screenmirror object"/>
504 <arg name="output" type="object" interface="wl_output" summary="output object for screenmirror"/>
507 <event name="format">
508 <description summary="supported format for screenshooter">
509 The tbm format codes match the #defines in tbm_surface.h. The formats actually
510 supported by the compositor will be reported by the format event.
512 <arg name="format" type="uint"/>
517 <interface name="tizen_screenmirror" version="1">
518 <description summary="interface for screenmirror">
519 A client can use this interface to get stream images of screen. Before starting,
520 queue all buffers. Then, start a screenmirror. After starting, a dequeued event
521 will occur when drawing a captured image on a buffer is finished. You might
522 need to queue the dequeued buffer again to get a new image from display server.
525 <request name="destroy" type="destructor"/>
527 <request name="set_stretch">
528 <arg name="stretch" type="uint" summary="stretch type for screenmirror"/>
531 <request name="queue">
532 <description summary="queue a buffer"/>
533 <arg name="buffer" type="object" interface="wl_buffer" summary="buffer object for screenmirror"/>
536 <request name="dequeue">
537 <description summary="dequeue a buffer">
538 A user can dequeue a buffer from display server when he wants to take back it from server.
540 <arg name="buffer" type="object" interface="wl_buffer" summary="buffer object for screenmirror"/>
543 <request name="start"/>
544 <request name="stop"/>
546 <enum name="content">
547 <entry name="normal" value="0"/>
548 <entry name="video" value="1"/>
551 <enum name="stretch">
552 <entry name="keep_ratio" value="0"/>
553 <entry name="fully" value="1"/>
556 <event name="dequeued">
557 <description summary="dequeued event">
558 occurs when drawing a captured image on a buffer is finished
560 <arg name="buffer" type="object" interface="wl_buffer" summary="dequeued buffer which contains a captured image"/>
563 <event name="content">
564 <description summary="content changed event">
565 occurs when the content of a captured image is changed. (normal or video)
567 <arg name="content" type="uint"/>
571 <description summary="stop event">
572 occurs when the screenmirror is stopped eventually
577 <interface name="tizen_video" version="1">
579 <description summary="interface for tizen-video">
580 Clients can get the video information that the compositor can handle from this interface.
584 <entry name="none" value="0"/>
585 <entry name="object_exists" value="1"/>
586 <entry name="viewport_exists" value="2"/>
589 <event name="format">
590 <description summary="supported format for video">
591 The tbm format codes match the #defines in tbm_surface.h. The formats actually
592 supported by the compositor will be reported by the format event.
594 <arg name="format" type="uint"/>
597 <request name="get_object">
598 <arg name="id" type="new_id" interface="tizen_video_object" />
599 <arg name="surface" type="object" interface="wl_surface" />
602 <request name="get_viewport">
603 <arg name="id" type="new_id" interface="tizen_viewport" />
604 <arg name="surface" type="object" interface="wl_surface" />
609 <interface name="tizen_video_object" version="1">
611 <event name="attribute">
612 <arg name="name" type="string"/>
613 <arg name="value" type="uint"/>
617 <arg name="min_w" type="int"/>
618 <arg name="min_h" type="int"/>
619 <arg name="max_w" type="int"/>
620 <arg name="max_h" type="int"/>
621 <arg name="prefer_align" type="int"/>
624 <request name="destroy" type="destructor"/>
625 <request name="set_attribute">
626 <arg name="name" type="string"/>
627 <arg name="value" type="int"/>
632 <interface name="tizen_viewport" version="1">
634 <description summary="the viewport for a surface">
635 This is the alternative and convenient solution of wl_viewport to present
638 The below five functions can be replaced with this interface. The below
639 functions will be ignored after applying this interface to a surface.
640 - wl_surface.set_buffer_transform
641 - wl_surface.set_buffer_scale
642 - wl_subsurface.set_position
643 - wl_viewport.set_source
644 - wl_viewport.set_destination
646 wl_viewport.set_source is very complicated especially when the buffer of
647 wl_surface is transformed by wl_surface.set_buffer_transform. And when the
648 parent is resized, if we want to change the geometry of a subsurface also,
649 wl_subsurface.set_position and wl_viewport.set_destination should be called
650 everytime the parent is resized in client side. This makes difficult to
651 synchronize a parent surface and a subsurface on screen.
653 tizen_viewport allows clients to set the relative geometry to a subsurface
654 in a parent surface. Whenever a parent surface is resized, the geometry of
655 a subsurface will be calculated, moved and resized automatically by a
656 compositor. The tizen_viewport is specified in the coordinates of a
659 If tizen_viewport is applied to a shell surface(toplevel), the all value related
660 with x, y pos of tizen_viewport and tizen_destination_mode interface will be ignored.
662 The below 3 functions don't consider the transform of a parent's surface.
663 - tizen_viewport.set_source
664 - tizen_viewport.set_destination
665 - tizen_viewport.set_destination_ratio
667 Furthermore, tizen_destination_mode.follow_parent_transform is called,
668 tizen_viewport will consider the transform of a parent surface when applying
669 the destination mode to a subsurface. If tizen_destination_mode.follow_parent_transform
670 is applied to a shell surface, it will be ignored.
672 The destination will be cropped by a parent surface.
674 The change will be applied when wl_surface.commit is called.
677 <event name="destination_changed">
678 <arg name="transform" type="uint"/>
679 <arg name="x" type="int"/>
680 <arg name="y" type="int"/>
681 <arg name="width" type="uint"/>
682 <arg name="height" type="uint"/>
685 <request name="destroy" type="destructor" />
687 <request name="set_transform">
688 <description summary="set the transform of a surface">
689 The accepted values for the transform parameter are the values for wl_output.transform
690 according to the output transform.
692 The tizen_viewport.set_transform is applied only to itself. Basically it
693 doesn't effect the transform of its subsurfaces. That is, if 90 transform is
694 setted and its subsurface still has 0 transform, its subsurface won't be
697 If needed to rotate the subsurface depended on a parent surface,
698 tizen_destination_mode.follow_parent_transform will make it possible.
701 <arg name="transform" type="uint"/>
704 <request name="set_source">
705 <description summary="set the source rectalge of a wl_buffer">
706 The source rectangle won't be changed when a parent is resized. If it needs
707 to be changed, tizen_viewport.set_source should be called with new values.
709 <arg name="x" type="uint"/>
710 <arg name="y" type="uint"/>
711 <arg name="width" type="uint"/>
712 <arg name="height" type="uint"/>
715 <request name="set_destination">
716 <description summary="set the destination geometry of a surface">
717 The destination geometry won't be changed when a parent is resized. If it
718 needs to be changed, tizen_viewport.set_destination should be called with
721 If tizen_viewport is applied to a shell surface(toplevel), the x, y value of
722 tizen_viewport.set_destination will be ignored.
724 <arg name="x" type="int"/>
725 <arg name="y" type="int"/>
726 <arg name="width" type="uint"/>
727 <arg name="height" type="uint"/>
730 <request name="set_destination_ratio">
731 <description summary="set the ratio destination rectalge in a parent surface">
732 The destination rectangle of a subsurface will be automatically changed
733 when a parent is resized. This allows the real number between 0.0 and 1.0.
734 See wl_fixed_from_double and wl_fixed_to_double.
736 If tizen_viewport is applied to a shell surface(toplevel), the x, y value of
737 tizen_viewport.set_destination_ratio will be ignored.
739 <arg name="x" type="fixed"/>
740 <arg name="y" type="fixed"/>
741 <arg name="width" type="fixed"/>
742 <arg name="height" type="fixed"/>
745 <request name="get_destination_mode">
746 <arg name="id" type="new_id" interface="tizen_destination_mode" />
751 <interface name="tizen_destination_mode" version="1">
753 <description summary="the destination mode for a surface">
754 The destination rectangle will be automatically changed when a parent is
755 resized. When tizen_destination_mode.set is called, the value of
756 tizen_viewport.set_destination and tizen_viewport.set_destination_ratio
759 The destination of a surface is decided by the mode, ratio, scale, offset
760 and align values. The ratio, scale, offset and align will be applied
763 The change will be applied when wl_surface.commit is called.
767 <entry name="invalid_type" value="0"/>
771 <entry name="none" value="0"/>
772 <entry name="letter_box" value="1"/>
773 <entry name="origin" value="2"/>
774 <entry name="full" value="3"/>
775 <entry name="cropped_full" value="4"/>
776 <entry name="origin_or_letter" value="5"/>
779 <request name="destroy" type="destructor" />
781 <request name="follow_parent_transform">
782 <description summary="follow the transform change of a parent surface">
783 The real transform of a subsurface is (parent's transform + subsurface's transform).
784 That is, the subsurface will be rotated automatically when the parent is rotated.
786 If tizen_destination_mode.follow_parent_transform is applied to a shell surface(toplevel),
791 <request name="unfollow_parent_transform" />
793 <request name="set" summary="set the destination mode">
794 <arg name="mode" type="uint" enum="type"/>
797 <request name="set_ratio">
798 <description summary="set the ratio of the destination rectangle of a subsurface">
799 This allows the real number. See wl_fixed_from_double and wl_fixed_to_double.
801 <arg name="horizontal" type="fixed"/>
802 <arg name="vertical" type="fixed"/>
805 <request name="set_scale">
806 <description summary="set the scale of the destination rectangle of a subsurface">
807 This allows the real number. See wl_fixed_from_double and wl_fixed_to_double.
809 <arg name="horizontal" type="fixed"/>
810 <arg name="vertical" type="fixed"/>
813 <request name="set_align">
814 <description summary="set the align of the destination rectangle of a subsurface">
815 This allows the real number between 0.0 and 1.0. See wl_fixed_from_double and
818 <arg name="horizontal" type="fixed"/>
819 <arg name="vertical" type="fixed"/>
822 <request name="set_offset">
823 <arg name="x" type="int"/>
824 <arg name="y" type="int"/>
825 <arg name="w" type="int"/>
826 <arg name="h" type="int"/>
831 <interface name="tizen_embedded_compositor" version="1">
833 <description summary="global embedded compositor object">
834 The global obejct. Wayland has 3 type of compositor, embedded compositor is one of them.
835 But tizen application is sendboxing by smack, then a application not allow commutication to other application by socket.
836 So system or session compositor create socket and send to embedded compostior.
839 <request name="get_socket">
840 <description summary="create new socket">
841 The get_socket request ask the server to create socket and emit socket event.
845 <event name="socket">
846 <description summary="socket fd">
847 Sent immediately after get_socket request
849 <arg name="sock_fd" type="fd"/>
854 <interface name="tizen_input_device_manager" version="1">
855 <description summary="global input device manager object">
856 Tizen input device manager is a global interface. This object has device add/remove events
857 to provide tizen input device object to a client. This allows for a client to get the con
859 Be sure to bind this interface after binding wl_seat interface.
860 Tizen input device manager interface will only provide device add/remove event for devices
861 which belongs to the wl_seat object(s) bound by the client. Therefore, the compositor needs to
862 create/send the device add/remove event only for the current client's seat(s).
865 <event name="device_add">
866 <description summary="device addition event">
867 The device add/remove notification is going to be sent when a physical/logical device is
868 added/removed to/from the given seat. Note that a tizen input device object can be assigned to
869 a wl_seat and can also be assigned to the other wl_seat at any time. Whenever a relationship between
870 a tizen input device object changes, device remove event from the current wl_seat object will be made
871 and device add event to the other wl_seat object will also be mode.
873 <arg name="serial" type="uint"/>
874 <arg name="identifier" type="string"/>
875 <arg name="device" type="new_id" interface="tizen_input_device"/>
876 <arg name="seat" type="object" interface="wl_seat"/>
879 <event name="device_remove">
880 <description summary="device removal event">
881 The device add/remove notification is going to be sent when a physical/logical device is
882 added/removed to/from the given seat. Note that a tizen input device object can be assigned to
883 a wl_seat and can also be assigned to the other wl_seat at any time. Whenever a relationship between
884 a tizen input device object changes, device remove event from the current wl_seat object will be made
885 and device add event to the other wl_seat object will also be mode.
887 <arg name="serial" type="uint"/>
888 <arg name="identifier" type="string"/>
889 <arg name="device" type="object" interface="tizen_input_device"/>
890 <arg name="seat" type="object" interface="wl_seat"/>
894 <description summary="device class">
896 <entry name="none" value="0" summary="none of class"/>
897 <entry name="mouse" value="1" summary="mouse class"/>
898 <entry name="keyboard" value="2" summary="keyboard class"/>
899 <entry name="touchscreen" value="4" summary="touchscreen class"/>
903 <entry name="none" value="0" summary="no error"/>
904 <entry name="no_permission" value="1" summary="no permission"/>
905 <entry name="invalid_class" value="2" summary="invalid class"/>
906 <entry name="blocked_already" value="3" summary="blocked already by the other client"/>
907 <entry name="no_system_resources" value="4" summary="no system resources such as memory lack"/>
908 <entry name="invalid_parameter" value="5" summary="argument is invalid"/>
909 <entry name="invalid_surface" value="6" summary="the given surface is not visible or pointer is not on the given surface"/>
910 <entry name="no_pointer_available" value="7" summary="there is no pointer available to warp"/>
914 <description summary="error event">
916 <arg name="errorcode" type="uint" enum="error"/>
919 <event name="block_expired">
920 <description summary="block expiration event">
921 This event will be sent if the duration of existing block is expired.
922 Note that no block expired event will be sent if there is no block for the client.
926 <request name="block_events">
927 <description summary="request to block sending event(s)">
928 This request allows a client to request to block one or more events for its purpose.
929 By specifying class as an argument in the request, the events belongs to the class will be blocked
930 during the given duration. Note that an error event will be sent if there is any error.
932 <arg name="serial" type="uint" summary=""/>
933 <arg name="clas" type="uint" enum="clas"/>
934 <arg name="duration" type="uint" summary="time duration with millisecond granularity"/>
937 <request name="unblock_events">
938 <description summary="request to unblock sending event(s)">
939 This request allows a client to request to release the existing block for the client.
940 Note that no error event will be sent if there is no existing block for the client.
942 <arg name="serial" type="uint" summary=""/>
945 <request name="init_generator">
946 <description summary="initialize input generator system">
950 <request name="deinit_generator">
951 <description summary="deinitialize input generator system">
955 <request name="generate_key">
956 <description summary="generate a key event using specific or default device">
958 <arg name="keyname" type="string"/>
959 <arg name="pressed" type="uint"/>
962 <enum name="pointer_event_type">
963 <entry name="begin" value="0"/>
964 <entry name="update" value="1"/>
965 <entry name="end" value="2"/>
968 <request name="generate_pointer">
969 <description summary="generate a pointer event using specific or default device">
971 <arg name="type" type="uint" enum="pointer_event_type"/>
972 <arg name="x" type="uint"/>
973 <arg name="y" type="uint"/>
974 <arg name="button" type="uint"/>
977 <request name="generate_touch">
978 <description summary="generate a touch event using specific or default device">
980 <arg name="type" type="uint" enum="pointer_event_type"/>
981 <arg name="x" type="uint"/>
982 <arg name="y" type="uint"/>
983 <arg name="finger" type="uint"/>
986 <request name="pointer_warp">
987 <description summary="warp pointer to the relative position to the given surface">
989 <arg name="surface" type="object" interface="wl_surface"/>
990 <arg name="x" type="fixed"/>
991 <arg name="y" type="fixed"/>
995 <interface name="tizen_input_device" version="1">
996 <description summary="tizen input device object">
997 The tizen_input_device interface represents one or more input devices associated with a physical/logical
998 input device. This interface provides device specific information/events to allows for client to identify
999 the source device of an event or to get the additional axes/attributes of a device.
1000 Note that a tizen_input_device object can be used for a physical input device and can also be used for a
1001 group of input devices. e.g. a group of mouse devices
1005 <description summary="device class">
1007 <entry name="none" value="0" summary="none of class"/>
1008 <entry name="keyboard" value="2" summary="keyboard class"/>
1009 <entry name="mouse" value="3" summary="mouse class"/>
1010 <entry name="touchscreen" value="4" summary="touchscreen class"/>
1013 <enum name="subclas">
1014 <description summary="device subclass">
1016 <entry name="none" value="0" summary="none of subclass"/>
1019 <enum name="axis_type">
1020 <description summary="axis type enums which can be supported by a device">
1022 <entry name="none" value="0" summary="radius of x axis of an event area e.g. touching area with a finger or a pen"/>
1023 <entry name="radius_x" value="1" summary="radius of x axis of an event area e.g. touching area with a finger or a pen"/>
1024 <entry name="radius_y" value="2" summary="radius of y axis of an event area e.g. touching area with a finger or a pen"/>
1025 <entry name="pressure" value="3" summary="pressure in an event area e.g. touching area with a finger or a pen"/>
1026 <entry name="angle" value="4" summary="angle in an event area e.g. touching area with a finger or a pen"/>
1027 <entry name="detent" value="5" summary="detent value e.g. moved distance with a rotary device"/>
1030 <event name="device_info">
1031 <description summary="event contains device information">
1033 <arg name="name" type="string"/>
1034 <arg name="clas" type="uint" enum="clas"/>
1035 <arg name="subclas" type="uint" enum="subclas"/>
1036 <arg name="axes" type="array" summary="array of axis enum"/>
1039 <event name="event_device">
1040 <description summary="event indicates the source device associated with a wl_pointer/keyboard/touch event">
1042 <arg name="serial" type="uint"/>
1043 <arg name="name" type="string"/>
1044 <arg name="time" type="uint" summary="timestamp with millisecond granularity"/>
1047 <request name="select_axes">
1048 <description summary="request for selecting some of axes among the axes supported by a tizen_input_device object">
1050 <arg name="axes" type="array" summary="array of axis num"/>
1054 <description summary="axis change event">
1056 <arg name="axis_type" type="uint" enum="axis_type"/>
1057 <arg name="value" type="fixed" summary="axis value"/>
1060 <request name="release" type="destructor">
1061 <description summary="release the tizen_input_device object">
1066 <interface name="tizen_launchscreen" version="1">
1067 <request name="create_img">
1068 <arg name="id" type="new_id" interface="tizen_launch_image" summary="new tizen_launch_image object"/>
1072 <interface name="tizen_launch_image" version="1">
1074 <enum name="file_type">
1075 <entry name="img" value="0" summary="splash image file path"/>
1076 <entry name="edj" value="1" summary="splash edj file path"/>
1079 <enum name="indicator">
1080 <entry name="off" value="0" summary="splash hide indicator"/>
1081 <entry name="on" value="1" summary="splash show indicator"/>
1084 <enum name="rotation">
1085 <entry name="0" value="0" summary="rotation angle 0 degree"/>
1086 <entry name="90" value="90" summary="rotation angle 90 degree"/>
1087 <entry name="180" value="180" summary="rotation angle 180 degree"/>
1088 <entry name="270" value="270" summary="rotation angle 270 degree"/>
1091 <request name="destroy" type="destructor"/>
1093 <request name="launch">
1094 <arg name="file" type="string"/>
1095 <arg name="file_type" type="uint" />
1096 <arg name="color_depth" type="uint" />
1097 <arg name="rotation" type="uint" />
1098 <arg name="indicator" type="uint" />
1099 <arg name="options" type="array" />
1102 <request name="owner">
1103 <arg name="pid" type="uint" />
1106 <request name="show">
1109 <request name="hide">
1113 <interface name="tizen_effect" version="1">
1115 <entry name="none" value="0" summary="none"/>
1116 <entry name="show" value="1" summary="show effect of window"/>
1117 <entry name="hide" value="2" summary="hide effect of window"/>
1118 <entry name="restack" value="3" summary="restack effect of window"/>
1120 <request name="destroy" type="destructor" />
1121 <event name="start">
1122 <arg name="surface" type="object" interface="wl_surface"/>
1123 <arg name="type" type="uint" />
1126 <arg name="surface" type="object" interface="wl_surface"/>
1127 <arg name="type" type="uint" />
1131 <interface name="tizen_display_policy" version="1">
1132 <enum name="error_state">
1133 <entry name="none" value="0"/>
1134 <entry name="permission_denied" value="1"/>
1136 <!-- for window brightness -->
1137 <request name="set_window_brightness">
1138 <arg name="surface" type="object" interface="wl_surface"/>
1139 <arg name="brightness" type="int"/>
1142 <event name="window_brightness_done">
1143 <arg name="surface" type="object" interface="wl_surface"/>
1144 <arg name="brightness" type="int"/>
1145 <arg name="error_state" type="uint"/>
1149 <interface name="tizen_indicator" version="1">
1151 <entry name="unknown" value="0" summary="unknown"/>
1152 <entry name="off" value="1" summary="can not show indicator"/>
1153 <entry name="on" value="2" summary="can show indicator"/>
1155 <enum name="opacity_mode">
1156 <entry name="unknown" value="0" summary="unknown"/>
1157 <entry name="opaque" value="1" summary="opaque mode"/>
1158 <entry name="translucent" value="2" summary="translucent mode"/>
1159 <entry name="transparent" value="3" summary="transparent all mode"/>
1160 <entry name="bg_transparent" value="4" summary="transparent only background mode"/>
1162 <enum name="visible_type">
1163 <entry name="hidden" value="0" summary="hidden type indicator"/>
1164 <entry name="shown" value="1" summary="shown type indicator"/>
1167 <request name="destroy" type="destructor"/>
1168 <request name="set_state">
1169 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
1170 <arg name="state" type="int" />
1172 <request name="set_opacity_mode">
1173 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
1174 <arg name="mode" type="int" />
1176 <request name="set_visible_type">
1177 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
1178 <arg name="type" type="int" />
1181 <event name="flick">
1182 <arg name="surface" type="object" interface="wl_surface" summary="occur the flick event"/>
1183 <arg name="type" type="int"/>