diff -r 000000000000 -r 15bf7259bb7c uiacceltk/hitchcock/coretoolkit/inc/Util.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiacceltk/hitchcock/coretoolkit/inc/Util.h Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,88 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef UTIL_H +#define UTIL_H + + + +//#define ENABLE_TRACE +#undef ENABLE_TRACE + +#if (defined ENABLE_TRACE) && (!defined __SYMBIAN32__) + #include +#endif + +#if (defined ENABLE_TRACE) && (defined __SYMBIAN32__) +#include +#include +#endif + +#ifndef SG_ASSERT + #include + #define SG_ASSERT assert +#endif + +namespace shadergen +{ + +#ifdef _DEBUG + #define DEBUG +#endif + +/* Compile-time assertion */ +#define SG_CT_MAKE_NAME(f, l) sg_ct_assert_failure_##f##l +#define SG_CT_UNIQUE_NAME SG_CT_MAKE_NAME(__FILE__, __LINE__) + +#define SG_CT_ASSERT(cond) typedef char SG_CT_UNIQUE_NAME[(cond) ? 1 : -1] + +#define SG_LENGTH_OF_ARRAY(arr) (sizeof(arr) / sizeof((arr)[0])) + + +#if (defined ENABLE_TRACE) && (defined __SYMBIAN32__) + + #define MY_TRACE(str) RDebug::Print(_L(str)) + #define RAW_TRACE(str) RDebug::Printf(str) + #define TRACE_FUNC_ENTRY() (RAW_TRACE(__FUNCTION__)) +#elif (defined ENABLE_TRACE) && (!defined __SYMBIAN32__) + #define MY_TRACE(str) std::cout << (str) << '\n' + #define RAW_TRACE(str) std::cout << (str) << '\n' + #define TRACE_FUNC_ENTRY() (MY_TRACE(__FUNCTION__)) +#elif !defined ENABLE_TRACE + #define MY_TRACE(str) + #define RAW_TRACE(str) + #define TRACE_FUNC_ENTRY() +#endif + + + +template inline bool SG_IN_RANGE (const T& x, const T& mn, const T& mx) +{ + return x <= mx && x >= mn; +} + + +typedef struct _Vec4 +{ + float x, y, z, w; +} Vec4; + +SG_CT_ASSERT(sizeof(Vec4) == 4 * sizeof(float)); + +} /* namespace shadergen */ + +#endif /* UTIL_H */