/usr/include/CEGUI/CEGUIBase.h is in libcegui-mk2-dev 0.7.6-3.3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | /***********************************************************************
filename: CEGUIBase.h
created: 20/2/2004
author: Paul D Turner
purpose: Base include used within the system
This contains various lower level bits required
by other parts of the system. All other library
headers will include this file.
*************************************************************************/
/***************************************************************************
* Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
***************************************************************************/
#ifndef _CEGUIBase_h_
#define _CEGUIBase_h_
#include <cassert>
// bring in configuration options
#include "CEGUIConfig.h"
// add CEGUI version defines
#include "CEGUIVersion.h"
/*************************************************************************
Dynamic Library import / export control conditional
(Define CEGUIBASE_EXPORTS to export symbols, else they are imported)
*************************************************************************/
#if (defined( __WIN32__ ) || defined( _WIN32 )) && !defined(CEGUI_STATIC)
# ifdef CEGUIBASE_EXPORTS
# define CEGUIEXPORT __declspec(dllexport)
# else
# define CEGUIEXPORT __declspec(dllimport)
# endif
# define CEGUIPRIVATE
#else
# define CEGUIEXPORT
# define CEGUIPRIVATE
#endif
// totally kill this warning (debug info truncated to 255 chars etc...) on <= VC6
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
# pragma warning(disable : 4786)
#endif
// Detect macros for min / max and undefine (with a warning where possible)
#if defined(max)
# if defined(_MSC_VER)
# pragma message("Macro definition of max detected - undefining")
# elif defined (__GNUC__)
# warning ("Macro definition of max detected - undefining")
# endif
# undef max
#endif
#if defined(min)
# if defined(_MSC_VER)
# pragma message("Macro definition of min detected - undefining")
# elif defined (__GNUC__)
# warning ("Macro definition of min detected - undefining")
# endif
# undef min
#endif
// include this to see if it defines _STLPORT_VERION
# include <string>
// fix to undefine _STLP_DEBUG if STLport is not actually being used
// (resolves some unresolved externals concerning boost)
#if defined(_STLP_DEBUG) && defined(_MSC_VER) && (_MSC_VER >= 1200)
# if !defined(_STLPORT_VERSION)
# undef _STLP_DEBUG
# endif
#endif
// The following defines macros used within CEGUI for std::min/std::max
// usage, and is done as a compatibility measure for VC6 with native STL.
#if defined(_MSC_VER) && (_MSC_VER <= 1200) && !defined(_STLPORT_VERSION)
# define ceguimin std::_cpp_min
# define ceguimax std::_cpp_max
#else
# define ceguimin std::min
# define ceguimax std::max
#endif
// CEGUI's Exception macros
// This provides a mechanism to override how exception handling is used. Note
// that in general this facility _should not be used_. Attempts to use this
// to disable exceptions to 'make things easier' are doomed to failure. CEGUI
// becomes less robust without exceptions (because they are used internally by
// CEGUI). In addition, overriding the exception mechanism will also cause
// memory leaks in various places. This is your only warning about such things,
// if you decide to continue anyway you hereby waive any right to complain :-p
#ifndef CEGUI_TRY
# define CEGUI_TRY try
#endif
#ifndef CEGUI_CATCH
# define CEGUI_CATCH(e) catch (e)
#endif
#ifndef CEGUI_THROW
# define CEGUI_THROW(e) throw e
#endif
#ifndef CEGUI_RETHROW
# define CEGUI_RETHROW throw
#endif
/*************************************************************************
Documentation for the CEGUI namespace itself
*************************************************************************/
/*!
\brief
Main namespace for Crazy Eddie's GUI Library
The CEGUI namespace contains all the classes and other items that comprise the core
of Crazy Eddie's GUI system.
*/
namespace CEGUI
{
/*************************************************************************
Simplification of some 'unsigned' types
*************************************************************************/
typedef unsigned long ulong;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned char uchar;
typedef unsigned int uint32;
typedef unsigned short uint16;
typedef unsigned char uint8;
/*************************************************************************
System wide constants
*************************************************************************/
static const float DefaultNativeHorzRes = 640.0f; //!< Default native horizontal resolution (for fonts and imagesets)
static const float DefaultNativeVertRes = 480.0f; //!< Default native vertical resolution (for fonts and imagesets)
/*************************************************************************
Additional typedefs
*************************************************************************/
typedef std::ostream OutStream; //!< Output stream class.
} // end of CEGUI namespace section
//////////////////////////////////////////////////////////////////////////
// Comment this line to remove the alignment of elements to pixel
// boundaries. This may give you a performance boost at the expense
// of visual quality
//////////////////////////////////////////////////////////////////////////
#define CEGUI_ALIGN_ELEMENTS_TO_PIXELS 1
/*!
\brief
Macro used to return a float value rounded to the nearest integer.
This macro is used throughout the library to ensure that elements are
kept at integer pixel positions on the display.
\param x
Expression to be rounded to nearest whole number
\return
\a x after having been rounded
*/
#if defined(CEGUI_ALIGN_ELEMENTS_TO_PIXELS)
# define PixelAligned(x) ( (float)(int)(( x ) + (( x ) > 0.0f ? 0.5f : -0.5f)) )
#else
# define PixelAligned(x) ( x )
#endif
/*************************************************************************
Bring in forward references to all GUI base system classes
*************************************************************************/
#include "CEGUIForwardRefs.h"
#endif // end of guard _CEGUIBase_h_
|