tomato/src/image_loader.hpp

27 lines
522 B
C++
Raw Normal View History

2023-07-30 16:00:55 +02:00
#pragma once
#include <cstdint>
#include <vector>
struct ImageLoaderI {
virtual ~ImageLoaderI(void) {}
struct ImageInfo {
uint32_t width {0};
uint32_t height {0};
};
virtual ImageInfo loadInfoFromMemory(const uint8_t* data, uint64_t data_size) = 0;
struct ImageResult {
uint32_t width {0};
uint32_t height {0};
struct Frame {
int32_t ms {0};
std::vector<uint8_t> data;
};
std::vector<Frame> frames;
};
virtual ImageResult loadFromMemoryRGBA(const uint8_t* data, uint64_t data_size) = 0;
};