X-Git-Url: https://git.jsancho.org/?p=guile-irrlicht.git;a=blobdiff_plain;f=irrlicht%2Fdevice.scm;fp=irrlicht%2Fdevice.scm;h=0000000000000000000000000000000000000000;hp=0fdeed7ffecad1484d7e473a6e497a87ed654f7e;hb=d392bfc335713faab44275624d8fd78139880975;hpb=3bb58c2b45af12c0f9c9eac648e67ac6fa90e104 diff --git a/irrlicht/device.scm b/irrlicht/device.scm deleted file mode 100644 index 0fdeed7..0000000 --- a/irrlicht/device.scm +++ /dev/null @@ -1,108 +0,0 @@ -;;; guile-irrlicht --- FFI bindings for Irrlicht Engine -;;; Copyright (C) 2020 Javier Sancho -;;; -;;; This file is part of guile-irrlicht. -;;; -;;; Guile-irrlicht is free software; you can redistribute it and/or modify -;;; it under the terms of the GNU Lesser General Public License as -;;; published by the Free Software Foundation; either version 3 of the -;;; License, or (at your option) any later version. -;;; -;;; Guile-irrlicht 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 Lesser General Public -;;; License along with guile-irrlicht. If not, see -;;; . - - -(define-module (irrlicht device) - #:use-module (oop goops) - #:use-module (irrlicht base) - #:use-module (irrlicht foreign) - #:use-module ((irrlicht irr) #:select ( ))) - - -;; IrrlichtDevice -(define-class () - (irr-class #:init-value "IrrlichtDevice")) - -(define-method (close-device (device )) - (let ((closeDevice (get-irrlicht-proc "closeDevice" device))) - (closeDevice device))) - -(define* (create-device #:key - (device-type 'software) - (window-size '(640 480)) - (bits 16) - (fullscreen #f) - (stencilbuffer #f) - (vsync #f) - (receiver (make ))) - (if (not (is-a? receiver )) - (error - "In procedure create-device: Wrong type argument (expecting ):" - receiver)) - - (let* ((createDevice (get-irrlicht-proc "createDevice")) - (device (createDevice device-type window-size bits fullscreen stencilbuffer - vsync receiver))) - (if (null-object? device) - (error "In procedure create-device: Device cannot be created") - device))) - -(define-method (get-cursor-control (device )) - (let ((getCursorControl (get-irrlicht-proc "getCursorControl" device))) - (getCursorControl device))) - -(define-method (get-file-system (device )) - (let ((getFileSystem (get-irrlicht-proc "getFileSystem" device))) - (getFileSystem device))) - -(define-method (get-gui-environment (device )) - (let ((getGUIEnvironment (get-irrlicht-proc "getGUIEnvironment" device))) - (getGUIEnvironment device))) - -(define-method (get-scene-manager (device )) - (let ((getSceneManager (get-irrlicht-proc "getSceneManager" device))) - (getSceneManager device))) - -(define-method (get-timer (device )) - (let ((getTimer (get-irrlicht-proc "getTimer" device))) - (getTimer device))) - -(define-method (get-video-driver (device )) - (let* ((getVideoDriver (get-irrlicht-proc "getVideoDriver" device)) - (driver (getVideoDriver device))) - (if (null-object? driver) - (error "In procedure get-video-driver: Driver unavailable") - driver))) - -(define-method (is-window-active? (device )) - (let ((isWindowActive (get-irrlicht-proc "isWindowActive" device))) - (isWindowActive device))) - -(define-method (run (device )) - ((get-irrlicht-proc "run" device) device)) - -(define-method (set-event-receiver! (device ) (receiver )) - (let ((setEventReceiver (get-irrlicht-proc "setEventReceiver" device receiver))) - (setEventReceiver device receiver))) - -(define-method (set-resizable! (device ) resize) - (let ((setResizable (get-irrlicht-proc "setResizable" device))) - (setResizable device resize))) - -(define-method (set-window-caption! (device ) text) - ((get-irrlicht-proc "setWindowCaption" device) - device text)) - -(define-method (yield-device (device )) - (let ((yield (get-irrlicht-proc "yield" device))) - (yield device))) - -(export close-device create-device get-cursor-control get-file-system - get-gui-environment get-scene-manager get-timer get-video-driver is-window-active? run - set-event-receiver! set-resizable! set-window-caption! yield-device)