From 2291f72634c35af1cddc9af11d3a6a88a5eb1c3b Mon Sep 17 00:00:00 2001 From: Javier Sancho Date: Wed, 2 Oct 2019 16:39:30 +0200 Subject: [PATCH] Window size for createDevice --- Makefile.am | 3 ++- include/cirrlicht.h | 4 +++- include/dimension2d.h | 31 +++++++++++++++++++++++++++++++ src/CIrrlicht.cpp | 9 +++++++-- 4 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 include/dimension2d.h diff --git a/Makefile.am b/Makefile.am index c7470a5..c4f3592 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,5 +3,6 @@ libCIrrlicht_la_SOURCES = src/CIrrlicht.cpp libCIrrlicht_la_CPPFLAGS = -I$(top_srcdir)/include libCIrrlicht_la_LDFLAGS = -version-info 0:1 include_HEADERS = \ + include/EDriverTypes.h \ include/cirrlicht.h \ - include/EDriverTypes.h + include/dimension2d.h diff --git a/include/cirrlicht.h b/include/cirrlicht.h index 2b45956..73af3f1 100644 --- a/include/cirrlicht.h +++ b/include/cirrlicht.h @@ -23,12 +23,14 @@ #define __C_IRRLICHT_H_INCLUDED__ #include "EDriverTypes.h" +#include "dimension2d.h" #ifdef __cplusplus extern "C" { #endif - int irr_createDevice(irr_video_E_DRIVER_TYPE deviceType); + int irr_createDevice(irr_video_E_DRIVER_TYPE deviceType, + irr_core_dimension2d_u32 windowSize); #ifdef __cplusplus } diff --git a/include/dimension2d.h b/include/dimension2d.h new file mode 100644 index 0000000..118c7a3 --- /dev/null +++ b/include/dimension2d.h @@ -0,0 +1,31 @@ +/* c-irrlicht --- C bindings for Irrlicht Engine + + Copyright (C) 2019 Javier Sancho + + This file is part of c-irrlicht. + + c-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. + + c-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 + . +*/ + +#ifndef __C_IRR_DIMENSION2D_H_INCLUDED__ +#define __C_IRR_DIMENSION2D_H_INCLUDED__ + +typedef struct +{ + u_int32_t width; + u_int32_t height; +} irr_core_dimension2d_u32; + +#endif diff --git a/src/CIrrlicht.cpp b/src/CIrrlicht.cpp index 7ef8397..41076cf 100644 --- a/src/CIrrlicht.cpp +++ b/src/CIrrlicht.cpp @@ -23,9 +23,14 @@ #include "cirrlicht.h" extern "C" { - int irr_createDevice(irr_video_E_DRIVER_TYPE deviceType) + int irr_createDevice(irr_video_E_DRIVER_TYPE deviceType, + irr_core_dimension2d_u32 windowSize) { - irr::createDevice((irr::video::E_DRIVER_TYPE)deviceType); + irr::core::dimension2d wsize = \ + irr::core::dimension2d(windowSize.width, + windowSize.height); + irr::createDevice((irr::video::E_DRIVER_TYPE)deviceType, + wsize); return 0; } } -- 2.39.5