mirror of
https://github.com/reactos/reactos.git
synced 2025-04-26 08:30:21 +00:00
[CONSRV]: Move the palette hack.
svn path=/trunk/; revision=60641
This commit is contained in:
parent
84fdfeaaea
commit
87bf71a722
2 changed files with 71 additions and 75 deletions
|
@ -237,45 +237,14 @@ ConDrvSetConsolePalette(IN PCONSOLE Console,
|
||||||
{
|
{
|
||||||
BOOL Success;
|
BOOL Success;
|
||||||
|
|
||||||
/******************************************************************************\
|
DPRINT1("ConDrvSetConsolePalette\n");
|
||||||
|************** HACK! HACK! HACK! HACK! HACK! HACK! HACK! HACK! ***************|
|
|
||||||
\******************************************************************************/
|
|
||||||
|
|
||||||
#define PALETTESIZE 256
|
|
||||||
|
|
||||||
UINT i;
|
|
||||||
LPLOGPALETTE LogPalette; /* Pointer to logical palette */
|
|
||||||
|
|
||||||
PALETTEENTRY MyPalette[] =
|
|
||||||
{ {0, 0, 0x80,0} , // 1
|
|
||||||
{0, 0x80,0, 0} , // 2
|
|
||||||
{0, 0, 0, 0} , // 0
|
|
||||||
{0, 0x80,0x80,0} , // 3
|
|
||||||
{0x80,0, 0, 0} , // 4
|
|
||||||
{0x80,0, 0x80,0} , // 5
|
|
||||||
{0x80,0x80,0, 0} , // 6
|
|
||||||
{0xC0,0xC0,0xC0,0} , // 7
|
|
||||||
{0x80,0x80,0x80,0} , // 8
|
|
||||||
{0, 0, 0xFF,0} , // 9
|
|
||||||
{0, 0xFF,0, 0} , // 10
|
|
||||||
{0, 0xFF,0xFF,0} , // 11
|
|
||||||
{0xFF,0, 0, 0} , // 12
|
|
||||||
{0xFF,0, 0xFF,0} , // 13
|
|
||||||
{0xFF,0xFF,0, 0} , // 14
|
|
||||||
{0xFF,0xFF,0xFF,0} }; // 15
|
|
||||||
|
|
||||||
/******************************************************************************\
|
|
||||||
|************** HACK! HACK! HACK! HACK! HACK! HACK! HACK! HACK! ***************|
|
|
||||||
\******************************************************************************/
|
|
||||||
|
|
||||||
DPRINT1("ConDrvSetConsolePalette checkpt 0\n");
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Parameters validation
|
||||||
|
*/
|
||||||
if (Console == NULL || Buffer == NULL)
|
if (Console == NULL || Buffer == NULL)
|
||||||
return STATUS_INVALID_PARAMETER;
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
|
||||||
DPRINT1("ConDrvSetConsolePalette checkpt 1\n");
|
|
||||||
|
|
||||||
// FIXME: Is it useful ?
|
|
||||||
if ( PaletteUsage != SYSPAL_STATIC &&
|
if ( PaletteUsage != SYSPAL_STATIC &&
|
||||||
PaletteUsage != SYSPAL_NOSTATIC &&
|
PaletteUsage != SYSPAL_NOSTATIC &&
|
||||||
PaletteUsage != SYSPAL_NOSTATIC256 )
|
PaletteUsage != SYSPAL_NOSTATIC256 )
|
||||||
|
@ -283,49 +252,9 @@ PALETTEENTRY MyPalette[] =
|
||||||
return STATUS_INVALID_PARAMETER;
|
return STATUS_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT1("ConDrvSetConsolePalette checkpt 2\n");
|
|
||||||
|
|
||||||
/* Validity check */
|
/* Validity check */
|
||||||
ASSERT(Console == Buffer->Header.Console);
|
ASSERT(Console == Buffer->Header.Console);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************\
|
|
||||||
|************** HACK! HACK! HACK! HACK! HACK! HACK! HACK! HACK! ***************|
|
|
||||||
\******************************************************************************/
|
|
||||||
|
|
||||||
DPRINT1("HACK: FIXME: ConDrvSetConsolePalette - Use hacked palette for testing purposes!!\n");
|
|
||||||
|
|
||||||
LogPalette = (LPLOGPALETTE)ConsoleAllocHeap(HEAP_ZERO_MEMORY,
|
|
||||||
(sizeof(LOGPALETTE) +
|
|
||||||
(sizeof(PALETTEENTRY) * PALETTESIZE)));
|
|
||||||
|
|
||||||
if (LogPalette)
|
|
||||||
{
|
|
||||||
LogPalette->palVersion = 0x300;
|
|
||||||
LogPalette->palNumEntries = PALETTESIZE;
|
|
||||||
|
|
||||||
for(i=0; i < PALETTESIZE;i++)
|
|
||||||
{
|
|
||||||
LogPalette->palPalEntry[i] = MyPalette[i % sizeof(MyPalette)/sizeof(MyPalette[0])];
|
|
||||||
}
|
|
||||||
|
|
||||||
PaletteHandle = CreatePalette(LogPalette);
|
|
||||||
PaletteUsage = SYSPAL_NOSTATIC256;
|
|
||||||
ConsoleFreeHeap(LogPalette);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
DPRINT1("ConDrvSetConsolePalette - Hacked LogPalette is NULL\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************\
|
|
||||||
|************** HACK! HACK! HACK! HACK! HACK! HACK! HACK! HACK! ***************|
|
|
||||||
\******************************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Change the palette */
|
/* Change the palette */
|
||||||
DPRINT1("ConDrvSetConsolePalette calling TermSetPalette\n");
|
DPRINT1("ConDrvSetConsolePalette calling TermSetPalette\n");
|
||||||
Success = TermSetPalette(Console, PaletteHandle, PaletteUsage);
|
Success = TermSetPalette(Console, PaletteHandle, PaletteUsage);
|
||||||
|
|
|
@ -63,6 +63,37 @@ CSR_API(SrvSetConsolePalette)
|
||||||
// PGRAPHICS_SCREEN_BUFFER Buffer;
|
// PGRAPHICS_SCREEN_BUFFER Buffer;
|
||||||
PCONSOLE_SCREEN_BUFFER Buffer;
|
PCONSOLE_SCREEN_BUFFER Buffer;
|
||||||
|
|
||||||
|
|
||||||
|
/******************************************************************************\
|
||||||
|
|************** HACK! HACK! HACK! HACK! HACK! HACK! HACK! HACK! ***************|
|
||||||
|
\******************************************************************************/
|
||||||
|
|
||||||
|
#define PALETTESIZE 256
|
||||||
|
|
||||||
|
LPLOGPALETTE LogPalette; /* Pointer to logical palette */
|
||||||
|
PALETTEENTRY MyPalette[] =
|
||||||
|
{ {0, 0, 0x80,0} , // 1
|
||||||
|
{0, 0x80,0, 0} , // 2
|
||||||
|
{0, 0, 0, 0} , // 0
|
||||||
|
{0, 0x80,0x80,0} , // 3
|
||||||
|
{0x80,0, 0, 0} , // 4
|
||||||
|
{0x80,0, 0x80,0} , // 5
|
||||||
|
{0x80,0x80,0, 0} , // 6
|
||||||
|
{0xC0,0xC0,0xC0,0} , // 7
|
||||||
|
{0x80,0x80,0x80,0} , // 8
|
||||||
|
{0, 0, 0xFF,0} , // 9
|
||||||
|
{0, 0xFF,0, 0} , // 10
|
||||||
|
{0, 0xFF,0xFF,0} , // 11
|
||||||
|
{0xFF,0, 0, 0} , // 12
|
||||||
|
{0xFF,0, 0xFF,0} , // 13
|
||||||
|
{0xFF,0xFF,0, 0} , // 14
|
||||||
|
{0xFF,0xFF,0xFF,0} }; // 15
|
||||||
|
|
||||||
|
/******************************************************************************\
|
||||||
|
|************** HACK! HACK! HACK! HACK! HACK! HACK! HACK! HACK! ***************|
|
||||||
|
\******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
DPRINT1("SrvSetConsolePalette\n");
|
DPRINT1("SrvSetConsolePalette\n");
|
||||||
|
|
||||||
// NOTE: Tests show that this function is used only for graphics screen buffers
|
// NOTE: Tests show that this function is used only for graphics screen buffers
|
||||||
|
@ -80,6 +111,42 @@ CSR_API(SrvSetConsolePalette)
|
||||||
&Buffer, GENERIC_WRITE, TRUE);
|
&Buffer, GENERIC_WRITE, TRUE);
|
||||||
if (!NT_SUCCESS(Status)) return Status;
|
if (!NT_SUCCESS(Status)) return Status;
|
||||||
|
|
||||||
|
|
||||||
|
/******************************************************************************\
|
||||||
|
|************** HACK! HACK! HACK! HACK! HACK! HACK! HACK! HACK! ***************|
|
||||||
|
\******************************************************************************/
|
||||||
|
|
||||||
|
DPRINT1("HACK: FIXME: SrvSetConsolePalette - Use hacked palette for testing purposes!!\n");
|
||||||
|
|
||||||
|
LogPalette = (LPLOGPALETTE)ConsoleAllocHeap(HEAP_ZERO_MEMORY,
|
||||||
|
(sizeof(LOGPALETTE) +
|
||||||
|
(sizeof(PALETTEENTRY) * PALETTESIZE)));
|
||||||
|
if (LogPalette)
|
||||||
|
{
|
||||||
|
UINT i;
|
||||||
|
|
||||||
|
LogPalette->palVersion = 0x300;
|
||||||
|
LogPalette->palNumEntries = PALETTESIZE;
|
||||||
|
|
||||||
|
for (i = 0 ; i < PALETTESIZE ; i++)
|
||||||
|
{
|
||||||
|
LogPalette->palPalEntry[i] = MyPalette[i % sizeof(MyPalette)/sizeof(MyPalette[0])];
|
||||||
|
}
|
||||||
|
|
||||||
|
SetPaletteRequest->PaletteHandle = CreatePalette(LogPalette);
|
||||||
|
SetPaletteRequest->Usage = SYSPAL_NOSTATIC256;
|
||||||
|
ConsoleFreeHeap(LogPalette);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DPRINT1("SrvSetConsolePalette - Hacked LogPalette is NULL\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************************************************************************\
|
||||||
|
|************** HACK! HACK! HACK! HACK! HACK! HACK! HACK! HACK! ***************|
|
||||||
|
\******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
DPRINT1("ConDrvSetConsolePalette calling...\n");
|
DPRINT1("ConDrvSetConsolePalette calling...\n");
|
||||||
|
|
||||||
Status = ConDrvSetConsolePalette(Buffer->Header.Console,
|
Status = ConDrvSetConsolePalette(Buffer->Header.Console,
|
||||||
|
|
Loading…
Reference in a new issue