23 #ifndef CLOE_UTILITY_RESOURCE_HPP_ 24 #define CLOE_UTILITY_RESOURCE_HPP_ 30 #error "The incbin.h header should only be included by this file." 32 #define INCBIN_STYLE INCBIN_STYLE_SNAKE 33 #define INCBIN_PREFIX _blob_ 37 #define _BLOB_DATA(xName) _CONCAT(_BLOB_X(xName), _data) 38 #define _BLOB_PATH(xName) _CONCAT(_BLOB_X(xName), _path) 39 #define _BLOB_END(xName) _CONCAT(_BLOB_X(xName), _end) 40 #define _BLOB_SIZE(xName) _CONCAT(_BLOB_X(xName), _size) 41 #define _BLOB_X(xName) _CONCAT(_blob_, xName) 42 #define _CONCAT(a, b) _CONCAT2(a, b) 43 #define _CONCAT2(a, b) a##b 48 #define INCLUDE_RESOURCE(xName, xFilePath) \ 49 const char* _BLOB_PATH(xName) = xFilePath; \ 50 INCBIN(xName, xFilePath) 52 #define RESOURCE(xName) \ 53 ::Resource(_BLOB_DATA(xName), _BLOB_END(xName), _BLOB_SIZE(xName), _BLOB_PATH(xName)) 57 Resource(
const unsigned char* data,
const unsigned char* end,
const unsigned int len,
59 : data_(reinterpret_cast<const char*>(data))
60 , end_(reinterpret_cast<const char*>(end))
62 , filepath_(filepath) {}
64 std::string to_string()
const {
return std::string(data_, size_); }
66 size_t size()
const {
return size_; }
67 const char* begin()
const {
return data_; }
68 const char* end()
const {
return data_ + size_; }
69 const char* filepath()
const {
return filepath_; }
75 const char* filepath_;
78 #endif // CLOE_UTILITY_RESOURCE_HPP_ Definition: resource.hpp:55