Age | Commit message (Collapse) | Author |
|
This allows compositors to avoid sending multiple frame done events
to a surface that is rendered on multiple outputs at once. This may
also be used in the same way for presentation feedback.
|
|
Co-authored-by: Simon Ser <[email protected]>
|
|
Before this commit, it would keep the node at the top or make it second-
topmost.
|
|
This allows getting a wlr_scene_output from a wlr_output. Since an
output can only be added once to a scene-graph there's no ambiguity.
This is useful for compositors using wlr_scene_attach_output_layout:
the output layout integration automatically creates a scene-graph
output for each wlr_output added to the layout.
|
|
If the surface has a source box set, use that.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3172
|
|
This allows compositors to easily add an xdg_surface to the
scene-graph while retaining the ability to unconstraint popups
and decide their final position.
Compositors can handle new popups with the wlr_xdg_shell.new_surface
event, get the parent scene-graph node via wlr_xdg_popup.parent.data,
create a new scene-graph node via wlr_scene_xdg_surface_tree_create,
and unconstraint the popup if they want to.
|
|
|
|
|
|
|
|
This is only called from one function.
To destroy the wlr_scene_subsurface_tree from elsewhere, callers
can destroy the scene-graph node returned by
wlr_scene_subsurface_tree_create instead (just like a compositor
would do). subsurface_tree_handle_surface_destroy does exactly this.
Inlining avoids calling subsurface_tree_destroy by mistake.
|
|
Check if only a single node intersects with the output viewport
and all of its properties match. In this case, attempt direct
scan-out.
|
|
This allows compositors to more easily implement sending
wl_surface.frame callback done events.
|
|
|
|
These are very common operations for compositors (including tinywl)
to perform.
|
|
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.
|
|
|
|
|
|
This allows to unify the RECT and BUFFER code-paths. The BUFFER one
will become more complicated with destination size and transforms.
|
|
|
|
|
|
This new scene-graph node displays a wlr_buffer.
Closes: https://github.com/swaywm/wlroots/issues/3161
|
|
Let's extract the common bits.
|
|
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.
|
|
|
|
|
|
This is a helper to integrate wlr_scene with wlr_output_layout.
|
|
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.
|