#pragma once

// Base types
#include "RuScaleformEngine_Base.h"

// Scaleform headers
#include "GTimer.h"
#include "GFxEvent.h"
#include "GFxPlayer.h"
#include "GFxFontLib.h"
#include "GFxDrawText.h"
#include "GFxFontProviderWin32.h"

#pragma managed(push, off)

// ************************************************************************************************************************************************************

class CRuScaleformEngine : public IRuScaleformEngine
{
	ruRTTI_DECLARE
	ruHEAP_DECLARE
	ruCLASSGUID_DECLARE

protected:
	IRuScaleformDriver*							m_driver;

	GPtr<GFxRenderConfig>						m_renderConfig;
	GPtr<GFxDrawTextManager>					m_drawTextManager;

	GPtr<GFxDrawText>							m_testText;

public:
												CRuScaleformEngine();
	virtual										~CRuScaleformEngine();

	virtual BOOL								Initialize(IRuScaleformDriver *driver);

	virtual void								TestAPI();
};

// ************************************************************************************************************************************************************

#pragma managed(pop)
