Files
2025-12-05 08:54:02 +01:00

37 lines
753 B
Plaintext

// Copyright (C) 2010, Guy Barrand. All rights reserved.
// See the file tools.license for terms.
#ifndef toolx_X11_dispatcher
#define toolx_X11_dispatcher
#include <X11/Xlib.h>
namespace toolx {
namespace X11 {
class dispatcher {
public:
virtual bool dispatch(XEvent&) = 0;
virtual Window window() const = 0;
virtual dispatcher* copy() const = 0;
public:
dispatcher():m_is_valid(true){
}
virtual ~dispatcher(){
}
public:
dispatcher(const dispatcher& a_from):m_is_valid(a_from.m_is_valid){
}
dispatcher& operator=(const dispatcher& a_from) { m_is_valid = a_from.m_is_valid;return *this;}
public:
bool is_valid() const {return m_is_valid;}
void invalidate() {m_is_valid = false;}
protected:
bool m_is_valid;
};
}}
#endif