Forge
defines.h
Go to the documentation of this file.
1 /*******************************************************
2  * Copyright (c) 2015-2019, ArrayFire
3  * All rights reserved.
4  *
5  * This file is distributed under 3-clause BSD license.
6  * The complete license agreement can be obtained at:
7  * http://arrayfire.com/licenses/BSD-3-Clause
8  ********************************************************/
9 
10 #pragma once
11 
12 #ifdef OS_WIN
13  // http://msdn.microsoft.com/en-us/library/b0084kay(v=VS.80).aspx
14  // http://msdn.microsoft.com/en-us/library/3y1sfaz2%28v=VS.80%29.aspx
15  #ifdef FGDLL // libfg
16  #define FGAPI __declspec(dllexport)
17  #else
18  #define FGAPI __declspec(dllimport)
19  #endif
20 
21  #ifndef __cplusplus
22  #define false 0
23  #define true 1
24  #endif
25 
26  #define FG_STATIC_ static
27 #else
28  #define FGAPI __attribute__((visibility("default")))
29  #include <stdbool.h>
30  #define FG_STATIC_
31 #endif
32 
33 #include <fg/version.h>
34 #ifndef FG_API_VERSION
35 #define FG_API_VERSION FG_API_VERSION_CURRENT
36 #endif
37 
38 #include <cstdlib>
39 
40 typedef void* fg_window;
41 typedef void* fg_font;
42 typedef void* fg_chart;
43 typedef void* fg_image;
44 typedef void* fg_histogram;
45 typedef void* fg_plot;
46 typedef void* fg_surface;
47 typedef void* fg_vector_field;
48 
49 typedef enum {
51  /*
52  * Arguement related error codes that are
53  * generated when invalid arguments are
54  * provided to any function. All these
55  * codes match the following pattern
56  * '1***'
57  * */
58  FG_ERR_SIZE = 1001,
61  /*
62  * OpenGL related error codes
63  * match the following pattern
64  * '2***'
65  * */
66  FG_ERR_GL_ERROR = 2001,
67  /*
68  * FreeType related error codes
69  * match the following pattern
70  * '3***'
71  * */
73  /*
74  * File IO related error codes
75  * match the following pattern
76  * '4***'
77  * */
79  /*
80  * Unsupported configurations
81  * and other similar error codes
82  * match the following pattern
83  * '5***'
84  * */
87  /*
88  * Font config related error codes
89  * '6**'
90  * */
92  /*
93  * FreeImage errors
94  */
98  /*
99  * other error codes
100  * match the following pattern
101  * '9**'
102  * */
104  FG_ERR_RUNTIME = 9002,
106 } fg_err;
107 
108 typedef enum {
109  FG_GRAYSCALE = 100,
110  FG_RG = 200,
111  FG_RGB = 300,
112  FG_BGR = 301,
113  FG_RGBA = 400,
114  FG_BGRA = 401
116 
117 typedef enum {
120 } fg_chart_type;
121 
125 typedef enum {
137 } fg_color_map;
138 
139 typedef enum {
140  FG_RED = 0xFF0000FF,
141  FG_GREEN = 0x00FF00FF,
142  FG_BLUE = 0x0000FFFF,
143  FG_YELLOW = 0xFFFF00FF,
144  FG_CYAN = 0x00FFFFFF,
145  FG_MAGENTA = 0xFF00FFFF,
146  FG_WHITE = 0xFFFFFFFF,
147  FG_BLACK = 0x000000FF
148 } fg_color;
149 
150 typedef enum {
151  FG_INT8 = 0,
152  FG_UINT8 = 1,
153  FG_INT32 = 2,
154  FG_UINT32 = 3,
156  FG_INT16 = 5,
158 } fg_dtype;
159 
160 typedef enum {
164 } fg_plot_type;
165 
166 typedef enum {
176 
177 #ifdef __cplusplus
178 namespace forge
179 {
180  typedef fg_err ErrorCode;
184  typedef fg_color Color;
187 
188  typedef enum {
196  } dtype;
197 }
198 #endif
Point marker.
Definition: defines.h:168
Definition: defines.h:140
File IO errors.
Definition: defines.h:78
fg_chart_type ChartType
Definition: defines.h:182
Mood color map.
Definition: defines.h:130
perceptually uniform shades of black-red-white
Definition: defines.h:134
perceptually uniform shades of blue-green-yellow
Definition: defines.h:136
Definition: defines.h:193
Four(Red, Green, Blue & Alpha) channels.
Definition: defines.h:113
Two dimensional charts.
Definition: defines.h:118
freeimage memory allocation failed
Definition: defines.h:96
void * fg_chart
Definition: defines.h:42
Definition: defines.h:144
Blue color map.
Definition: defines.h:132
fg_marker_type
Definition: defines.h:166
No marker.
Definition: defines.h:167
Definition: chart.h:304
Definition: defines.h:142
fg_color
Definition: defines.h:139
Freetype library error.
Definition: defines.h:72
fg_color_map ColorMap
Definition: defines.h:183
fg_marker_type MarkerType
Definition: defines.h:186
Three(Red, Green & Blue) channels.
Definition: defines.h:112
Fuction returned successfully.
Definition: defines.h:50
Float (32-bits)
Definition: defines.h:155
Single channel.
Definition: defines.h:109
Definition: defines.h:143
Signed byte (8-bits)
Definition: defines.h:151
Plus symbol marker.
Definition: defines.h:173
fg_plot_type PlotType
Definition: defines.h:185
Definition: defines.h:141
perceptually uniform shades of blue-red-yellow
Definition: defines.h:135
Unsigned integer (16-bits)
Definition: defines.h:157
Signed integer (16-bits)
Definition: defines.h:156
fg_plot_type
Definition: defines.h:160
Three(Red, Green & Blue) channels.
Definition: defines.h:111
Feature not supported.
Definition: defines.h:85
dtype
Definition: defines.h:188
fg_channel_format
Definition: defines.h:108
fg_color_map
Color maps.
Definition: defines.h:125
Signed integer (32-bits)
Definition: defines.h:153
fg_chart_type
Definition: defines.h:117
Three(Red, Green & Blue) channels.
Definition: defines.h:110
Scatter plot.
Definition: defines.h:162
void * fg_vector_field
Definition: defines.h:47
fg_color Color
Definition: defines.h:184
Heat color map.
Definition: defines.h:131
Square marker.
Definition: defines.h:170
Unknown format, not supported by freeimage.
Definition: defines.h:95
Unsigned integer (32-bits)
Definition: defines.h:154
void * fg_surface
Definition: defines.h:46
freeimage file save failed
Definition: defines.h:97
Library configuration mismatch.
Definition: defines.h:86
Definition: defines.h:192
Triangle marker.
Definition: defines.h:171
Visual spectrum (390nm-830nm) in sRGB colorspace.
Definition: defines.h:127
Fontconfig related error.
Definition: defines.h:91
Unkown error.
Definition: defines.h:105
Invalid argument.
Definition: defines.h:60
Four(Red, Green, Blue & Alpha) channels.
Definition: defines.h:114
Circle marker.
Definition: defines.h:169
Definition: defines.h:191
Definition: defines.h:195
Red color map.
Definition: defines.h:129
void * fg_plot
Definition: defines.h:45
Star symbol marker.
Definition: defines.h:174
Definition: defines.h:190
Three dimensional charts.
Definition: defines.h:119
Default [0-255] grayscale colormap.
Definition: defines.h:126
fg_channel_format ChannelFormat
Definition: defines.h:181
void * fg_image
Definition: defines.h:43
fg_err
Definition: defines.h:49
Definition: defines.h:145
Surface plot.
Definition: defines.h:163
Definition: defines.h:194
fg_err ErrorCode
Definition: defines.h:180
Unsigned byte (8-bits)
Definition: defines.h:152
void * fg_font
Definition: defines.h:41
OpenGL error.
Definition: defines.h:66
Internal error.
Definition: defines.h:103
Definition: defines.h:147
Definition: defines.h:189
Rainbow color map.
Definition: defines.h:128
void * fg_histogram
Definition: defines.h:44
void * fg_window
Definition: defines.h:40
Line plot.
Definition: defines.h:161
Runtime error.
Definition: defines.h:104
Definition: defines.h:146
Cross-hair marker.
Definition: defines.h:172
fg_dtype
Definition: defines.h:150
Invalid size argument.
Definition: defines.h:58
Invalid type argument.
Definition: defines.h:59
perceptually uniform shades of black-red-yellow
Definition: defines.h:133