Fixed opening of some drivers.
[wine.git] / dlls / ttydrv / palette.c
blobec558f57b41f27fcdbd8d4e64e764d9f6da9589f
1 /*
2 * TTY palette driver
4 * Copyright 1999 Patrik Stridvall
5 */
7 #include <stdlib.h>
9 #include "color.h"
10 #include "debugtools.h"
11 #include "palette.h"
12 #include "winbase.h"
13 #include "ttydrv.h"
15 DEFAULT_DEBUG_CHANNEL(ttydrv);
17 /**********************************************************************/
19 extern DeviceCaps TTYDRV_DC_DevCaps;
21 extern PALETTEENTRY *COLOR_sysPal;
22 extern int COLOR_gapStart;
23 extern int COLOR_gapEnd;
24 extern int COLOR_gapFilled;
25 extern int COLOR_max;
27 extern const PALETTEENTRY COLOR_sysPalTemplate[NB_RESERVED_COLORS];
29 /***********************************************************************
30 * TTYDRV_PALETTE_Initialize
32 BOOL TTYDRV_PALETTE_Initialize(void)
34 int i;
36 TRACE("(void)\n");
38 COLOR_sysPal = (PALETTEENTRY *) HeapAlloc(GetProcessHeap(), 0, sizeof(PALETTEENTRY) * TTYDRV_DC_DevCaps.sizePalette);
39 if(COLOR_sysPal == NULL) {
40 WARN("No memory to create system palette!");
41 return FALSE;
44 for(i=0; i < TTYDRV_DC_DevCaps.sizePalette; i++ ) {
45 const PALETTEENTRY *src;
46 PALETTEENTRY *dst = &COLOR_sysPal[i];
48 if(i < NB_RESERVED_COLORS/2) {
49 src = &COLOR_sysPalTemplate[i];
50 } else if(i >= TTYDRV_DC_DevCaps.sizePalette - NB_RESERVED_COLORS/2) {
51 src = &COLOR_sysPalTemplate[NB_RESERVED_COLORS + i - TTYDRV_DC_DevCaps.sizePalette];
52 } else {
53 PALETTEENTRY pe = { 0, 0, 0, 0 };
54 src = &pe;
57 if((src->peRed + src->peGreen + src->peBlue) <= 0xB0) {
58 dst->peRed = 0;
59 dst->peGreen = 0;
60 dst->peBlue = 0;
61 dst->peFlags = PC_SYS_USED;
62 } else {
63 dst->peRed = 255;
64 dst->peGreen= 255;
65 dst->peBlue = 255;
66 dst->peFlags = PC_SYS_USED;
70 COLOR_gapStart = NB_RESERVED_COLORS/2;
71 COLOR_gapEnd = NB_RESERVED_COLORS/2;
73 return TRUE;
76 /***********************************************************************
77 * TTYDRV_PALETTE_Finalize
80 void TTYDRV_PALETTE_Finalize(void)
82 TRACE("(void)\n");
85 /***********************************************************************
86 * TTYDRV_PALETTE_SetMapping
88 int TTYDRV_PALETTE_SetMapping(
89 PALETTEOBJ *palPtr, UINT uStart, UINT uNum, BOOL mapOnly)
91 FIXME("(%p, %u, %u, %d): stub\n", palPtr, uStart, uNum, mapOnly);
93 return 0;
96 /***********************************************************************
97 * TTYDRV_PALETTE_UpdateMapping
99 int TTYDRV_PALETTE_UpdateMapping(PALETTEOBJ *palPtr)
101 TRACE("(%p)\n", palPtr);
103 return 0;
106 /***********************************************************************
107 * TTYDRV_PALETTE_IsDark
109 int TTYDRV_PALETTE_IsDark(int pixel)
111 FIXME("(%d): stub\n", pixel);
113 return 0;