[1803] | 1 | /*********************************************************************** |
---|
| 2 | filename: required.h |
---|
| 3 | created: 16/3/2005 |
---|
| 4 | author: Tomas Lindquist Olsen |
---|
| 5 | |
---|
| 6 | purpose: Header that includes the necessary stuff needed for the Lua bindings |
---|
| 7 | *************************************************************************/ |
---|
| 8 | /*************************************************************************** |
---|
| 9 | * Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team |
---|
| 10 | * |
---|
| 11 | * Permission is hereby granted, free of charge, to any person obtaining |
---|
| 12 | * a copy of this software and associated documentation files (the |
---|
| 13 | * "Software"), to deal in the Software without restriction, including |
---|
| 14 | * without limitation the rights to use, copy, modify, merge, publish, |
---|
| 15 | * distribute, sublicense, and/or sell copies of the Software, and to |
---|
| 16 | * permit persons to whom the Software is furnished to do so, subject to |
---|
| 17 | * the following conditions: |
---|
| 18 | * |
---|
| 19 | * The above copyright notice and this permission notice shall be |
---|
| 20 | * included in all copies or substantial portions of the Software. |
---|
| 21 | * |
---|
| 22 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
---|
| 23 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
---|
| 24 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
---|
| 25 | * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR |
---|
| 26 | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, |
---|
| 27 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
---|
| 28 | * OTHER DEALINGS IN THE SOFTWARE. |
---|
| 29 | ***************************************************************************/ |
---|
| 30 | #include "CEGUI.h" |
---|
| 31 | #include "CEGUILua.h" |
---|
| 32 | #include "CEGUILuaFunctor.h" |
---|
| 33 | #include <fstream> |
---|
| 34 | |
---|
| 35 | #define __operator_increment operator++ |
---|
| 36 | #define __operator_decrement operator-- |
---|
| 37 | #define __operator_dereference operator* |
---|
| 38 | |
---|
| 39 | #define LuaFunctorSubscribeEvent CEGUI::LuaFunctor::SubscribeEvent |
---|
| 40 | |
---|
| 41 | #if defined(_MSC_VER) && !defined(snprintf) |
---|
| 42 | # define snprintf _snprintf |
---|
| 43 | #endif |
---|
| 44 | |
---|
| 45 | typedef CEGUI::String string; |
---|
| 46 | |
---|
| 47 | namespace CEGUI |
---|
| 48 | { |
---|
| 49 | |
---|
| 50 | typedef Event::Connection EventConnection; |
---|
| 51 | |
---|
| 52 | /************************************************************************* |
---|
| 53 | Functions for getting Thumb range pairs as two return values |
---|
| 54 | *************************************************************************/ |
---|
| 55 | void ceguiLua_Thumb_getHorzRange(Thumb* wnd, float* min, float* max); |
---|
| 56 | void ceguiLua_Thumb_getVertRange(Thumb* wnd, float* min, float* max); |
---|
| 57 | |
---|
| 58 | |
---|
| 59 | /************************************************************************* |
---|
| 60 | Functions for creating list box items |
---|
| 61 | *************************************************************************/ |
---|
| 62 | ListboxTextItem* ceguiLua_createListboxTextItem(const String& text, uint item_id, void* item_data, bool disabled, bool auto_delete); |
---|
| 63 | |
---|
| 64 | |
---|
| 65 | /************************************************************************ |
---|
| 66 | Stuff needed to make the iterators work |
---|
| 67 | *************************************************************************/ |
---|
| 68 | typedef PropertySet::Iterator PropertyIterator; |
---|
| 69 | typedef EventSet::Iterator EventIterator; |
---|
| 70 | typedef WindowManager::WindowIterator WindowIterator; |
---|
| 71 | typedef WindowFactoryManager::WindowFactoryIterator WindowFactoryIterator; |
---|
| 72 | typedef WindowFactoryManager::FalagardMappingIterator FalagardMappingIterator; |
---|
| 73 | typedef WindowFactoryManager::FalagardWindowMapping FalagardWindowMapping; |
---|
| 74 | typedef ImagesetManager::ImagesetIterator ImagesetIterator; |
---|
| 75 | typedef Imageset::ImageIterator ImageIterator; |
---|
| 76 | typedef SchemeManager::SchemeIterator SchemeIterator; |
---|
| 77 | typedef FontManager::FontIterator FontIterator; |
---|
| 78 | |
---|
| 79 | template <typename T> |
---|
| 80 | inline PropertyIterator ceguiLua_getPropertyIterator(const T* self) |
---|
| 81 | { |
---|
| 82 | return static_cast<const PropertySet*>(self)->getIterator(); |
---|
| 83 | } |
---|
| 84 | |
---|
| 85 | template <typename T> |
---|
| 86 | inline EventIterator ceguiLua_getEventIterator(const T* self) |
---|
| 87 | { |
---|
| 88 | return static_cast<const EventSet*>(self)->getIterator(); |
---|
| 89 | } |
---|
| 90 | |
---|
| 91 | |
---|
| 92 | /************************************************************************ |
---|
| 93 | OutStream |
---|
| 94 | *************************************************************************/ |
---|
| 95 | typedef std::ofstream FileStream; |
---|
| 96 | void ceguiLua_FileStream_open(FileStream*, const char* filename); |
---|
| 97 | |
---|
| 98 | |
---|
| 99 | /************************************************************************ |
---|
| 100 | CEGUI::System::getSystemKeys alternative |
---|
| 101 | *************************************************************************/ |
---|
| 102 | bool ceguiLua_System_isSystemKeyDown(const System* sys, SystemKey k); |
---|
| 103 | |
---|
| 104 | } |
---|
| 105 | |
---|
| 106 | // the binding file generates alot of |
---|
| 107 | // warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) |
---|
| 108 | #if defined(_MSC_VER) |
---|
| 109 | # pragma warning(disable : 4800) |
---|
| 110 | #endif |
---|