Files
exectos/xtoskrnl/includes/hl/fbdev.hh
Aiken Harris 4592955da1
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 27s
Migrate HL subsystem to C++
2025-09-13 19:15:13 +02:00

51 lines
1.8 KiB
C++

/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/includes/hl/fbdev.hh
* DESCRIPTION: FrameBuffer support
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
*/
#ifndef __XTOSKRNL_HL_FBDEV_HH
#define __XTOSKRNL_HL_FBDEV_HH
#include <xtos.hh>
/* Hardware Layer */
namespace HL
{
class FrameBuffer
{
private:
STATIC HL_FRAMEBUFFER_DATA FrameBufferData;
STATIC HL_SCROLL_REGION_DATA ScrollRegionData;
public:
STATIC XTAPI VOID ClearScreen(IN ULONG Color);
STATIC XTCDECL XTSTATUS DisplayCharacter(IN WCHAR Character);
STATIC XTAPI VOID GetFrameBufferResolution(OUT PULONG Width,
OUT PULONG Height);
STATIC XTAPI XTSTATUS InitializeFrameBuffer(VOID);
STATIC XTAPI VOID InitializeScrollRegion(IN ULONG Left,
IN ULONG Top,
IN ULONG Right,
IN ULONG Bottom,
IN ULONG FontColor);
private:
STATIC XTAPI VOID DrawCharacter(IN ULONG PositionX,
IN ULONG PositionY,
IN ULONG Color,
IN WCHAR WideCharacter);
STATIC XTAPI VOID DrawPixel(IN ULONG PositionX,
IN ULONG PositionY,
IN ULONG Color);
STATIC XTAPI ULONG GetRGBColor(IN ULONG Color);
STATIC XTAPI VOID ScrollRegion(VOID);
};
}
#endif /* __XTOSKRNL_HL_FBDEV_HH */