/*
 * Copyright (C) 2026 Phosh.mobi e.V.
 *
 * SPDX-License-Identifier: GPL-3.0-or-later
 */

#pragma once

#include "xx-cutouts-v1-client-protocol.h"

#include <stdint.h>

#include <gdk/gdk.h>
#include <gtk/gtk.h>

G_BEGIN_DECLS

#define LIVI_TYPE_CUTOUTS (livi_cutouts_get_type ())

G_DECLARE_FINAL_TYPE (LiviCutouts, livi_cutouts, LIVI, CUTOUTS, GObject)


typedef struct {
  uint32_t id;
  GdkRectangle box;
} Cutout;


typedef struct {
  uint32_t id;
  uint32_t radius;
  enum xx_cutouts_v1_corner_position pos;
} Corner;


LiviCutouts *livi_cutouts_new (GtkWindow *window);
GArray *     livi_cutouts_get_cutouts (LiviCutouts *self);
GArray *     livi_cutouts_get_corners (LiviCutouts *self);

G_END_DECLS
