Matplot: handle ARGB data
[scilab.git] / scilab / modules / graphic_objects / includes / Matplot.h
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET
4  *
5  *  This file must be used under the terms of the CeCILL.
6  *  This source file is licensed as described in the file COPYING, which
7  *  you should have received as part of this distribution.  The terms
8  *  are also available at
9  *  http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  */
12
13 #ifndef MATPLOT_H
14 #define MATPLOT_H
15
16 #include "dynlib_graphic_objects.h"
17
18 typedef enum
19 {
20     MATPLOT_HM1_Char = 0,
21     MATPLOT_HM1_UChar = 1,
22     MATPLOT_HM1_Double = 2,
23     MATPLOT_HM3_Char = 3,
24     MATPLOT_HM3_UChar = 4,
25     MATPLOT_HM3_Double = 5,
26     MATPLOT_HM4_Char = 6,
27     MATPLOT_HM4_UChar = 7,
28     MATPLOT_HM4_Double = 8,
29     MATPLOT_Char = 9,
30     MATPLOT_UChar = 10,
31     MATPLOT_Int = 11,
32     MATPLOT_UInt = 12,
33     MATPLOT_Short = 13,
34     MATPLOT_UShort = 14,
35     MATPLOT_Double = 15
36 } DataType;
37
38 typedef enum
39 {
40     MATPLOT_FORTRAN = 0,
41     MATPLOT_C = 1
42 } DataOrder;
43
44 typedef enum
45 {
46     MATPLOT_NONE = -1,
47     MATPLOT_RGB = 0,
48     MATPLOT_RGBA = 1,
49     MATPLOT_GRAY = 2,
50     MATPLOT_INDEX = 3,
51     MATPLOT_RED = 4,
52     MATPLOT_GREEN = 5,
53     MATPLOT_BLUE = 6,
54     MATPLOT_RGB_332 = 7,
55     MATPLOT_RGB_444 = 8,
56     MATPLOT_RGB_555 = 9,
57     MATPLOT_RGBA_4444 = 10,
58     MATPLOT_RGBA_5551 = 11,
59     MATPLOT_ARGB = 12,
60 } ImageType;
61
62 typedef enum
63 {
64     MATPLOT_GL_RGB = 0,
65     MATPLOT_GL_RGB_RGBA = 1,
66     MATPLOT_GL_BGR = 2,
67     MATPLOT_GL_GRAY = 3,
68     MATPLOT_GL_GRAY_16 = 4,
69     MATPLOT_GL_RGBA = 5,
70     MATPLOT_GL_RGBA_REV = 6,
71     MATPLOT_GL_ABGR = 7,
72     MATPLOT_GL_RGB_332 = 8,
73     MATPLOT_GL_RED = 9,
74     MATPLOT_GL_GREEN = 10,
75     MATPLOT_GL_BLUE = 11,
76     MATPLOT_GL_INTENSITY = 12,
77     MATPLOT_GL_RGBA_4444 = 13,
78     MATPLOT_GL_RGBA_5551 = 14,
79     MATPLOT_GL_RGB_FLOAT = 15,
80     MATPLOT_GL_RGBA_FLOAT = 16,
81     MATPLOT_GL_GRAY_FLOAT = 17,
82     MATPLOT_GL_RED_16 = 18,
83     MATPLOT_GL_GREEN_16 = 19,
84     MATPLOT_GL_BLUE_16 = 20,
85     MATPLOT_GL_RED_FLOAT = 21,
86     MATPLOT_GL_GREEN_FLOAT = 22,
87     MATPLOT_GL_BLUE_FLOAT = 23,
88     MATPLOT_GL_RGBA_BYTE = 24
89 } GLType;
90
91 /**
92  * Build an integer which contains the given info
93  * @param[in] datatype the data type
94  * @param[in] dataorder the data order
95  * @param[in] imagetype the image type
96  * @return an int
97  */
98 GRAPHIC_OBJECTS_IMPEXP int buildMatplotType(DataType datatype, DataOrder dataorder, ImageType imagetype);
99
100 #endif // MATPLOT_H