Magpie/Runtime/GDIFrameSource.h
刘旭 6de6d1aee1 refactor: 将捕获模式分为两类:屏幕捕获和窗口捕获
尽量不直接使用 GetCaptureMode,而是将捕获模式的特性实现为公共方法
2021-12-29 14:15:07 +08:00

33 lines
560 B
C++

#pragma once
#include "pch.h"
#include "FrameSourceBase.h"
class GDIFrameSource : public FrameSourceBase {
public:
GDIFrameSource() {};
virtual ~GDIFrameSource() {}
bool Initialize() override;
ComPtr<ID3D11Texture2D> GetOutput() override {
return _output;
}
UpdateState Update() override;
bool HasRoundCornerInWin11() override {
return false;
}
bool IsScreenCapture() override {
return false;
}
private:
ComPtr<ID3D11DeviceContext> _d3dDC;
SIZE _frameSize{};
ComPtr<IDXGISurface1> _dxgiSurface;
ComPtr<ID3D11Texture2D> _output;
};