X-Git-Url: https://git.jsancho.org/?p=guile-irrlicht.git;a=blobdiff_plain;f=src%2Fdevice.cpp;fp=src%2Fdevice.cpp;h=0000000000000000000000000000000000000000;hp=02edd859953a99f654dcb281ef9a96a03e83e6bb;hb=d392bfc335713faab44275624d8fd78139880975;hpb=3bb58c2b45af12c0f9c9eac648e67ac6fa90e104 diff --git a/src/device.cpp b/src/device.cpp deleted file mode 100644 index 02edd85..0000000 --- a/src/device.cpp +++ /dev/null @@ -1,175 +0,0 @@ -/* guile-irrlicht --- GNU Guile 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 - . -*/ - -#include -#include -#include "device.h" -#include "dimension2d.h" -#include "driver-types.h" -#include "gsubr.h" -#include "wrapped.h" - -using namespace irr; - -SCM -irr_createDevice (SCM device_type, - SCM window_size, - SCM bits, - SCM fullscreen, - SCM stencilbuffer, - SCM vsync, - SCM receiver) -{ - IrrlichtDevice* device = - createDevice (scm_to_driver_type (device_type), - scm_to_dimension2d_u32 (window_size), - scm_to_uint32 (bits), - scm_to_bool (fullscreen), - scm_to_bool (stencilbuffer), - scm_to_bool (vsync), - (IEventReceiver*)scm_to_irr_pointer (receiver)); - return scm_from_irr_pointer ("", (void*) device); -} - -SCM -IrrlichtDevice_closeDevice (SCM device) -{ - ((IrrlichtDevice*)scm_to_irr_pointer (device))->closeDevice (); - return SCM_UNSPECIFIED; -} - -SCM -IrrlichtDevice_getCursorControl (SCM device) -{ - gui::ICursorControl* cursor_control = - ((IrrlichtDevice*)scm_to_irr_pointer (device))->getCursorControl (); - return scm_from_irr_pointer ("", (void*) cursor_control); -} - -SCM -IrrlichtDevice_getFileSystem (SCM device) -{ - io::IFileSystem* file_system = - ((IrrlichtDevice*)scm_to_irr_pointer (device))->getFileSystem (); - return scm_from_irr_pointer ("", (void*) file_system); -} - -SCM -IrrlichtDevice_getGUIEnvironment (SCM device) -{ - gui::IGUIEnvironment* gui_env = - ((IrrlichtDevice*)scm_to_irr_pointer (device))->getGUIEnvironment (); - return scm_from_irr_pointer ("", (void*) gui_env); -} - -SCM -IrrlichtDevice_getSceneManager (SCM device) -{ - scene::ISceneManager* manager = - ((IrrlichtDevice*)scm_to_irr_pointer (device))->getSceneManager (); - return scm_from_irr_pointer ("", (void*) manager); -} - -SCM -IrrlichtDevice_getTimer (SCM device) -{ - ITimer* timer = - ((IrrlichtDevice*)scm_to_irr_pointer (device))->getTimer (); - return scm_from_irr_pointer ("", (void*) timer); -} - -SCM -IrrlichtDevice_getVideoDriver (SCM device) -{ - video::IVideoDriver* driver = - ((IrrlichtDevice*)scm_to_irr_pointer (device))->getVideoDriver (); - return scm_from_irr_pointer ("", (void*) driver); -} - -SCM -IrrlichtDevice_isWindowActive (SCM device) -{ - return scm_from_bool - (((IrrlichtDevice*)scm_to_irr_pointer (device))->isWindowActive ()); -} - -SCM -IrrlichtDevice_run (SCM device) -{ - return scm_from_bool - (((IrrlichtDevice*)scm_to_irr_pointer (device))->run ()); -} - -template -SCM -IrrlichtDevice_setEventReceiver (SCM device, - SCM receiver) -{ - ((IrrlichtDevice*)scm_to_irr_pointer (device))-> - setEventReceiver ((TEventReceiver)scm_to_irr_pointer (receiver)); - return SCM_UNSPECIFIED; -} - -SCM -IrrlichtDevice_setResizable (SCM device, - SCM resize) -{ - ((IrrlichtDevice*)scm_to_irr_pointer (device))-> - setResizable (scm_to_bool (resize)); - return SCM_UNSPECIFIED; -} - -SCM -IrrlichtDevice_setWindowCaption (SCM device, - SCM text) -{ - wchar_t* wtext = (wchar_t*) scm_to_utf32_string (text); - ((IrrlichtDevice*)scm_to_irr_pointer (device))->setWindowCaption (wtext); - free (wtext); - return SCM_UNSPECIFIED; -} - -SCM -IrrlichtDevice_yield (SCM device) -{ - ((IrrlichtDevice*)scm_to_irr_pointer (device))->yield (); - return SCM_UNSPECIFIED; -} - -void -init_device (void) -{ - DEFINE_GSUBR ("createDevice", 7, 0, 0, irr_createDevice); - DEFINE_GSUBR ("IrrlichtDevice_closeDevice", 1, 0, 0, IrrlichtDevice_closeDevice); - DEFINE_GSUBR ("IrrlichtDevice_getCursorControl", 1, 0, 0, IrrlichtDevice_getCursorControl); - DEFINE_GSUBR ("IrrlichtDevice_getFileSystem", 1, 0, 0, IrrlichtDevice_getFileSystem); - DEFINE_GSUBR ("IrrlichtDevice_getGUIEnvironment", 1, 0, 0, IrrlichtDevice_getGUIEnvironment); - DEFINE_GSUBR ("IrrlichtDevice_getSceneManager", 1, 0, 0, IrrlichtDevice_getSceneManager); - DEFINE_GSUBR ("IrrlichtDevice_getTimer", 1, 0, 0, IrrlichtDevice_getTimer); - DEFINE_GSUBR ("IrrlichtDevice_getVideoDriver", 1, 0, 0, IrrlichtDevice_getVideoDriver); - DEFINE_GSUBR ("IrrlichtDevice_isWindowActive", 1, 0, 0, IrrlichtDevice_isWindowActive); - DEFINE_GSUBR ("IrrlichtDevice_run", 1, 0, 0, IrrlichtDevice_run); - DEFINE_GSUBR ("IrrlichtDevice_setEventReceiver_IEventReceiver", 2, 0, 0, - IrrlichtDevice_setEventReceiver); - DEFINE_GSUBR ("IrrlichtDevice_setResizable", 2, 0, 0, IrrlichtDevice_setResizable); - DEFINE_GSUBR ("IrrlichtDevice_setWindowCaption", 2, 0, 0, IrrlichtDevice_setWindowCaption); - DEFINE_GSUBR ("IrrlichtDevice_yield", 1, 0, 0, IrrlichtDevice_yield); -}