packages feed

HGamer3D-SDL2-Binding 0.3.1 → 0.3.2

raw patch · 39 files changed

+1760/−11 lines, 39 files

Files

HGamer3D-SDL2-Binding.cabal view
@@ -1,5 +1,5 @@ Name:                HGamer3D-SDL2-Binding
-Version:             0.3.1
+Version:             0.3.2
 Synopsis:            SDL2 Binding for HGamer3D
 Description:         
    HGamer3D is a game engine for developing 3D games in the programming @@ -18,7 +18,7 @@ Cabal-Version:       >=1.4
 Homepage:            http://www.hgamer3d.org
 Category:            Game Engine
-Extra-source-files:  Setup.hs, include/sdlevent_struct.h, include/hg3dstruct.h
+Extra-source-files:  Setup.hs, include/HeaderSDLEvents.h, include/EnumSDLRendererFlags.h, include/StructHG3DClass.h, include/EnumSDLLogPriority.h, include/EnumSDLWindowShapeMode.h, include/HG3DUtilities.h, include/StructSDLEvent.h, include/HeaderSDL.h, include/EnumSDLMessageBoxColorType.h, include/EnumSDLThreadPriority.h, include/HeaderSDLVideo.h, include/EnumSDLBlendMode.h, include/EnumSDLEventType.h, include/EnumSDLHintPriority.h, include/EnumSDLGLAttr.h, include/EnumSDLWindowEventID.h, include/EnumSDLTextureAccess.h, include/EnumSDLRendererFlip.h, include/EnumSDLMessageBoxFlags.h, include/SDL2DllDefines.h, include/EnumSDLPowerState.h, include/EnumSDLSystemCursor.h, include/EnumSDLGameControllerButton.h, include/EnumSDLTextureModulate.h, include/HeaderSDLKeyboard.h, include/EnumSDLKeymod.h, include/EnumSDLGameControllerAxis.h, include/EnumSDLScancode.h, include/EnumSDLGLProfile.h, include/EnumSDLWindowFlags.h, include/EnumSDLGlContextFlag.h, include/EnumSDLSysWMType.h, include/ClassPtr.h, include/EnumSDLMessageBoxButtonFlags.h, include/EnumSDLGameControllerBindType.h, include/HeaderSDLMouse.h
 
 Library
   Build-Depends:     base >= 3 && < 5, utf8-string, bytestring, HGamer3D-Data >= 0.3.0
@@ -33,6 +33,6 @@   Build-tools:       
   build-depends:     
   if os(windows)
-     extra-libraries:   hg3dsdl2031
+     extra-libraries:   hg3dsdl2032
   else
