
///////////////////////////////////////////////////////////////////////////////
//
// File   : Asura_PSP_SCEUtility_OSKHandler.h
// Author : Andy Tate
// Date   : 4-Oct-2005
//
// Copyright (C) 2005 Rebellion, All Rights Reserved.
//
///////////////////////////////////////////////////////////////////////////////

#ifdef ASURA_USE_PRAGMA_ONCE
	#pragma once
#endif   // ifdef ASURA_USE_PRAGMA_ONCE

#ifndef __ASURA_PSP_SCEUTILITY_OSKHANDLER_H__
#define __ASURA_PSP_SCEUTILITY_OSKHANDLER_H__

////////////////////////////////////////////////////////////////////////////////
// Include files...
////////////////////////////////////////////////////////////////////////////////

#include "Core/Asura_PlatformBasics.h"

#include "PSPEmul/SCEUtility/Asura_PSP_SCEUtility_Handler.h"


////////////////////////////////////////////////////////////////////////////////
// Forward class declarations...
////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
// Class declaration...
////////////////////////////////////////////////////////////////////////////////

class Asura_PSP_SCEUtility_OSKHandler : public Asura_PSP_SCEUtility_Handler
{
public:
	// Public functions...

	Asura_PSP_SCEUtility_OSKHandler          (const Asura_UnicodeChar* wszMessage, const Asura_UnicodeChar* wszTextBeforeEdit, const u_int uMaxChars, Asura_UnicodeChar* wszTextAfterEdit);
//	virtual ~Asura_PSP_SCEUtility_OSKHandler ();

	// Virtual functions...
	virtual	bool								Update		(bool& bCancelled);
	virtual	void								Render		(void);


protected:
	// Protected variables...


	// Protected functions...


private:
	// Private variables...

	// Message for the user...
	const Asura_UnicodeChar*	m_wszMessage;

	// Text before editting...
	const Asura_UnicodeChar*	m_wszTextBeforeEdit;

	// Text after editting and the size of the buffer...
	u_int						m_uCurrentPosition;
	u_int						m_uMaxChars;
	Asura_UnicodeChar*			m_wszTextAfterEdit;


	// Private functions...

	Asura_PSP_SCEUtility_OSKHandler  (void);
	Asura_PSP_SCEUtility_OSKHandler  (const Asura_PSP_SCEUtility_OSKHandler& xOther);

			Asura_PSP_SCEUtility_OSKHandler&	operator=	(const Asura_PSP_SCEUtility_OSKHandler& xOther);

};   // End of class 'Asura_PSP_SCEUtility_OSKHandler'.



#endif   // ifndef __ASURA_PSP_SCEUTILITY_OSKHANDLER_H__


/// End of file. ///
