mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-03 01:53:35 +00:00
Merge 5bb047356a
into 9d67bf2662
This commit is contained in:
commit
a789ec5ce8
|
@ -302,6 +302,8 @@ void OBSProjector::mousePressEvent(QMouseEvent *event)
|
|||
&OBSProjector::EscapeTriggered);
|
||||
popup.exec(QCursor::pos());
|
||||
} else if (event->button() == Qt::LeftButton) {
|
||||
onMousePressMouseOffset = event->globalPosition();
|
||||
|
||||
// Only MultiView projectors handle left click
|
||||
if (this->type != ProjectorType::Multiview)
|
||||
return;
|
||||
|
@ -321,6 +323,28 @@ void OBSProjector::mousePressEvent(QMouseEvent *event)
|
|||
}
|
||||
}
|
||||
|
||||
void OBSProjector::mouseMoveEvent(QMouseEvent *event)
|
||||
{
|
||||
if (!isFullScreen() && (event->buttons() & Qt::LeftButton)) {
|
||||
QPointF diff =
|
||||
event->globalPosition() - onMousePressMouseOffset;
|
||||
window()->move(window()->pos() + diff.toPoint());
|
||||
onMousePressMouseOffset = event->globalPosition();
|
||||
}
|
||||
}
|
||||
|
||||
void OBSProjector::enterEvent(QEnterEvent *)
|
||||
{
|
||||
if (!isFullScreen()) {
|
||||
setCursor(Qt::SizeAllCursor);
|
||||
}
|
||||
}
|
||||
|
||||
void OBSProjector::leaveEvent(QEvent *)
|
||||
{
|
||||
setCursor(Qt::ArrowCursor);
|
||||
}
|
||||
|
||||
void OBSProjector::EscapeTriggered()
|
||||
{
|
||||
OBSBasic *main = reinterpret_cast<OBSBasic *>(App()->GetMainWindow());
|
||||
|
|
|
@ -27,7 +27,10 @@ private:
|
|||
static void OBSSourceDestroyed(void *data, calldata_t *params);
|
||||
|
||||
void mousePressEvent(QMouseEvent *event) override;
|
||||
void mouseMoveEvent(QMouseEvent *event) override;
|
||||
void mouseDoubleClickEvent(QMouseEvent *event) override;
|
||||
void enterEvent(QEnterEvent *) override;
|
||||
void leaveEvent(QEvent *) override;
|
||||
void closeEvent(QCloseEvent *event) override;
|
||||
|
||||
bool isAlwaysOnTop;
|
||||
|
@ -47,6 +50,8 @@ private:
|
|||
|
||||
QScreen *screen = nullptr;
|
||||
|
||||
QPointF onMousePressMouseOffset;
|
||||
|
||||
private slots:
|
||||
void EscapeTriggered();
|
||||
void OpenFullScreenProjector();
|
||||
|
|
Loading…
Reference in a new issue