Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105/* * PROJECT: ReactOS Boot Video Driver * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) * PURPOSE: Precompiled header * COPYRIGHT: Copyright 2007 Alex Ionescu <alex.ionescu@reactos.org> * Copyright 2020 Dmitry Borisov <di.sean@protonmail.com> * Copyright 2020 Stanislav Motylkov <x86corez@gmail.com> */
#pragma once
#include <ntifs.h>#include <ndk/halfuncs.h>#include <drivers/bootvid/bootvid.h>
/* Module-specific header */#ifdef MODULE_HEADER#include MODULE_HEADER#endif
/* Define if FontData has upside-down characters */#undef CHAR_GEN_UPSIDE_DOWN
#define BOOTCHAR_HEIGHT 13#define BOOTCHAR_WIDTH 8 // Each character line is encoded in a UCHAR.
/* Bitmap Header */typedef struct tagBITMAPINFOHEADER{ ULONG biSize; LONG biWidth; LONG biHeight; USHORT biPlanes; USHORT biBitCount; ULONG biCompression; ULONG biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; ULONG biClrUsed; ULONG biClrImportant;} BITMAPINFOHEADER, *PBITMAPINFOHEADER;
/* Supported bitmap compression formats */#define BI_RGB 0#define BI_RLE4 2
typedef ULONG RGBQUAD;
typedef struct _URECT{ ULONG Left; ULONG Top; ULONG Right; ULONG Bottom;} URECT;
/* * Globals */extern UCHAR VidpTextColor;extern ULONG VidpCurrentX;extern ULONG VidpCurrentY;extern URECT VidpScrollRegion;extern const UCHAR VidpFontData[256 * BOOTCHAR_HEIGHT];extern const RGBQUAD VidpDefaultPalette[BV_MAX_COLORS];
#define RGB(r, g, b) ((RGBQUAD)(((UCHAR)(b) | ((USHORT)((UCHAR)(g))<<8)) | (((ULONG)(UCHAR)(r))<<16)))
#define GetRValue(quad) ((UCHAR)(((quad)>>16) & 0xFF))#define GetGValue(quad) ((UCHAR)(((quad)>>8) & 0xFF))#define GetBValue(quad) ((UCHAR)((quad) & 0xFF))
#define InitializePalette() InitPaletteWithTable((PULONG)VidpDefaultPalette, BV_MAX_COLORS)
#ifdef CHAR_GEN_UPSIDE_DOWN# define GetFontPtr(_Char) (&VidpFontData[(_Char) * BOOTCHAR_HEIGHT] + BOOTCHAR_HEIGHT - 1)# define FONT_PTR_DELTA (-1)#else# define GetFontPtr(_Char) (&VidpFontData[(_Char) * BOOTCHAR_HEIGHT])# define FONT_PTR_DELTA (1)#endif
VOIDPreserveRow( _In_ ULONG CurrentTop, _In_ ULONG TopDelta, _In_ BOOLEAN Restore);
VOIDDoScroll( _In_ ULONG Scroll);
VOIDDisplayCharacter( _In_ CHAR Character, _In_ ULONG Left, _In_ ULONG Top, _In_ ULONG TextColor, _In_ ULONG BackColor);
VOIDResetDisplay( _In_ BOOLEAN SetMode);