Remove Get/SetBeepActive from USER driver and manage it locally inside
[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 DeviceCaps TTYDRV_DC_DevCaps;
20
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;
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) * TTYDRV_DC_DevCaps.sizePalette);
39   if(COLOR_sysPal == NULL) {
40     WARN("No memory to create system palette!");
41     return FALSE;
42   }
43
44   for(i=0; i < TTYDRV_DC_DevCaps.sizePalette; 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 >= 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;
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_Finalize
78  *
79  */
80 void TTYDRV_PALETTE_Finalize(void)
81 {
82   TRACE("(void)\n");
83 }
84
85 /***********************************************************************
86  *           TTYDRV_PALETTE_SetMapping
87  */
88 int TTYDRV_PALETTE_SetMapping(
89   PALETTEOBJ *palPtr, UINT uStart, UINT uNum, BOOL mapOnly)
90 {
91   FIXME("(%p, %u, %u, %d): stub\n", palPtr, uStart, uNum, mapOnly);
92
93   return 0;
94 }
95
96 /***********************************************************************
97  *           TTYDRV_PALETTE_UpdateMapping
98  */
99 int TTYDRV_PALETTE_UpdateMapping(PALETTEOBJ *palPtr)
100 {
101   TRACE("(%p)\n", palPtr);
102
103   return 0;
104 }
105
106 /***********************************************************************
107  *           TTYDRV_PALETTE_IsDark
108  */
109 int TTYDRV_PALETTE_IsDark(int pixel)
110 {
111   FIXME("(%d): stub\n", pixel);
112
113   return 0;
114 }