
;; Copyright (C) 2016, 2021  Tommi Höynälänmaa

;; This file is part of Theme-D-Intr.

;; You can redistribute and/or modify this file under the terms of the
;; GNU General Public License as published by the Free Software
;; Foundation, either version 3 of the License, or (at your option) any
;; later version.

;; This file is distributed in the hope that it will be useful, but
;; WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;; General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see https://www.gnu.org/licenses/.


(define-interface (intr-gtk4-examples theme-d-intr-demo demo)

  (import (standard-library core)
	  (intr-gtk4-examples theme-d-intr-demo _intr-imports))

  (define-class <demo>
    (fields
     (str-name <string> public module)
     (str-module-name <string> public module)
     (str-description <string> public module)
     (str-interface <string> public module)
     (str-body <string> public module)
     (proc-run (:procedure (<gtk-window>) <none> nonpure) public module)))

  (declare-simple-method demo-compute-source (<demo>) <none> nonpure))
