diff options
author | David Thompson <davet@gnu.org> | 2015-06-14 20:56:03 -0400 |
---|---|---|
committer | David Thompson <davet@gnu.org> | 2015-06-14 20:58:52 -0400 |
commit | c23f81b59db98d7af4fd91a41c9b366823662083 (patch) | |
tree | 61e2bdb80e1d8e74419c813c74bef04ae44d36ff /sly.scm | |
parent | 0ec98c95075e09567ef05a84dae8f6de40920202 (diff) |
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.
Diffstat (limited to 'sly.scm')
-rw-r--r-- | sly.scm | 60 |
1 files changed, 60 insertions, 0 deletions
@@ -0,0 +1,60 @@ +;;; Sly +;;; Copyright (C) 2015 David Thompson <davet@gnu.org> +;;; +;;; 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 +;;; <http://www.gnu.org/licenses/>. + +;;; 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))) |