Files
flameshot/src/tools/pin/pinwidget.h
Andrea 1bacc69183 Zooming in/out happens at different speed (#2378)
* Resizing pinned screenshot

* Zooming in/out on pinned screenshot

* Minor refactoring

* clang-format
2022-02-06 12:20:58 -06:00

43 lines
1.0 KiB
C++

// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2017-2019 Alejandro Sirgo Rica & Contributors
#pragma once
#include <QGraphicsDropShadowEffect>
#include <QWidget>
class QVBoxLayout;
class QLabel;
class PinWidget : public QWidget
{
Q_OBJECT
public:
explicit PinWidget(const QPixmap& pixmap,
const QRect& geometry,
QWidget* parent = nullptr);
int margin() const;
protected:
void wheelEvent(QWheelEvent* e);
void mouseDoubleClickEvent(QMouseEvent*);
void mousePressEvent(QMouseEvent*);
void mouseMoveEvent(QMouseEvent*);
void enterEvent(QEvent*);
void leaveEvent(QEvent*);
private:
void setScaledPixmapToLabel(const QSize& newSize,
const qreal scale,
const bool expanding);
QPixmap m_pixmap;
QVBoxLayout* m_layout;
QLabel* m_label;
QPoint m_dragStart;
qreal m_offsetX, m_offsetY;
QGraphicsDropShadowEffect* m_shadowEffect;
QColor m_baseColor, m_hoverColor;
};