/* 
 * 
 * Confidential Information of Telekinesys Research Limited (t/a Havok).  Not for disclosure or distribution without Havok's
 * prior written consent.This software contains code, techniques and know-how which is confidential and proprietary to Havok.
 * Level 2 and Level 3 source code contains trade secrets of Havok. Havok Software (C) Copyright 1999-2008 Telekinesys Research Limited t/a Havok. All Rights Reserved. Use of this software is subject to the terms of an end user license agreement.
 * 
 */
#ifndef HKG_SYSTEM_H
#define HKG_SYSTEM_H

/// The graphics subsystem class.
class hkgSystem
{
	public:

			/// Ensure hkBaseSystem::init has been called first.
		static void HK_CALL init(const char* renderer=0);
		static void HK_CALL quit();

		enum HKG_RENDERER
		{
			HKG_RENDERER_NONE, // Not initialized yet
			HKG_RENDERER_NULL, // Null Display : does everything except actually send anything to the cards etc.
			HKG_RENDERER_OGL,  // PC, Linux, Mac etc
			HKG_RENDERER_DX8,  // PC (Xbox is DX8 too, but reported as Console)
			HKG_RENDERER_DX9,  // PC
			HKG_RENDERER_DX9S,  // PC, DX9 Shaders only
			HKG_RENDERER_DX10,  // Vista, DX10 (which is always shaders only)
			HKG_RENDERER_CONSOLE // PS2, XBOX, GameCube etc
		};

		static hkEnum<HKG_RENDERER, hkUint8> g_RendererType;

		static const char* HK_CALL getRendererString();

	private:

		hkgSystem();
};	

#endif // HKG_SYSTEM_H

/*
* Havok SDK - NO SOURCE PC DOWNLOAD, BUILD(#20080529)
*
* Confidential Information of Havok.  (C) Copyright 1999-2008 
* Telekinesys Research Limited t/a Havok. All Rights Reserved. The Havok
* Logo, and the Havok buzzsaw logo are trademarks of Havok.  Title, ownership
* rights, and intellectual property rights in the Havok software remain in
* Havok and/or its suppliers.
*
* Use of this software for evaluation purposes is subject to and indicates 
* acceptance of the End User licence Agreement for this product. A copy of 
* the license is included with this software and is also available at
* www.havok.com/tryhavok
*
*/
