[TEXTDDI] Add a display driver for text mode (graphics mostly working, text not working in ReactOS)

This commit is contained in:
Hervé Poussineau 2023-05-11 22:12:31 +02:00
parent 636f2e3241
commit f1440f15ea
5 changed files with 1325 additions and 0 deletions

View file

@ -0,0 +1,14 @@
list(APPEND SOURCE
enable.c
textddi.h)
add_library(textddi MODULE
${SOURCE}
textddi.rc)
set_module_type(textddi kerneldll ENTRYPOINT DrvEnableDriver 12)
add_pch(textddi textddi.h SOURCE)
target_link_libraries(textddi libcntpr)
add_importlibs(textddi win32k)
add_dependencies(textddi psdk)
add_cd_file(TARGET textddi DESTINATION reactos/system32 FOR all)

View file

@ -0,0 +1,52 @@
typedef struct tagCURSOR
{
BOOLEAN Visible;
DWORD x, y;
} CURSOR;
FORCEINLINE
VOID
CURSOR_vInit(
OUT CURSOR *pcur)
{
}
FORCEINLINE
VOID
CURSOR_Paint(
IN CURSOR *pcur)
{
return;
if (pcur->Visible)
DPRINT("CURSOR_Paint: x=%u y=%u\n", pcur->x, pcur->y);
else
DPRINT("CURSOR_Paint: hide cursor\n");
}
FORCEINLINE
VOID
CURSOR_SetVisible(
IN CURSOR *pcur,
IN BOOLEAN bVisible)
{
if (pcur->Visible ^ bVisible)
{
pcur->Visible = bVisible;
CURSOR_Paint(pcur);
}
}
FORCEINLINE
VOID
CURSOR_SetPosition(
IN CURSOR *pcur,
IN DWORD x,
IN DWORD y)
{
if (pcur->Visible && (x != pcur->x || y != pcur->y))
{
pcur->x = x;
pcur->y = y;
CURSOR_Paint(pcur);
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,7 @@
#include <windef.h>
#include <wingdi.h>
#include <winddi.h>
#include <winioctl.h>
#include <ntddvdeo.h>
#define TAG 'DTXT'

View file

@ -0,0 +1,6 @@
#define REACTOS_VERSION_DLL
#define REACTOS_STR_FILE_DESCRIPTION "Generic / Text-only display driver"
#define REACTOS_STR_INTERNAL_NAME "textddi"
#define REACTOS_STR_ORIGINAL_FILENAME "textddi.dll"
#include <reactos/version.rc>