1 <protocol name="tizen_extension">
2 <interface name="tizen_surface" version="1">
3 <description summary="tizen-specific surface">
4 The tizen_surface provides tizen-specific functionalities for the given
8 <request name="get_tizen_resource">
9 <description summary="get a tizen_resource object">
10 Create a tizen_resource interface for the given surface.
12 <arg name="id" type="new_id" interface="tizen_resource" summary="the new tizen_resource object"/>
13 <arg name="surface" type="object" interface="wl_surface" summary="the the surface object"/>
16 <request name="destroy" type="destructor">
17 <description summary="destroy tizen_surface">
18 Destroy this tizen_surface object.
24 <interface name="tizen_resource" version="1">
25 <request name="destroy" type="destructor" />
27 <event name="resource_id">
28 <arg name="id" type="uint" />
32 <interface name="tizen_policy" version="12">
33 <request name="get_visibility">
34 <arg name="id" type="new_id" interface="tizen_visibility" summary="new visibility object"/>
35 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
38 <request name="get_position">
39 <arg name="id" type="new_id" interface="tizen_position" summary="new position object"/>
40 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
43 <request name="activate">
44 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
47 <request name="activate_below_by_res_id">
48 <arg name="res_id" type="uint" />
49 <arg name="below_res_id" type="uint" />
52 <request name="raise">
53 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
56 <request name="lower">
57 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
60 <request name="lower_by_res_id">
61 <arg name="res_id" type="uint" />
64 <request name="set_focus_skip">
65 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
68 <request name="unset_focus_skip">
69 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
72 <request name="set_role">
73 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
74 <arg name="role" type="string"/>
77 <enum name="win_type">
78 <entry name="none" value="0"/>
79 <entry name="toplevel" value="1"/>
80 <entry name="fullscreen" value="2"/>
81 <entry name="maximized" value="3"/>
82 <entry name="transient" value="4"/>
83 <entry name="menu" value="5"/>
84 <entry name="dnd" value="6"/>
85 <entry name="custom" value="7"/>
86 <entry name="notification" value="8"/>
87 <entry name="utility" value="9"/>
88 <entry name="dialog" value="10"/>
89 <entry name="dock" value="11"/>
90 <entry name="splash" value="12"/>
91 <entry name="desktop" value="13" since="11"/>
94 <request name="set_type">
95 <arg name="surface" type="object" interface="wl_surface"/>
96 <arg name="win_type" type="uint" />
99 <!-- for conformant -->
100 <request name="set_conformant">
101 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
104 <request name="unset_conformant">
105 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
108 <request name="get_conformant">
109 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
112 <event name="conformant">
113 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
114 <arg name="is_conformant" type="uint"/>
117 <enum name="conformant_part">
118 <entry name="indicator" value="0"/>
119 <entry name="keyboard" value="1"/>
120 <entry name="clipboard" value="2"/>
123 <event name="conformant_area">
124 <description summary="Notify of conformant area">
125 Notify of conformant area to client. Sending this event does NOT guarantee
126 perfect compositing of conformant owner client surface and
127 conformant part client surface.
129 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
130 <arg name="conformant_part" type="uint"/>
131 <arg name="state" type="uint"/>
132 <arg name="x" type="int"/>
133 <arg name="y" type="int"/>
134 <arg name="w" type="int"/>
135 <arg name="h" type="int"/>
138 <enum name="error_state">
139 <entry name="none" value="0"/>
140 <entry name="permission_denied" value="1"/>
143 <!-- for notification -->
145 <entry name="1" value="0"/>
146 <entry name="2" value="1"/>
147 <entry name="3" value="2"/>
148 <entry name="none" value="-1"/>
149 <entry name="default" value="10"/>
150 <entry name="medium" value="20"/>
151 <entry name="high" value="30"/>
152 <entry name="top" value="40"/>
155 <request name="set_notification_level">
156 <arg name="surface" type="object" interface="wl_surface"/>
157 <arg name="level" type="int"/>
160 <event name="notification_done">
161 <arg name="surface" type="object" interface="wl_surface"/>
162 <arg name="level" type="int"/>
163 <arg name="error_state" type="uint"/>
166 <!-- for transient_for -->
167 <request name="set_transient_for">
168 <arg name="child_id" type="uint" />
169 <arg name="parent_id" type="uint" />
172 <request name="unset_transient_for">
173 <arg name="child_id" type="uint" />
176 <event name="transient_for_done">
177 <arg name="child_id" type="uint"/>
180 <!-- for window_screen_mode -->
182 <entry name="default" value="0"/>
183 <entry name="always_on" value="1"/>
186 <request name="set_window_screen_mode">
187 <arg name="surface" type="object" interface="wl_surface"/>
188 <arg name="mode" type="uint"/>
191 <event name="window_screen_mode_done">
192 <arg name="surface" type="object" interface="wl_surface"/>
193 <arg name="mode" type="uint"/>
194 <arg name="error_state" type="uint"/>
197 <!-- for subsurface -->
198 <request name="place_subsurface_below_parent">
199 <arg name="subsurface" type="object" interface="wl_subsurface"/>
202 <request name="set_subsurface_stand_alone">
203 <arg name="subsurface" type="object" interface="wl_subsurface"/>
206 <request name="get_subsurface">
207 <arg name="id" type="new_id" interface="wl_subsurface" />
208 <arg name="surface" type="object" interface="wl_surface" />
209 <arg name="parent_id" type="uint" />
212 <!-- for opaque_state -->
213 <request name="set_opaque_state">
214 <arg name="surface" type="object" interface="wl_surface" />
215 <arg name="state" type="int"/>
219 <request name="iconify">
220 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
222 <request name="uniconify">
223 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
226 <event name="iconify_state_changed">
227 <arg name="surface" type="object" interface="wl_surface"/>
228 <arg name="iconified" type="uint"/>
229 <arg name="force" type="uint"/>
232 <!-- for aux_hint -->
233 <request name="add_aux_hint">
234 <arg name="surface" type="object" interface="wl_surface"/>
235 <arg name="id" type="int" />
236 <arg name="name" type="string" />
237 <arg name="value" type="string" />
240 <request name="change_aux_hint">
241 <arg name="surface" type="object" interface="wl_surface"/>
242 <arg name="id" type="int" />
243 <arg name="value" type="string" />
246 <request name="del_aux_hint">
247 <arg name="surface" type="object" interface="wl_surface"/>
248 <arg name="id" type="int" />
251 <request name="get_supported_aux_hints">
252 <arg name="surface" type="object" interface="wl_surface"/>
255 <event name="supported_aux_hints">
256 <arg name="surface" type="object" interface="wl_surface"/>
257 <arg name="hints" type="array" />
258 <arg name="num_hints" type="uint"/>
261 <event name="allowed_aux_hint">
262 <arg name="surface" type="object" interface="wl_surface"/>
263 <arg name="id" type="int" />
266 <!-- for aux_message -->
267 <event name="aux_message">
268 <arg name="surface" type="object" interface="wl_surface" />
269 <arg name="key" type="string" />
270 <arg name="value" type="string" />
271 <arg name="options" type="array" />
274 <!-- for background state -->
275 <request name="set_background_state">
276 <arg name="pid" type="uint" />
279 <request name="unset_background_state">
280 <arg name="pid" type="uint" />
283 <!-- for floating mode -->
284 <request name="set_floating_mode">
285 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
288 <request name="unset_floating_mode">
289 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
292 <!-- for stack mode -->
293 <enum name="stack_mode">
294 <entry name="none" value="0"/>
295 <entry name="above" value="1"/>
296 <entry name="below" value="2"/>
299 <request name="set_stack_mode">
300 <arg name="surface" type="object" interface="wl_surface"/>
301 <arg name="mode" type="uint" />
304 <request name="activate_above_by_res_id">
305 <arg name="res_id" type="uint" />
306 <arg name="above_res_id" type="uint" />
309 <!-- version 2 additions -->
310 <!-- for subsurface watcher -->
311 <request name="get_subsurface_watcher" since="2">
312 <arg name="id" type="new_id" interface="tizen_subsurface_watcher" />
313 <arg name="surface" type="object" interface="wl_surface" />
316 <!-- version 3 additions -->
317 <request name="set_parent" since="3">
318 <arg name="child" type="object" interface="wl_surface" />
319 <arg name="parent" type="object" interface="wl_surface" />
322 <!-- version 4 additions -->
323 <!-- for conformant -->
324 <event name="conformant_region" since="4">
325 <description summary="notify of geometry values of conformant region(area)">
326 The server can notify of conformant region(area) using this event.
327 If client is received this event, client should ack for it using
328 tizen_policy@ack_conformant_region request.
330 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
331 <arg name="conformant_part" type="uint"/>
332 <arg name="state" type="uint"/>
333 <arg name="x" type="int"/>
334 <arg name="y" type="int"/>
335 <arg name="w" type="int"/>
336 <arg name="h" type="int"/>
337 <arg name="serial" type="uint"/>
340 <request name="ack_conformant_region" since="4">
341 <description summary="ack for tizen_policy@conformant_region">
342 A client can refresh its surface for applying new conformant region which
343 is from tizen_policy@conformant_region event. The client has to ack
344 after complete of its updates by this request.
346 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
347 <arg name="serial" type="uint"/>
350 <request name="destroy" type="destructor" since="6">
351 <description summary="destroy the tizen_policy">
352 Destroy the tizen_policy.
356 <request name="has_video" since="7">
357 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
358 <arg name="has" type="uint"/>
361 <request name="set_appid" since="7">
362 <arg name="pid" type="int" />
363 <arg name="appid" type="string" />
366 <request name="show" since="8">
367 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
370 <request name="hide" since="8">
371 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
374 <request name="set_transient_for_below" since="9">
375 <description summary="set transient_for and place under the transient_for parent">
376 This makes a relationship between parent and child. A child is always placed under a parent.
378 <arg name="child_id" type="uint" />
379 <arg name="parent_id" type="uint" />
382 <request name="set_parent_with_below" since="9">
383 <description summary="set parent and place under the parent">
384 This makes a relationship between parent and child. A child is always placed under a parent.
385 Setting a null parent for a child window removes any parent-child relationship for the child.
387 <arg name="child" type="object" interface="wl_surface" />
388 <arg name="parent" type="object" interface="wl_surface" allow-null="true"/>
391 <event name="interactive_move_done" since="10">
392 <description summary="interactive move is done">
393 This event is sent when the display server finishes interactive moving the window.
394 The changed geometry of the window is sent together.
396 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
397 <arg name="x" type="int" summary="x-position after move"/>
398 <arg name="y" type="int" summary="y-position after move"/>
399 <arg name="w" type="uint" summary="width after move"/>
400 <arg name="h" type="uint" summary="height after move"/>
401 <arg name="angle" type="int" summary="current angle of surface"/>
404 <event name="interactive_resize_done" since="10">
405 <description summary="interactive resize is done">
406 This event is sent when the display server finishes interactive resizing the window.
407 The changed geometry of the window is sent together.
409 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
410 <arg name="x" type="int" summary="x-position after resize"/>
411 <arg name="y" type="int" summary="y-position after resize"/>
412 <arg name="w" type="uint" summary="width after resize"/>
413 <arg name="h" type="uint" summary="height after resize"/>
414 <arg name="angle" type="int" summary="current angle of surface"/>
417 <!-- for maximize direction -->
418 <enum name="maximize_direction">
419 <entry name="none" value="0" summary="none. same to unmaximize"/>
420 <entry name="all" value="1" summary="the full size of the screen"/>
421 <entry name="left" value="2" summary="the left side of the screen"/>
422 <entry name="right" value="3" summary="the right side of the screen"/>
423 <entry name="top" value="4" summary="the top of the screen"/>
424 <entry name="bottom" value="5" summary="the bottom of the screen"/>
427 <request name="set_maximize_direction" since="12">
428 <description summary="set maximize direction">
429 Set the maximize direction of the surface.
431 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
432 <arg name="direction" type="uint" enum="maximize_direction" summary="maximize direction"/>
437 <interface name="tizen_visibility" version="5">
438 <request name="destroy" type="destructor"/>
440 <enum name="visibility">
441 <entry name="unobscured" value="0"/>
442 <entry name="partially_obscured" value="1"/>
443 <entry name="fully_obscured" value="2"/>
444 <entry name="pre_unobscured" value="3" since="5"/>
447 <event name="notify">
448 <arg name="visibility" type="uint"/>
451 <!-- Version 6 additions -->
453 <event name="changed" since="5">
454 <arg name="type" type="uint" enum="visibility" summary="changed visibility type"/>
455 <arg name="option" type="uint" summary="extra value"/>
460 <interface name="tizen_position" version="1">
461 <request name="destroy" type="destructor"/>
464 <arg name="x" type="int"/>
465 <arg name="y" type="int"/>
468 <event name="changed">
469 <arg name="x" type="int"/>
470 <arg name="y" type="int"/>
474 <interface name="tizen_move_resize" version="1">
475 <request name="destroy" type="destructor"/>
477 <request name="set_geometry">
478 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
479 <arg name="serial" type="uint" />
480 <arg name="x" type="int"/>
481 <arg name="y" type="int"/>
482 <arg name="w" type="int"/>
483 <arg name="h" type="int"/>
486 <enum name="error_state">
487 <entry name="none" value="0"/>
488 <entry name="invalid_buffer" value="1"/>
489 <entry name="not_supported" value="2"/>
492 <event name="geometry_done">
493 <description summary="Notify of set_geometry request result">
495 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
496 <arg name="serial" type="uint" />
497 <arg name="x" type="int"/>
498 <arg name="y" type="int"/>
499 <arg name="w" type="int"/>
500 <arg name="h" type="int"/>
501 <arg name="error_state" type="uint" enum="error_state"/>
505 <interface name="tizen_gesture" version="2">
507 <entry name="none" value="0"/>
508 <entry name="invalid_data" value="1"/>
509 <entry name="no_permission" value="2"/>
510 <entry name="no_system_resources" value="3"/>
511 <entry name="grabbed_already" value="4"/>
512 <entry name="not_supported" value="5"/>
516 <entry name="edge_swipe" value="1"/>
517 <entry name="edge_drag" value="2" since="2"/>
518 <entry name="tap" value="4" since="2"/>
519 <entry name="palm_cover" value="8" since="2"/>
520 <entry name="pan" value="16" since="2"/>
521 <entry name="pinch" value="32" since="2"/>
522 <entry name="palm_swipe" value="64" since="2"/>
526 <entry name="begin" value="1"/>
527 <entry name="update" value="2"/>
528 <entry name="end" value="3"/>
529 <entry name="done" value="4"/>
533 <entry name="top" value="1"/>
534 <entry name="right" value="2"/>
535 <entry name="bottom" value="3"/>
536 <entry name="left" value="4"/>
539 <enum name="edge_size">
540 <entry name="none" value="0"/>
541 <entry name="full" value="1"/>
542 <entry name="partial" value="2"/>
545 <request name="grab_edge_swipe">
546 <arg name="fingers" type="uint"/>
547 <arg name="edge" type="uint" enum="edge"/>
548 <arg name="edge_size" type="uint" enum="edge_size"/>
549 <arg name="start_point" type="uint"/>
550 <arg name="end_point" type="uint"/>
553 <request name="ungrab_edge_swipe">
554 <arg name="fingers" type="uint"/>
555 <arg name="edge" type="uint" enum="edge"/>
556 <arg name="edge_size" type="uint" enum="edge_size"/>
557 <arg name="start_point" type="uint"/>
558 <arg name="end_point" type="uint"/>
561 <event name="grab_edge_swipe_notify">
562 <arg name="fingers" type="uint"/>
563 <arg name="edge" type="uint" enum="edge"/>
564 <arg name="edge_size" type="uint" enum="edge_size"/>
565 <arg name="start_point" type="uint"/>
566 <arg name="end_point" type="uint"/>
567 <arg name="error" type="uint"/>
570 <event name="edge_swipe">
571 <arg name="mode" type="uint" enum="mode"/>
572 <arg name="fingers" type="uint"/>
573 <arg name="sx" type="int" summary="x coordinate of touch down point"/>
574 <arg name="sy" type="int" summary="y coordinate of touch down point"/>
575 <arg name="edge" type="uint" enum="edge"/>
578 <request name="grab_edge_drag">
579 <arg name="fingers" type="uint"/>
580 <arg name="edge" type="uint" enum="edge"/>
581 <arg name="edge_size" type="uint" enum="edge_size"/>
582 <arg name="start_point" type="uint"/>
583 <arg name="end_point" type="uint"/>
586 <request name="ungrab_edge_drag">
587 <arg name="fingers" type="uint"/>
588 <arg name="edge" type="uint" enum="edge"/>
589 <arg name="edge_size" type="uint" enum="edge_size"/>
590 <arg name="start_point" type="uint"/>
591 <arg name="end_point" type="uint"/>
594 <event name="edge_drag_notify">
595 <arg name="fingers" type="uint"/>
596 <arg name="edge" type="uint" enum="edge"/>
597 <arg name="edge_size" type="uint" enum="edge_size"/>
598 <arg name="start_point" type="uint"/>
599 <arg name="end_point" type="uint"/>
600 <arg name="error" type="uint"/>
603 <event name="edge_drag">
604 <arg name="mode" type="uint" enum="mode"/>
605 <arg name="fingers" type="uint"/>
606 <arg name="cx" type="int" summary="x coordinate of center touch point"/>
607 <arg name="cy" type="int" summary="y coordinate of center touch point"/>
608 <arg name="edge" type="uint" enum="edge"/>
611 <request name="grab_tap" since="2">
612 <arg name="fingers" type="uint"/>
613 <arg name="repeats" type="uint"/>
616 <request name="ungrab_tap" since="2">
617 <arg name="fingers" type="uint"/>
618 <arg name="repeats" type="uint"/>
621 <event name="tap_notify" since="2">
622 <arg name="fingers" type="uint"/>
623 <arg name="repeats" type="uint"/>
624 <arg name="error" type="uint"/>
627 <event name="tap" since="2">
628 <arg name="mode" type="uint" enum="mode"/>
629 <arg name="fingers" type="uint"/>
630 <arg name="repeats" type="uint"/>
633 <request name="grab_palm_cover" since="2">
636 <request name="ungrab_palm_cover" since="2">
639 <request name="select_palm_cover" since="2">
640 <arg name="surface" type="object" interface="wl_surface"/>
643 <request name="deselect_palm_cover" since="2">
644 <arg name="surface" type="object" interface="wl_surface"/>
647 <event name="palm_cover_notify" since="2">
648 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
649 <arg name="error" type="uint"/>
652 <event name="palm_cover" since="2">
653 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
654 <arg name="mode" type="uint" enum="mode"/>
655 <arg name="duration" type="uint"/>
656 <arg name="cx" type="int" summary="x coordinate of center touch point"/>
657 <arg name="cy" type="int" summary="y coordinate of center touch point"/>
658 <arg name="size" type="uint"/>
659 <arg name="pressure" type="fixed"/>
662 <request name="activate_set" since="2">
663 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
664 <arg name="type" type="uint" enum="type"/>
665 <arg name="active" type="uint"/>
668 <event name="activate_notify" since="2">
669 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
670 <arg name="type" type="uint" enum="type"/>
671 <arg name="active" type="uint"/>
672 <arg name="error" type="uint"/>
675 <request name="destroy" type="destructor" since="2">
676 <description summary="destroy the tizen_gesture">
677 Destroy the tizen_gesture.
683 <interface name="tizen_keyrouter" version="2">
684 <description summary="an interface to set each focus for each key">
685 In tradition, all the keys in a keyboard and a device on which
686 some keys are attached will be sent to focus surface by default.
687 Currently it's possible to set up each focus for each key in a keyboard and a device.
688 Therefore, by setting a key grab for a surface, the owner of the
689 surface will get the key event when it has the key grab for the key.
693 <entry name="none" value="0" summary="no error"/>
694 <entry name="invalid_surface" value="1" summary="Given surface is invalid."/>
695 <entry name="invalid_key" value="2" summary="Given key is invalid."/>
696 <entry name="invalid_mode" value="3" summary="Given mode is invalid."/>
697 <entry name="grabbed_already" value="4" summary="The key has been grabbed already."/>
698 <entry name="no_permission" value="5" summary="The wl client has no permission to grab the key."/>
699 <entry name="no_system_resources" value="6" summary="System resources are insufficient."/>
700 <entry name="invalid_array" value="7" summary="Given array has invalid pairs or data type."/>
704 <description summary="mode for a key grab">
705 This value is used to set a mode for a key grab. With this mode and
706 the order of the surface between surfaces' stack, the compositor will determine the destination client
709 <entry name="none" value="0" summary="none"/>
710 <entry name="shared" value="1"
711 summary="mode to get a key grab with the other client surfaces when the focused client surface gets the key"/>
712 <entry name="topmost" value="2"
713 summary="mode to get a key grab when the client surface is the top most surface"/>
714 <entry name="overridable_exclusive" value="3"
715 summary="mode to get a key grab exclusively, overridably regardless of the order in the surface stack"/>
716 <entry name="exclusive" value="4"
717 summary="mode to get a key grab exclusively regardless of the order in surface stack"/>
718 <entry name="registered" value="5"
719 summary="mode to get a key grab only when a requesting surface is on top among the registering surfaces for the key"/>
722 <enum name="config_mode">
723 <description summary="mode for setting specific property for Key delivery">
724 This value is used to set a mode for a window. With this mode and
725 the order of the surface between surfaces' stack, the compositor will determine the destination client
728 <entry name="none" value="0" summary="none"/>
729 <entry name="invisible_set" value="1"
730 summary="mode to set window to enable send event to invisible window below in stack"/>
731 <entry name="invisible_get" value="2"
732 summary="mode to set window to get event to invisible state if any top window has set register_set"/>
733 <entry name="num_key_focus" value="3"
734 summary="mode to register for num keys for focus window"/>
735 <entry name="picture_off" value="4"
736 summary="mode to set picture off for particular key"/>
739 <request name="set_keygrab">
740 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
741 <arg name="key" type="uint"/>
742 <arg name="mode" type="uint"/>
745 <request name="unset_keygrab">
746 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
747 <arg name="key" type="uint"/>
750 <request name="get_keygrab_status">
751 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
752 <arg name="key" type="uint"/>
755 <request name="set_keygrab_list">
756 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
757 <arg name="grab_list" type="array" summary="array of two integer variables pairs each pairs consist of keycode and keygrab mode"/>
760 <request name="unset_keygrab_list">
761 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
762 <arg name="ungrab_list" type="array" summary="array of integer variables meaning keycode wanted to ungrab"/>
765 <request name="get_keygrab_list">
766 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
769 <request name="set_register_none_key">
770 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
771 <arg name="data" type="uint"/>
774 <request name="get_keyregister_status">
775 <arg name="data" type="uint"/>
778 <request name="set_input_config">
779 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
780 <arg name="config_mode" type="uint"/>
781 <arg name="value" type="uint"/>
784 <event name="keygrab_notify">
785 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
786 <arg name="key" type="uint"/>
787 <arg name="mode" type="uint"/>
788 <arg name="error" type="uint"/>
791 <event name="keygrab_notify_list">
792 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
793 <arg name="grab_result" type="array" summary="array of three integer variables pairs each pairs consist of keycode, keygrab mode and keygrab result"/>
796 <event name="getgrab_notify_list">
797 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
798 <arg name="grab_result" type="array" summary="array of two integer variables pairs each pairs consist of keycode, keygrab mode"/>
801 <event name="set_register_none_key_notify">
802 <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
803 <arg name="mode" type="uint"/>
806 <event name="keyregister_notify">
807 <arg name="status" type="uint"/>
810 <event name="set_input_config_notify">
811 <arg name="status" type="uint"/>
814 <event name="key_cancel">
815 <arg name="key" type="uint"/>
818 <request name="destroy" type="destructor">
819 <description summary="destroy the tizen_keyrouter">
820 Destroy the tizen_keyrouter.
823 <event name="event_surface" since="2">
824 <arg name="surface" type="object" interface="wl_surface"/>
825 <arg name="key" type="uint"/>
826 <arg name="mode" type="uint"/>
830 <interface name="tizen_screenshooter" version="3">
831 <description summary="interface for tizen-screenshooter">
832 Clients can get a screenmirror object from this interface.
835 <request name="get_screenmirror">
836 <description summary="create a screenmirror object">
837 Before using screenmirror, a client should get a screenmirror object from display
840 <arg name="id" type="new_id" interface="tizen_screenmirror" summary="new screenmirror object"/>
841 <arg name="output" type="object" interface="wl_output" summary="output object for screenmirror"/>
844 <request name="set_oneshot_auto_rotation">
845 <description summary="set screen shot auto rotation value">
846 Client can set auto rotation value for one shot.
848 <arg name="set" type="uint"/>
851 <event name="format">
852 <description summary="supported format for screenshooter">
853 The tbm format codes match the #defines in tbm_surface.h. The formats actually
854 supported by the compositor will be reported by the format event.
856 <arg name="format" type="uint"/>
859 <event name="screenshooter_notify">
860 <description summary="send notification of screenshooter">
861 Clients can get notification of screenshooter.
863 <arg name="noti" type="uint"/>
866 <request name="destroy" type="destructor">
867 <description summary="destroy the tizen_screenshooter">
868 Destroy the tizen_screenshooter.
872 <request name="shoot" since="3">
873 <arg name="output" type="object" interface="wl_output"/>
874 <arg name="buffer" type="object" interface="wl_buffer"/>
877 <event name="done" since="3">
882 <interface name="tizen_screenmirror" version="3">
883 <description summary="interface for screenmirror">
884 A client can use this interface to get stream images of screen. Before starting,
885 queue all buffers. Then, start a screenmirror. After starting, a dequeued event
886 will occur when drawing a captured image on a buffer is finished. You might
887 need to queue the dequeued buffer again to get a new image from display server.
890 <request name="destroy" type="destructor"/>
892 <request name="set_stretch">
893 <arg name="stretch" type="uint" summary="stretch type for screenmirror"/>
896 <request name="queue">
897 <description summary="queue a buffer"/>
898 <arg name="buffer" type="object" interface="wl_buffer" summary="buffer object for screenmirror"/>
901 <request name="dequeue">
902 <description summary="dequeue a buffer">
903 A user can dequeue a buffer from display server when he wants to take back it from server.
905 <arg name="buffer" type="object" interface="wl_buffer" summary="buffer object for screenmirror"/>
908 <request name="start"/>
909 <request name="stop"/>
911 <enum name="content">
912 <entry name="normal" value="0"/>
913 <entry name="video" value="1"/>
916 <enum name="stretch">
917 <entry name="keep_ratio" value="0"/>
918 <entry name="fully" value="1"/>
921 <event name="dequeued">
922 <description summary="dequeued event">
923 occurs when drawing a captured image on a buffer is finished
925 <arg name="buffer" type="object" interface="wl_buffer" summary="dequeued buffer which contains a captured image"/>
928 <event name="content">
929 <description summary="content changed event">
930 occurs when the content of a captured image is changed. (normal or video)
932 <arg name="content" type="uint"/>
936 <description summary="stop event">
937 occurs when the screenmirror is stopped eventually
941 <!-- version 2 additions -->
942 <request name="set_auto_rotation" since="2">
943 <description summary="set screenmirror auto rotation value">
944 Client can set auto rotation value for screenmirror.
946 <arg name="set" type="uint"/>
950 <interface name="tizen_video" version="1">
952 <description summary="interface for tizen-video">
953 Clients can get the video information that the compositor can handle from this interface.
957 <entry name="none" value="0"/>
958 <entry name="object_exists" value="1"/>
959 <entry name="viewport_exists" value="2"/>
962 <event name="format">
963 <description summary="supported format for video">
964 The tbm format codes match the #defines in tbm_surface.h. The formats actually
965 supported by the compositor will be reported by the format event.
967 <arg name="format" type="uint"/>
970 <request name="get_object">
971 <arg name="id" type="new_id" interface="tizen_video_object" />
972 <arg name="surface" type="object" interface="wl_surface" />
975 <request name="get_viewport">
976 <arg name="id" type="new_id" interface="tizen_viewport" />
977 <arg name="surface" type="object" interface="wl_surface" />
980 <request name="destroy" type="destructor">
981 <description summary="destroy the tizen_video">
982 Destroy the tizen_video.
988 <interface name="tizen_video_object" version="1">
990 <event name="attribute">
991 <arg name="name" type="string"/>
992 <arg name="value" type="uint"/>
996 <arg name="min_w" type="int"/>
997 <arg name="min_h" type="int"/>
998 <arg name="max_w" type="int"/>
999 <arg name="max_h" type="int"/>
1000 <arg name="prefer_align" type="int"/>
1003 <request name="destroy" type="destructor"/>
1004 <request name="set_attribute">
1005 <arg name="name" type="string"/>
1006 <arg name="value" type="int"/>
1009 <request name="follow_topmost_visibility">
1010 <description summary="follow mute control change of a topmost surface">
1011 If tizen_video_object.follow_topmost_visibility is applied to a video_object,
1012 It will be video mute control based on topmost visibility.
1016 <request name="unfollow_topmost_visibility">
1017 <description summary="unfollow mute control change of a topmost surface">
1018 If tizen_video_object.unfollow_topmost_visibility is applied to a video_object,
1019 It will not be video mute control based on topmost visibility.
1023 <request name="allowed_attribute">
1024 <description summary="allowed_attribute">
1025 If tizen_video_object.allowed_attribute is applied to a video_object,
1026 set_attribute request will be deliever to tdm backend directly.
1030 <request name="disallowed_attribute">
1031 <description summary="disallowed_attribute">
1032 If tizen_video_object.disallowed_attribute is applied to a video_object,
1033 It would be tdm_attribute call when topmost showing.
1039 <interface name="tizen_subsurface_watcher" version="1">
1042 <entry name="success" value="0"/>
1043 <entry name="parent_id_invalid" value="1"/>
1044 <entry name="parent_id_destroyed" value="2"/>
1047 <event name="message">
1048 <arg name="value" type="uint"/>
1051 <request name="destroy" type="destructor">
1052 <description summary="destroy the tizen_subsurface_watcher">
1053 Destroy the tizen_subsurface_watcher.
1059 <interface name="tizen_viewport" version="1">
1061 <description summary="the viewport for a surface">
1062 This is the alternative and convenient solution of wl_viewport to present
1063 a surface on screen.
1065 The below five functions can be replaced with this interface. The below
1066 functions will be ignored after applying this interface to a surface.
1067 - wl_surface.set_buffer_transform
1068 - wl_surface.set_buffer_scale
1069 - wl_subsurface.set_position
1070 - wl_viewport.set_source
1071 - wl_viewport.set_destination
1073 wl_viewport.set_source is very complicated especially when the buffer of
1074 wl_surface is transformed by wl_surface.set_buffer_transform. And when the
1075 parent is resized, if we want to change the geometry of a subsurface also,
1076 wl_subsurface.set_position and wl_viewport.set_destination should be called
1077 everytime the parent is resized in client side. This makes difficult to
1078 synchronize a parent surface and a subsurface on screen.
1080 tizen_viewport allows clients to set the relative geometry to a subsurface
1081 in a parent surface. Whenever a parent surface is resized, the geometry of
1082 a subsurface will be calculated, moved and resized automatically by a
1083 compositor. The tizen_viewport is specified in the coordinates of a
1084 subsurface's parent.
1086 If tizen_viewport is applied to a shell surface(toplevel), the all value related
1087 with x, y pos of tizen_viewport and tizen_destination_mode interface will be ignored.
1089 The below 3 functions don't consider the transform of a parent's surface.
1090 - tizen_viewport.set_source
1091 - tizen_viewport.set_destination
1092 - tizen_viewport.set_destination_ratio
1094 Furthermore, tizen_destination_mode.follow_parent_transform is called,
1095 tizen_viewport will consider the transform of a parent surface when applying
1096 the destination mode to a subsurface. If tizen_destination_mode.follow_parent_transform
1097 is applied to a shell surface, it will be ignored.
1099 The destination will be cropped by a parent surface.
1101 The change will be applied when wl_surface.commit is called.
1104 <event name="destination_changed">
1105 <arg name="transform" type="uint"/>
1106 <arg name="x" type="int"/>
1107 <arg name="y" type="int"/>
1108 <arg name="width" type="uint"/>
1109 <arg name="height" type="uint"/>
1112 <request name="destroy" type="destructor" />
1114 <request name="set_transform">
1115 <description summary="set the transform of a surface">
1116 The accepted values for the transform parameter are the values for wl_output.transform
1117 according to the output transform.
1119 The tizen_viewport.set_transform is applied only to itself. Basically it
1120 doesn't effect the transform of its subsurfaces. That is, if 90 transform is
1121 setted and its subsurface still has 0 transform, its subsurface won't be
1124 If needed to rotate the subsurface depended on a parent surface,
1125 tizen_destination_mode.follow_parent_transform will make it possible.
1128 <arg name="transform" type="uint"/>
1131 <request name="set_source">
1132 <description summary="set the source rectalge of a wl_buffer">
1133 The source rectangle won't be changed when a parent is resized. If it needs
1134 to be changed, tizen_viewport.set_source should be called with new values.
1136 <arg name="x" type="uint"/>
1137 <arg name="y" type="uint"/>
1138 <arg name="width" type="uint"/>
1139 <arg name="height" type="uint"/>
1142 <request name="set_destination">
1143 <description summary="set the destination geometry of a surface">
1144 The destination geometry won't be changed when a parent is resized. If it
1145 needs to be changed, tizen_viewport.set_destination should be called with
1148 If tizen_viewport is applied to a shell surface(toplevel), the x, y value of
1149 tizen_viewport.set_destination will be ignored.
1151 <arg name="x" type="int"/>
1152 <arg name="y" type="int"/>
1153 <arg name="width" type="uint"/>
1154 <arg name="height" type="uint"/>
1157 <request name="set_destination_ratio">
1158 <description summary="set the ratio destination rectalge in a parent surface">
1159 The destination rectangle of a subsurface will be automatically changed
1160 when a parent is resized. This allows the real number between 0.0 and 1.0.
1161 See wl_fixed_from_double and wl_fixed_to_double.
1163 If tizen_viewport is applied to a shell surface(toplevel), the x, y value of
1164 tizen_viewport.set_destination_ratio will be ignored.
1166 <arg name="x" type="fixed"/>
1167 <arg name="y" type="fixed"/>
1168 <arg name="width" type="fixed"/>
1169 <arg name="height" type="fixed"/>
1172 <request name="get_destination_mode">
1173 <arg name="id" type="new_id" interface="tizen_destination_mode" />
1176 <request name="query_parent_size" since="1">
1177 <description summary="set the ratio destination rectalge in a parent surface">
1178 A client can asks the display server to send the size of tizen_viewport object's
1179 parent surface. Once a client requests it, the "parent_size" event will be sent
1180 whenever the parent surface's size is changed.
1184 <event name="parent_size">
1185 <arg name="width" type="uint" />
1186 <arg name="height" type="uint" />
1189 <request name="follow_parent_transform">
1190 <description summary="follow the transform change of a parent surface">
1191 The real transform of a subsurface is (parent's transform + subsurface's transform).
1192 The subsurface will be rotated automatically when the parent is rotated.
1194 If tizen_viewport.follow_parent_transform is applied to a shell surface(toplevel),
1199 <request name="unfollow_parent_transform" />
1203 <interface name="tizen_destination_mode" version="1">
1205 <description summary="the destination mode for a surface">
1206 The destination rectangle will be automatically changed when a parent is
1207 resized. When tizen_destination_mode.set is called, the value of
1208 tizen_viewport.set_destination and tizen_viewport.set_destination_ratio
1211 The destination of a surface is decided by the mode, ratio, scale, offset
1212 and align values. The ratio, scale, offset and align will be applied
1215 The change will be applied when wl_surface.commit is called.
1219 <entry name="invalid_type" value="0"/>
1223 <entry name="none" value="0"/>
1224 <entry name="letter_box" value="1"/>
1225 <entry name="origin" value="2"/>
1226 <entry name="full" value="3"/>
1227 <entry name="cropped_full" value="4"/>
1228 <entry name="origin_or_letter" value="5"/>
1231 <request name="destroy" type="destructor" />
1233 <request name="follow_parent_transform">
1234 <description summary="follow the transform change of a parent surface">
1235 The real transform of a subsurface is (parent's transform + subsurface's transform).
1236 That is, the subsurface will be rotated automatically when the parent is rotated.
1238 If tizen_destination_mode.follow_parent_transform is applied to a shell surface(toplevel),
1243 <request name="unfollow_parent_transform" />
1245 <request name="set" summary="set the destination mode">
1246 <arg name="mode" type="uint" enum="type"/>
1249 <request name="set_ratio">
1250 <description summary="set the ratio of the destination rectangle of a subsurface">
1251 This allows the real number. See wl_fixed_from_double and wl_fixed_to_double.
1253 <arg name="horizontal" type="fixed"/>
1254 <arg name="vertical" type="fixed"/>
1257 <request name="set_scale">
1258 <description summary="set the scale of the destination rectangle of a subsurface">
1259 This allows the real number. See wl_fixed_from_double and wl_fixed_to_double.
1261 <arg name="horizontal" type="fixed"/>
1262 <arg name="vertical" type="fixed"/>
1265 <request name="set_align">
1266 <description summary="set the align of the destination rectangle of a subsurface">
1267 This allows the real number between 0.0 and 1.0. See wl_fixed_from_double and
1270 <arg name="horizontal" type="fixed"/>
1271 <arg name="vertical" type="fixed"/>
1274 <request name="set_offset">
1275 <arg name="x" type="int"/>
1276 <arg name="y" type="int"/>
1277 <arg name="w" type="int"/>
1278 <arg name="h" type="int"/>
1283 <interface name="tizen_embedded_compositor" version="1">
1285 <description summary="global embedded compositor object">
1286 The global obejct. Wayland has 3 type of compositor, embedded compositor is one of them.
1287 But tizen application is sendboxing by smack, then a application not allow commutication to other application by socket.
1288 So system or session compositor create socket and send to embedded compostior.
1291 <request name="get_socket">
1292 <description summary="create new socket">
1293 The get_socket request ask the server to create socket and emit socket event.
1297 <event name="socket">
1298 <description summary="socket fd">
1299 Sent immediately after get_socket request
1301 <arg name="sock_fd" type="fd"/>
1304 <request name="destroy" type="destructor"/>
1307 <interface name="tizen_input_device_manager" version="4">
1308 <description summary="global input device manager object">
1309 Tizen input device manager is a global interface. This object has device add/remove events
1310 to provide tizen input device object to a client. This allows for a client to get the con
1312 Be sure to bind this interface after binding wl_seat interface.
1313 Tizen input device manager interface will only provide device add/remove event for devices
1314 which belongs to the wl_seat object(s) bound by the client. Therefore, the compositor needs to
1315 create/send the device add/remove event only for the current client's seat(s).
1318 <event name="device_add">
1319 <description summary="device addition event">
1320 The device add/remove notification is going to be sent when a physical/logical device is
1321 added/removed to/from the given seat. Note that a tizen input device object can be assigned to
1322 a wl_seat and can also be assigned to the other wl_seat at any time. Whenever a relationship between
1323 a tizen input device object changes, device remove event from the current wl_seat object will be made
1324 and device add event to the other wl_seat object will also be mode.
1326 <arg name="serial" type="uint"/>
1327 <arg name="identifier" type="string"/>
1328 <arg name="device" type="new_id" interface="tizen_input_device"/>
1329 <arg name="seat" type="object" interface="wl_seat"/>
1332 <event name="device_remove">
1333 <description summary="device removal event">
1334 The device add/remove notification is going to be sent when a physical/logical device is
1335 added/removed to/from the given seat. Note that a tizen input device object can be assigned to
1336 a wl_seat and can also be assigned to the other wl_seat at any time. Whenever a relationship between
1337 a tizen input device object changes, device remove event from the current wl_seat object will be made
1338 and device add event to the other wl_seat object will also be mode.
1340 <arg name="serial" type="uint"/>
1341 <arg name="identifier" type="string"/>
1342 <arg name="device" type="object" interface="tizen_input_device"/>
1343 <arg name="seat" type="object" interface="wl_seat"/>
1347 <description summary="device class">
1349 <entry name="none" value="0" summary="none of class"/>
1350 <entry name="mouse" value="1" summary="mouse class"/>
1351 <entry name="keyboard" value="2" summary="keyboard class"/>
1352 <entry name="touchscreen" value="4" summary="touchscreen class"/>
1356 <entry name="none" value="0" summary="no error"/>
1357 <entry name="no_permission" value="1" summary="no permission"/>
1358 <entry name="invalid_class" value="2" summary="invalid class"/>
1359 <entry name="blocked_already" value="3" summary="blocked already by the other client"/>
1360 <entry name="no_system_resources" value="4" summary="no system resources such as memory lack"/>
1361 <entry name="invalid_parameter" value="5" summary="argument is invalid"/>
1362 <entry name="invalid_surface" value="6" summary="the given surface is not visible or pointer is not on the given surface"/>
1363 <entry name="no_pointer_available" value="7" summary="there is no pointer available to warp"/>
1364 <entry name="not_allowed" value="8" summary="this request is not allowed in this system"/>
1367 <event name="error">
1368 <description summary="error event">
1370 <arg name="errorcode" type="uint" enum="error"/>
1373 <event name="block_expired">
1374 <description summary="block expiration event">
1375 This event will be sent if the duration of existing block is expired.
1376 Note that no block expired event will be sent if there is no block for the client.
1380 <request name="block_events">
1381 <description summary="request to block sending event(s)">
1382 This request allows a client to request to block one or more events for its purpose.
1383 By specifying class as an argument in the request, the events belongs to the class will be blocked
1384 during the given duration. Note that an error event will be sent if there is any error.
1386 <arg name="serial" type="uint" summary=""/>
1387 <arg name="clas" type="uint" enum="clas"/>
1388 <arg name="duration" type="uint" summary="time duration with millisecond granularity"/>
1391 <request name="unblock_events">
1392 <description summary="request to unblock sending event(s)">
1393 This request allows a client to request to release the existing block for the client.
1394 Note that no error event will be sent if there is no existing block for the client.
1396 <arg name="serial" type="uint" summary=""/>
1399 <request name="init_generator">
1400 <description summary="initialize input generator system">
1402 <arg name="clas" type="uint" enum="clas"/>
1405 <request name="deinit_generator">
1406 <description summary="deinitialize input generator system">
1408 <arg name="clas" type="uint" enum="clas"/>
1411 <request name="generate_key">
1412 <description summary="generate a key event using specific or default device">
1414 <arg name="keyname" type="string"/>
1415 <arg name="pressed" type="uint"/>
1418 <enum name="pointer_event_type">
1419 <entry name="begin" value="0"/>
1420 <entry name="update" value="1"/>
1421 <entry name="end" value="2"/>
1424 <request name="generate_pointer">
1425 <description summary="generate a pointer event using specific or default device">
1427 <arg name="type" type="uint" enum="pointer_event_type"/>
1428 <arg name="x" type="uint"/>
1429 <arg name="y" type="uint"/>
1430 <arg name="button" type="uint"/>
1433 <request name="generate_touch">
1434 <description summary="generate a touch event using specific or default device">
1436 <arg name="type" type="uint" enum="pointer_event_type"/>
1437 <arg name="x" type="uint"/>
1438 <arg name="y" type="uint"/>
1439 <arg name="finger" type="uint"/>
1442 <request name="pointer_warp">
1443 <description summary="warp pointer to the relative position to the given surface">
1445 <arg name="surface" type="object" interface="wl_surface"/>
1446 <arg name="x" type="fixed"/>
1447 <arg name="y" type="fixed"/>
1450 <!-- version 2 additions -->
1451 <request name="init_generator_with_name" since="2">
1452 <description summary="initialize input generator system with name">
1454 <arg name="clas" type="uint" enum="clas"/>
1455 <arg name="name" type="string" />
1458 <request name="destroy" type="destructor" since="2">
1459 <description summary="destroy the tizen_input_device_manager">
1460 Destroy the tizen_input_device_manager.
1464 <!-- version 3 additions -->
1465 <enum name="axis_type" since="3">
1466 <entry name="none" value="0" summary="no axis type"/>
1467 <entry name="wheel" value="1" summary="pointer vertical wheel axis"/>
1468 <entry name="hwheel" value="2" summary="pointer horizental wheel axis"/>
1469 <entry name="radius_x" value="3" summary="touch radius of x axis of an event area e.g. touching area with a finger or a pen"/>
1470 <entry name="radius_y" value="4" summary="touch radius of y axis of an event area e.g. touching area with a finger or a pen"/>
1471 <entry name="pressure" value="5" summary="touch pressure in an event area e.g. touching area with a finger or a pen"/>
1472 <entry name="angle" value="6" summary="touch angle in an event area e.g. touching area with a finger or a pen"/>
1473 <entry name="palm" value="7" summary="touch palm in an event area e.g. touching area with a finger or a pen"/>
1476 <request name="generate_axis" since="3">
1477 <description summary="generate a pointer/touch axes event using specific or default device">
1478 When the server got this request, the server choices generate a event directly or just save values.
1479 Pointer axes (such as wheel/hwheel) are delivered to clients independantly about pointer events,
1480 but touch axes are delivered to normal touch events(begin/update/end).
1481 So the server just save touch axes before generate touch request is came and send a touch event
1482 include saved touch axes value.
1484 <arg name="type" type="uint" enum="axis_type"/>
1485 <arg name="value" type="fixed" summary="axis value"/>
1488 <!-- version 4 additions -->
1489 <event name="max_touch_count" since="4">
1490 <description summary="notify max slot of touch device is updated">
1491 Each touch devices has their own touch counts can be supported.
1492 So a server controls maximum touches in this system to maintain resources efficiently.
1493 Sometimes a server controls maximum touches using a predefined configuration option.
1494 Sometimes a server ensures maximum touches to be supported by touch device.
1495 If a server do not use configuration option, maximum touches can be updated when new touch devices are connected.
1496 So this events can be sent to client, when a first touch device is added or maximum touches is changed.
1498 <arg name="serial" type="uint"/>
1499 <arg name="max_count" type="int"/>
1500 <arg name="seat" type="object" interface="wl_seat"/>
1503 <request name="set_touch_count" since="4">
1504 <description summary="set a max slot of touch">
1505 This request only changes system's touch count.
1506 So this request doesn't change already connected touch devices's max count.
1507 This will influence to user created device using input generator.
1508 Input generator creates touch device only supports default touch count.
1509 But if user set touch count before create a Input generator device,
1510 user can create touch device has touch count user wanted.
1511 But some systems has their own maximum touch count.
1512 In that case this request returns error not_allowed.
1514 <arg name="max_count" type="int"/>
1518 <interface name="tizen_input_device" version="1">
1519 <description summary="tizen input device object">
1520 The tizen_input_device interface represents one or more input devices associated with a physical/logical
1521 input device. This interface provides device specific information/events to allows for client to identify
1522 the source device of an event or to get the additional axes/attributes of a device.
1523 Note that a tizen_input_device object can be used for a physical input device and can also be used for a
1524 group of input devices. e.g. a group of mouse devices
1528 <description summary="device class">
1530 <entry name="none" value="0" summary="none of class"/>
1531 <entry name="keyboard" value="2" summary="keyboard class"/>
1532 <entry name="mouse" value="3" summary="mouse class"/>
1533 <entry name="touchscreen" value="4" summary="touchscreen class"/>
1536 <enum name="subclas">
1537 <description summary="device subclass">
1539 <entry name="none" value="0" summary="none of subclass"/>
1542 <enum name="axis_type">
1543 <description summary="axis type enums which can be supported by a device">
1545 <entry name="none" value="0" summary="radius of x axis of an event area e.g. touching area with a finger or a pen"/>
1546 <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"/>
1547 <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"/>
1548 <entry name="pressure" value="3" summary="pressure in an event area e.g. touching area with a finger or a pen"/>
1549 <entry name="angle" value="4" summary="angle in an event area e.g. touching area with a finger or a pen"/>
1550 <entry name="detent" value="5" summary="detent value e.g. moved distance with a rotary device"/>
1553 <event name="device_info">
1554 <description summary="event contains device information">
1556 <arg name="name" type="string"/>
1557 <arg name="clas" type="uint" enum="clas"/>
1558 <arg name="subclas" type="uint" enum="subclas"/>
1559 <arg name="axes" type="array" summary="array of axis enum"/>
1562 <event name="event_device">
1563 <description summary="event indicates the source device associated with a wl_pointer/keyboard/touch event">
1565 <arg name="serial" type="uint"/>
1566 <arg name="name" type="string"/>
1567 <arg name="time" type="uint" summary="timestamp with millisecond granularity"/>
1570 <request name="select_axes">
1571 <description summary="request for selecting some of axes among the axes supported by a tizen_input_device object">
1573 <arg name="axes" type="array" summary="array of axis num"/>
1577 <description summary="axis change event">
1579 <arg name="axis_type" type="uint" enum="axis_type"/>
1580 <arg name="value" type="fixed" summary="axis value"/>
1583 <request name="release" type="destructor">
1584 <description summary="release the tizen_input_device object">
1589 <interface name="tizen_launchscreen" version="1">
1590 <request name="create_img">
1591 <arg name="id" type="new_id" interface="tizen_launch_image" summary="new tizen_launch_image object"/>
1594 <request name="destroy" type="destructor">
1595 <description summary="destroy the tizen_launchscreen">
1596 Destroy the tizen_launchscreen.
1602 <interface name="tizen_launch_image" version="1">
1604 <enum name="file_type">
1605 <entry name="img" value="0" summary="splash image file path"/>
1606 <entry name="edj" value="1" summary="splash edj file path"/>
1609 <enum name="indicator">
1610 <entry name="off" value="0" summary="splash hide indicator"/>
1611 <entry name="on" value="1" summary="splash show indicator"/>
1614 <enum name="rotation">
1615 <entry name="0" value="0" summary="rotation angle 0 degree"/>
1616 <entry name="90" value="90" summary="rotation angle 90 degree"/>
1617 <entry name="180" value="180" summary="rotation angle 180 degree"/>
1618 <entry name="270" value="270" summary="rotation angle 270 degree"/>
1621 <request name="destroy" type="destructor"/>
1623 <request name="launch">
1624 <arg name="file" type="string"/>
1625 <arg name="file_type" type="uint" />
1626 <arg name="color_depth" type="uint" />
1627 <arg name="rotation" type="uint" />
1628 <arg name="indicator" type="uint" />
1629 <arg name="options" type="array" />
1632 <request name="owner">
1633 <arg name="pid" type="uint" />
1636 <request name="show">
1639 <request name="hide">
1643 <interface name="tizen_effect" version="1">
1645 <entry name="none" value="0" summary="none"/>
1646 <entry name="show" value="1" summary="show effect of window"/>
1647 <entry name="hide" value="2" summary="hide effect of window"/>
1648 <entry name="restack" value="3" summary="restack effect of window"/>
1650 <request name="destroy" type="destructor" />
1651 <event name="start">
1652 <arg name="surface" type="object" interface="wl_surface"/>
1653 <arg name="type" type="uint" />
1656 <arg name="surface" type="object" interface="wl_surface"/>
1657 <arg name="type" type="uint" />
1661 <interface name="tizen_display_policy" version="1">
1662 <enum name="error_state">
1663 <entry name="none" value="0"/>
1664 <entry name="permission_denied" value="1"/>
1666 <!-- for window brightness -->
1667 <request name="set_window_brightness">
1668 <arg name="surface" type="object" interface="wl_surface"/>
1669 <arg name="brightness" type="int"/>
1672 <event name="window_brightness_done">
1673 <arg name="surface" type="object" interface="wl_surface"/>
1674 <arg name="brightness" type="int"/>
1675 <arg name="error_state" type="uint"/>
1678 <request name="destroy" type="destructor">
1679 <description summary="destroy the tizen_display_policy">
1680 Destroy the tizen_display_policy.
1686 <interface name="tizen_indicator" version="1">
1688 <entry name="unknown" value="0" summary="unknown"/>
1689 <entry name="off" value="1" summary="can not show indicator"/>
1690 <entry name="on" value="2" summary="can show indicator"/>
1692 <enum name="opacity_mode">
1693 <entry name="unknown" value="0" summary="unknown"/>
1694 <entry name="opaque" value="1" summary="opaque mode"/>
1695 <entry name="translucent" value="2" summary="translucent mode"/>
1696 <entry name="transparent" value="3" summary="transparent all mode"/>
1697 <entry name="bg_transparent" value="4" summary="transparent only background mode"/>
1699 <enum name="visible_type">
1700 <entry name="hidden" value="0" summary="hidden type indicator"/>
1701 <entry name="shown" value="1" summary="shown type indicator"/>
1704 <request name="destroy" type="destructor"/>
1705 <request name="set_state">
1706 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
1707 <arg name="state" type="int" />
1709 <request name="set_opacity_mode">
1710 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
1711 <arg name="mode" type="int" />
1713 <request name="set_visible_type">
1714 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
1715 <arg name="type" type="int" />
1718 <event name="flick">
1719 <arg name="surface" type="object" interface="wl_surface" summary="occur the flick event"/>
1720 <arg name="type" type="int"/>
1724 <interface name="tizen_clipboard" version="2">
1725 <description summary="an interface for requests and event about clipboard">
1726 This interface provides some requests and events about clipboard for other clients.
1728 <request name="destroy" type="destructor" />
1729 <request name="show">
1730 <description summary="request for show clipboard">
1732 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
1734 <request name="hide">
1735 <description summary="request for hide clipboard">
1737 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
1739 <event name="data_selected">
1740 <description summary="announce data are selected by clipboard">
1742 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
1745 <!-- version 2 additions -->
1746 <request name="set_data_only" since="2">
1747 <description summary="request for setting data only mode for this wl_client">
1748 A wayland client can notify of that the client is data only mode.
1749 The data only mode means that this wayland client doesn't have any
1750 wl_surfaces at all but it wants to use wl_data_device for some data
1753 <arg name="set" type="uint" />
1756 <event name="allowed_data_only" since="2">
1757 <description summary="event to notify if data only set is allowed or not"/>
1758 <arg name="allowed" type="uint" />
1762 <interface name="tizen_screen_rotation" version="1">
1763 <request name="get_ignore_output_transform">
1764 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
1767 <event name="ignore_output_transform">
1768 <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
1769 <arg name="ignore" type="uint"/>
1772 <request name="destroy" type="destructor">
1773 <description summary="destroy the tizen_screen_rotation">
1774 Destroy the tizen_screen_rotation.
1780 <interface name="tizen_renderer" version="1">
1781 <request name="get_renderer_surface">
1782 <arg name="id" type="new_id" interface="tizen_renderer_surface" />
1783 <arg name="surface" type="object" interface="wl_surface" />
1786 <request name="destroy" type="destructor">
1787 <description summary="destroy the tizen_renderer">
1788 Destroy the tizen_renderer
1793 <interface name="tizen_renderer_surface" version="1">
1794 <event name="redraw_request">
1797 <request name="destroy" type="destructor">
1798 <description summary="destroy the tizen_renderer_surface">
1799 Destroy the tizen_renderer_surface