Magpie/Runtime/FrameSourceBase.h
2021-11-04 22:24:14 +08:00

27 lines
559 B
C++

#pragma once
#include "pch.h"
class FrameSourceBase {
public:
FrameSourceBase() {}
virtual ~FrameSourceBase() {}
// 不可复制,不可移动
FrameSourceBase(const FrameSourceBase&) = delete;
FrameSourceBase(FrameSourceBase&&) = delete;
virtual bool Initialize() = 0;
virtual ComPtr<ID3D11Texture2D> GetOutput() = 0;
virtual bool Update() = 0;
virtual bool HasRoundCornerInWin11() = 0;
protected:
static bool _GetWindowDpiScale(HWND hWnd, float& dpiScale);
static bool _GetDpiAwareWindowClientOffset(HWND hWnd, POINT& clientOffset);
};