Begin support for "embedded resources"
Dieser Commit ist enthalten in:
22
embedded.cpp
Normale Datei
22
embedded.cpp
Normale Datei
@@ -0,0 +1,22 @@
|
||||
#include <unordered_map>
|
||||
#include <string_view>
|
||||
#include "embedded.h"
|
||||
|
||||
std::unordered_map<std::string_view, std::string_view> text_resources;
|
||||
|
||||
#include "embedded_declarations.inc"
|
||||
|
||||
void utils::embedded_init_text_resources()
|
||||
{
|
||||
#include "init_text_resources.inc"
|
||||
}
|
||||
|
||||
std::string_view utils::embedded_get_text_resource(std::string_view name)
|
||||
{
|
||||
auto it = text_resources.find(name);
|
||||
if(it != text_resources.end())
|
||||
{
|
||||
return it->second;
|
||||
}
|
||||
return std::string_view{};
|
||||
}
|
||||
25
embedded.h
Normale Datei
25
embedded.h
Normale Datei
@@ -0,0 +1,25 @@
|
||||
#ifndef EMBEDDED_H
|
||||
#define EMBEDDED__H
|
||||
|
||||
#include <string_view>
|
||||
|
||||
#define DECLARE_RESOURCE(name) \
|
||||
extern "C" \
|
||||
{ \
|
||||
extern const char _binary_##name##_start[]; \
|
||||
extern const char _binary_##name##_end[]; \
|
||||
}
|
||||
|
||||
#define RESOURCE_START(name) (_binary_##name##_start)
|
||||
#define RESOURCE_END(name) (_binary_##name##_end)
|
||||
#define RESOURCE_SIZE(name) (static_cast<std::size_t>(_binary_##name##_end - _binary_##name##_start))
|
||||
|
||||
#define RESOURCE_STRING_VIEW(name) {std::string_view(RESOURCE_START(name), RESOURCE_SIZE(name))}
|
||||
|
||||
namespace utils
|
||||
{
|
||||
void embedded_init_text_resources();
|
||||
std::string_view embedded_get_text_resource(std::string_view name);
|
||||
}
|
||||
|
||||
#endif
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren