//=============================================================================================================================
//
// EasyAR Sense 3.1.0-final-7bf6504c6
// Copyright (c) 2015-2020 VisionStar Information Technology (Shanghai) Co., Ltd. All Rights Reserved.
// EasyAR is the registered trademark or trademark of VisionStar Information Technology (Shanghai) Co., Ltd in China
// and other countries for the augmented reality technology developed by VisionStar Information Technology (Shanghai) Co., Ltd.
//
//=============================================================================================================================
#ifndef __EASYAR_IMAGEHELPER_HXX__
#define __EASYAR_IMAGEHELPER_HXX__
#include "easyar/types.hxx"
namespace easyar {
///
/// Image helper class.
///
class ImageHelper
{
public:
///
/// Decodes a JPEG or PNG file.
///
static void decode(Buffer * buffer, /* OUT */ Image * * Return);
};
#ifndef __EASYAR_OPTIONALOFIMAGE__
#define __EASYAR_OPTIONALOFIMAGE__
struct OptionalOfImage
{
bool has_value;
Image * value;
};
static inline easyar_OptionalOfImage OptionalOfImage_to_c(Image * o);
#endif
}
#endif
#ifndef __IMPLEMENTATION_EASYAR_IMAGEHELPER_HXX__
#define __IMPLEMENTATION_EASYAR_IMAGEHELPER_HXX__
#include "easyar/imagehelper.h"
#include "easyar/buffer.hxx"
#include "easyar/image.hxx"
namespace easyar {
inline void ImageHelper::decode(Buffer * arg0, /* OUT */ Image * * Return)
{
easyar_OptionalOfImage _return_value_ = {false, NULL};
easyar_ImageHelper_decode(arg0->get_cdata(), &_return_value_);
*Return = (_return_value_.has_value ? new Image(_return_value_.value) : NULL);
}
#ifndef __IMPLEMENTATION_EASYAR_OPTIONALOFIMAGE__
#define __IMPLEMENTATION_EASYAR_OPTIONALOFIMAGE__
static inline easyar_OptionalOfImage OptionalOfImage_to_c(Image * o)
{
if (o != NULL) {
easyar_OptionalOfImage _return_value_ = {true, o->get_cdata()};
return _return_value_;
} else {
easyar_OptionalOfImage _return_value_ = {false, NULL};
return _return_value_;
}
}
#endif
}
#endif