-     extra-libraries:   hg3dsdl2031,SDL2-2.0,X11
+     extra-libraries:   hg3dsdl2032,SDL2-2.0,X11
+ include/ClassPtr.h view
@@ -0,0 +1,38 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// ClassPtr.h
+
+// Here are the methods defined, which do the class pointer+// marshalling and the casting of subclasses to higher classes+
+#include "wchar.h"
+
+
+#ifndef CLASSPTR_INCLUDE_H+#define CLASSPTR_INCLUDE_H++typedef struct hg3dclass_struct {+	void *ptr;+	void *fptr;+} hg3dclass_struct;++void *getHG3DClassPtr(hg3dclass_struct inSt, const char* className);+++#endif
+ include/EnumSDLBlendMode.h view
@@ -0,0 +1,35 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLBlendMode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLBlendMode+#define _DEFINED_HG3D_EnumSDLBlendMode+
+
+enum EnumSDLBlendMode+{+  SDL_BLENDMODE_NONE =  0x00000000, // +  SDL_BLENDMODE_BLEND =  0x00000001, // +  SDL_BLENDMODE_ADD =  0x00000002, // +  SDL_BLENDMODE_MOD =  0x00000004 // +};+#endif 
+ include/EnumSDLEventType.h view
@@ -0,0 +1,72 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLEventType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLEventType+#define _DEFINED_HG3D_EnumSDLEventType+
+
+enum EnumSDLEventType+{+  SDL_FIRSTEVENT =  0, // +  SDL_QUIT =  0x100, // +  SDL_APP_TERMINATING, // +  SDL_APP_LOWMEMORY, // +  SDL_APP_WILLENTERBACKGROUND, // +  SDL_APP_DIDENTERBACKGROUND, // +  SDL_APP_WILLENTERFOREGROUND, // +  SDL_APP_DIDENTERFOREGROUND, // +  SDL_WINDOWEVENT =  0x200, // +  SDL_SYSWMEVENT, // +  SDL_KEYDOWN =  0x300, // +  SDL_KEYUP, // +  SDL_TEXTEDITING, // +  SDL_TEXTINPUT, // +  SDL_MOUSEMOTION =  0x400, // +  SDL_MOUSEBUTTONDOWN, // +  SDL_MOUSEBUTTONUP, // +  SDL_MOUSEWHEEL, // +  SDL_JOYAXISMOTION =  0x600, // +  SDL_JOYBALLMOTION, // +  SDL_JOYHATMOTION, // +  SDL_JOYBUTTONDOWN, // +  SDL_JOYBUTTONUP, // +  SDL_JOYDEVICEADDED, // +  SDL_JOYDEVICEREMOVED, // +  SDL_CONTROLLERAXISMOTION =  0x650, // +  SDL_CONTROLLERBUTTONDOWN, // +  SDL_CONTROLLERBUTTONUP, // +  SDL_CONTROLLERDEVICEADDED, // +  SDL_CONTROLLERDEVICEREMOVED, // +  SDL_CONTROLLERDEVICEREMAPPED, // +  SDL_FINGERDOWN =  0x700, // +  SDL_FINGERUP, // +  SDL_FINGERMOTION, // +  SDL_DOLLARGESTURE =  0x800, // +  SDL_DOLLARRECORD, // +  SDL_MULTIGESTURE, // +  SDL_CLIPBOARDUPDATE =  0x900, // +  SDL_DROPFILE =  0x1000, // +  SDL_USEREVENT =  0x8000, // +  SDL_LASTEVENT =  0xFFFF // +};+#endif 
+ include/EnumSDLGLAttr.h view
@@ -0,0 +1,55 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLGLAttr.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLGLAttr+#define _DEFINED_HG3D_EnumSDLGLAttr+
+
+enum EnumSDLGLAttr+{+  SDL_GL_RED_SIZE, // +  SDL_GL_GREEN_SIZE, // +  SDL_GL_BLUE_SIZE, // +  SDL_GL_ALPHA_SIZE, // +  SDL_GL_BUFFER_SIZE, // +  SDL_GL_DOUBLEBUFFER, // +  SDL_GL_DEPTH_SIZE, // +  SDL_GL_STENCIL_SIZE, // +  SDL_GL_ACCUM_RED_SIZE, // +  SDL_GL_ACCUM_GREEN_SIZE, // +  SDL_GL_ACCUM_BLUE_SIZE, // +  SDL_GL_ACCUM_ALPHA_SIZE, // +  SDL_GL_STEREO, // +  SDL_GL_MULTISAMPLEBUFFERS, // +  SDL_GL_MULTISAMPLESAMPLES, // +  SDL_GL_ACCELERATED_VISUAL, // +  SDL_GL_RETAINED_BACKING, // +  SDL_GL_CONTEXT_MAJOR_VERSION, // +  SDL_GL_CONTEXT_MINOR_VERSION, // +  SDL_GL_CONTEXT_EGL, // +  SDL_GL_CONTEXT_FLAGS, // +  SDL_GL_CONTEXT_PROFILE_MASK, // +  SDL_GL_SHARE_WITH_CURRENT_CONTEXT, // +  SDL_GL_FRAMEBUFFER_SRGB_CAPABLE // +};+#endif 
+ include/EnumSDLGLProfile.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLGLProfile.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLGLProfile+#define _DEFINED_HG3D_EnumSDLGLProfile+
+
+enum EnumSDLGLProfile+{+  SDL_GL_CONTEXT_PROFILE_CORE =  0x0001, // +  SDL_GL_CONTEXT_PROFILE_COMPATIBILITY =  0x0002, // +  SDL_GL_CONTEXT_PROFILE_ES =  0x0004 // +};+#endif 
+ include/EnumSDLGameControllerAxis.h view
@@ -0,0 +1,39 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLGameControllerAxis.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLGameControllerAxis+#define _DEFINED_HG3D_EnumSDLGameControllerAxis+
+
+enum EnumSDLGameControllerAxis+{+  SDL_CONTROLLER_AXIS_INVALID =  -1, // +  SDL_CONTROLLER_AXIS_LEFTX, // +  SDL_CONTROLLER_AXIS_LEFTY, // +  SDL_CONTROLLER_AXIS_RIGHTX, // +  SDL_CONTROLLER_AXIS_RIGHTY, // +  SDL_CONTROLLER_AXIS_TRIGGERLEFT, // +  SDL_CONTROLLER_AXIS_TRIGGERRIGHT, // +  SDL_CONTROLLER_AXIS_MAX // +};+#endif 
+ include/EnumSDLGameControllerBindType.h view
@@ -0,0 +1,35 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLGameControllerBindType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLGameControllerBindType+#define _DEFINED_HG3D_EnumSDLGameControllerBindType+
+
+enum EnumSDLGameControllerBindType+{+  SDL_CONTROLLER_BINDTYPE_NONE =  0, // +  SDL_CONTROLLER_BINDTYPE_BUTTON, // +  SDL_CONTROLLER_BINDTYPE_AXIS, // +  SDL_CONTROLLER_BINDTYPE_HAT // +};+#endif 
+ include/EnumSDLGameControllerButton.h view
@@ -0,0 +1,48 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLGameControllerButton.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLGameControllerButton+#define _DEFINED_HG3D_EnumSDLGameControllerButton+
+
+enum EnumSDLGameControllerButton+{+  SDL_CONTROLLER_BUTTON_INVALID =  -1, // +  SDL_CONTROLLER_BUTTON_A, // +  SDL_CONTROLLER_BUTTON_B, // +  SDL_CONTROLLER_BUTTON_X, // +  SDL_CONTROLLER_BUTTON_Y, // +  SDL_CONTROLLER_BUTTON_BACK, // +  SDL_CONTROLLER_BUTTON_GUIDE, // +  SDL_CONTROLLER_BUTTON_START, // +  SDL_CONTROLLER_BUTTON_LEFTSTICK, // +  SDL_CONTROLLER_BUTTON_RIGHTSTICK, // +  SDL_CONTROLLER_BUTTON_LEFTSHOULDER, // +  SDL_CONTROLLER_BUTTON_RIGHTSHOULDER, // +  SDL_CONTROLLER_BUTTON_DPAD_UP, // +  SDL_CONTROLLER_BUTTON_DPAD_DOWN, // +  SDL_CONTROLLER_BUTTON_DPAD_LEFT, // +  SDL_CONTROLLER_BUTTON_DPAD_RIGHT, // +  SDL_CONTROLLER_BUTTON_MAX // +};+#endif 
+ include/EnumSDLGlContextFlag.h view
@@ -0,0 +1,35 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLGlContextFlag.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLGlContextFlag+#define _DEFINED_HG3D_EnumSDLGlContextFlag+
+
+enum EnumSDLGlContextFlag+{+  SDL_GL_CONTEXT_DEBUG_FLAG =  0x0001, // +  SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG =  0x0002, // +  SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG =  0x0004, // +  SDL_GL_CONTEXT_RESET_ISOLATION_FLAG =  0x0008 // +};+#endif 
+ include/EnumSDLHintPriority.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLHintPriority.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLHintPriority+#define _DEFINED_HG3D_EnumSDLHintPriority+
+
+enum EnumSDLHintPriority+{+  SDL_HINT_DEFAULT, // +  SDL_HINT_NORMAL, // +  SDL_HINT_OVERRIDE // +};+#endif 
+ include/EnumSDLKeymod.h view
@@ -0,0 +1,44 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLKeymod.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLKeymod+#define _DEFINED_HG3D_EnumSDLKeymod+
+
+enum EnumSDLKeymod+{+  KMOD_NONE =  0x0000, // +  KMOD_LSHIFT =  0x0001, // +  KMOD_RSHIFT =  0x0002, // +  KMOD_LCTRL =  0x0040, // +  KMOD_RCTRL =  0x0080, // +  KMOD_LALT =  0x0100, // +  KMOD_RALT =  0x0200, // +  KMOD_LGUI =  0x0400, // +  KMOD_RGUI =  0x0800, // +  KMOD_NUM =  0x1000, // +  KMOD_CAPS =  0x2000, // +  KMOD_MODE =  0x4000, // +  KMOD_RESERVED =  0x8000 // +};+#endif 
+ include/EnumSDLLogPriority.h view
@@ -0,0 +1,38 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLLogPriority.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLLogPriority+#define _DEFINED_HG3D_EnumSDLLogPriority+
+
+enum EnumSDLLogPriority+{+  SDL_LOG_PRIORITY_VERBOSE =  1, // +  SDL_LOG_PRIORITY_DEBUG, // +  SDL_LOG_PRIORITY_INFO, // +  SDL_LOG_PRIORITY_WARN, // +  SDL_LOG_PRIORITY_ERROR, // +  SDL_LOG_PRIORITY_CRITICAL, // +  SDL_NUM_LOG_PRIORITIES // +};+#endif 
+ include/EnumSDLMessageBoxButtonFlags.h view
@@ -0,0 +1,33 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLMessageBoxButtonFlags.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLMessageBoxButtonFlags+#define _DEFINED_HG3D_EnumSDLMessageBoxButtonFlags+
+
+enum EnumSDLMessageBoxButtonFlags+{+  SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT =  0x00000001, // +  SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT =  0x00000002 // +};+#endif 
+ include/EnumSDLMessageBoxColorType.h view
@@ -0,0 +1,37 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLMessageBoxColorType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLMessageBoxColorType+#define _DEFINED_HG3D_EnumSDLMessageBoxColorType+
+
+enum EnumSDLMessageBoxColorType+{+  SDL_MESSAGEBOX_COLOR_BACKGROUND, // +  SDL_MESSAGEBOX_COLOR_TEXT, // +  SDL_MESSAGEBOX_COLOR_BUTTON_BORDER, // +  SDL_MESSAGEBOX_COLOR_BUTTON_BACKGROUND, // +  SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED, // +  SDL_MESSAGEBOX_COLOR_MAX // +};+#endif 
+ include/EnumSDLMessageBoxFlags.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLMessageBoxFlags.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLMessageBoxFlags+#define _DEFINED_HG3D_EnumSDLMessageBoxFlags+
+
+enum EnumSDLMessageBoxFlags+{+  SDL_MESSAGEBOX_ERROR =  0x00000010, // +  SDL_MESSAGEBOX_WARNING =  0x00000020, // +  SDL_MESSAGEBOX_INFORMATION =  0x00000040 // +};+#endif 
+ include/EnumSDLPowerState.h view
@@ -0,0 +1,36 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLPowerState.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLPowerState+#define _DEFINED_HG3D_EnumSDLPowerState+
+
+enum EnumSDLPowerState+{+  SDL_POWERSTATE_UNKNOWN, // +  SDL_POWERSTATE_ON_BATTERY, // +  SDL_POWERSTATE_NO_BATTERY, // +  SDL_POWERSTATE_CHARGING, // +  SDL_POWERSTATE_CHARGED // +};+#endif 
+ include/EnumSDLRendererFlags.h view
@@ -0,0 +1,35 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLRendererFlags.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLRendererFlags+#define _DEFINED_HG3D_EnumSDLRendererFlags+
+
+enum EnumSDLRendererFlags+{+  SDL_RENDERER_SOFTWARE =  0x00000001, // +  SDL_RENDERER_ACCELERATED =  0x00000002, // +  SDL_RENDERER_PRESENTVSYNC =  0x00000004, // +  SDL_RENDERER_TARGETTEXTURE =  0x00000008 // +};+#endif 
+ include/EnumSDLRendererFlip.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLRendererFlip.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLRendererFlip+#define _DEFINED_HG3D_EnumSDLRendererFlip+
+
+enum EnumSDLRendererFlip+{+  SDL_FLIP_NONE =  0x00000000, // +  SDL_FLIP_HORIZONTAL =  0x00000001, // +  SDL_FLIP_VERTICAL =  0x00000002 // +};+#endif 
+ include/EnumSDLScancode.h view
@@ -0,0 +1,273 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLScancode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLScancode+#define _DEFINED_HG3D_EnumSDLScancode+
+
+enum EnumSDLScancode+{+  SDL_SCANCODE_UNKNOWN =  0, // +  SDL_SCANCODE_A =  4, // +  SDL_SCANCODE_B =  5, // +  SDL_SCANCODE_C =  6, // +  SDL_SCANCODE_D =  7, // +  SDL_SCANCODE_E =  8, // +  SDL_SCANCODE_F =  9, // +  SDL_SCANCODE_G =  10, // +  SDL_SCANCODE_H =  11, // +  SDL_SCANCODE_I =  12, // +  SDL_SCANCODE_J =  13, // +  SDL_SCANCODE_K =  14, // +  SDL_SCANCODE_L =  15, // +  SDL_SCANCODE_M =  16, // +  SDL_SCANCODE_N =  17, // +  SDL_SCANCODE_O =  18, // +  SDL_SCANCODE_P =  19, // +  SDL_SCANCODE_Q =  20, // +  SDL_SCANCODE_R =  21, // +  SDL_SCANCODE_S =  22, // +  SDL_SCANCODE_T =  23, // +  SDL_SCANCODE_U =  24, // +  SDL_SCANCODE_V =  25, // +  SDL_SCANCODE_W =  26, // +  SDL_SCANCODE_X =  27, // +  SDL_SCANCODE_Y =  28, // +  SDL_SCANCODE_Z =  29, // +  SDL_SCANCODE_1 =  30, // +  SDL_SCANCODE_2 =  31, // +  SDL_SCANCODE_3 =  32, // +  SDL_SCANCODE_4 =  33, // +  SDL_SCANCODE_5 =  34, // +  SDL_SCANCODE_6 =  35, // +  SDL_SCANCODE_7 =  36, // +  SDL_SCANCODE_8 =  37, // +  SDL_SCANCODE_9 =  38, // +  SDL_SCANCODE_0 =  39, // +  SDL_SCANCODE_RETURN =  40, // +  SDL_SCANCODE_ESCAPE =  41, // +  SDL_SCANCODE_BACKSPACE =  42, // +  SDL_SCANCODE_TAB =  43, // +  SDL_SCANCODE_SPACE =  44, // +  SDL_SCANCODE_MINUS =  45, // +  SDL_SCANCODE_EQUALS =  46, // +  SDL_SCANCODE_LEFTBRACKET =  47, // +  SDL_SCANCODE_RIGHTBRACKET =  48, // +  SDL_SCANCODE_BACKSLASH =  49, // +  SDL_SCANCODE_NONUSHASH =  50, // +  SDL_SCANCODE_SEMICOLON =  51, // +  SDL_SCANCODE_APOSTROPHE =  52, // +  SDL_SCANCODE_GRAVE =  53, // +  SDL_SCANCODE_COMMA =  54, // +  SDL_SCANCODE_PERIOD =  55, // +  SDL_SCANCODE_SLASH =  56, // +  SDL_SCANCODE_CAPSLOCK =  57, // +  SDL_SCANCODE_F1 =  58, // +  SDL_SCANCODE_F2 =  59, // +  SDL_SCANCODE_F3 =  60, // +  SDL_SCANCODE_F4 =  61, // +  SDL_SCANCODE_F5 =  62, // +  SDL_SCANCODE_F6 =  63, // +  SDL_SCANCODE_F7 =  64, // +  SDL_SCANCODE_F8 =  65, // +  SDL_SCANCODE_F9 =  66, // +  SDL_SCANCODE_F10 =  67, // +  SDL_SCANCODE_F11 =  68, // +  SDL_SCANCODE_F12 =  69, // +  SDL_SCANCODE_PRINTSCREEN =  70, // +  SDL_SCANCODE_SCROLLLOCK =  71, // +  SDL_SCANCODE_PAUSE =  72, // +  SDL_SCANCODE_INSERT =  73, // +  SDL_SCANCODE_HOME =  74, // +  SDL_SCANCODE_PAGEUP =  75, // +  SDL_SCANCODE_DELETE =  76, // +  SDL_SCANCODE_END =  77, // +  SDL_SCANCODE_PAGEDOWN =  78, // +  SDL_SCANCODE_RIGHT =  79, // +  SDL_SCANCODE_LEFT =  80, // +  SDL_SCANCODE_DOWN =  81, // +  SDL_SCANCODE_UP =  82, // +  SDL_SCANCODE_NUMLOCKCLEAR =  83, // +  SDL_SCANCODE_KP_DIVIDE =  84, // +  SDL_SCANCODE_KP_MULTIPLY =  85, // +  SDL_SCANCODE_KP_MINUS =  86, // +  SDL_SCANCODE_KP_PLUS =  87, // +  SDL_SCANCODE_KP_ENTER =  88, // +  SDL_SCANCODE_KP_1 =  89, // +  SDL_SCANCODE_KP_2 =  90, // +  SDL_SCANCODE_KP_3 =  91, // +  SDL_SCANCODE_KP_4 =  92, // +  SDL_SCANCODE_KP_5 =  93, // +  SDL_SCANCODE_KP_6 =  94, // +  SDL_SCANCODE_KP_7 =  95, // +  SDL_SCANCODE_KP_8 =  96, // +  SDL_SCANCODE_KP_9 =  97, // +  SDL_SCANCODE_KP_0 =  98, // +  SDL_SCANCODE_KP_PERIOD =  99, // +  SDL_SCANCODE_NONUSBACKSLASH =  100, // +  SDL_SCANCODE_APPLICATION =  101, // +  SDL_SCANCODE_POWER =  102, // +  SDL_SCANCODE_KP_EQUALS =  103, // +  SDL_SCANCODE_F13 =  104, // +  SDL_SCANCODE_F14 =  105, // +  SDL_SCANCODE_F15 =  106, // +  SDL_SCANCODE_F16 =  107, // +  SDL_SCANCODE_F17 =  108, // +  SDL_SCANCODE_F18 =  109, // +  SDL_SCANCODE_F19 =  110, // +  SDL_SCANCODE_F20 =  111, // +  SDL_SCANCODE_F21 =  112, // +  SDL_SCANCODE_F22 =  113, // +  SDL_SCANCODE_F23 =  114, // +  SDL_SCANCODE_F24 =  115, // +  SDL_SCANCODE_EXECUTE =  116, // +  SDL_SCANCODE_HELP =  117, // +  SDL_SCANCODE_MENU =  118, // +  SDL_SCANCODE_SELECT =  119, // +  SDL_SCANCODE_STOP =  120, // +  SDL_SCANCODE_AGAIN =  121, // +  SDL_SCANCODE_UNDO =  122, // +  SDL_SCANCODE_CUT =  123, // +  SDL_SCANCODE_COPY =  124, // +  SDL_SCANCODE_PASTE =  125, // +  SDL_SCANCODE_FIND =  126, // +  SDL_SCANCODE_MUTE =  127, // +  SDL_SCANCODE_VOLUMEUP =  128, // +  SDL_SCANCODE_VOLUMEDOWN =  129, // +  SDL_SCANCODE_KP_COMMA =  133, // +  SDL_SCANCODE_KP_EQUALSAS400 =  134, // +  SDL_SCANCODE_INTERNATIONAL1 =  135, // +  SDL_SCANCODE_INTERNATIONAL2 =  136, // +  SDL_SCANCODE_INTERNATIONAL3 =  137, // +  SDL_SCANCODE_INTERNATIONAL4 =  138, // +  SDL_SCANCODE_INTERNATIONAL5 =  139, // +  SDL_SCANCODE_INTERNATIONAL6 =  140, // +  SDL_SCANCODE_INTERNATIONAL7 =  141, // +  SDL_SCANCODE_INTERNATIONAL8 =  142, // +  SDL_SCANCODE_INTERNATIONAL9 =  143, // +  SDL_SCANCODE_LANG1 =  144, // +  SDL_SCANCODE_LANG2 =  145, // +  SDL_SCANCODE_LANG3 =  146, // +  SDL_SCANCODE_LANG4 =  147, // +  SDL_SCANCODE_LANG5 =  148, // +  SDL_SCANCODE_LANG6 =  149, // +  SDL_SCANCODE_LANG7 =  150, // +  SDL_SCANCODE_LANG8 =  151, // +  SDL_SCANCODE_LANG9 =  152, // +  SDL_SCANCODE_ALTERASE =  153, // +  SDL_SCANCODE_SYSREQ =  154, // +  SDL_SCANCODE_CANCEL =  155, // +  SDL_SCANCODE_CLEAR =  156, // +  SDL_SCANCODE_PRIOR =  157, // +  SDL_SCANCODE_RETURN2 =  158, // +  SDL_SCANCODE_SEPARATOR =  159, // +  SDL_SCANCODE_OUT =  160, // +  SDL_SCANCODE_OPER =  161, // +  SDL_SCANCODE_CLEARAGAIN =  162, // +  SDL_SCANCODE_CRSEL =  163, // +  SDL_SCANCODE_EXSEL =  164, // +  SDL_SCANCODE_KP_00 =  176, // +  SDL_SCANCODE_KP_000 =  177, // +  SDL_SCANCODE_THOUSANDSSEPARATOR =  178, // +  SDL_SCANCODE_DECIMALSEPARATOR =  179, // +  SDL_SCANCODE_CURRENCYUNIT =  180, // +  SDL_SCANCODE_CURRENCYSUBUNIT =  181, // +  SDL_SCANCODE_KP_LEFTPAREN =  182, // +  SDL_SCANCODE_KP_RIGHTPAREN =  183, // +  SDL_SCANCODE_KP_LEFTBRACE =  184, // +  SDL_SCANCODE_KP_RIGHTBRACE =  185, // +  SDL_SCANCODE_KP_TAB =  186, // +  SDL_SCANCODE_KP_BACKSPACE =  187, // +  SDL_SCANCODE_KP_A =  188, // +  SDL_SCANCODE_KP_B =  189, // +  SDL_SCANCODE_KP_C =  190, // +  SDL_SCANCODE_KP_D =  191, // +  SDL_SCANCODE_KP_E =  192, // +  SDL_SCANCODE_KP_F =  193, // +  SDL_SCANCODE_KP_XOR =  194, // +  SDL_SCANCODE_KP_POWER =  195, // +  SDL_SCANCODE_KP_PERCENT =  196, // +  SDL_SCANCODE_KP_LESS =  197, // +  SDL_SCANCODE_KP_GREATER =  198, // +  SDL_SCANCODE_KP_AMPERSAND =  199, // +  SDL_SCANCODE_KP_DBLAMPERSAND =  200, // +  SDL_SCANCODE_KP_VERTICALBAR =  201, // +  SDL_SCANCODE_KP_DBLVERTICALBAR =  202, // +  SDL_SCANCODE_KP_COLON =  203, // +  SDL_SCANCODE_KP_HASH =  204, // +  SDL_SCANCODE_KP_SPACE =  205, // +  SDL_SCANCODE_KP_AT =  206, // +  SDL_SCANCODE_KP_EXCLAM =  207, // +  SDL_SCANCODE_KP_MEMSTORE =  208, // +  SDL_SCANCODE_KP_MEMRECALL =  209, // +  SDL_SCANCODE_KP_MEMCLEAR =  210, // +  SDL_SCANCODE_KP_MEMADD =  211, // +  SDL_SCANCODE_KP_MEMSUBTRACT =  212, // +  SDL_SCANCODE_KP_MEMMULTIPLY =  213, // +  SDL_SCANCODE_KP_MEMDIVIDE =  214, // +  SDL_SCANCODE_KP_PLUSMINUS =  215, // +  SDL_SCANCODE_KP_CLEAR =  216, // +  SDL_SCANCODE_KP_CLEARENTRY =  217, // +  SDL_SCANCODE_KP_BINARY =  218, // +  SDL_SCANCODE_KP_OCTAL =  219, // +  SDL_SCANCODE_KP_DECIMAL =  220, // +  SDL_SCANCODE_KP_HEXADECIMAL =  221, // +  SDL_SCANCODE_LCTRL =  224, // +  SDL_SCANCODE_LSHIFT =  225, // +  SDL_SCANCODE_LALT =  226, // +  SDL_SCANCODE_LGUI =  227, // +  SDL_SCANCODE_RCTRL =  228, // +  SDL_SCANCODE_RSHIFT =  229, // +  SDL_SCANCODE_RALT =  230, // +  SDL_SCANCODE_RGUI =  231, // +  SDL_SCANCODE_MODE =  257, // +  SDL_SCANCODE_AUDIONEXT =  258, // +  SDL_SCANCODE_AUDIOPREV =  259, // +  SDL_SCANCODE_AUDIOSTOP =  260, // +  SDL_SCANCODE_AUDIOPLAY =  261, // +  SDL_SCANCODE_AUDIOMUTE =  262, // +  SDL_SCANCODE_MEDIASELECT =  263, // +  SDL_SCANCODE_WWW =  264, // +  SDL_SCANCODE_MAIL =  265, // +  SDL_SCANCODE_CALCULATOR =  266, // +  SDL_SCANCODE_COMPUTER =  267, // +  SDL_SCANCODE_AC_SEARCH =  268, // +  SDL_SCANCODE_AC_HOME =  269, // +  SDL_SCANCODE_AC_BACK =  270, // +  SDL_SCANCODE_AC_FORWARD =  271, // +  SDL_SCANCODE_AC_STOP =  272, // +  SDL_SCANCODE_AC_REFRESH =  273, // +  SDL_SCANCODE_AC_BOOKMARKS =  274, // +  SDL_SCANCODE_BRIGHTNESSDOWN =  275, // +  SDL_SCANCODE_BRIGHTNESSUP =  276, // +  SDL_SCANCODE_DISPLAYSWITCH =  277, // +  SDL_SCANCODE_KBDILLUMTOGGLE =  278, // +  SDL_SCANCODE_KBDILLUMDOWN =  279, // +  SDL_SCANCODE_KBDILLUMUP =  280, // +  SDL_SCANCODE_EJECT =  281, // +  SDL_SCANCODE_SLEEP =  282, // +  SDL_SCANCODE_APP1 =  283, // +  SDL_SCANCODE_APP2 =  284, // +  SDL_NUM_SCANCODES =  512 // +};+#endif 
+ include/EnumSDLSysWMType.h view
@@ -0,0 +1,37 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLSysWMType.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLSysWMType+#define _DEFINED_HG3D_EnumSDLSysWMType+
+
+enum EnumSDLSysWMType+{+  SDL_SYSWM_UNKNOWN, // +  SDL_SYSWM_WINDOWS, // +  SDL_SYSWM_X11, // +  SDL_SYSWM_DIRECTFB, // +  SDL_SYSWM_COCOA, // +  SDL_SYSWM_UIKIT // +};+#endif 
+ include/EnumSDLSystemCursor.h view
@@ -0,0 +1,44 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLSystemCursor.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLSystemCursor+#define _DEFINED_HG3D_EnumSDLSystemCursor+
+
+enum EnumSDLSystemCursor+{+  SDL_SYSTEM_CURSOR_ARROW, // +  SDL_SYSTEM_CURSOR_IBEAM, // +  SDL_SYSTEM_CURSOR_WAIT, // +  SDL_SYSTEM_CURSOR_CROSSHAIR, // +  SDL_SYSTEM_CURSOR_WAITARROW, // +  SDL_SYSTEM_CURSOR_SIZENWSE, // +  SDL_SYSTEM_CURSOR_SIZENESW, // +  SDL_SYSTEM_CURSOR_SIZEWE, // +  SDL_SYSTEM_CURSOR_SIZENS, // +  SDL_SYSTEM_CURSOR_SIZEALL, // +  SDL_SYSTEM_CURSOR_NO, // +  SDL_SYSTEM_CURSOR_HAND, // +  SDL_NUM_SYSTEM_CURSORS // +};+#endif 
+ include/EnumSDLTextureAccess.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLTextureAccess.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLTextureAccess+#define _DEFINED_HG3D_EnumSDLTextureAccess+
+
+enum EnumSDLTextureAccess+{+  SDL_TEXTUREACCESS_STATIC, // +  SDL_TEXTUREACCESS_STREAMING, // +  SDL_TEXTUREACCESS_TARGET // +};+#endif 
+ include/EnumSDLTextureModulate.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLTextureModulate.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLTextureModulate+#define _DEFINED_HG3D_EnumSDLTextureModulate+
+
+enum EnumSDLTextureModulate+{+  SDL_TEXTUREMODULATE_NONE =  0x00000000, // +  SDL_TEXTUREMODULATE_COLOR =  0x00000001, // +  SDL_TEXTUREMODULATE_ALPHA =  0x00000002 // +};+#endif 
+ include/EnumSDLThreadPriority.h view
@@ -0,0 +1,34 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLThreadPriority.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLThreadPriority+#define _DEFINED_HG3D_EnumSDLThreadPriority+
+
+enum EnumSDLThreadPriority+{+  SDL_THREAD_PRIORITY_LOW, // +  SDL_THREAD_PRIORITY_NORMAL, // +  SDL_THREAD_PRIORITY_HIGH // +};+#endif 
+ include/EnumSDLWindowEventID.h view
@@ -0,0 +1,46 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLWindowEventID.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLWindowEventID+#define _DEFINED_HG3D_EnumSDLWindowEventID+
+
+enum EnumSDLWindowEventID+{+  SDL_WINDOWEVENT_NONE, // +  SDL_WINDOWEVENT_SHOWN, // +  SDL_WINDOWEVENT_HIDDEN, // +  SDL_WINDOWEVENT_EXPOSED, // +  SDL_WINDOWEVENT_MOVED, // +  SDL_WINDOWEVENT_RESIZED, // +  SDL_WINDOWEVENT_SIZE_CHANGED, // +  SDL_WINDOWEVENT_MINIMIZED, // +  SDL_WINDOWEVENT_MAXIMIZED, // +  SDL_WINDOWEVENT_RESTORED, // +  SDL_WINDOWEVENT_ENTER, // +  SDL_WINDOWEVENT_LEAVE, // +  SDL_WINDOWEVENT_FOCUS_GAINED, // +  SDL_WINDOWEVENT_FOCUS_LOST, // +  SDL_WINDOWEVENT_CLOSE // +};+#endif 
+ include/EnumSDLWindowFlags.h view
@@ -0,0 +1,45 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLWindowFlags.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLWindowFlags+#define _DEFINED_HG3D_EnumSDLWindowFlags+
+
+enum EnumSDLWindowFlags+{+  SDL_WINDOW_FULLSCREEN =  0x00000001, // +  SDL_WINDOW_OPENGL =  0x00000002, // +  SDL_WINDOW_SHOWN =  0x00000004, // +  SDL_WINDOW_HIDDEN =  0x00000008, // +  SDL_WINDOW_BORDERLESS =  0x00000010, // +  SDL_WINDOW_RESIZABLE =  0x00000020, // +  SDL_WINDOW_MINIMIZED =  0x00000040, // +  SDL_WINDOW_MAXIMIZED =  0x00000080, // +  SDL_WINDOW_INPUT_GRABBED =  0x00000100, // +  SDL_WINDOW_INPUT_FOCUS =  0x00000200, // +  SDL_WINDOW_MOUSE_FOCUS =  0x00000400, // +  SDL_WINDOW_FULLSCREEN_DESKTOP =  ( SDL_WINDOW_FULLSCREEN | 0x00001000 ), // +  SDL_WINDOW_FOREIGN =  0x00000800, // +  SDL_WINDOW_ALLOW_HIGHDPI =  0x00002000 // +};+#endif 
+ include/EnumSDLWindowShapeMode.h view
@@ -0,0 +1,35 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// EnumSDLWindowShapeMode.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_EnumSDLWindowShapeMode+#define _DEFINED_HG3D_EnumSDLWindowShapeMode+
+
+enum EnumSDLWindowShapeMode+{+  ShapeModeDefault, // The default mode, a binarized alpha cutoff of 1. +  ShapeModeBinarizeAlpha, // A binarized alpha cutoff with a given integer value. +  ShapeModeReverseBinarizeAlpha, // A binarized alpha cutoff with a given integer value, but with the opposite comparison. +  ShapeModeColorKey // A color key is applied. +};+#endif 
+ include/HG3DUtilities.h view
@@ -0,0 +1,28 @@+/*+This source file is part of HGamer3D+(A project to enable 3D game development in Haskell)+For the latest info, see http://www.althainz.de/HGamer3D.html++(c) 2011 Peter Althainz++Licensed under the Apache License, Version 2.0 (the "License");+you may not use this file except in compliance with the License.+You may obtain a copy of the License at++    http://www.apache.org/licenses/LICENSE-2.0++Unless required by applicable law or agreed to in writing, software+distributed under the License is distributed on an "AS IS" BASIS,+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+See the License for the specific language governing permissions and+limitations under the License.+*/++#include "SDL.h"++class HG3DUtilities+{+ public:+  static SDL_Window* createWindowFromHandle(unsigned int handle);+};+
+ include/HeaderSDL.h view
@@ -0,0 +1,45 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// HeaderSDL.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_HeaderSDL+#define _DEFINED_HG3D_HeaderSDL++#include "ClassPtr.h"+
+
+// +void fsdl_sdl_Init(unsigned int flags_c, int * result_c);++// +void fsdl_sdl_InitSubSystem(unsigned int flags_c, int * result_c);++// +void fsdl_sdl_QuitSubSystem(unsigned int flags_c);++// +void fsdl_sdl_WasInit(unsigned int flags_c, unsigned int * result_c);++// +void fsdl_sdl_Quit();++#endif 
+ include/HeaderSDLEvents.h view
@@ -0,0 +1,55 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// HeaderSDLEvents.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_HeaderSDLEvents+#define _DEFINED_HG3D_HeaderSDLEvents++#include "ClassPtr.h"+#include "StructSDLEvent.h"+
+
+// +void sdlevts_sdl_PumpEvents();++// +void sdlevts_sdl_FlushEvent(unsigned int type_c);++// +void sdlevts_sdl_FlushEvents(unsigned int minType_c, unsigned int maxType_c);++// Polls for currently pending events. +void sdlevts_sdl_PollEvent(struct sdlevent_struct * event_c, int * result_c);++// Waits indefinitely for the next available event. +void sdlevts_sdl_WaitEvent(struct sdlevent_struct * event_c, int * result_c);++// Waits until the specified timeout (in milliseconds) for the next available event. +void sdlevts_sdl_WaitEventTimeout(struct sdlevent_struct * event_c, int timeout_c, int * result_c);++// Add an event to the event queue. +void sdlevts_sdl_PushEvent(struct sdlevent_struct * event_c, int * result_c);++// +void sdlevts_sdl_RegisterEvents(int numevents_c, unsigned int * result_c);++#endif 
+ include/HeaderSDLKeyboard.h view
@@ -0,0 +1,39 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// HeaderSDLKeyboard.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_HeaderSDLKeyboard+#define _DEFINED_HG3D_HeaderSDLKeyboard++#include "ClassPtr.h"+
+
+// Get the window which currently has keyboard focus. +void skbd_sdl_GetKeyboardFocus(void * * result_c);++// Start accepting Unicode text input events. This function will show the on-screen keyboard if supported. +void skbd_sdl_StartTextInput();++// Stop receiving any text input events. This function will hide the on-screen keyboard if supported. +void skbd_sdl_StopTextInput();++#endif 
+ include/HeaderSDLMouse.h view
@@ -0,0 +1,45 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// HeaderSDLMouse.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_HeaderSDLMouse+#define _DEFINED_HG3D_HeaderSDLMouse++#include "ClassPtr.h"+
+
+// Get the window which currently has mouse focus. +void sdlms_sdl_GetMouseFocus(void * * result_c);++// Retrieve the current state of the mouse. +void sdlms_sdl_GetMouseState(int * x_c, int * y_c, unsigned int * result_c);++// Retrieve the relative state of the mouse. +void sdlms_sdl_GetRelativeMouseState(int * x_c, int * y_c, unsigned int * result_c);++// Moves the mouse to the given position within the window. +void sdlms_sdl_WarpMouseInWindow(void * window_c, int x_c, int y_c);++// Toggle whether or not the cursor is shown. +void sdlms_sdl_ShowCursor(int toggle_c, int * result_c);++#endif 
+ include/HeaderSDLVideo.h view
@@ -0,0 +1,141 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// HeaderSDLVideo.h
+
+// +
+#include "wchar.h"
+#ifndef _DEFINED_HG3D_HeaderSDLVideo+#define _DEFINED_HG3D_HeaderSDLVideo++#include "ClassPtr.h"+
+
+// Get the number of video drivers compiled into SDL. +void fsdlvid_sdl_GetNumVideoDrivers(int * result_c);++// Get the name of a built in video driver. +void fsdlvid_sdl_GetVideoDriver(int index_c, char * result_c);++// Initialize the video subsystem, optionally specifying a video driver. +void fsdlvid_sdl_VideoInit(char * driver_name_c, int * result_c);++// Shuts down the video subsystem. +void fsdlvid_sdl_VideoQuit();++// Returns the name of the currently initialized video driver. +void fsdlvid_sdl_GetCurrentVideoDriver(char * result_c);++// Returns the number of available video displays. +void fsdlvid_sdl_GetNumVideoDisplays(int * result_c);++// Get the name of a display in UTF-8 encoding. +void fsdlvid_sdl_GetDisplayName(int displayIndex_c, char * result_c);++// Returns the number of available display modes. +void fsdlvid_sdl_GetNumDisplayModes(int displayIndex_c, int * result_c);++// Get the display index associated with a window. +void fsdlvid_sdl_GetWindowDisplayIndex(void * window_c, int * result_c);++// Get the pixel format associated with the window. +void fsdlvid_sdl_GetWindowPixelFormat(void * window_c, unsigned int * result_c);++// Create a window with the specified position, dimensions, and flags. +void fsdlvid_sdl_CreateWindow(char * title_c, int x_c, int y_c, int w_c, int h_c, unsigned int flags_c, void * * result_c);++// Get the numeric ID of a window, for logging purposes. +void fsdlvid_sdl_GetWindowID(void * window_c, unsigned int * result_c);++// Get a window from a stored ID, or NULL if it doesn't exist. +void fsdlvid_sdl_GetWindowFromID(unsigned int id_c, void * * result_c);++// Get the window flags. +void fsdlvid_sdl_GetWindowFlags(void * window_c, unsigned int * result_c);++// Set the title of a window, in UTF-8 format. +void fsdlvid_sdl_SetWindowTitle(void * window_c, char * title_c);++// Get the title of a window, in UTF-8 format. +void fsdlvid_sdl_GetWindowTitle(void * window_c, char * result_c);++// Set the position of a window. +void fsdlvid_sdl_SetWindowPosition(void * window_c, int x_c, int y_c);++// Get the position of a window. +void fsdlvid_sdl_GetWindowPosition(void * window_c, int * x_c, int * y_c);++// Set the size of a window's client area. +void fsdlvid_sdl_SetWindowSize(void * window_c, int w_c, int h_c);++// Get the size of a window's client area. +void fsdlvid_sdl_GetWindowSize(void * window_c, int * w_c, int * h_c);++// Set the minimum size of a window's client area. +void fsdlvid_sdl_SetWindowMinimumSize(void * window_c, int min_w_c, int min_h_c);++// Get the minimum size of a window's client area. +void fsdlvid_sdl_GetWindowMinimumSize(void * window_c, int * w_c, int * h_c);++// Set the maximum size of a window's client area. +void fsdlvid_sdl_SetWindowMaximumSize(void * window_c, int max_w_c, int max_h_c);++// Get the maximum size of a window's client area. +void fsdlvid_sdl_GetWindowMaximumSize(void * window_c, int * w_c, int * h_c);++// Show a window. +void fsdlvid_sdl_ShowWindow(void * window_c);++// Hide a window. +void fsdlvid_sdl_HideWindow(void * window_c);++// Raise a window above other windows and set the input focus. +void fsdlvid_sdl_RaiseWindow(void * window_c);++// Make a window as large as possible. +void fsdlvid_sdl_MaximizeWindow(void * window_c);++// Minimize a window to an iconic representation. +void fsdlvid_sdl_MinimizeWindow(void * window_c);++// Restore the size and position of a minimized or maximized window. +void fsdlvid_sdl_RestoreWindow(void * window_c);++// Set a window's fullscreen state. +void fsdlvid_sdl_SetWindowFullscreen(void * window_c, unsigned int flags_c, int * result_c);++// Copy the window surface to the screen. +void fsdlvid_sdl_UpdateWindowSurface(void * window_c, int * result_c);++// Set the brightness (gamma correction) for a window. +void fsdlvid_sdl_SetWindowBrightness(void * window_c, float brightness_c, int * result_c);++// Get the brightness (gamma correction) for a window. +void fsdlvid_sdl_GetWindowBrightness(void * window_c, float * result_c);++// Destroy a window. +void fsdlvid_sdl_DestroyWindow(void * window_c);++// Allow the screen to be blanked by a screensaver. +void fsdlvid_sdl_EnableScreenSaver();++// Prevent the screen from being blanked by a screensaver. +void fsdlvid_sdl_DisableScreenSaver();++#endif 
+ include/SDL2DllDefines.h view
@@ -0,0 +1,41 @@+// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+
+// SDL2DllDefines.h
+
+#ifndef _HGamer3DSDL2032_DLLDEFINES_H_
+#define _HGamer3DSDL2032_DLLDEFINES_H_
+
+/* Cmake will define HGamer3DSDL2032_EXPORTS on Windows when it
+configures to build a shared library. If you are going to use
+another build system on windows or create the visual studio
+projects by hand you need to define MyLibrary_EXPORTS when
+building a DLL on windows.
+*/
+
+// We are using the Visual Studio Compiler and building Shared libraries
+
+#if (defined (_WIN32)) && !(defined (__GNUC__)) 
+  #if defined(HGamer3DSDL2032_EXPORTS)
+    #define  SDL2_LIB_EXPORT __declspec(dllexport)
+  #else
+    #define  SDL2_LIB_EXPORT __declspec(dllimport)
+  #endif /* HGamer3DSDL2032_EXPORTS */
+#else /* defined (_WIN32) */
+ #define SDL2_LIB_EXPORT
+#endif
+
+#endif /* _HGamer3DSDL2032_DLLDEFINES_H_ */
+ include/StructHG3DClass.h view
@@ -0,0 +1,29 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// StructHG3DClass.h
+
+// +
+#include "wchar.h"
+
+
+typedef struct hg3dclass_struct {+	void *ptr;+	void *fptr;+} hg3dclass_struct;
+ include/StructSDLEvent.h view
@@ -0,0 +1,35 @@+// This source file is part of HGamer3D, a project to enable 3D game development 
+// in Haskell. For the latest info, see http://www.hgamer3d.org .
+// +// (c) 2011-2014 Peter Althainz
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// +
+// StructSDLEvent.h
+
+// +
+#include "wchar.h"
+
+
+#ifndef _INC_STRUCT_SDLEVENT+#define _INC_STRUCT_SDLEVENT++typedef struct sdlevent_struct {+  int type;+  int what;+  int data[12];+} sdlevent_struct;++#endif
− include/hg3dstruct.h
@@ -1,4 +0,0 @@-typedef struct hg3dclass_struct {-	void *ptr;-	void *fptr;-} hg3dclass_struct;
− include/sdlevent_struct.h
@@ -1,3 +0,0 @@-typedef struct sdlevent_struct {
-  unsigned int sdl_event_data[14];
-} sdlevent_struct;