#pragma once #include "AtlasStorage.h" namespace msdf_atlas { /// An implementation of AtlasStorage represented by a bitmap in memory (msdfgen::Bitmap) template class BitmapAtlasStorage { public: BitmapAtlasStorage(); BitmapAtlasStorage(int width, int height); explicit BitmapAtlasStorage(const msdfgen::BitmapConstRef &bitmap); explicit BitmapAtlasStorage(msdfgen::Bitmap &&bitmap); BitmapAtlasStorage(const BitmapAtlasStorage &orig, int width, int height); BitmapAtlasStorage(const BitmapAtlasStorage &orig, int width, int height, const Remap *remapping, int count); operator msdfgen::BitmapConstRef() const; operator msdfgen::BitmapRef(); operator msdfgen::Bitmap() &&; template void put(int x, int y, const msdfgen::BitmapConstRef &subBitmap); void get(int x, int y, const msdfgen::BitmapRef &subBitmap) const; private: msdfgen::Bitmap bitmap; }; } #include "BitmapAtlasStorage.hpp"