update for HEAD-2003091401
[reactos.git] / subsys / win32k / eng / palette.c
1 /*
2  *  ReactOS W32 Subsystem
3  *  Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 ReactOS Team
4  *
5  *  This program is free software; you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation; either version 2 of the License, or
8  *  (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with this program; if not, write to the Free Software
17  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */
19 /* $Id$
20  * 
21  * COPYRIGHT:         See COPYING in the top level directory
22  * PROJECT:           ReactOS kernel
23  * PURPOSE:           GDI Palette Functions
24  * FILE:              subsys/win32k/eng/palette.c
25  * PROGRAMER:         Jason Filby
26  * REVISION HISTORY:
27  *                 11/7/1999: Created
28  */
29
30 #include <ddk/winddi.h>
31 #include <include/object.h>
32 #include <include/palette.h>
33 #include "handle.h"
34
35 #define NDEBUG
36 #include <win32k/debug1.h>
37
38 /*
39  * @implemented
40  */
41 HPALETTE STDCALL
42 EngCreatePalette(ULONG Mode,
43                  ULONG NumColors,
44                  ULONG *Colors,
45                  ULONG Red,
46                  ULONG Green,
47                  ULONG Blue)
48 {
49   return PALETTE_AllocPalette(Mode, NumColors, Colors, Red, Green, Blue);
50 }
51
52 /*
53  * @implemented
54  */
55 BOOL STDCALL
56 EngDeletePalette(IN HPALETTE Palette)
57 {
58   return PALETTE_FreePalette(Palette);
59 }
60
61 /*
62  * @implemented
63  */
64 ULONG STDCALL
65 PALOBJ_cGetColors(PALOBJ *PalObj,
66                   ULONG Start,
67                   ULONG Colors,
68                   ULONG *PaletteEntry)
69 {
70   ULONG i;
71   PALGDI *PalGDI;
72
73   PalGDI = (PALGDI*)AccessInternalObjectFromUserObject(PalObj);
74
75   for(i=Start; i<Colors; i++)
76   {
77     PaletteEntry[i] = PalGDI->IndexedColors[i];
78   }
79
80   return Colors;
81 }
82 /* EOF */