Initial commit

This commit is contained in:
2025-11-01 23:54:33 -05:00
commit f397068f8d
44 changed files with 13027 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
#pragma once
#include "ImageFormat.hpp"
namespace Tesses::Framework::Graphics::ImageFormats {
class BitmapFormat : public ImageFormat {
public:
BitmapFormat();
void Load(std::shared_ptr<Tesses::Framework::Streams::Stream> strm, Image* image);
void Save(std::shared_ptr<Tesses::Framework::Streams::Stream> strm, Image* image,std::string flags="");
};
};

View File

@@ -0,0 +1,15 @@
#pragma once
#include "BitmapFormat.hpp"
#include "PngFormat.hpp"
#include "JpegFormat.hpp"
namespace Tesses::Framework::Graphics::ImageFormats {
class Formats {
public:
static BitmapFormat Bitmap;
static PngFormat Png;
static JpegFormat Jpeg;
//Don't free the ImageFormat (may return null)
static ImageFormat* FromExtension(std::string ext);
};
}

View File

@@ -0,0 +1,14 @@
#pragma once
#include <TessesFramework/Streams/Stream.hpp>
#include "../Image.hpp"
namespace Tesses::Framework::Graphics::ImageFormats {
class ImageFormat {
public:
virtual void Load(std::shared_ptr<Tesses::Framework::Streams::Stream> strm, Image* image)=0;
virtual void Save(std::shared_ptr<Tesses::Framework::Streams::Stream> strm, Image* image,std::string flags="")=0;
virtual ~ImageFormat();
};
}

View File

@@ -0,0 +1,10 @@
#pragma once
#include "ImageFormat.hpp"
namespace Tesses::Framework::Graphics::ImageFormats {
class JpegFormat : public ImageFormat {
public:
JpegFormat();
void Load(std::shared_ptr<Tesses::Framework::Streams::Stream> strm, Image* image);
void Save(std::shared_ptr<Tesses::Framework::Streams::Stream> strm, Image* image,std::string flags="");
};
};

View File

@@ -0,0 +1,10 @@
#pragma once
#include "ImageFormat.hpp"
namespace Tesses::Framework::Graphics::ImageFormats {
class PngFormat : public ImageFormat {
public:
PngFormat();
void Load(std::shared_ptr<Tesses::Framework::Streams::Stream> strm, Image* image);
void Save(std::shared_ptr<Tesses::Framework::Streams::Stream> strm, Image* image,std::string flags="");
};
};