Open3D (C++ API)
0.19.0
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp
open3d
visualization
gui
Widget.h
Go to the documentation of this file.
1
// ----------------------------------------------------------------------------
2
// - Open3D: www.open3d.org -
3
// ----------------------------------------------------------------------------
4
// Copyright (c) 2018-2024 www.open3d.org
5
// SPDX-License-Identifier: MIT
6
// ----------------------------------------------------------------------------
7
8
#pragma once
9
10
#include <memory>
11
#include <vector>
12
13
#include "
open3d/visualization/gui/Gui.h
"
14
15
namespace
open3d
{
16
17
namespace
visualization
{
18
namespace
rendering
{
19
class
Renderer
;
20
}
21
}
// namespace visualization
22
23
namespace
visualization
{
24
namespace
gui
{
25
26
class
Color
;
27
struct
MouseEvent
;
28
struct
KeyEvent
;
29
struct
TickEvent
;
30
struct
Theme
;
31
32
struct
LayoutContext
{
33
const
Theme
&
theme
;
34
FontContext
&
fonts
;
35
};
36
37
struct
DrawContext
{
38
const
Theme
&
theme
;
39
visualization::rendering::Renderer
&
renderer
;
40
FontContext
&
fonts
;
41
int
uiOffsetX
;
42
int
uiOffsetY
;
43
int
screenWidth
;
44
int
screenHeight
;
45
int
emPx
;
46
float
frameDelta
;
// in seconds
47
};
48
49
class
Widget
{
50
friend
class
Window
;
51
52
public
:
53
Widget
();
54
explicit
Widget
(
const
std::vector<std::shared_ptr<Widget>>& children);
55
virtual
~Widget
();
56
57
virtual
void
AddChild
(std::shared_ptr<Widget> child);
58
virtual
const
std::vector<std::shared_ptr<Widget>>
GetChildren
()
const
;
59
61
virtual
const
Rect
&
GetFrame
()
const
;
68
virtual
void
SetFrame
(
const
Rect
& f);
69
70
virtual
const
Color
&
GetBackgroundColor
()
const
;
71
virtual
bool
IsDefaultBackgroundColor
()
const
;
72
virtual
void
SetBackgroundColor
(
const
Color
& color);
73
74
virtual
bool
IsVisible
()
const
;
75
virtual
void
SetVisible
(
bool
vis);
76
77
virtual
bool
IsEnabled
()
const
;
78
virtual
void
SetEnabled
(
bool
enabled);
79
80
virtual
void
SetTooltip
(
const
char
* text);
81
virtual
const
char
*
GetTooltip
()
const
;
82
83
static
constexpr
int
DIM_GROW
= 10000;
84
struct
Constraints
{
85
int
width
=
DIM_GROW
;
86
int
height
=
DIM_GROW
;
87
};
88
virtual
Size
CalcPreferredSize
(
const
LayoutContext
& context,
89
const
Constraints
& constraints)
const
;
90
91
virtual
Size
CalcMinimumSize
(
const
LayoutContext
& context)
const
;
92
93
virtual
void
Layout
(
const
LayoutContext
& context);
94
95
enum class
DrawResult
{
NONE
,
REDRAW
,
RELAYOUT
};
101
virtual
DrawResult
Draw
(
const
DrawContext
& context);
102
103
enum class
EventResult
{
IGNORED
,
CONSUMED
,
DISCARD
};
104
108
virtual
EventResult
Mouse
(
const
MouseEvent
& e);
109
113
virtual
EventResult
Key
(
const
KeyEvent
& e);
114
118
virtual
DrawResult
Tick
(
const
TickEvent
& e);
119
120
protected
:
121
void
DrawImGuiPushEnabledState
();
122
void
DrawImGuiPopEnabledState
();
123
void
DrawImGuiTooltip
();
124
125
private
:
126
struct
Impl;
127
std::unique_ptr<Impl> impl_;
128
};
129
130
}
// namespace gui
131
}
// namespace visualization
132
}
// namespace open3d
Gui.h
open3d::visualization::gui::Color
Definition
Color.h:16
open3d::visualization::gui::FontContext
Definition
Gui.h:77
open3d::visualization::gui::Widget::SetFrame
virtual void SetFrame(const Rect &f)
Definition
Widget.cpp:53
open3d::visualization::gui::Widget::CalcPreferredSize
virtual Size CalcPreferredSize(const LayoutContext &context, const Constraints &constraints) const
Definition
Widget.cpp:77
open3d::visualization::gui::Widget::DrawImGuiPopEnabledState
void DrawImGuiPopEnabledState()
Definition
Widget.cpp:126
open3d::visualization::gui::Widget::SetBackgroundColor
virtual void SetBackgroundColor(const Color &color)
Definition
Widget.cpp:61
open3d::visualization::gui::Widget::DrawImGuiPushEnabledState
void DrawImGuiPushEnabledState()
Definition
Widget.cpp:111
open3d::visualization::gui::Widget::GetFrame
virtual const Rect & GetFrame() const
Returns the frame size in pixels.
Definition
Widget.cpp:51
open3d::visualization::gui::Widget::GetTooltip
virtual const char * GetTooltip() const
Definition
Widget.cpp:75
open3d::visualization::gui::Widget::Widget
Widget()
Definition
Widget.cpp:34
open3d::visualization::gui::Widget::DIM_GROW
static constexpr int DIM_GROW
Definition
Widget.h:83
open3d::visualization::gui::Widget::Window
friend class Window
Definition
Widget.h:50
open3d::visualization::gui::Widget::Layout
virtual void Layout(const LayoutContext &context)
Definition
Widget.cpp:86
open3d::visualization::gui::Widget::CalcMinimumSize
virtual Size CalcMinimumSize(const LayoutContext &context) const
Definition
Widget.cpp:82
open3d::visualization::gui::Widget::Mouse
virtual EventResult Mouse(const MouseEvent &e)
Definition
Widget.cpp:161
open3d::visualization::gui::Widget::DrawImGuiTooltip
void DrawImGuiTooltip()
Definition
Widget.cpp:133
open3d::visualization::gui::Widget::Key
virtual EventResult Key(const KeyEvent &e)
Definition
Widget.cpp:185
open3d::visualization::gui::Widget::Tick
virtual DrawResult Tick(const TickEvent &e)
Definition
Widget.cpp:189
open3d::visualization::gui::Widget::~Widget
virtual ~Widget()
Definition
Widget.cpp:41
open3d::visualization::gui::Widget::SetVisible
virtual void SetVisible(bool vis)
Definition
Widget.cpp:67
open3d::visualization::gui::Widget::SetEnabled
virtual void SetEnabled(bool enabled)
Definition
Widget.cpp:71
open3d::visualization::gui::Widget::AddChild
virtual void AddChild(std::shared_ptr< Widget > child)
Definition
Widget.cpp:43
open3d::visualization::gui::Widget::IsEnabled
virtual bool IsEnabled() const
Definition
Widget.cpp:69
open3d::visualization::gui::Widget::Draw
virtual DrawResult Draw(const DrawContext &context)
Definition
Widget.cpp:92
open3d::visualization::gui::Widget::EventResult
EventResult
Definition
Widget.h:103
open3d::visualization::gui::Widget::EventResult::CONSUMED
@ CONSUMED
Definition
Widget.h:103
open3d::visualization::gui::Widget::EventResult::IGNORED
@ IGNORED
Definition
Widget.h:103
open3d::visualization::gui::Widget::EventResult::DISCARD
@ DISCARD
Definition
Widget.h:103
open3d::visualization::gui::Widget::IsVisible
virtual bool IsVisible() const
Definition
Widget.cpp:65
open3d::visualization::gui::Widget::GetBackgroundColor
virtual const Color & GetBackgroundColor() const
Definition
Widget.cpp:55
open3d::visualization::gui::Widget::GetChildren
virtual const std::vector< std::shared_ptr< Widget > > GetChildren() const
Definition
Widget.cpp:47
open3d::visualization::gui::Widget::DrawResult
DrawResult
Definition
Widget.h:95
open3d::visualization::gui::Widget::DrawResult::RELAYOUT
@ RELAYOUT
Definition
Widget.h:95
open3d::visualization::gui::Widget::DrawResult::REDRAW
@ REDRAW
Definition
Widget.h:95
open3d::visualization::gui::Widget::DrawResult::NONE
@ NONE
Definition
Widget.h:95
open3d::visualization::gui::Widget::IsDefaultBackgroundColor
virtual bool IsDefaultBackgroundColor() const
Definition
Widget.cpp:57
open3d::visualization::gui::Widget::SetTooltip
virtual void SetTooltip(const char *text)
Definition
Widget.cpp:73
open3d::visualization::rendering::Renderer
Definition
Renderer.h:55
open3d::visualization::gui
Definition
Application.cpp:55
open3d::visualization::rendering
Definition
ModelIO.h:15
open3d::visualization
Definition
ModelIO.h:14
open3d
Definition
PinholeCameraIntrinsic.cpp:16
open3d::visualization::gui::DrawContext
Definition
Widget.h:37
open3d::visualization::gui::DrawContext::theme
const Theme & theme
Definition
Widget.h:38
open3d::visualization::gui::DrawContext::screenWidth
int screenWidth
Definition
Widget.h:43
open3d::visualization::gui::DrawContext::renderer
visualization::rendering::Renderer & renderer
Definition
Widget.h:39
open3d::visualization::gui::DrawContext::screenHeight
int screenHeight
Definition
Widget.h:44
open3d::visualization::gui::DrawContext::uiOffsetY
int uiOffsetY
Definition
Widget.h:42
open3d::visualization::gui::DrawContext::frameDelta
float frameDelta
Definition
Widget.h:46
open3d::visualization::gui::DrawContext::emPx
int emPx
Definition
Widget.h:45
open3d::visualization::gui::DrawContext::uiOffsetX
int uiOffsetX
Definition
Widget.h:41
open3d::visualization::gui::DrawContext::fonts
FontContext & fonts
Definition
Widget.h:40
open3d::visualization::gui::KeyEvent
Definition
Events.h:203
open3d::visualization::gui::LayoutContext
Definition
Widget.h:32
open3d::visualization::gui::LayoutContext::fonts
FontContext & fonts
Definition
Widget.h:34
open3d::visualization::gui::LayoutContext::theme
const Theme & theme
Definition
Widget.h:33
open3d::visualization::gui::MouseEvent
Definition
Events.h:45
open3d::visualization::gui::Rect
Definition
Gui.h:30
open3d::visualization::gui::Size
Definition
Gui.h:22
open3d::visualization::gui::Theme
Definition
Theme.h:20
open3d::visualization::gui::TickEvent
Definition
Events.h:92
open3d::visualization::gui::Widget::Constraints
Definition
Widget.h:84
open3d::visualization::gui::Widget::Constraints::width
int width
Definition
Widget.h:85
open3d::visualization::gui::Widget::Constraints::height
int height
Definition
Widget.h:86
Generated by
1.17.0