MiniEngine/src/SDLWrapper/Cursor.h

34 lines
668 B
C++
Raw Normal View History

2017-06-18 17:43:23 +08:00
#pragma once
#include "include.h"
2017-06-18 20:37:45 +08:00
#include "_SystemCursorType.h"
#include "Point.h"
#include "Surface.h"
2017-07-01 17:11:06 +08:00
#include "__Plugin.h"
2017-06-18 17:43:23 +08:00
#include "begin_code.h"
class Cursor
{
public:
Cursor()=default;
Cursor(SystemCursorType);
Cursor(Surface surf,Point hotspot= {0,0});
static Cursor GetActiveCursor();
static Cursor GetDefaultCursor();
static void setShow(bool);
static bool isShow();
void activate();
void release();
private:
std::shared_ptr<SDL_Cursor> _cur;
void _set(SDL_Cursor*);
void _set_no_delete(SDL_Cursor*);
SDL_Cursor* _get();
void _clear();
2017-07-01 17:11:06 +08:00
friend class _internal::Plugin;
2017-06-18 17:43:23 +08:00
};
#include "end_code.h"