/* * Copyright (c) 2022, kleines Filmröllchen * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include "ScreenBackend.h" #include "ScreenLayout.h" #include #include #include #include namespace WindowServer { class HardwareScreenBackend : public ScreenBackend { public: virtual ~HardwareScreenBackend(); HardwareScreenBackend(String device); virtual ErrorOr open() override; virtual void set_head_buffer(int index) override; virtual ErrorOr flush_framebuffer_rects(int buffer_index, Span rects) override; virtual ErrorOr unmap_framebuffer() override; virtual ErrorOr map_framebuffer() override; virtual ErrorOr set_head_resolution(FBHeadResolution) override; virtual ErrorOr get_head_properties() override; String m_device {}; int m_framebuffer_fd { -1 }; }; }