Serenity Operating System
at master 30 lines 911 B view raw
1/* 2 * Copyright (c) 2021, Sahan Fernando <sahan.h.fernando@gmail.com> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <Kernel/Graphics/Console/GenericFramebufferConsole.h> 10 11namespace Kernel::Graphics { 12 13class ContiguousFramebufferConsole final : public GenericFramebufferConsole { 14public: 15 static NonnullLockRefPtr<ContiguousFramebufferConsole> initialize(PhysicalAddress, size_t width, size_t height, size_t pitch); 16 17 virtual void set_resolution(size_t width, size_t height, size_t pitch) override; 18 virtual void flush(size_t, size_t, size_t, size_t) override { } 19 20private: 21 virtual u8* framebuffer_data() override 22 { 23 return m_framebuffer_region->vaddr().as_ptr(); 24 } 25 OwnPtr<Memory::Region> m_framebuffer_region; 26 ContiguousFramebufferConsole(PhysicalAddress, size_t width, size_t height, size_t pitch); 27 PhysicalAddress m_framebuffer_address; 28}; 29 30}