/********************************************************************
*
* File: fsICursor.h
*
* Purpose: Interface to all things cursor like
*
*********************************************************************/
#ifndef fsICursorhdr
#define fsICursorhdr
#include <fsCore/fsBaseTypes.h>
#include "src/components/fsIMessageListenerComponent.h"
class fsCEntity;
class fsIComponent;
class fsICursor : public fsIMessageListenerComponent
{
friend class fsCAppCoreMain;
public:
virtual void posSet(const fsVec2d& pPos) {};
static void customCursorActiveSet(fsBool pVal);
static void leftHandedCursorActiveSet(fsBool pVal);
virtual ~fsICursor();<--- Destructor in derived class
protected:
void listenersRegisterDo() override {}
void listenersDeregisterDo() override {}
fsBool messageProcessDo(const fsCUniqueId& pMessageType,
const fsIMessageDispatcher::sMessageParameters& pParam) override { return false;}
static fsBool customCursorActiveGet();
fsBool leftHandedCursorActiveGet();
static fsICursor* instance(fsINode* const pParent, fsCEntityFactory* const pEntityFactory);
static fsIComponent* create(fsINode* const pParent);
fsICursor(fsCEntity* const pParent);
private:
};
#endif