Newer
Older
minerva / Kernel / Devices / GPU / Console / BootDummyConsole.h
@minerva minerva on 13 Jul 1 KB Initial commit
/*
 * Copyright (c) 2024, Liav A. <liavalb@hotmail.co.il>
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

#pragma once

#include <Kernel/Devices/GPU/Console/GenericFramebufferConsole.h>
#include <Kernel/Forward.h>

namespace Kernel::Graphics {

class BootDummyConsole final : public GenericFramebufferConsoleImpl {
public:
    virtual void clear(size_t, size_t, size_t) override { }
    virtual void write(size_t, size_t, char, Color, Color, bool) override { }
    using GenericFramebufferConsoleImpl::write;

    virtual void enable() override { }
    virtual void disable() override { }

    virtual void flush(size_t, size_t, size_t, size_t) override { }
    virtual void set_resolution(size_t, size_t, size_t) override { VERIFY_NOT_REACHED(); }

    // NOTE: These values are just "dumb" values, because the VirtualConsole
    // will query the size of this console when needed.
    BootDummyConsole()
        : GenericFramebufferConsoleImpl(1024, 768, (1024 * sizeof(u32)))
    {
    }

private:
    virtual void set_cursor(size_t, size_t) override { }
    virtual void hide_cursor() override { }
    virtual void show_cursor() override { }
    virtual void clear_glyph(size_t, size_t) override { }

    virtual u8* framebuffer_data() override { VERIFY_NOT_REACHED(); }
};

}