ImageView.cpp
Go to the documentation of this file.
1 /*
2 * This file is part of ArmarX.
3 *
4 * ArmarX is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ArmarX is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * @author Rainer Kartmann ( rainer dot kartmann at kit dot edu)
17 * @date 2021
18 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19 * GNU General Public License
20 */
21 
22 #include "ImageView.h"
23 
24 #include <QImage>
25 #include <QPainter>
26 
28 
30 {
31 
32  ImageView::ImageView(QWidget* parent) : QWidget(parent)
33  {
34  setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
35 
36  connect(this, &This::sourceImageChanged, this, &This::updateImage);
37  }
38 
39  void
40  ImageView::setImage(const QImage& image)
41  {
42  sourceImage = image.copy();
43  emit sourceImageChanged();
44  }
45 
46  void
47  ImageView::paintEvent(QPaintEvent* event)
48  {
49  (void)event;
50 
51  QPainter painter(this);
52  //scaledImage = image.scaled (width(), height(), Qt::KeepAspectRatio, Qt::FastTransformation);
53  scaledImage =
54  sourceImage.scaled(width(), height(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
55  painter.drawImage(0, 0, scaledImage);
56  }
57 
58  void
60  {
61  update(0, 0, width(), height());
62  }
63 
64 } // namespace armarx::armem::gui::instance
armarx::armem::gui::instance::ImageView::updateImage
void updateImage()
Definition: ImageView.cpp:59
ImageView.h
armarx::armem::gui::instance::ImageView::sourceImageChanged
void sourceImageChanged()
armarx::armem::gui::instance
Definition: AronDataView.cpp:3
armarx::armem::gui::instance::ImageView::paintEvent
void paintEvent(QPaintEvent *pPaintEvent) override
Definition: ImageView.cpp:47
armarx::armem::server::ltm::util::mongodb::detail::update
bool update(mongocxx::collection &coll, const nlohmann::json &query, const nlohmann::json &update)
Definition: mongodb.cpp:68
ExpressionException.h
armarx::armem::gui::instance::ImageView::setImage
void setImage(const QImage &image)
Definition: ImageView.cpp:40
armarx::armem::gui::instance::ImageView::ImageView
ImageView(QWidget *parent=nullptr)
Definition: ImageView.cpp:32