Skip to content
  • Georges Basile Stavracas Neto's avatar
    shaped-texture: Implement ClutterContent · 75cffd0e
    Georges Basile Stavracas Neto authored and Jonas Ådahl's avatar Jonas Ådahl committed
    MetaWindowActor is the compositor-side representative of a
    MetaWindow. Specifically it represents the geometry of the
    window under Clutter scene graph. MetaWindowActors are backed
    by MetaSurfaceActors, that represent the windowing system's
    surfaces themselves. Naturally, these surfaces have textures
    with the pixel content of the clients associated with them.
    These textures are represented by MetaShapedTexture.
    
    MetaShapedTextures are currently implemented as ClutterActor
    subclasses that override the paint function to paint the
    textures it holds.
    
    Conceptually, however, Clutter has an abstraction layer for
    contents of actors: ClutterContent. Which MetaShapedTexture
    fits nicely, in fact.
    
    Make MetaShapedTexture a ClutterContent implementation. This
    forces a few changes in the stack:
    
     * MetaShapedTexture now handles buffer scale.
    
     * We now paint into ClutterPaintNode instead of the direct
       framebuffer.
    
     * Various pieces of Wayland code now use MetaSurfaceActor
       instead of MetaShapedTexture.
    
     * MetaSurfaceActorWayland doesn't override size negotiation
       vfuncs anymore
    
    GNOME/mutter!409
    75cffd0e