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