bwidgets/inc/basic_widgets/w/feat/focus_handler.hpp

27 lines
726 B
C++

#ifndef BWIDGETS_FOCUS_HANDLER_HPP
#define BWIDGETS_FOCUS_HANDLER_HPP
#include <functional>
struct SDL_Rect;
namespace bwidgets
{
class FocusHandler
{
public:
FocusHandler() = default;
FocusHandler(const FocusHandler&) = delete;
FocusHandler(FocusHandler&&) = delete;
auto operator=(FocusHandler&&) = delete;
auto operator=(const FocusHandler&) = delete;
virtual ~FocusHandler() = default;
virtual void focus(bool focus) = 0;
virtual bool focus() = 0;
virtual void focus_handler(std::function<void(bool)>) = 0;
};
}
#endif