Forge
histogram.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 #include <fg/defines.h>
13 
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
34  const unsigned pNBins, const fg_dtype pDataType);
35 
44 
63  const float pRed, const float pGreen,
64  const float pBlue, const float pAlpha);
65 
74 FGAPI fg_err fg_set_histogram_legend(fg_histogram pHistogram, const char* pLegend);
75 
84 FGAPI fg_err fg_get_histogram_vertex_buffer(unsigned* pOut, const fg_histogram pHistogram);
85 
94 FGAPI fg_err fg_get_histogram_color_buffer(unsigned* pOut, const fg_histogram pHistogram);
95 
104 FGAPI fg_err fg_get_histogram_alpha_buffer(unsigned* pOut, const fg_histogram pHistogram);
105 
114 FGAPI fg_err fg_get_histogram_vertex_buffer_size(unsigned* pOut, const fg_histogram pHistogram);
115 
124 FGAPI fg_err fg_get_histogram_color_buffer_size(unsigned* pOut, const fg_histogram pHistogram);
125 
134 FGAPI fg_err fg_get_histogram_alpha_buffer_size(unsigned* pOut, const fg_histogram pHistogram);
135 
138 #ifdef __cplusplus
139 }
140 #endif
141 
142 
143 #ifdef __cplusplus
144 
145 namespace forge
146 {
147 
153 class Histogram {
154  private:
155  fg_histogram mValue;
156 
157  public:
165  FGAPI Histogram(const unsigned pNBins, const dtype pDataType);
166 
172  FGAPI Histogram(const Histogram& pOther);
173 
177  FGAPI ~Histogram();
178 
184  FGAPI void setColor(const Color pColor);
185 
200  FGAPI void setColor(const float pRed, const float pGreen,
201  const float pBlue, const float pAlpha);
202 
208  FGAPI void setLegend(const char* pLegend);
209 
215  FGAPI unsigned vertices() const;
216 
222  FGAPI unsigned colors() const;
223 
229  FGAPI unsigned alphas() const;
230 
236  FGAPI unsigned verticesSize() const;
237 
243  FGAPI unsigned colorsSize() const;
244 
250  FGAPI unsigned alphasSize() const;
251 
255  FGAPI fg_histogram get() const;
256 };
257 
258 }
259 
260 #endif
FGAPI fg_err fg_create_histogram(fg_histogram *pHistogram, const unsigned pNBins, const fg_dtype pDataType)
Creates a Histogram object.
FGAPI fg_err fg_get_histogram_vertex_buffer(unsigned *pOut, const fg_histogram pHistogram)
Get the resource identifier for vertices buffer.
FGAPI fg_err fg_set_histogram_color(fg_histogram pHistogram, const float pRed, const float pGreen, const float pBlue, const float pAlpha)
Set the color of bar in the bar graph(histogram)
FGAPI fg_err fg_get_histogram_color_buffer_size(unsigned *pOut, const fg_histogram pHistogram)
Get the colors buffer size in bytes.
FGAPI unsigned colorsSize() const
Get the colors buffer size in bytes.
Definition: chart.h:231
fg_color
Definition: defines.h:139
FGAPI Histogram(const unsigned pNBins, const dtype pDataType)
Creates a Histogram object.
FGAPI fg_err fg_get_histogram_vertex_buffer_size(unsigned *pOut, const fg_histogram pHistogram)
Get the vertices buffer size in bytes.
FGAPI unsigned vertices() const
Get the buffer identifier for vertices.
FGAPI fg_err fg_get_histogram_alpha_buffer(unsigned *pOut, const fg_histogram pHistogram)
Get the resource identifier for alpha values buffer.
FGAPI void setLegend(const char *pLegend)
Set legend for histogram plot.
dtype
Definition: defines.h:189
FGAPI unsigned colors() const
Get the buffer identifier for color values per vertex.
#define FGAPI
Definition: defines.h:28
FGAPI unsigned verticesSize() const
Get the vertex buffer size in bytes.
FGAPI ~Histogram()
Histogram Destructor.
FGAPI fg_err fg_destroy_histogram(fg_histogram pHistogram)
Destroy Histogram object.
FGAPI unsigned alphas() const
Get the buffer identifier for alpha values per vertex.
FGAPI unsigned alphasSize() const
Get the alpha values buffer size in bytes.
FGAPI fg_err fg_set_histogram_legend(fg_histogram pHistogram, const char *pLegend)
Set legend for histogram plot.
fg_err
Definition: defines.h:49
FGAPI void setColor(const Color pColor)
Set the color of bar in the bar graph(histogram)
FGAPI fg_err fg_get_histogram_alpha_buffer_size(unsigned *pOut, const fg_histogram pHistogram)
Get the alpha values buffer size in bytes.
void * fg_histogram
Definition: defines.h:44
fg_dtype
Definition: defines.h:150
FGAPI fg_err fg_get_histogram_color_buffer(unsigned *pOut, const fg_histogram pHistogram)
Get the resource identifier for colors buffer.
Histogram is a bar graph to display data frequencey.
Definition: histogram.h:153