Simon Ser
a4ccca0834
scene: add support for direct scan-out
...
Check if only a single node intersects with the output viewport
and all of its properties match. In this case, attempt direct
scan-out.
2021-10-23 00:49:07 +02:00
Simon Ser
db4c93028d
scene: add wlr_scene_output_for_each_surface
...
This allows compositors to more easily implement sending
wl_surface.frame callback done events.
2021-10-22 22:29:35 +02:00
Simon Ser
f7ea33da0a
scene: remove surface commit listener when node is destroyed
2021-10-18 16:25:19 +02:00
Isaac Freund
4fae8f7be3
scene: add functions to place node on top/bottom
...
These are very common operations for compositors (including tinywl)
to perform.
2021-10-14 21:10:03 +02:00
Isaac Freund
2a8d385386
scene: assert that node != sibling in place above/below
...
Currently these functions remove the node from the scene if the sibling
argument is the same node as the node. To prevent confusion when
misusing this API, assert that the nodes are distinct and document this.
2021-10-14 21:10:03 +02:00
Simon Ser
3c26244340
scene: add wlr_scene_buffer_set_transform
2021-09-22 10:45:39 -06:00
Simon Ser
43833fba64
scene: add wlr_scene_buffer_set_dest_size
2021-09-22 10:45:39 -06:00
Simon Ser
3d4afbe945
scene: use scene_node_get_size in wlr_scene_node_at
...
This allows to unify the RECT and BUFFER code-paths. The BUFFER one
will become more complicated with destination size and transforms.
2021-09-22 10:45:39 -06:00
Simon Ser
27b529f8a0
scene: add scene_node_get_size helper
2021-09-22 10:45:39 -06:00
Simon Ser
63040d6744
scene: add wlr_scene_buffer_set_source_box
2021-09-22 10:45:39 -06:00
Simon Ser
7939bf8cc6
scene: add wlr_scene_buffer
...
This new scene-graph node displays a wlr_buffer.
Closes: https://github.com/swaywm/wlroots/issues/3161
2021-09-22 10:45:39 -06:00
Simon Ser
f6f0e010d1
scene: unify intersection logic in wlr_scene_node_at
...
Let's extract the common bits.
2021-09-22 10:45:39 -06:00
Simon Ser
b25759cd20
scene: drop default case in wlr_scene_node_at
...
This allows the compiler to error out if we haven't enumerated all
of the cases. This is useful to avoid a missing implementation when
adding a new node type.
2021-09-22 10:45:39 -06:00
Simon Ser
2e590026e9
scene: add wlr_scene_subsurface_tree_create
2021-09-21 16:48:31 +02:00
Simon Ser
211b3b760e
scene: add wlr_scene_tree
2021-09-21 16:48:31 +02:00
Simon Ser
a181a37b12
scene: add wlr_scene_attach_output_layout
...
This is a helper to integrate wlr_scene with wlr_output_layout.
2021-09-09 12:04:35 +02:00
Simon Ser
7832005a1f
scene: move source to subdir
...
This will allow more scene-graph extensions to be added without
cluttering wlr_scene.c, for instance for sub-surface handling and
wlr_output_layout integration.
2021-09-09 12:04:35 +02:00