Skip to content
  • Neil Roberts's avatar
    wayland: Add an actor for the cursor · a5585327
    Neil Roberts authored and Jasper St. Pierre's avatar Jasper St. Pierre committed
    When running Mutter under Cogl's KMS backend no cursor will be
    provided so instead this makes it so the cursor will be painted as a
    CoglTexture that gets moved in response to mouse motion events. The
    painting is done in a subclass of ClutterStage so that we can
    guarantee that the cursor will be painted on top of everything else.
    
    This patch adds support for the set_cursor method on the pointer
    interface so that clients can change the cursor image.
    
    The set_pointer method sets a surface and a hotspot position to use
    for the cursor image. The surface's buffer is converted to a
    CoglTexture and attached to a pipeline to paint directly via Cogl. If
    a new buffer is attached to the surface the image will be updated. The
    cursor reverts back to the default image whenever to the pointer focus
    is moved off of any surface.
    
    The image for the pointer is taken from X. It gets installed into
    a fixed data location for mutter.
    a5585327