3
0
mirror of https://github.com/Qortal/Brooklyn.git synced 2025-01-31 23:32:17 +00:00
Brooklyn/rdp-acceleraed/Server/WDDMCapture.h
2021-05-27 19:57:17 +05:00

40 lines
578 B
C++

#pragma once
#include "wddm.h"
#include "Capture.h"
class WDDMCapture : public Capture {
public:
void init(UINT monitorID, RECT screen)
{
this->screen = screen;
wddm.wf_dxgi_init(monitorID, screen);
}
int getNextFrame(RGBQUAD** pPixels)
{
int rc;
rc = wddm.wf_dxgi_nextFrame(3000);
if (rc != 0) {
return rc;
}
int pitch;
rc = wddm.wf_dxgi_getPixelData((byte**)pPixels, &pitch, &screen);
if (rc != 0) {
return rc;
}
return 0;
}
void doneNextFrame()
{
int rc = wddm.wf_dxgi_releasePixelData();
}
private:
RECT screen;
WDDM wddm;
};