Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

CEGUIBase.h

Go to the documentation of this file.
00001 /************************************************************************
00002         filename:       CEGUIBase.h
00003         created:        20/2/2004
00004         author:         Paul D Turner
00005         
00006         purpose:        Base include used within the system
00007                                 This contains various lower level bits required
00008                                 by other parts of the system.  All other library 
00009                                 headers will include this file.
00010 *************************************************************************/
00011 /*************************************************************************
00012     Crazy Eddie's GUI System (http://www.cegui.org.uk)
00013     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
00014 
00015     This library is free software; you can redistribute it and/or
00016     modify it under the terms of the GNU Lesser General Public
00017     License as published by the Free Software Foundation; either
00018     version 2.1 of the License, or (at your option) any later version.
00019 
00020     This library is distributed in the hope that it will be useful,
00021     but WITHOUT ANY WARRANTY; without even the implied warranty of
00022     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00023     Lesser General Public License for more details.
00024 
00025     You should have received a copy of the GNU Lesser General Public
00026     License along with this library; if not, write to the Free Software
00027     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00028 *************************************************************************/
00029 #ifndef _CEGUIBase_h_
00030 #define _CEGUIBase_h_
00031 
00032 // bring in configuration options
00033 #include "CEGUIConfig.h"
00034 
00035 
00036 /*************************************************************************
00037         Dynamic Library import / export control conditional
00038         (Define CEGUIBASE_EXPORTS to export symbols, else they are imported)
00039 *************************************************************************/
00040 #if defined( __WIN32__ ) || defined( _WIN32 )
00041 #   ifdef CEGUIBASE_EXPORTS
00042 #       define CEGUIBASE_API __declspec(dllexport)
00043 #   else
00044 #       define CEGUIBASE_API __declspec(dllimport)
00045 #   endif
00046 #else
00047 #       define CEGUIBASE_API
00048 #endif
00049 
00050 
00051 // totally kill this warning (debug info truncated to 255 chars etc...) on <= VC6
00052 #if defined(_MSC_VER) && (_MSC_VER <= 1200)
00053 #   pragma warning(disable : 4786)
00054 #endif
00055 
00056 // include this to see if it defines _STLPORT_VERION
00057 #       include <string>
00058 
00059 // fix to undefine _STLP_DEBUG if STLport is not actually being used
00060 // (resolves some unresolved externals concerning boost)
00061 #if defined(_STLP_DEBUG) && defined(_MSC_VER) && (_MSC_VER >= 1200)
00062 #       if !defined(_STLPORT_VERSION)
00063 #               undef _STLP_DEBUG
00064 #       endif
00065 #endif
00066 
00067 
00068 // The following defines macros used within CEGUI for std::min/std::max
00069 // usage, and is done as a compatibility measure for VC6 with native STL.
00070 #if defined(_MSC_VER) && (_MSC_VER <= 1200) && !defined(_STLPORT_VERSION)
00071 #    define ceguimin    std::_cpp_min
00072 #    define ceguimax    std::_cpp_max
00073 #else
00074 #    define ceguimin    std::min
00075 #    define ceguimax    std::max
00076 #endif
00077 
00078 
00079 /*************************************************************************
00080         Documentation for the CEGUI namespace itself
00081 *************************************************************************/
00089 namespace CEGUI
00090 {
00091 
00092 /*************************************************************************
00093         Simplification of some 'unsigned' types
00094 *************************************************************************/
00095 typedef unsigned long   ulong;
00096 typedef unsigned short  ushort;
00097 typedef unsigned int    uint;
00098 typedef unsigned char   uchar;
00099 
00100 typedef unsigned int    uint32;
00101 typedef unsigned short  uint16;
00102 typedef unsigned char   uint8;
00103 
00104 
00105 /*************************************************************************
00106         System wide constants
00107 *************************************************************************/
00108 static const float              DefaultNativeHorzRes    = 640.0f;               
00109 static const float              DefaultNativeVertRes    = 480.0f;               
00110 
00111 }  // end of CEGUI namespace section
00112 
00113 
00127 #if defined(CEGUI_ALIGN_ELEMENTS_TO_PIXELS)
00128 #       define PixelAligned(x)  ( (float)(int)(( x ) + 0.5f) )
00129 #else
00130 #       define PixelAligned(x)  ( x )
00131 #endif
00132 
00133 
00134 /*************************************************************************
00135         Bring in forward references to all GUI base system classes
00136 *************************************************************************/
00137 #include "CEGUIForwardRefs.h"
00138 
00139 
00140 #endif  // end of guard _CEGUIBase_h_

Generated on Wed Feb 16 12:41:05 2005 for Crazy Eddies GUI System by  doxygen 1.3.9.1