mirror of
https://github.com/brl/mutter.git
synced 2025-02-21 15:34:11 +00:00

Introduce a new paint_node vfunc that, if implemented, allows the effect to add nodes to a transient paint node that is immediately painted. This is a transitional step until we have fully delegated paint node rendering. The most basic implementation of a ClutterEffect.paint_node vfunc, and also the default implementation, is with an actor node, as follows: ``` static void foo_bar_paint_node (ClutterEffect *effect, ClutterPaintNode *node, ClutterPaintContext *paint_context, ClutterEffectPaintFlags flags) { g_autoptr (ClutterPaintNode) actor_node = NULL; actor_node = clutter_actor_node_new (effect->actor); clutter_paint_node_add_child (node, actor_node); } ``` This example gives the exact same behavior of simply calling clutter_actor_continue_paint(). In the future, the paint node itself will be a parameter of clutter_actor_continue_paint() and we'll be able to simplify it event more. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1340