From c23f81b59db98d7af4fd91a41c9b366823662083 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sun, 14 Jun 2015 20:56:03 -0400 Subject: Add composite (sly) module. * sly.scm: New file. * Makefile.am (SOURCES): Add it. * sandbox.in: Use new module. * examples/common.scm: Likewise. * examples/font.scm: Likewise. * README ("Example"): Update example. --- sly.scm | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 sly.scm (limited to 'sly.scm') diff --git a/sly.scm b/sly.scm new file mode 100644 index 0000000..b92536a --- /dev/null +++ b/sly.scm @@ -0,0 +1,60 @@ +;;; Sly +;;; Copyright (C) 2015 David Thompson +;;; +;;; This program is free software: you can redistribute it and/or +;;; modify it 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 program 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 +;;; . + +;;; Commentary: +;; +;; Composite module that exports commonly used public modules. +;; +;;; Code: + +(define-module (sly) + #:use-module (sly window) + #:use-module (sly render font) + #:export (sly-init)) + +(eval-when (eval load compile) + (begin + (define %public-modules + '((sly agenda) + (sly game) + (sly signal) + (sly window) + (sly repl) + (sly utils) + (sly render color) + (sly render font) + (sly render sprite) + (sly render texture) + (sly render model) + (sly render camera) + (sly render scene) + (sly input keyboard) + (sly input mouse) + (sly math) + (sly math rect) + (sly math transform) + (sly math vector))) + + (for-each (let ((i (module-public-interface (current-module)))) + (lambda (m) + (module-use! i (resolve-interface m)))) + %public-modules))) + +(define* (sly-init #:key (fonts? #t)) + "Initialize Sly's global state, such as the OpenGL context." + (open-window) + (when fonts? (enable-fonts))) -- cgit v1.2.3