Files
pixelarium/lib/rendering/PixelariumImageView.hpp
T

36 lines
1.0 KiB
C++
Raw Normal View History

2025-08-18 22:39:43 +00:00
#pragma once
#include <memory>
2025-09-13 14:49:59 +02:00
#include "imaging/PixelariumImage.hpp"
2025-08-18 22:39:43 +00:00
#include "imgui.h"
#include "rendering/CvMatRender.hpp"
2025-09-13 14:49:59 +02:00
namespace pixelarium::render
2025-08-18 22:39:43 +00:00
{
class PixelariumImageView
{
using Image = imaging::PixelariumImage;
using Render = render::CvMatRender;
public:
explicit PixelariumImageView(const std::shared_ptr<Image>& img) : img_(img) { render_ = Render(img_); }
PixelariumImageView() = delete;
PixelariumImageView(PixelariumImageView&) = delete;
PixelariumImageView(const PixelariumImageView&) = delete;
PixelariumImageView(PixelariumImageView&&) = delete;
PixelariumImageView& operator=(PixelariumImageView&) = delete;
PixelariumImageView& operator=(PixelariumImageView&&) = delete;
2025-09-13 14:49:59 +02:00
// void ToggleView(bool target) { open_p = target; }
const bool* GetStatus() const noexcept { return &this->open_p; }
2025-08-18 22:39:43 +00:00
void ShowImage();
private:
const std::shared_ptr<Image> img_;
Render render_;
2025-09-13 14:49:59 +02:00
bool open_p{true};
2025-08-18 22:39:43 +00:00
ImVec2 curr_dim_{};
};
2025-09-13 14:49:59 +02:00
} // namespace pixelarium::render