2022-04-22 22:54:42 +02:00
|
|
|
#ifndef IMAGE_INDEXER_H
|
|
|
|
#define IMAGE_INDEXER_H
|
|
|
|
|
|
|
|
#include "core/image.h"
|
|
|
|
#include "core/reference.h"
|
|
|
|
#include "core/variant.h"
|
2022-04-24 09:49:59 +02:00
|
|
|
#include "core/oa_hash_map.h"
|
2022-04-22 22:54:42 +02:00
|
|
|
|
|
|
|
class ImageIndexer : public Reference {
|
|
|
|
GDCLASS(ImageIndexer, Reference);
|
|
|
|
|
|
|
|
public:
|
|
|
|
PoolColorArray get_colors();
|
|
|
|
PoolIntArray get_color_indices();
|
|
|
|
|
|
|
|
void index_image(Ref<Image> image);
|
2022-04-24 09:49:59 +02:00
|
|
|
void reset();
|
2022-04-22 22:54:42 +02:00
|
|
|
|
|
|
|
PoolByteArray indices_to_argb8_data(const PoolIntArray &indices);
|
|
|
|
|
|
|
|
ImageIndexer();
|
|
|
|
~ImageIndexer();
|
|
|
|
|
|
|
|
protected:
|
|
|
|
static void _bind_methods();
|
|
|
|
|
|
|
|
private:
|
|
|
|
PoolColorArray _colors;
|
|
|
|
PoolIntArray _color_indices;
|
2022-04-24 09:49:59 +02:00
|
|
|
OAHashMap<Color, int> _col_map;
|
2022-04-22 22:54:42 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|