ContiguousFramebufferConsole.h 907 B

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