diff options
| author | Amlal <amlalelmahrouss@icloud.com> | 2024-05-11 06:43:54 +0000 |
|---|---|---|
| committer | Amlal <amlalelmahrouss@icloud.com> | 2024-05-11 06:43:54 +0000 |
| commit | ca675beb41dba8d7d16c5793b55d1672f38be3b4 (patch) | |
| tree | c995ada42729ac2059a0ed87a4539d1a7e10b14a /Private/KernelKit/Framebuffer.hpp | |
| parent | 2b4a4792abf51487ab4a16106f9376f43acf381a (diff) | |
| parent | bc57a29a24b98b00ba17710ba84ec2188ab73504 (diff) | |
Merged in MHR-23 (pull request #12)
MHR-23: Merge work.
Diffstat (limited to 'Private/KernelKit/Framebuffer.hpp')
| -rw-r--r-- | Private/KernelKit/Framebuffer.hpp | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/Private/KernelKit/Framebuffer.hpp b/Private/KernelKit/Framebuffer.hpp deleted file mode 100644 index ada00447..00000000 --- a/Private/KernelKit/Framebuffer.hpp +++ /dev/null @@ -1,83 +0,0 @@ -/* ------------------------------------------- - - Copyright Mahrouss Logic - - File: Framebuffer.hpp - Purpose: Framebuffer object. - -------------------------------------------- */ - -#ifndef __INC_FB_HPP__ -#define __INC_FB_HPP__ - -#include <NewKit/Defines.hpp> -#include <NewKit/Ref.hpp> - -namespace NewOS { -enum class FramebufferColorKind : UChar { - RGB32, - RGB16, - RGB8, - INVALID, -}; - -class FramebufferContext final { - public: - UIntPtr fBase; - UIntPtr fBpp; - UInt fWidth; - UInt fHeight; -}; - -class Framebuffer final { - public: - explicit Framebuffer(Ref<FramebufferContext *> &addr) - : fFrameBufferAddr(addr) {} - ~Framebuffer() {} - - Framebuffer &operator=(const Framebuffer &) = delete; - Framebuffer(const Framebuffer &) = default; - - volatile UIntPtr *operator[](const UIntPtr &pos); - - operator bool(); - - const FramebufferColorKind &Color( - const FramebufferColorKind &colour = FramebufferColorKind::INVALID); - - Ref<FramebufferContext *> &Leak(); - - /// @brief Draws a rectangle inside the fb. - /// @param width the width of it - /// @param height the height of it - /// @param x its x coord. - /// @param y its y coord. - /// @param color the color of it. - /// @return the framebuffer object. - Framebuffer &DrawRect(SizeT width, SizeT height, SizeT x, SizeT y, - UInt32 color); - - /// @brief Puts a pixel on the screen. - /// @param x where in X - /// @param y where in Y - /// @param color the color of it. - /// @return the framebuffer object. - Framebuffer &PutPixel(SizeT x, SizeT y, UInt32 color); - - private: - Ref<FramebufferContext *> fFrameBufferAddr; - FramebufferColorKind fColour; -}; - -/***********************************************************************************/ -/// Some common colors. -/***********************************************************************************/ - -extern const UInt32 kRgbRed; -extern const UInt32 kRgbGreen; -extern const UInt32 kRgbBlue; -extern const UInt32 kRgbBlack; -extern const UInt32 kRgbWhite; -} // namespace NewOS - -#endif /* ifndef __INC_FB_HPP__ */ |
