- Setup wayland display and window. Window surface is created and appears in hotbar. Window is not visible.
This commit is contained in:
@@ -35,11 +35,12 @@
|
||||
#include <fennec/platform/interface/fwd.h>
|
||||
#include <fennec/platform/interface/window.h>
|
||||
#include <fennec/rtti/enable.h>
|
||||
#include <fennec/rtti/type_registry.h>
|
||||
|
||||
namespace fennec
|
||||
{
|
||||
|
||||
class display_server {
|
||||
class display_server : public type_registry<display_server, platform*> {
|
||||
// Typedefs/Constants/Enums ============================================================================================
|
||||
public:
|
||||
|
||||
@@ -90,19 +91,29 @@ enum feature_ : uint32_t {
|
||||
: platform(p) {
|
||||
}
|
||||
|
||||
virtual ~display_server() = default;
|
||||
virtual ~display_server() {
|
||||
}
|
||||
|
||||
|
||||
bool has_feature(uint32_t feature) const {
|
||||
return _features.test(feature);
|
||||
return features.test(feature);
|
||||
}
|
||||
|
||||
|
||||
virtual window* create_window(const window::config& conf) = 0;
|
||||
|
||||
window* get_window(size_t id) {
|
||||
return id == window::nullid ? nullptr : windows[id];
|
||||
}
|
||||
|
||||
private:
|
||||
featureset_t _features;
|
||||
virtual void connect() = 0;
|
||||
virtual void disconnect() = 0;
|
||||
virtual bool connected() const = 0;
|
||||
|
||||
|
||||
protected:
|
||||
featureset_t features;
|
||||
object_pool<window*> windows;
|
||||
|
||||
FENNEC_RTTI_CLASS_ENABLE() {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user