ultimatepp/uppsrc/Draw/iml_source.h
Mirek Fidler 563b33de49 QHD fixed
2026-04-04 13:50:56 +02:00

173 lines
3.4 KiB
C

//#BLITZ_APPROVE
#define VERSION(v)
#define PREMULTIPLIED
#define IMAGE_META(k, v)
#define IMAGE_ID(n)
#define IMAGE_BEGIN_DATA
#define IMAGE_END_DATA(n, c)
#define IMAGE_DATA(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,aa,ab,ac,ad,ae,af,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,ba,bb,bc,bd,be,bf)
#define IMAGE_BEGIN(n) const char *COMBINE(COMBINE(IMAGECLASS, _), n##__scans__)[] = {
#define IMAGE_SCAN(s) s,
#define IMAGE_PACKED(n, d) };
#define IMAGE_DATA_BEGIN
#include IMAGEFILE
#undef IMAGE_BEGIN
#undef IMAGE_SCAN
#undef IMAGE_PACKED
// -----------------------
#define IMAGE_SCAN(s)
#define IMAGE_BEGIN(n)
// -----------------------
UPP::Iml& IMAGECLASS::Iml() {
static const char *name[IMAGECLASS::COUNT] = {
#define IMAGE_PACKED(n, d) #n,
#undef IMAGE_ID
#define IMAGE_ID(n) #n,
#include IMAGEFILE
};
static UPP::Iml iml(name, COUNT);
#ifdef FIXED_COLORS
#undef FIXED_COLORS
iml.GlobalFlag(IML_IMAGE_FLAG_FIXED_COLORS);
#endif
#ifdef FIXED_SIZE
#undef FIXED_SIZE
iml.GlobalFlag(IML_IMAGE_FLAG_FIXED_SIZE);
#endif
#undef IMAGE_PACKED
#undef IMAGE_ID
#define IMAGE_ID(n)
#define IMAGE_PACKED(n, d)
ONCELOCK {
#undef IMAGE_BEGIN_DATA
#undef IMAGE_DATA
#undef IMAGE_END_DATA
#define IMAGE_BEGIN_DATA { static const UPP::byte data[] = {
#define IMAGE_DATA(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,aa,ab,ac,ad,ae,af,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,ba,bb,bc,bd,be,bf)\
a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,aa,ab,ac,ad,ae,af,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,ba,bb,bc,bd,be,bf,
#define IMAGE_END_DATA(n, c) }; iml.AddData(data, n, c); }
#include IMAGEFILE
#undef IMAGE_BEGIN_DATA
#undef IMAGE_END_DATA
#undef IMAGE_DATA
#undef IMAGE_ID
#define IMAGE_BEGIN_DATA
#define IMAGE_END_DATA(n, c)
#define IMAGE_DATA(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,aa,ab,ac,ad,ae,af,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,ba,bb,bc,bd,be,bf)
#define IMAGE_ID(n)
#undef PREMULTIPLIED
#define PREMULTIPLIED iml.Premultiplied();
#undef VERSION
#define VERSION(v) iml.Version(v);
#include IMAGEFILE
#undef PREMULTIPLIED
#define PREMULTIPLIED
#undef VERSION
#define VERSION(v)
}
return iml;
}
UPP::Image IMAGECLASS::Get(int i)
{
return Iml().Get(i);
}
UPP::Image IMAGECLASS::Get(const char *s)
{
return Iml().Get(Find(s));
}
UPP::Image IMAGECLASS::Get(const UPP::String& s)
{
return Iml().Get(Find(s));
}
int IMAGECLASS::Find(const UPP::String& s)
{
return Iml().Find(s);
}
int IMAGECLASS::Find(const char *s)
{
return Iml().Find(s);
}
void IMAGECLASS::Set(int i, const UPP::Image& m)
{
Iml().Set(i, m);
}
void IMAGECLASS::Set(const char *s, const UPP::Image& m)
{
Iml().Set(Find(s), m);
}
struct COMBINE(IMAGECLASS, __Reg) {
COMBINE(IMAGECLASS, __Reg()) {
IMAGECLASS::Register__();
}
};
static COMBINE(IMAGECLASS, __Reg) COMBINE(IMAGECLASS, ___Reg);
#undef IMAGE_BEGIN
#undef IMAGE_ID
#define IMAGE_BEGIN(n) UPP::Image IMAGECLASS::n() { return Get(I_##n); }
#define IMAGE_ID(n) UPP::Image IMAGECLASS::n() { return Get(I_##n); }
#include IMAGEFILE
#undef IMAGE_BEGIN
#undef IMAGE_ID
#undef IMAGE_BEGIN_DATA
#undef IMAGE_DATA
#undef IMAGE_END_DATA
#undef IMAGE_PACKED
#undef IMAGE_ID
#undef IMAGE_SCAN
#undef IMAGE_BEGIN
#ifndef IMAGE_KEEP
#undef IMAGECLASS
#undef IMAGEFILE
#endif
#undef IMAGE_META
#undef PREMULTIPLIED
#undef VERSION
#ifdef IMAGEFILE_UHD
#undef IMAGEFILE_UHD
#endif
#ifdef IMAGEFILE_DARK
#undef IMAGEFILE_DARK
#endif
#ifdef IMAGEFILE_DARK_UHD
#undef IMAGEFILE_DARK_UHD
#endif