Author: hbelusca Date: Sun Dec 14 17:30:38 2014 New Revision: 65643
URL: http://svn.reactos.org/svn/reactos?rev=65643&view=rev Log: [CONSRV]: Move all references to VDM screenbuffers from condrv back to consrv (only ConDrvWriteConsoleOutputVDM remains in condrv for now...)
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/conoutput.c branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c branches/condrv_restructure/win32ss/user/winsrv/consrv/include/conio.h
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/conoutput.c URL: http://svn.reactos.org/svn/reactos/branches/condrv_restructure/win32ss/user/... ============================================================================== --- branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/conoutput.c [iso-8859-1] (original) +++ branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/conoutput.c [iso-8859-1] Sun Dec 14 17:30:38 2014 @@ -215,13 +215,6 @@ /* PUBLIC DRIVER APIS *********************************************************/
NTSTATUS NTAPI -ConDrvWriteConsoleOutputVDM(IN PCONSOLE Console, - IN PTEXTMODE_SCREEN_BUFFER Buffer, - IN PCHAR_CELL CharInfo/*Buffer*/, - IN COORD CharInfoSize, - IN OUT PSMALL_RECT WriteRegion, - IN BOOLEAN DrawRegion); -NTSTATUS NTAPI ConDrvInvalidateBitMapRect(IN PCONSOLE Console, IN PCONSOLE_SCREEN_BUFFER Buffer, IN PSMALL_RECT Region) @@ -231,19 +224,6 @@
/* Validity check */ ASSERT(Console == Buffer->Header.Console); - - /* In text-mode only, draw the VDM buffer if present */ - if (GetType(Buffer) == TEXTMODE_BUFFER) - { - PTEXTMODE_SCREEN_BUFFER TextBuffer = (PTEXTMODE_SCREEN_BUFFER)Buffer; - - /*Status =*/ ConDrvWriteConsoleOutputVDM(Buffer->Header.Console, - TextBuffer, - Console->VDMBuffer, - Console->VDMBufferSize, - Region, - FALSE); - }
/* If the output buffer is the current one, redraw the correct portion of the screen */ if (Buffer == Console->ActiveBuffer) TermDrawRegion(Console, Region);
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c URL: http://svn.reactos.org/svn/reactos/branches/condrv_restructure/win32ss/user/... ============================================================================== --- branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c [iso-8859-1] (original) +++ branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c [iso-8859-1] Sun Dec 14 17:30:38 2014 @@ -597,14 +597,15 @@
/* * NOTE: This function is strongly inspired by ConDrvWriteConsoleOutput... + * FIXME: This function MUST be moved into consrv/conoutput.c because only + * consrv knows how to manipulate VDM screenbuffers. */ NTSTATUS NTAPI ConDrvWriteConsoleOutputVDM(IN PCONSOLE Console, IN PTEXTMODE_SCREEN_BUFFER Buffer, IN PCHAR_CELL CharInfo/*Buffer*/, IN COORD CharInfoSize, - IN OUT PSMALL_RECT WriteRegion, - IN BOOLEAN DrawRegion) + IN PSMALL_RECT WriteRegion) { SHORT X, Y; SMALL_RECT ScreenBuffer; @@ -649,10 +650,6 @@ ++CurCharInfo; } } - - if (DrawRegion) TermDrawRegion(Console, &CapturedWriteRegion); - - *WriteRegion = CapturedWriteRegion;
return STATUS_SUCCESS; }
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c URL: http://svn.reactos.org/svn/reactos/branches/condrv_restructure/win32ss/user/... ============================================================================== --- branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c [iso-8859-1] (original) +++ branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c [iso-8859-1] Sun Dec 14 17:30:38 2014 @@ -16,6 +16,16 @@
/* PUBLIC SERVER APIS *********************************************************/
+/* + * FIXME: This function MUST be moved fro condrv/conoutput.c because only + * consrv knows how to manipulate VDM screenbuffers. + */ +NTSTATUS NTAPI +ConDrvWriteConsoleOutputVDM(IN PCONSOLE Console, + IN PTEXTMODE_SCREEN_BUFFER Buffer, + IN PCHAR_CELL CharInfo/*Buffer*/, + IN COORD CharInfoSize, + IN PSMALL_RECT WriteRegion); NTSTATUS NTAPI ConDrvInvalidateBitMapRect(IN PCONSOLE Console, IN PCONSOLE_SCREEN_BUFFER Buffer, @@ -32,6 +42,18 @@ InvalidateDIBitsRequest->OutputHandle, &Buffer, GENERIC_READ, TRUE); if (!NT_SUCCESS(Status)) return Status; + + /* In text-mode only, draw the VDM buffer if present */ + if (GetType(Buffer) == TEXTMODE_BUFFER) + { + PTEXTMODE_SCREEN_BUFFER TextBuffer = (PTEXTMODE_SCREEN_BUFFER)Buffer; + + /*Status =*/ ConDrvWriteConsoleOutputVDM(Buffer->Header.Console, + TextBuffer, + Buffer->Header.Console->VDMBuffer, + Buffer->Header.Console->VDMBufferSize, + &InvalidateDIBitsRequest->Region); + }
Status = ConDrvInvalidateBitMapRect(Buffer->Header.Console, Buffer,
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/include/conio.h URL: http://svn.reactos.org/svn/reactos/branches/condrv_restructure/win32ss/user/... ============================================================================== --- branches/condrv_restructure/win32ss/user/winsrv/consrv/include/conio.h [iso-8859-1] (original) +++ branches/condrv_restructure/win32ss/user/winsrv/consrv/include/conio.h [iso-8859-1] Sun Dec 14 17:30:38 2014 @@ -307,11 +307,11 @@ LONG ReferenceCount; /* Is incremented each time a handle to something in the console (a screen-buffer or the input buffer of this console) gets referenced */ CRITICAL_SECTION Lock;
- CONSOLE_STATE State; /* State of the console */ - TERMINAL TermIFace; /* Frontend-specific interface */ - ULONG ConsoleID; /* The ID of the console */ LIST_ENTRY ListEntry; /* Entry in the list of consoles */ + + CONSOLE_STATE State; /* State of the console */ + TERMINAL TermIFace; /* Terminal-specific interface */
HANDLE UnpauseEvent; /* When != NULL, event for pausing the console */