MeshLib C++ Docs
Loading...
Searching...
No Matches
MRUINonOverlappingLabels.h
Go to the documentation of this file.
1#pragma once
2
4#include "MRMesh/MRMeshFwd.h"
6#include "MRViewer/exports.h"
8
9namespace MR::UI
10{
11
14class MRVIEWER_CLASS NonOverlappingLabelTask : public BasicUiRenderTask
15{
16public:
17 struct Params
18 {
21 Vector3f worldPos;
22 std::string id;
23 std::string text;
24
26 std::shared_ptr<const ImGuiMeasurementIndicators::Params> indicatorParams;
27 };
28
29private:
30 Params params_;
31 ImVec2 finalScreenPos_;
32
33public:
35 MRVIEWER_API NonOverlappingLabelTask( Params params );
36
37 MRVIEWER_API void earlyBackwardPass( const BackwardPassParams& params ) override;
38 MRVIEWER_API void renderPass() override;
39};
40
43MRVIEWER_API void nonOverlappingLabel();
44
45}
Definition MRUINonOverlappingLabels.h:15
MRVIEWER_API void earlyBackwardPass(const BackwardPassParams &params) override
MRVIEWER_API void renderPass() override
This is the main rendering pass.
MRVIEWER_API NonOverlappingLabelTask(Params params)
MRVIEWER_API NonOverlappingLabelTask()
Definition MRViewportId.h:16
Definition MRUINonOverlappingLabels.h:10
MRVIEWER_API void nonOverlappingLabel()
Definition MRIRenderObject.h:84
IRenderObject::renderUi() can emit zero or more or more of those tasks. They are sorted by depth ever...
Definition MRIRenderObject.h:64
Definition MRUINonOverlappingLabels.h:18
std::shared_ptr< const ImGuiMeasurementIndicators::Params > indicatorParams
Optional:
Definition MRUINonOverlappingLabels.h:26
std::string text
Must not repeat per frame per viewport, isn't displayed anywhere.
Definition MRUINonOverlappingLabels.h:23
Vector3f worldPos
Definition MRUINonOverlappingLabels.h:21
ViewportId viewportId
Mandatory:
Definition MRUINonOverlappingLabels.h:20
std::string id
Definition MRUINonOverlappingLabels.h:22