2014-01-05 17:22:29 +00:00
|
|
|
#ifndef SDL4OGRE_CURSOR_MANAGER_H
|
|
|
|
#define SDL4OGRE_CURSOR_MANAGER_H
|
2013-01-12 15:57:29 +00:00
|
|
|
|
2013-01-12 21:52:26 +00:00
|
|
|
#include <SDL_types.h>
|
2013-01-12 15:57:29 +00:00
|
|
|
#include <string>
|
|
|
|
|
2013-08-29 15:14:25 +00:00
|
|
|
#include <OgreTexture.h>
|
2013-08-30 00:40:21 +00:00
|
|
|
#include <OgrePrerequisites.h>
|
2013-01-12 15:57:29 +00:00
|
|
|
|
|
|
|
namespace SFO
|
|
|
|
{
|
|
|
|
class CursorManager
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual ~CursorManager(){}
|
|
|
|
|
|
|
|
/// \brief Tell the manager that the cursor has changed, giving the
|
|
|
|
/// name of the cursor we changed to ("arrow", "ibeam", etc)
|
|
|
|
/// \return Whether the manager is interested in more information about the cursor
|
|
|
|
virtual bool cursorChanged(const std::string &name) = 0;
|
|
|
|
|
|
|
|
/// \brief Follow up a cursorChanged() call with enough info to create an cursor.
|
2013-06-12 12:58:07 +00:00
|
|
|
virtual void receiveCursorInfo(const std::string &name, int rotDegrees, Ogre::TexturePtr tex, Uint8 size_x, Uint8 size_y, Uint8 hotspot_x, Uint8 hotspot_y) = 0;
|
2013-01-12 15:57:29 +00:00
|
|
|
|
|
|
|
/// \brief sets whether to actively manage cursors or not
|
|
|
|
virtual void setEnabled(bool enabled) = 0;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|