libragephoto: add opt-in C++17 support
- RagePhoto(A): add jpeg_view() function - CMakeLists.txt: move C++17 and WebAssembly stuff inside include files
This commit is contained in:
parent
4ca8ac9297
commit
3c433ca072
8 changed files with 102 additions and 35 deletions
|
@ -602,6 +602,16 @@ const std::string RagePhoto::jpeg() const
|
|||
return std::string();
|
||||
}
|
||||
|
||||
#if (RAGEPHOTO_CXX_STD >= 17) && (__cplusplus >= 201703L)
|
||||
const std::string_view RagePhoto::jpeg_view() const
|
||||
{
|
||||
if (m_data->jpeg)
|
||||
return std::string_view(m_data->jpeg, m_data->jpegSize);
|
||||
else
|
||||
return std::string_view();
|
||||
}
|
||||
#endif
|
||||
|
||||
const char* RagePhoto::jpegData() const
|
||||
{
|
||||
return m_data->jpeg;
|
||||
|
|
|
@ -115,6 +115,9 @@ public:
|
|||
int32_t error() const; /**< Returns the last error occurred. */
|
||||
uint32_t format() const; /**< Returns the Photo Format (GTA V or RDR 2). */
|
||||
const std::string jpeg() const; /**< Returns the Photo JPEG data. */
|
||||
#if (RAGEPHOTO_CXX_STD >= 17) && (__cplusplus >= 201703L)
|
||||
const std::string_view jpeg_view() const; /**< Returns the Photo JPEG data. */
|
||||
#endif
|
||||
const char* jpegData() const; /**< Returns the Photo JPEG data. */
|
||||
uint32_t jpegSize() const; /**< Returns the Photo JPEG data size. */
|
||||
const char* description() const; /**< Returns the Photo description. */
|
||||
|
|
|
@ -147,8 +147,22 @@ public:
|
|||
}
|
||||
/** Returns the Photo JPEG data. */
|
||||
const std::string jpeg() const {
|
||||
return std::string(ragephoto_getphotojpeg(instance), ragephoto_getphotosize(instance));
|
||||
const char *jpegData = ragephoto_getphotojpeg(instance);
|
||||
if (jpegData)
|
||||
return std::string(jpegData, ragephoto_getphotosize(instance));
|
||||
else
|
||||
return std::string();
|
||||
}
|
||||
#if (__cplusplus >= 201703L)
|
||||
/** Returns the Photo JPEG data. */
|
||||
const std::string_view jpeg_view() const {
|
||||
const char *jpegData = ragephoto_getphotojpeg(instance);
|
||||
if (jpegData)
|
||||
return std::string_view(jpegData, ragephoto_getphotosize(instance));
|
||||
else
|
||||
return std::string_view();
|
||||
}
|
||||
#endif
|
||||
/** Returns the Photo JPEG data. */
|
||||
const char* jpegData() const {
|
||||
return ragephoto_getphotojpeg(instance);
|
||||
|
@ -308,6 +322,8 @@ public:
|
|||
private:
|
||||
ragephoto_t instance;
|
||||
};
|
||||
#else
|
||||
#include "RagePhotoC.h"
|
||||
#endif // __cplusplus
|
||||
|
||||
#endif // RAGEPHOTOA_H
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
/* CMAKE CONFIG BEGIN */
|
||||
#define @LIBRAGEPHOTO_API@
|
||||
#define @LIBRAGEPHOTO_LIBTYPE@
|
||||
#define RAGEPHOTO_CXX_STD @CMAKE_CXX_STANDARD@
|
||||
#define RAGEPHOTO_VERSION "@ragephoto_VERSION@"
|
||||
#define RAGEPHOTO_VERSION_MAJOR @ragephoto_VERSION_MAJOR@
|
||||
#define RAGEPHOTO_VERSION_MINOR @ragephoto_VERSION_MINOR@
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue