Added mappings for a few messages.
[wine] / dlls / ttydrv / palette.c
1 /*
2  * TTY palette driver
3  *
4  * Copyright 1999 Patrik Stridvall
5  */
6
7 #include <stdlib.h>
8
9 #include "color.h"
10 #include "debugtools.h"
11 #include "palette.h"
12 #include "winbase.h"
13 #include "ttydrv.h"
14
15 DEFAULT_DEBUG_CHANNEL(ttydrv);
16
17 /**********************************************************************/
18
19 extern PALETTEENTRY *COLOR_sysPal;
20 extern int COLOR_gapStart;
21 extern int COLOR_gapEnd;
22 extern int COLOR_gapFilled;
23 extern int COLOR_max;
24
25 static int palette_size = 256;  /* FIXME */
26
27 extern const PALETTEENTRY COLOR_sysPalTemplate[NB_RESERVED_COLORS]; 
28
29 /***********************************************************************
30  *           TTYDRV_PALETTE_Initialize
31  */
32 BOOL TTYDRV_PALETTE_Initialize(void)
33 {
34   int i;
35
36   TRACE("(void)\n");
37
38   COLOR_sysPal = (PALETTEENTRY *) HeapAlloc(GetProcessHeap(), 0, sizeof(PALETTEENTRY) * palette_size);
39   if(COLOR_sysPal == NULL) {
40     WARN("No memory to create system palette!\n");
41     return FALSE;
42   }
43
44   for(i=0; i < palette_size; i++ ) {
45     const PALETTEENTRY *src;
46     PALETTEENTRY *dst = &COLOR_sysPal[i];
47
48     if(i < NB_RESERVED_COLORS/2) {
49       src = &COLOR_sysPalTemplate[i];
50     } else if(i >= palette_size - NB_RESERVED_COLORS/2) {
51       src = &COLOR_sysPalTemplate[NB_RESERVED_COLORS + i - palette_size];
52     } else {
53       PALETTEENTRY pe = { 0, 0, 0, 0 };
54       src = &pe;
55     }
56
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;
67     }    
68   }
69
70   COLOR_gapStart = NB_RESERVED_COLORS/2;
71   COLOR_gapEnd = NB_RESERVED_COLORS/2;
72
73   return TRUE;
74 }
75
76 /***********************************************************************
77  *           TTYDRV_PALETTE_SetMapping
78  */
79 int TTYDRV_PALETTE_SetMapping(
80   PALETTEOBJ *palPtr, UINT uStart, UINT uNum, BOOL mapOnly)
81 {
82   FIXME("(%p, %u, %u, %d): stub\n", palPtr, uStart, uNum, mapOnly);
83
84   return 0;
85 }
86
87 /***********************************************************************
88  *           TTYDRV_PALETTE_UpdateMapping
89  */
90 int TTYDRV_PALETTE_UpdateMapping(PALETTEOBJ *palPtr)
91 {
92   TRACE("(%p)\n", palPtr);
93
94   return 0;
95 }
96
97 /***********************************************************************
98  *           TTYDRV_PALETTE_IsDark
99  */
100 int TTYDRV_PALETTE_IsDark(int pixel)
101 {
102   FIXME("(%d): stub\n", pixel);
103
104   return 0;
105 }