6 #include <pajlada/signals/signalholder.hpp> 11 typedef struct tagMSG
MSG;
39 QWidget *parent =
nullptr);
48 std::function<
void()> onClicked);
57 void moveTo(QWidget *widget, QPoint point,
bool offset =
true);
59 virtual float scale()
const override;
67 virtual bool nativeEvent(
const QByteArray &eventType,
void *message,
68 long *result)
override;
71 virtual void paintEvent(QPaintEvent *)
override;
76 virtual void moveEvent(QMoveEvent *)
override;
77 virtual void closeEvent(QCloseEvent *)
override;
78 virtual void showEvent(QShowEvent *)
override;
96 void moveIntoDesktopRect(QWidget *parent, QPoint point);
97 void calcButtonsSizes();
98 void drawCustomWindowFrame(QPainter &painter);
101 bool handleDPICHANGED(
MSG *msg);
102 bool handleSHOWWINDOW(
MSG *msg);
103 bool handleNCCALCSIZE(
MSG *msg,
long *result);
104 bool handleSIZE(
MSG *msg);
105 bool handleMOVE(
MSG *msg);
106 bool handleNCHITTEST(
MSG *msg,
long *result);
108 bool enableCustomFrame_;
111 bool stayInScreenRect_ =
false;
114 float nativeScale_ = 1;
115 bool isResizeFixing_ =
false;
130 QRect currentBounds_;
132 QTimer useNextBounds_;
133 bool isNotMinimizedOrMaximized_{};
136 pajlada::Signals::SignalHolder connections_;
QLayout * windowLayout
Definition: BaseWindow.hpp:118
Definition: BaseWindow.hpp:36
void setInitialBounds(const QRect &bounds)
Definition: BaseWindow.cpp:103
Definition: BaseWindow.hpp:36
virtual void leaveEvent(QEvent *) override
Definition: BaseWindow.cpp:520
Definition: BaseWindow.hpp:33
Definition: BaseWindow.hpp:32
QRect getBounds()
Definition: BaseWindow.cpp:112
EffectLabel * addTitleBarLabel(std::function< void()> onClicked)
Definition: BaseWindow.cpp:473
TitleBarButton * exitButton
Definition: BaseWindow.hpp:123
Definition: EffectLabel.hpp:15
static bool supportsCustomWindowFrame()
Definition: BaseWindow.cpp:290
std::vector< Button * > buttons
Definition: BaseWindow.hpp:125
ActionOnFocusLoss getActionOnFocusLoss() const
Definition: BaseWindow.cpp:268
void mouseReleaseEvent(QMouseEvent *event) override
Definition: BaseWindow.cpp:425
Definition: BaseWindow.hpp:20
Definition: Application.cpp:48
virtual void resizeEvent(QResizeEvent *) override
Definition: BaseWindow.cpp:536
BaseWindow(FlagsEnum< Flags > flags_=None, QWidget *parent=nullptr)
Definition: BaseWindow.cpp:46
virtual void closeEvent(QCloseEvent *) override
Definition: BaseWindow.cpp:578
bool getStayInScreenRect() const
Definition: BaseWindow.cpp:258
void mouseMoveEvent(QMouseEvent *event) override
Definition: BaseWindow.cpp:440
struct tagMSG MSG
Definition: BaseWindow.hpp:11
virtual void scaleChangedEvent(float) override
Definition: BaseWindow.cpp:682
virtual float scale() const override
Definition: BaseWindow.cpp:121
Definition: BaseWindow.hpp:36
ActionOnFocusLoss
Definition: BaseWindow.hpp:36
void mousePressEvent(QMouseEvent *event) override
Definition: BaseWindow.cpp:390
QPointF movingRelativePos
Definition: BaseWindow.hpp:87
virtual void themeChangedEvent() override
Definition: BaseWindow.cpp:301
bool hasCustomWindowFrame()
Definition: BaseWindow.cpp:285
pajlada::Signals::NoArgSignal closing
Definition: BaseWindow.hpp:62
QHBoxLayout * titlebarBox
Definition: BaseWindow.hpp:119
virtual void changeEvent(QEvent *) override
Definition: BaseWindow.cpp:488
Definition: BaseWindow.hpp:31
Definition: BaseWindow.hpp:28
bool moving
Definition: BaseWindow.hpp:88
virtual void showEvent(QShowEvent *) override
Definition: BaseWindow.cpp:583
Definition: BaseWindow.hpp:30
virtual void wheelEvent(QWheelEvent *event) override
Definition: BaseWindow.cpp:344
float qtFontScale() const
Definition: BaseWindow.cpp:126
void moveTo(QWidget *widget, QPoint point, bool offset=true)
Definition: BaseWindow.cpp:525
QWidget * layoutBase
Definition: BaseWindow.hpp:124
void updateScale()
Definition: BaseWindow.cpp:704
QWidget * titleLabel
Definition: BaseWindow.hpp:120
QWidget * getLayoutContainer()
Definition: BaseWindow.cpp:273
TitleBarButton * addTitleBarButton(const TitleBarButtonStyle &style, std::function< void()> onClicked)
Definition: BaseWindow.cpp:456
virtual void moveEvent(QMoveEvent *) override
Definition: BaseWindow.cpp:568
TitleBarButton * minButton
Definition: BaseWindow.hpp:121
Definition: BaseWindow.hpp:26
TitleBarButton * maxButton
Definition: BaseWindow.hpp:122
Definition: BaseWindow.hpp:36
void setActionOnFocusLoss(ActionOnFocusLoss value)
Definition: BaseWindow.cpp:263
void setStayInScreenRect(bool value)
Definition: BaseWindow.cpp:251
Flags
Definition: BaseWindow.hpp:25
Definition: BaseWindow.hpp:27
virtual bool nativeEvent(const QByteArray &eventType, void *message, long *result) override
Definition: BaseWindow.cpp:635
TitleBarButtonStyle
Definition: TitlebarButton.hpp:7
virtual void paintEvent(QPaintEvent *) override
Definition: BaseWindow.cpp:691
boost::optional< QColor > overrideBackgroundColor_
Definition: BaseWindow.hpp:92
Definition: BaseWindow.hpp:29
~BaseWindow() override
Definition: BaseWindow.cpp:98
virtual bool event(QEvent *event) override
Definition: BaseWindow.cpp:333