MeshLib C++ Docs
Loading...
Searching...
No Matches
MRImGuiImage.h
Go to the documentation of this file.
1#pragma once
2#include "exports.h"
3#include <MRMesh/MRMeshFwd.h>
5#include "MRRenderGLHelpers.h"
6#include "MRViewer/MRImGui.h"
7
8namespace MR
9{
10
11// Simple ImGui Image
12// create GL texture in constructor, free it in destructor
13// cant be moved(for now) or copied(forever)
14class MRVIEWER_CLASS ImGuiImage
15{
16public:
17 MRVIEWER_API ImGuiImage();
18 MRVIEWER_API virtual ~ImGuiImage();
19
20 // Sets image to texture
21 MRVIEWER_API void update( const MeshTexture& texture );
22
23 // Returns ImTextureID for ImGui::Image( getImTextureId(), ... )
24 // ImGui recommends using the intermediate cast intptr_t
25 ImTextureID getImTextureId() const { return (ImTextureID) (intptr_t) glTex_.getId(); }
26
27 // Returns gl texture id
28 unsigned getId() const { return glTex_.getId(); }
29
30 // Returns current MeshTexture
31 const MeshTexture& getMeshTexture() const { return texture_; }
32
33 int getImageWidth() const { return texture_.resolution.x; }
34 int getImageHeight() const { return texture_.resolution.y; }
35
36private:
37 GlTexture2 glTex_;
38 MeshTexture texture_;
39
40 void bind_();
41};
42
43} //namespace MR
Definition MRRenderGLHelpers.h:65
Definition MRImGuiImage.h:15
int getImageWidth() const
Definition MRImGuiImage.h:33
virtual MRVIEWER_API ~ImGuiImage()
MRVIEWER_API ImGuiImage()
ImTextureID getImTextureId() const
Definition MRImGuiImage.h:25
MRVIEWER_API void update(const MeshTexture &texture)
int getImageHeight() const
Definition MRImGuiImage.h:34
const MeshTexture & getMeshTexture() const
Definition MRImGuiImage.h:31
unsigned getId() const
Definition MRImGuiImage.h:28
Definition MRCameraOrientationPlugin.h:8
Definition MRMeshTexture.h:13