Misc Improvements (#7)

* get rid of optional<ptr> -> double indirection

* more optional cleanup

* fix

* add more render pixel type options

* towards different views

* missing virtual declaration of ShowImage

* fix runtime

* init image view factory

* fix build

Render Image close button re-enable

add readme

init documentation

use awesomeDoxygen

ci build docs

install doxygen

id token permission

add pages write permission
This commit is contained in:
m-aXimilian
2025-09-23 21:57:08 +02:00
committed by Maximilian Kueffner
parent 0be064bb8e
commit 235d00192a
34 changed files with 418 additions and 173 deletions
+11 -10
View File
@@ -11,9 +11,11 @@ namespace
class DummyImage : public pixelarium::imaging::IPixelariumImage
{
public:
std::optional<std::unique_ptr<cv::Mat>> TryGetImage() override { return {}; }
std::unique_ptr<cv::Mat> TryGetImage() override { return {}; }
std::optional<std::unique_ptr<cv::Mat>> TryGetImage(const pixelarium::imaging::IImageQuery&) override { return {}; }
std::unique_ptr<cv::Mat> TryGetImage(const pixelarium::imaging::IImageQuery&) override { return {}; }
std::vector<std::unique_ptr<cv::Mat>> TryGetImages(const pixelarium::imaging::IImageQuery&) override { return {}; }
std::string Name() const noexcept override { return {}; }
@@ -32,8 +34,8 @@ TEST(ImageResourcePoolTest, SetAndGetResource)
auto img = std::make_unique<DummyImage>();
auto id = pool.SetResource(std::move(img));
auto res = pool.GetResource(id);
auto res_img = res.value().lock();
EXPECT_TRUE(res.has_value());
auto res_img = res.lock();
EXPECT_NE(res_img, nullptr);
}
@@ -43,15 +45,14 @@ TEST(ImageResourcePoolTest, SetWrappedRawPointerGet)
auto img = new DummyImage();
auto id = pool.SetResource(std::unique_ptr<pixelarium::imaging::IPixelariumImage>(img));
auto res = pool.GetResource(id);
auto res_img = res.value().lock();
EXPECT_TRUE(res.has_value());
auto res_img = res.lock();
EXPECT_NE(res_img, nullptr);
}
TEST(ImageResourcePoolTest, GetNonExistentResourceReturnsEmptyOptional)
{
ImageResourcePool pool;
EXPECT_FALSE(pool.GetResource(12345));
EXPECT_EQ(pool.GetResource(12345).lock(), nullptr);
}
TEST(ImageResourcePoolTest, ModifyResourceSuccess)
@@ -61,8 +62,8 @@ TEST(ImageResourcePoolTest, ModifyResourceSuccess)
auto new_img = std::make_unique<DummyImage>();
EXPECT_TRUE(pool.ModifyResource(id, std::move(new_img)));
auto res = pool.GetResource(id);
auto res_img = res.value().lock();
EXPECT_TRUE(res.has_value());
auto res_img = res.lock();
EXPECT_NE(res_img, nullptr);
}
@@ -78,7 +79,7 @@ TEST(ImageResourcePoolTest, DeleteResourceSuccess)
ImageResourcePool pool;
auto id = pool.SetResource(std::make_unique<DummyImage>());
EXPECT_TRUE(pool.DeleteResource(id));
EXPECT_FALSE(pool.GetResource(id).has_value());
EXPECT_EQ(pool.GetResource(id).lock(), nullptr);
}
TEST(ImageResourcePoolTest, DeleteResourceFail)