Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/objecthierarchy/src/ceguilua-0.5.0b/ceguilua/required.h @ 2138

Last change on this file since 2138 was 1810, checked in by rgrieder, 16 years ago

merged ceguilua branch back to trunk

  • Property svn:eol-style set to native
File size: 4.5 KB
Line 
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
45typedef CEGUI::String string;
46
47namespace CEGUI
48{
49
50typedef Event::Connection EventConnection;
51
52/*************************************************************************
53        Functions for getting Thumb range pairs as two return values
54*************************************************************************/
55void ceguiLua_Thumb_getHorzRange(Thumb* wnd, float* min, float* max);
56void ceguiLua_Thumb_getVertRange(Thumb* wnd, float* min, float* max);
57
58
59/*************************************************************************
60        Functions for creating list box items
61*************************************************************************/
62ListboxTextItem* 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*************************************************************************/
68typedef PropertySet::Iterator PropertyIterator;
69typedef EventSet::Iterator EventIterator;
70typedef WindowManager::WindowIterator WindowIterator;
71typedef WindowFactoryManager::WindowFactoryIterator WindowFactoryIterator;
72typedef WindowFactoryManager::FalagardMappingIterator FalagardMappingIterator;
73typedef WindowFactoryManager::FalagardWindowMapping FalagardWindowMapping;
74typedef ImagesetManager::ImagesetIterator ImagesetIterator;
75typedef Imageset::ImageIterator ImageIterator;
76typedef SchemeManager::SchemeIterator SchemeIterator;
77typedef FontManager::FontIterator FontIterator;
78
79template <typename T>
80inline PropertyIterator ceguiLua_getPropertyIterator(const T* self)
81{
82    return static_cast<const PropertySet*>(self)->getIterator();
83}
84
85template <typename T>
86inline EventIterator ceguiLua_getEventIterator(const T* self)
87{
88    return static_cast<const EventSet*>(self)->getIterator();
89}
90
91
92/************************************************************************
93    OutStream
94*************************************************************************/
95typedef std::ofstream FileStream;
96void ceguiLua_FileStream_open(FileStream*, const char* filename);
97
98
99/************************************************************************
100    CEGUI::System::getSystemKeys alternative
101*************************************************************************/
102bool 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
Note: See TracBrowser for help on using the repository browser.