Forge
image.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
16extern "C" {
17#endif
18
37 const unsigned pWidth, const unsigned pHeight,
38 const fg_channel_format pFormat, const fg_dtype pType);
39
49
58
67FGAPI fg_err fg_set_image_alpha(fg_image pImage, const float pAlpha);
68
77FGAPI fg_err fg_set_image_aspect_ratio(fg_image pImage, const bool pKeepRatio);
78
87FGAPI fg_err fg_get_image_width(unsigned *pOut, const fg_image pImage);
88
97FGAPI fg_err fg_get_image_height(unsigned *pOut, const fg_image pImage);
98
108
118
127FGAPI fg_err fg_get_pixel_buffer(unsigned* pOut, const fg_image pImage);
128
137FGAPI fg_err fg_get_image_size(unsigned* pOut, const fg_image pImage);
138
152 const fg_image pImage,
153 const int pX, const int pY, const int pWidth, const int pHeight);
154
157#ifdef __cplusplus
158}
159#endif
160
161
162#ifdef __cplusplus
163
164namespace forge
165{
166
167class Window;
168
174class Image {
175 private:
176 fg_image mValue;
177
178 public:
189 FGAPI Image(const unsigned pWidth, const unsigned pHeight,
190 const ChannelFormat pFormat=FG_RGBA, const dtype pDataType=f32);
191
197 FGAPI Image(const Image& pOther);
198
207 FGAPI explicit Image(const fg_image pHandle);
208
213
219 FGAPI void setAlpha(const float pAlpha);
220
226 FGAPI void keepAspectRatio(const bool pKeep);
227
232 FGAPI unsigned width() const;
233
238 FGAPI unsigned height() const;
239
245
251
257 FGAPI unsigned pixels() const;
258
264 FGAPI unsigned size() const;
265
275 FGAPI void render(const Window& pWindow,
276 const int pX, const int pY, const int pVPW, const int pVPH) const;
277
282};
283
284}
285
286#endif
Image is plain rendering of an image over the window or sub-region of it.
Definition: image.h:174
FGAPI void render(const Window &pWindow, const int pX, const int pY, const int pVPW, const int pVPH) const
Render the image to given window.
FGAPI unsigned pixels() const
Get the resource id of image buffer.
FGAPI void keepAspectRatio(const bool pKeep)
Set option to inform whether to maintain aspect ratio of original image.
FGAPI Image(const Image &pOther)
Copy constructor of Image.
FGAPI ChannelFormat pixelFormat() const
Get Image's channel format.
FGAPI fg_image get() const
Get the handle to internal implementation of Image.
FGAPI Image(const fg_image pHandle)
Construct Image ojbect from fg_image resource handle.
FGAPI unsigned size() const
Get the image data size in bytes.
FGAPI unsigned height() const
Get Image height.
FGAPI ~Image()
Image Destructor.
FGAPI void setAlpha(const float pAlpha)
Set a global alpha value for rendering the image.
FGAPI Image(const unsigned pWidth, const unsigned pHeight, const ChannelFormat pFormat=FG_RGBA, const dtype pDataType=f32)
Creates a Image object.
FGAPI dtype channelType() const
Get Image's integral data type.
FGAPI unsigned width() const
Get Image width.
Window is where other objects such as Images, Plots etc.
Definition: window.h:300
#define FGAPI
Definition: defines.h:28
fg_channel_format
Definition: defines.h:108
@ FG_RGBA
Four(Red, Green, Blue & Alpha) channels.
Definition: defines.h:113
fg_err
Definition: defines.h:49
fg_dtype
Definition: defines.h:150
void * fg_image
Definition: defines.h:43
void * fg_window
Definition: defines.h:40
FGAPI fg_err fg_retain_image(fg_image *pOut, fg_image pImage)
Increment the internal reference counter for image resource.
FGAPI fg_err fg_set_image_aspect_ratio(fg_image pImage, const bool pKeepRatio)
Set option to inform whether to maintain aspect ratio of original image.
FGAPI fg_err fg_release_image(fg_image pImage)
Destroy image object.
FGAPI fg_err fg_set_image_alpha(fg_image pImage, const float pAlpha)
Set a global alpha value for rendering the image.
FGAPI fg_err fg_get_image_height(unsigned *pOut, const fg_image pImage)
Get the height of the image.
FGAPI fg_err fg_create_image(fg_image *pImage, const unsigned pWidth, const unsigned pHeight, const fg_channel_format pFormat, const fg_dtype pType)
Create a Image object.
FGAPI fg_err fg_render_image(const fg_window pWindow, const fg_image pImage, const int pX, const int pY, const int pWidth, const int pHeight)
Render the image to given window.
FGAPI fg_err fg_get_image_width(unsigned *pOut, const fg_image pImage)
Get the width of the image.
FGAPI fg_err fg_get_image_type(fg_dtype *pOut, const fg_image pImage)
Get the pixel data type of the image.
FGAPI fg_err fg_get_image_size(unsigned *pOut, const fg_image pImage)
Get the image buffer size in bytes.
FGAPI fg_err fg_get_pixel_buffer(unsigned *pOut, const fg_image pImage)
Get the image buffer resource identifier.
FGAPI fg_err fg_get_image_pixelformat(fg_channel_format *pOut, const fg_image pImage)
Get the channel format of the image.
Definition: chart.h:305
dtype
Definition: defines.h:188
@ f32
Definition: defines.h:193