- Setup wayland display and window. Window surface is created and appears in hotbar. Window is not visible.

This commit is contained in:
2025-12-14 15:47:11 -05:00
parent a1bdc077b1
commit 5dcb58f53c
25 changed files with 985 additions and 40 deletions

View File

@@ -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() {