Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
playmat_preview_widget.h
Go to the documentation of this file.
1#ifndef COCKATRICE_PLAYMAT_PREVIEW_WIDGET_H
2#define COCKATRICE_PLAYMAT_PREVIEW_WIDGET_H
3
5
6#include <QPixmap>
7#include <QPoint>
8#include <QRectF>
9#include <QString>
10#include <QWidget>
11#include <QtGlobal>
12#include <qtmetamacros.h>
13
27class PlaymatPreviewWidget : public QWidget
28{
29 Q_OBJECT
30
31public:
32 explicit PlaymatPreviewWidget(QWidget *parent = nullptr);
33
34 void setPixmap(const QPixmap &pixmap);
35 void setParams(const PlaymatParams &params);
36 void setAttribution(const QString &attribution);
37
38signals:
41
42protected:
43 void paintEvent(QPaintEvent *event) override;
44 void mousePressEvent(QMouseEvent *event) override;
45 void mouseMoveEvent(QMouseEvent *event) override;
46 void mouseReleaseEvent(QMouseEvent *event) override;
47 void wheelEvent(QWheelEvent *event) override;
48 void keyPressEvent(QKeyEvent *event) override;
49 void focusInEvent(QFocusEvent *event) override;
50
51private:
52 QRectF activePlayArea() const;
53 qreal samplingWindowSide() const;
54 qreal widgetToSourceScale() const;
55 void applyCropDelta(qreal dMarginL, qreal dMarginR, qreal dOffset, qreal zoomFactor);
56 bool sameCrop(const PlaymatParams &a, const PlaymatParams &b) const;
57 void restoreSnapshot();
58
59 QPixmap sourcePixmap;
63 QPoint lastDragPos;
64};
65
66#endif // COCKATRICE_PLAYMAT_PREVIEW_WIDGET_H
void mousePressEvent(QMouseEvent *event) override
Definition playmat_preview_widget.cpp:269
PlaymatParams paramsAtFocusIn
crop as of the latest focus gain, restored by Esc or Backspace
Definition playmat_preview_widget.h:61
QRectF activePlayArea() const
destination rect used for rendering AND gesture math
Definition playmat_preview_widget.cpp:81
QPoint lastDragPos
widget space position of the previous mouse move while panning
Definition playmat_preview_widget.h:63
qreal samplingWindowSide() const
clamped square window side, shared with the render path
Definition playmat_preview_widget.cpp:90
QPixmap sourcePixmap
Definition playmat_preview_widget.h:59
void focusInEvent(QFocusEvent *event) override
Definition playmat_preview_widget.cpp:384
void paintEvent(QPaintEvent *event) override
Definition playmat_preview_widget.cpp:169
void setPixmap(const QPixmap &pixmap)
Definition playmat_preview_widget.cpp:61
void applyCropDelta(qreal dMarginL, qreal dMarginR, qreal dOffset, qreal zoomFactor)
Definition playmat_preview_widget.cpp:112
QString attributionText
Definition playmat_preview_widget.h:62
void wheelEvent(QWheelEvent *event) override
Definition playmat_preview_widget.cpp:323
qreal widgetToSourceScale() const
Definition playmat_preview_widget.cpp:100
bool sameCrop(const PlaymatParams &a, const PlaymatParams &b) const
Definition playmat_preview_widget.cpp:148
void restoreSnapshot()
Definition playmat_preview_widget.cpp:156
void setParams(const PlaymatParams &params)
Definition playmat_preview_widget.cpp:68
void setAttribution(const QString &attribution)
Definition playmat_preview_widget.cpp:75
PlaymatParams params
Definition playmat_preview_widget.h:60
void paramsEdited(const PlaymatParams &params)
Emitted whenever direct manipulation (drag, wheel, keys) changes the crop parameters.
PlaymatPreviewWidget(QWidget *parent=nullptr)
Definition playmat_preview_widget.cpp:47
void mouseMoveEvent(QMouseEvent *event) override
Definition playmat_preview_widget.cpp:280
void keyPressEvent(QKeyEvent *event) override
Definition playmat_preview_widget.cpp:338
void mouseReleaseEvent(QMouseEvent *event) override
Definition playmat_preview_widget.cpp:313
Positioning parameters for a playmat card image.
Definition playmat_params.h:18