mirror of
https://github.com/Blinue/Magpie.git
synced 2026-06-24 02:04:10 +00:00
fix: 显示光标时重启捕获
This commit is contained in:
parent
78a35a0b86
commit
8ccf7b4d36
8 changed files with 87 additions and 63 deletions
|
|
@ -84,7 +84,7 @@ bool GraphicsCaptureFrameSource::Initialize(HWND hwndSrc, HWND hwndScaling, cons
|
|||
return false;
|
||||
}
|
||||
|
||||
if (!StartCapture()) {
|
||||
if (!_StartCapture()) {
|
||||
Logger::Get().Error("_StartCapture 失败");
|
||||
return false;
|
||||
}
|
||||
|
|
@ -127,6 +127,14 @@ FrameSourceBase::UpdateState GraphicsCaptureFrameSource::Update() noexcept {
|
|||
return UpdateState::NewFrame;
|
||||
}
|
||||
|
||||
void GraphicsCaptureFrameSource::OnCursorVisibilityChanged(bool isVisible) noexcept {
|
||||
// 显示光标时必须重启捕获
|
||||
/*if (isVisible) {
|
||||
_StopCapture();
|
||||
_StartCapture();
|
||||
}*/
|
||||
}
|
||||
|
||||
bool GraphicsCaptureFrameSource::_CaptureWindow(IGraphicsCaptureItemInterop* interop) noexcept {
|
||||
// 包含边框的窗口尺寸
|
||||
RECT srcFrameBounds{};
|
||||
|
|
@ -334,7 +342,7 @@ bool GraphicsCaptureFrameSource::_CaptureMonitor(
|
|||
return true;
|
||||
}
|
||||
|
||||
bool GraphicsCaptureFrameSource::StartCapture() {
|
||||
bool GraphicsCaptureFrameSource::_StartCapture() noexcept {
|
||||
if (_captureSession) {
|
||||
return true;
|
||||
}
|
||||
|
|
@ -383,7 +391,7 @@ bool GraphicsCaptureFrameSource::StartCapture() {
|
|||
return true;
|
||||
}
|
||||
|
||||
void GraphicsCaptureFrameSource::StopCapture() {
|
||||
void GraphicsCaptureFrameSource::_StopCapture() noexcept {
|
||||
if (_captureSession) {
|
||||
_captureSession.Close();
|
||||
_captureSession = nullptr;
|
||||
|
|
@ -395,7 +403,7 @@ void GraphicsCaptureFrameSource::StopCapture() {
|
|||
}
|
||||
|
||||
GraphicsCaptureFrameSource::~GraphicsCaptureFrameSource() {
|
||||
StopCapture();
|
||||
_StopCapture();
|
||||
|
||||
if (_taskbarList) {
|
||||
_taskbarList->DeleteTab(_hwndSrc);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue