diff --git a/src/rviz/CMakeLists.txt b/src/rviz/CMakeLists.txt index bfde3bcabd..66302a0cec 100644 --- a/src/rviz/CMakeLists.txt +++ b/src/rviz/CMakeLists.txt @@ -122,6 +122,7 @@ add_library(${PROJECT_NAME} tool_properties_panel.cpp yaml_config_reader.cpp yaml_config_writer.cpp + image_render_panel.cpp ${ENV_CONFIG_FILE} ) diff --git a/src/rviz/default_plugin/image_display.cpp b/src/rviz/default_plugin/image_display.cpp index 5baa42040e..d2d1706ba3 100644 --- a/src/rviz/default_plugin/image_display.cpp +++ b/src/rviz/default_plugin/image_display.cpp @@ -44,7 +44,7 @@ #include "rviz/display_context.h" #include "rviz/frame_manager.h" -#include "rviz/render_panel.h" +#include "rviz/image_render_panel.h" #include "rviz/validate_floats.h" #include @@ -115,7 +115,7 @@ void ImageDisplay::onInitialize() img_scene_node_->attachObject(screen_rect_); } - render_panel_ = new RenderPanel(); + render_panel_ = new ImageRenderPanel(); render_panel_->getRenderWindow()->setAutoUpdated(false); render_panel_->getRenderWindow()->setActive(false); diff --git a/src/rviz/default_plugin/image_display.h b/src/rviz/default_plugin/image_display.h index 4e89e1ed62..81119ffd1b 100644 --- a/src/rviz/default_plugin/image_display.h +++ b/src/rviz/default_plugin/image_display.h @@ -39,7 +39,7 @@ #include "rviz/image/image_display_base.h" #include "rviz/image/ros_image_texture.h" -#include "rviz/render_panel.h" +#include "rviz/image_render_panel.h" #include "rviz/properties/bool_property.h" #include "rviz/properties/float_property.h" @@ -86,7 +86,7 @@ public Q_SLOTS: ROSImageTexture texture_; - RenderPanel* render_panel_; + ImageRenderPanel* render_panel_; private: void clear(); diff --git a/src/rviz/image_render_panel.cpp b/src/rviz/image_render_panel.cpp new file mode 100644 index 0000000000..ec402fc61b --- /dev/null +++ b/src/rviz/image_render_panel.cpp @@ -0,0 +1,27 @@ +#include "image_render_panel.h" + +namespace rviz +{ +ImageRenderPanel::ImageRenderPanel(QWidget* parent) : RenderPanel(parent) +{ +} + +ImageRenderPanel::~ImageRenderPanel() +{ +} + +void ImageRenderPanel::mouseMoveEvent(QMouseEvent* event) +{ + QWidget::mouseMoveEvent(event); +} + +void ImageRenderPanel::mousePressEvent(QMouseEvent* event) +{ + QWidget::mousePressEvent(event); +} + +void ImageRenderPanel::mouseReleaseEvent(QMouseEvent* event) +{ + QWidget::mouseReleaseEvent(event); +} +} // namespace rviz diff --git a/src/rviz/image_render_panel.h b/src/rviz/image_render_panel.h new file mode 100644 index 0000000000..fbd32b6ff0 --- /dev/null +++ b/src/rviz/image_render_panel.h @@ -0,0 +1,20 @@ +#ifndef RVIZ_IMAGE_RENDER_PANEL_H +#define RVIZ_IMAGE_RENDER_PANEL_H + +#include "rviz/render_panel.h" +namespace rviz +{ +class ImageRenderPanel : public RenderPanel +{ +public: + ImageRenderPanel(QWidget* parent = nullptr); + ~ImageRenderPanel() override; + +protected: + void mouseMoveEvent(QMouseEvent* event) override; + void mousePressEvent(QMouseEvent* event) override; + void mouseReleaseEvent(QMouseEvent* event) override; +}; +} // namespace rviz + +#endif // RVIZ_IMAGE_RENDER_PANEL_H