![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <ImageWidget.h>


Classes | |
| struct | Impl |
Public Member Functions | |
| ImageWidget () | |
| ImageWidget (const char *image_path) | |
| ImageWidget (std::shared_ptr< geometry::Image > image) | |
| Uses existing image. Each ImageWidget will use one draw call. More... | |
| ImageWidget (std::shared_ptr< t::geometry::Image > image) | |
| Uses existing image. Each ImageWidget will use one draw call. More... | |
| ImageWidget (visualization::rendering::TextureHandle texture_id, float u0=0.0f, float v0=0.0f, float u1=1.0f, float v1=1.0f) | |
| ImageWidget (std::shared_ptr< UIImage > image) | |
| ~ImageWidget () | |
| void | UpdateImage (std::shared_ptr< geometry::Image > image) |
| void | UpdateImage (std::shared_ptr< t::geometry::Image > image) |
| std::shared_ptr< UIImage > | GetUIImage () const |
| void | SetUIImage (std::shared_ptr< UIImage > image) |
| Size | CalcPreferredSize (const LayoutContext &context, const Constraints &constraints) const override |
| void | Layout (const LayoutContext &context) override |
| DrawResult | Draw (const DrawContext &context) override |
Public Member Functions inherited from cloudViewer::visualization::gui::Widget | |
| Widget () | |
| Widget (const std::vector< std::shared_ptr< Widget >> &children) | |
| virtual | ~Widget () |
| virtual void | AddChild (std::shared_ptr< Widget > child) |
| virtual const std::vector< std::shared_ptr< Widget > > | GetChildren () const |
| virtual const Rect & | GetFrame () const |
| Returns the frame size in pixels. More... | |
| virtual void | SetFrame (const Rect &f) |
| virtual const Color & | GetBackgroundColor () const |
| virtual bool | IsDefaultBackgroundColor () const |
| virtual void | SetBackgroundColor (const Color &color) |
| virtual bool | IsVisible () const |
| virtual void | SetVisible (bool vis) |
| virtual bool | IsEnabled () const |
| virtual void | SetEnabled (bool enabled) |
| virtual void | SetTooltip (const char *text) |
| virtual const char * | GetTooltip () const |
| virtual Size | CalcMinimumSize (const LayoutContext &context) const |
| virtual EventResult | Mouse (const MouseEvent &e) |
| virtual EventResult | Key (const KeyEvent &e) |
| virtual DrawResult | Tick (const TickEvent &e) |
Additional Inherited Members | |
Public Types inherited from cloudViewer::visualization::gui::Widget | |
| enum class | DrawResult { NONE , REDRAW , RELAYOUT } |
| enum class | EventResult { IGNORED , CONSUMED , DISCARD } |
Static Public Attributes inherited from cloudViewer::visualization::gui::Widget | |
| static constexpr int | DIM_GROW = 10000 |
Protected Member Functions inherited from cloudViewer::visualization::gui::Widget | |
| void | DrawImGuiPushEnabledState () |
| void | DrawImGuiPopEnabledState () |
| void | DrawImGuiTooltip () |
Definition at line 18 of file ImageWidget.h.
| cloudViewer::visualization::gui::ImageWidget::ImageWidget | ( | ) |
Definition at line 24 of file ImageWidget.cpp.
|
explicit |
Uses image from the specified path. Each ImageWidget will use one draw call.
Definition at line 29 of file ImageWidget.cpp.
|
explicit |
Uses existing image. Each ImageWidget will use one draw call.
Definition at line 34 of file ImageWidget.cpp.
References image.
|
explicit |
Uses existing image. Each ImageWidget will use one draw call.
Definition at line 39 of file ImageWidget.cpp.
References image.
|
explicit |
Uses an existing texture, using texture coordinates (u0, v0) to (u1, v1). Does not deallocate texture on destruction. This is useful for using an icon atlas to reduce draw calls.
Definition at line 44 of file ImageWidget.cpp.
| cloudViewer::visualization::gui::ImageWidget::ImageWidget | ( | std::shared_ptr< UIImage > | image | ) |
Definition at line 53 of file ImageWidget.cpp.
References image.
| cloudViewer::visualization::gui::ImageWidget::~ImageWidget | ( | ) |
Definition at line 58 of file ImageWidget.cpp.
|
overridevirtual |
Reimplemented from cloudViewer::visualization::gui::Widget.
Definition at line 76 of file ImageWidget.cpp.
References context, cloudViewer::visualization::gui::Size::height, and cloudViewer::visualization::gui::Size::width.
|
overridevirtual |
Draws the widget. If this is a Dear ImGUI widget, this is where the actual event processing happens. Return NONE if no action needs to be taken, REDRAW if the widget needs to be redrawn (e.g. its value changed), and RELAYOUT if the widget wishes to change size.
Reimplemented from cloudViewer::visualization::gui::Widget.
Definition at line 94 of file ImageWidget.cpp.
References cloudViewer::utility::ceil(), cloudViewer::visualization::gui::colorToImgui(), context, cloudViewer::visualization::gui::Widget::DrawImGuiTooltip(), frame, cloudViewer::visualization::gui::Widget::GetFrame(), cloudViewer::visualization::rendering::REHandle< EntityType::Texture >::kBad, cloudViewer::visualization::gui::Widget::NONE, params, and cloudViewer::visualization::gui::Widget::RELAYOUT.
| std::shared_ptr< UIImage > cloudViewer::visualization::gui::ImageWidget::GetUIImage | ( | ) | const |
Definition at line 68 of file ImageWidget.cpp.
Referenced by cloudViewer::visualization::gui::pybind_gui_classes(), and UpdateImage().
|
overridevirtual |
Reimplemented from cloudViewer::visualization::gui::Widget.
Definition at line 90 of file ImageWidget.cpp.
References context, and cloudViewer::visualization::gui::Widget::Layout().
| void cloudViewer::visualization::gui::ImageWidget::SetUIImage | ( | std::shared_ptr< UIImage > | image | ) |
Definition at line 72 of file ImageWidget.cpp.
References image.
Referenced by cloudViewer::visualization::gui::pybind_gui_classes().
| void cloudViewer::visualization::gui::ImageWidget::UpdateImage | ( | std::shared_ptr< geometry::Image > | image | ) |
Mostly a convenience function for GetUIImage()->UpdateImage(). If 'image' is the same size as the current image, will update the texture with the contents of 'image'. This is the fastest path for setting an image, and is recommended if you are displaying video. If 'image' is a different size, it will allocate a new texture, which is essentially the same as creating a new UIImage and calling SetUIImage(). This is the slow path, and may eventually exhaust internal texture resources.
Definition at line 60 of file ImageWidget.cpp.
References GetUIImage(), and image.
Referenced by cloudViewer::visualization::gui::pybind_gui_classes().
| void cloudViewer::visualization::gui::ImageWidget::UpdateImage | ( | std::shared_ptr< t::geometry::Image > | image | ) |
Definition at line 64 of file ImageWidget.cpp.
References GetUIImage(), and image.