/* * ======================================================== * * hCore * Copyright 2024 Mahrouss Logic, all rights reserved. * * ======================================================== */ #include namespace hCore { Framebuffer::Framebuffer(hCore::Ref &addr) : m_FrameBufferAddr(addr), m_Colour(FramebufferColorKind::RGB32) {} Framebuffer::~Framebuffer() = default; volatile UIntPtr* Framebuffer::operator[](const UIntPtr& width_and_height) { if (m_FrameBufferAddr) return reinterpret_cast(m_FrameBufferAddr->m_Base + width_and_height); return nullptr; } Ref& Framebuffer::Leak() { return m_FrameBufferAddr; } Framebuffer::operator bool() { return m_FrameBufferAddr; } const FramebufferColorKind& Framebuffer::Color(const FramebufferColorKind& colour) { if (colour != FramebufferColorKind::INVALID) m_Colour = colour; return m_Colour; } } // namespace hCore