New ImageResourceDisplay implementation that should decrease RAM usage

This commit is contained in:
Yousef Khadadeh 2026-02-19 15:21:47 +03:00
parent a69d9e3c6c
commit fec602e46a
11 changed files with 246 additions and 98 deletions

View file

@ -2,6 +2,9 @@
#include <include/core/SkCanvas.h>
#include <include/core/SkRect.h>
#include <Eigen/Dense>
#include "../SharedTypes.hpp"
#include <Helpers/SCollision.hpp>
#include "../CoordSpaceHelper.hpp"
using namespace Eigen;
@ -17,11 +20,12 @@ class ResourceDisplay {
SVG
};
virtual void update(World& w) = 0;
virtual bool load(ResourceManager& rMan, const std::string& fileName, const std::string& fileData) = 0;
virtual bool load(ResourceManager& rMan, const std::string& fileName, const std::shared_ptr<std::string>& fileData) = 0;
virtual bool update_draw() const = 0;
virtual void draw(SkCanvas* canvas, const DrawData& drawData, const SkRect& imRect) = 0;
virtual Vector2f get_dimensions() const = 0;
virtual float get_dimension_scale() const = 0;
virtual Type get_type() const = 0;
virtual void camera_view_update(const CoordSpaceHelper& compCoords, const SCollision::AABB<WorldScalar>& compAABB, const DrawData& drawData, const SkRect& imRect);
virtual ~ResourceDisplay();
};