mutter/clutter
Georges Basile Stavracas Neto 5a4ade857a
Port ClutterText to ClutterPaintNode
The port to use ClutterPaintNodes basically mirrors what
it currently does, with the major benefit of not depending
on cogl_get_draw_framebuffer() anymore.

There are various factors that influence the number of
subnodes:

 * The background color adds a color subnode;
 * The selection adds a clip subnode, and a color subnode,
   or a color and a text subnode;

The simplest case is when the text does not overflow and
has no background color nor selection. In that case, the
render tree is simply:

    [ Dummy ]
        ↓
    [ Text ]

In contrast, the most complex case is when drawing the text
with selection, in which case the render tree looks like:

    [ Dummy ]
        ↓
    [ Clip ]
        ↓
    [ Text ] → [ Clip ]
                  ↓
               [ Color ] → [ Text ]

Since the selection may have another text color, the selected
text must be rendered again, but clipped to only cover the
selection rectangle. This is suboptimal, but it's what the
current code already does anyway.
2018-09-28 21:38:12 -03:00
..
build move everything into a clutter/ directory 2016-04-12 20:04:26 +02:00
clutter Port ClutterText to ClutterPaintNode 2018-09-28 21:38:12 -03:00
examples Make libmutter and friends parallel installable 2017-02-14 11:16:45 +08:00
tests clutter: Stop using g_type_class_add_private() 2018-07-31 23:40:01 +02:00
.gitignore clutter: Remove clutter-build-config.h.in 2016-07-20 14:23:48 +08:00
configure.ac configure: Don't declare functions in AC_TRY_LINK and AC_TRY_COMPILE 2018-03-21 13:14:50 +00:00
Makefile.am move everything into a clutter/ directory 2016-04-12 20:04:26 +02:00