/**
 * clutter_wayland_stage_get_wl_shell_surface: (skip)
 *
 * @stage: a #ClutterStage
 *
 * Access the underlying data structure representing the shell surface that is
 * backing the #ClutterStage
 *
 * Note: this function can only be called when running on the Wayland
 * platform. Calling this function at any other time will return %NULL.
 *
 * Returns: (transfer non): the Wayland shell surface associated with
 * @stage
 *
 * Since: 1.10
 */
struct wl_shell_surface *
clutter_wayland_stage_get_wl_shell_surface (ClutterStage *stage)
{
    ClutterStageWindow *stage_window = _clutter_stage_get_window (stage);
    ClutterStageWayland *stage_wayland;

    if (!CLUTTER_IS_STAGE_WAYLAND (stage_window))
        return NULL;

    stage_wayland = CLUTTER_STAGE_WAYLAND (stage_window);

    return stage_wayland->wayland_shell_surface;
}
示例#2
0
static void
clutter_backend_wayland_redraw (ClutterBackend *backend,
				ClutterStage   *stage)
{
  ClutterStageWindow *impl;

  impl = _clutter_stage_get_window (stage);
  if (!impl)
    return;

  g_assert (CLUTTER_IS_STAGE_WAYLAND (impl));

  _clutter_stage_wayland_redraw (CLUTTER_STAGE_WAYLAND (impl), stage);
}