palladium/source/Image.cpp
tobid7 a58dc20562 Adapted from Changelog:
- swr -> Rubidium
- LIFont (TTF Font Renderer)
- Implement shbin as c++ array
- Larger Mesaage Box
- Add Texture Loader
- Update Image/Error and other sytems to Lithium
- Optimize Render2 for Lithium
2024-08-02 13:50:36 +02:00

44 lines
922 B
C++

#include <pd/external/stb_image.h>
#include <pd/Image.hpp>
#include <pd/internal_db.hpp>
#include <vector>
namespace Palladium {
void Image::Load(const std::string &path) {
// Make sure to cleanup
Delete();
if (!img) img = Texture::New();
img->LoadFile(path);
}
void Image::From_NIMG(const nimg &image) {
// Make sure to cleanup
Delete();
if (!img) img = Texture::New();
img->LoadPixels(image.pixel_buffer, image.width, image.height);
}
Texture::Ref Image::Get() {
if (!Loadet()) {
_pdi_logger()->Write("Image not Loadet!");
}
return img;
}
void Image::Set(Texture::Ref i, NVec4 uvs) {
Delete();
if(uvs.x != -1) custom_uvs = uvs;
img = i;
}
NVec2 Image::GetSize() {
if (!img) return NVec2(0, 0);
return img->GetSize();
}
void Image::Delete() { img = nullptr; }
bool Image::Loadet() { return img != nullptr; }
} // namespace Palladium