(define-module (wlroots types viewporter)
  #:use-module (oop goops)
  #:duplicates (merge-accessors merge-generics replace warn-override-core warn last)

  #:use-module (wayland server display)
  #:use-module ((system foreign) #:prefix ffi:)
  #:use-module (wlroots utils)
  #:use-module (wlroots types)
  #:use-module (wlroots types seat)
  #:export (wlr-viewporter-create .global .display-destroy))

(define-wlr-types-class wlr-viewporter ()
  (global #:accessor .global)
  (display-destroy #:accessor .display-destroy)
  #:descriptor %wlr-viewporter-struct)
(define-wlr-procedure (wlr-viewporter-create display)
  ('* "wlr_viewporter_create" (list '*))
  (wrap-wlr-viewporter (% (unwrap-wl-display display))))
