struct CCL::Linux::IWaylandChildWindow

Overview

Interface to query additional information about the parent of a child window in a Wayland session. More…

#include <ilinuxspecifics.h>

struct IWaylandChildWindow: public CCL::IUnknown
{
    // methods

    virtual wl_surface*CCL_API getWaylandSurface (wl_display* display) = 0;

    virtual xdg_surface*CCL_API getParentSurface (
        Rect& parentSize,
        wl_display* display
    ) = 0;

    virtual xdg_toplevel*CCL_API getParentToplevel (wl_display* display) = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Interface to query additional information about the parent of a child window in a Wayland session.

Methods

virtual wl_surface*CCL_API getWaylandSurface (wl_display* display) = 0

Get the parent Wayland surface.

The caller must not change the state of the parent surface.

virtual xdg_surface*CCL_API getParentSurface (
    Rect& parentSize,
    wl_display* display
) = 0

Get the parent XDG surface for creating popup windows.

If the parent surface is not an xdg_surface, this returns the first xdg_surface that can be found in the surface hierarchy, starting the search with the parent surface. The caller must not change the state of the parent surface. The size and position of the parent surface, relative to the top left corner of the child window surface, is returned in parentSize.

virtual xdg_toplevel*CCL_API getParentToplevel (wl_display* display) = 0

Get the XDG toplevel surface containing the child window.

The caller must not change the state of the returned xdg_toplevel.