/********************************************************************
*
* File: fsITextEntryRenderData.h
*
* Purpose: Interface to text entry render data.
*
*********************************************************************/
#ifndef fsITextEntryRenderDatahdr
#define fsITextEntryRenderDatahdr
#include <fsCore/fsBaseTypes.h>
#include <functional>
#include "fsINativeRenderData.h"
#include "fsIRenderData.h"
class fsSColour;
class fsStr;
struct fsPoint;
class fsITextEntryRenderData : public fsINativeRenderData, public fsIRenderData
{
public:
void virtualKeyboardActivate(const fsStr& pPrompt, fsS32 pMaxStingLength, const fsPoint& pPos,
std::function<void(const fsStr&)> pFinalise);
void update(fsS32 pDeltaMs);
void display();
fsITextEntryRenderData();
virtual ~fsITextEntryRenderData();<--- Destructor in derived class
protected:
virtual void virtualKeyboardActivateDo(const fsStr& pPrompt, fsS32 pMaxStingLength, const fsPoint& pPos,
std::function<void(const fsStr&)> pFinalise) = 0;
virtual void updateDo(fsS32 pDeltaMs) = 0;
void renderDo() override = 0;
private:
std::function<void(const fsStr&)> mFinalise;
};
#endif