source: soft/giet_vm/applications/rosenfeld/include/palette.h @ 827

Last change on this file since 827 was 772, checked in by meunier, 9 years ago
  • Ajout de l'application rosenfeld
  • Changement du nom du flag O_CREATE en O_CREAT
File size: 4.6 KB
Line 
1/* ----------------- */
2/* --- palette.h --- */
3/* ----------------- */
4
5/*
6 * Copyright (c) 1997 Lionel Lacassagne EIA
7 * Copyright (c) 2001 Lionel Lacassagne PARC-LIS-UPMC (Paris6)
8 * Init 98-03-04
9 * Modif : 98-06-09 : ajout des demi-palettes n-colors + gray
10 *                    PackGrayLower PackGrayUpper
11 * modif : 01-01-30 : integration into Foundation
12 *                    Note that return code have been added without testing (right now)
13
14 */
15
16/*
17 * Redefinition de RGBQUAD en RGBQuad, permet de ne pas inclure les .h de windows partout
18 */
19
20#ifndef __PALETTE_H__
21#define __PALETTE_H__
22
23#ifdef __cplusplus
24#ifdef PRAGMA_VERBOSE
25//#pragma message ("C++")
26MESSAGE("C++")
27#endif
28extern "C" {
29#endif
30
31#ifdef PRAGMA_VERBOSE
32#pragma message ("- include palette.h")
33/MESSAGE("- include palette.h")
34#endif
35
36typedef struct {
37  uint8 blue;
38  uint8 green;
39  uint8 red;
40  uint8 reserved;
41} RGBQuad;       /* must be zero */
42// RGBQuad redefinition for windows independance
43
44#ifdef _WINDOWS_
45#pragma message("_WINDOWS_ is defined")
46//MESSAGE("_WINDOWS_ is defined")
47#endif
48
49#ifdef _WINGDI_
50#pragma message("_WINGDI_ is defined")
51//MESSAGE("_WINGDI_ is defined")
52#endif
53
54#if (!defined(WIN32) && !defined(_WINDOWS_) && !defined(_WINGDI_))
55//#pragma message("palette.h no WINDOWS echo")
56//MESSAGE("palette.h no WINDOWS echo")
57
58typedef  struct {
59  byte rgbBlue;
60  byte rgbGreen;
61  byte rgbRed;
62  byte rgbReserved;
63} RGBQUAD;
64#endif
65
66typedef RGBQuad PaletteRGB256;
67
68IMAGE_EXPORT(void) Palette_Display(RGBQuad *palette);
69//IMAGE_EXPORT(void) Palette_Save   (RGBQuad *palette,        char *filename);
70//IMAGE_EXPORT(void) Palette_SaveSub(RGBQuad *palette, int n, char *filename);
71IMAGE_EXPORT(void) Palette_GrayBlue2Red(RGBQuad *palette);
72/*
73 *   0..127 niveaux de gris
74 * 128..255 blue -> rouge
75 */
76IMAGE_EXPORT(void) Palette_Gray   (RGBQuad *palette);
77IMAGE_EXPORT(void) Palette_Classic(RGBQuad *palette);
78/*
79 * niveaux de gris
80 */
81IMAGE_EXPORT(void) Palette_Pseudo1   (RGBQuad *palette);
82IMAGE_EXPORT(void) Palette_Pseudo2   (RGBQuad *palette);
83
84IMAGE_EXPORT(void) Palette_Hue        (RGBQuad *palette); // jolie palette
85IMAGE_EXPORT(void) Palette_HueBW      (RGBQuad *palette); // jolie palette
86IMAGE_EXPORT(void) Palette_RandomHue  (RGBQuad *palette); // jolie palette
87IMAGE_EXPORT(void) Palette_RandomHueBW(RGBQuad *palette); // jolie palette
88
89/* --- palettes cycliques --- */
90IMAGE_EXPORT(void) Palette_2Colors (RGBQuad *palette);  // palette binaire pour PNG
91IMAGE_EXPORT(void) Palette_4Colors (RGBQuad *palette);  // palette binaire pour PNG en cours
92IMAGE_EXPORT(void) Palette_16Colors(RGBQuad *palette);  // palette binaire pour PNG en cours
93
94IMAGE_EXPORT(void) Palette_3Colors   (RGBQuad *palette); /* cycle a  3 couleurs */
95IMAGE_EXPORT(void) Palette_6Colors   (RGBQuad *palette); /* cycle a  6 couleurs */
96IMAGE_EXPORT(void) Palette_18Colors  (RGBQuad *palette); /* cycle a 18 couleurs */
97
98IMAGE_EXPORT(void) Palette_3Colors_Red (RGBQuad *palette); /* cycle a  3-1 couleurs - rouge (palette[0] = rouge) */
99IMAGE_EXPORT(void) Palette_6Colors_Red (RGBQuad *palette); /* cycle a  6-1 couleurs - rouge (palette[0] = rouge)*/
100IMAGE_EXPORT(void) Palette_18Colors_Red(RGBQuad *palette); /* cycle a 18-1 couleurs - rouge (palette[0] = rouge)*/
101
102IMAGE_EXPORT(void) Palette_3ColorsBW (RGBQuad *palette); /* + Black & White */
103IMAGE_EXPORT(void) Palette_6ColorsBW (RGBQuad *palette); /* + Black & White */
104IMAGE_EXPORT(void) Palette_18ColorsBW(RGBQuad *palette); /* + Black & White */
105IMAGE_EXPORT(void) Palette_64ColorsBW(RGBQuad *palette); /* + Black & White */
106IMAGE_EXPORT(void) Palette_256ColorsBW(RGBQuad *palette); /* + Black & White */
107
108IMAGE_EXPORT(void) Palette_18ColorsBW_Red         (RGBQuad *palette);
109IMAGE_EXPORT(void) Palette_18ColorsBW_RedGreenBlue(RGBQuad *palette);
110/* --- palettes cycliques + gris --- */
111
112IMAGE_EXPORT(void) Palette_3ColorsGray   (RGBQuad *palette); /* cycle a  3 couleurs [0..127] + gris [128..255] */
113IMAGE_EXPORT(void) Palette_6ColorsGray   (RGBQuad *palette); /* cycle a  6 couleurs [0..127] + gris [128..255] */
114IMAGE_EXPORT(void) Palette_18ColorsGray  (RGBQuad *palette); /* cycle a 18 couleurs [0..127] + gris [128..255] */
115
116IMAGE_EXPORT(void) Palette_3ColorsGrayBW (RGBQuad *palette); /* + Black & White */
117IMAGE_EXPORT(void) Palette_6ColorsGrayBW (RGBQuad *palette); /* + Black & White */
118IMAGE_EXPORT(void) Palette_18ColorsGrayBW(RGBQuad *palette); /* + Black & White */
119
120//IMAGE_EXPORT(void) Palette_PackGrayLower(Image *src, Lut *lut, Image *dst);
121//IMAGE_EXPORT(void) Palette_PackGrayUpper(Image *src, Lut *lut, Image *dst);
122
123#ifdef __cplusplus
124}
125#endif
126
127#endif /* __PALETTE_H__ */
Note: See TracBrowser for help on using the repository browser.