some decouplings (#2)
* logger business * code review * rm c-style array * extract image rendering to view * missing view files * init view abstractions * leverage concepts and provide a templateized Enumerate function * RVO * get rid of some warnings * logger business * code review * rm c-style array * extract image rendering to view * missing view files * init view abstractions * leverage concepts and provide a templateized Enumerate function * RVO * get rid of some warnings * logger business * code review * rm c-style array * init view abstractions * leverage concepts and provide a templateized Enumerate function * RVO * get rid of some warnings * logger business * code review * rm c-style array * init view abstractions * leverage concepts and provide a templateized Enumerate function * RVO * get rid of some warnings * Factor out AppGLFW base class The intention here is to get rid of scaffolding in the consumer application class and allow to focus on the "important bits". * Some cleanup * dump unnecessary dependency * link stuff where needed & use only what's needed * remove deprecation warnings * add gallery toggle * make some includes private * add presets * remove dir locals, use presets instead `projectile-configure-project' in conjunction with CMakePresets.json will allow to configure the project. `projectile-compile-project' does sth similar for the compile command. This is equivalent to something like ~cmake --preset clang-debug && cmake --build build --preset clang-debug~ * use presets in pipeline --------- Co-authored-by: m-aXimilian <keuffnermax@gmail.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "PixelariumImage.hpp"
|
||||
#include "imgui.h"
|
||||
#include "rendering/CvMatRender.hpp"
|
||||
|
||||
namespace pixelarium::ui
|
||||
{
|
||||
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;
|
||||
|
||||
void ToggleView(bool target) { open_p = target; }
|
||||
void ShowImage();
|
||||
|
||||
private:
|
||||
const std::shared_ptr<Image> img_;
|
||||
Render render_;
|
||||
bool open_p{false};
|
||||
ImVec2 curr_dim_{};
|
||||
};
|
||||
} // namespace pixelarium::ui
|
||||
Reference in New Issue
Block a user