Cockatrice 2026-09-01-Development-3.1.0-beta.10
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
4#include <QFocusEvent>
5#include <QPixmap>
6#include <QWidget>
8
22class PlaymatPreviewWidget : public QWidget
23{
24 Q_OBJECT
25
26public:
27 explicit PlaymatPreviewWidget(QWidget *parent = nullptr);
28
29 void setPixmap(const QPixmap &pixmap);
30 void setParams(const PlaymatParams &params);
31 void setAttribution(const QString &attribution);
32
33signals:
36
37protected:
38 void paintEvent(QPaintEvent *event) override;
39 void mousePressEvent(QMouseEvent *event) override;
40 void mouseMoveEvent(QMouseEvent *event) override;
41 void mouseReleaseEvent(QMouseEvent *event) override;
42 void wheelEvent(QWheelEvent *event) override;
43 void keyPressEvent(QKeyEvent *event) override;
44 void focusInEvent(QFocusEvent *event) override;
45
46private:
47 QRectF activePlayArea() const;
48 qreal samplingWindowSide() const;
49 qreal widgetToSourceScale() const;
50 void applyCropDelta(qreal dMarginL, qreal dMarginR, qreal dOffset, qreal zoomFactor);
51 bool sameCrop(const PlaymatParams &a, const PlaymatParams &b) const;
52 void restoreSnapshot();
53
54 QPixmap sourcePixmap;
58 QPoint lastDragPos;
59};
60
61#endif // COCKATRICE_PLAYMAT_PREVIEW_WIDGET_H
void mousePressEvent(QMouseEvent *event) override
Definition playmat_preview_widget.cpp:260
PlaymatParams paramsAtFocusIn
crop as of the latest focus gain, restored by Esc or Backspace
Definition playmat_preview_widget.h:56
QRectF activePlayArea() const
destination rect used for rendering AND gesture math
Definition playmat_preview_widget.cpp:72
QPoint lastDragPos
widget space position of the previous mouse move while panning
Definition playmat_preview_widget.h:58
qreal samplingWindowSide() const
clamped square window side, shared with the render path
Definition playmat_preview_widget.cpp:81
QPixmap sourcePixmap
Definition playmat_preview_widget.h:54
void focusInEvent(QFocusEvent *event) override
Definition playmat_preview_widget.cpp:375
void paintEvent(QPaintEvent *event) override
Definition playmat_preview_widget.cpp:160
void setPixmap(const QPixmap &pixmap)
Definition playmat_preview_widget.cpp:52
void applyCropDelta(qreal dMarginL, qreal dMarginR, qreal dOffset, qreal zoomFactor)
Definition playmat_preview_widget.cpp:103
QString attributionText
Definition playmat_preview_widget.h:57
void wheelEvent(QWheelEvent *event) override
Definition playmat_preview_widget.cpp:314
qreal widgetToSourceScale() const
Definition playmat_preview_widget.cpp:91
bool sameCrop(const PlaymatParams &a, const PlaymatParams &b) const
Definition playmat_preview_widget.cpp:139
void restoreSnapshot()
Definition playmat_preview_widget.cpp:147
void setParams(const PlaymatParams &params)
Definition playmat_preview_widget.cpp:59
void setAttribution(const QString &attribution)
Definition playmat_preview_widget.cpp:66
PlaymatParams params
Definition playmat_preview_widget.h:55
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:38
void mouseMoveEvent(QMouseEvent *event) override
Definition playmat_preview_widget.cpp:271
void keyPressEvent(QKeyEvent *event) override
Definition playmat_preview_widget.cpp:329
void mouseReleaseEvent(QMouseEvent *event) override
Definition playmat_preview_widget.cpp:304
Defines the DeckList class, which manages a full deck structure including cards, zones,...
Positioning parameters for a playmat card image.
Definition playmat_params.h:18