forked from MrBesen/lolautoaccept
fake screen for testing
This commit is contained in:
parent
0a598543cd
commit
ca55845e5f
|
@ -0,0 +1,21 @@
|
|||
#include "screen.h"
|
||||
|
||||
class FakeScreen : public ScreenShot {
|
||||
private:
|
||||
int xoffset = 0;
|
||||
int yoffset = 0;
|
||||
int xsize = 0;
|
||||
int ysize = 0;
|
||||
public:
|
||||
|
||||
FakeScreen(int xoffset = 0, int yoffset = 0, int xsize = 0, int ysize = 0);
|
||||
~FakeScreen();
|
||||
|
||||
virtual void take(cv::Mat& cvimg) override;
|
||||
virtual void operator() (cv::Mat& cvimg) override;
|
||||
|
||||
virtual int getXOffset() const override;
|
||||
virtual int getYOffset() const override;
|
||||
virtual double getXScale() const override;
|
||||
virtual double getYScale() const override;
|
||||
};
|
|
@ -33,28 +33,17 @@ public:
|
|||
|
||||
ScreenShot();
|
||||
ScreenShot(Display* d, Window w);
|
||||
~ScreenShot();
|
||||
virtual ~ScreenShot();
|
||||
|
||||
void take(cv::Mat& cvimg);
|
||||
void operator() (cv::Mat& cvimg);
|
||||
virtual void take(cv::Mat& cvimg);
|
||||
virtual void operator() (cv::Mat& cvimg);
|
||||
|
||||
constexpr operator bool () const {
|
||||
return valid;
|
||||
}
|
||||
|
||||
constexpr int getXOffset() const {
|
||||
return wattrib.x;
|
||||
}
|
||||
|
||||
constexpr int getYOffset() const {
|
||||
return wattrib.y;
|
||||
}
|
||||
|
||||
constexpr double getXScale() const {
|
||||
return wattrib.width / (double) DEFAULTWIDTH;
|
||||
}
|
||||
|
||||
constexpr double getYScale() const {
|
||||
return wattrib.height / (double) DEFAULTHEIGHT;
|
||||
}
|
||||
virtual int getXOffset() const;
|
||||
virtual int getYOffset() const;
|
||||
virtual double getXScale() const;
|
||||
virtual double getYScale() const;
|
||||
};
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
#include "fakescreen.h"
|
||||
|
||||
FakeScreen::FakeScreen(int xoffset, int yoffset, int xsize, int ysize) : ScreenShot(),
|
||||
xoffset(xoffset), yoffset(yoffset), xsize(xsize), ysize(ysize) {
|
||||
}
|
||||
|
||||
FakeScreen::~FakeScreen() {}
|
||||
|
||||
|
||||
void FakeScreen::take(cv::Mat& cvimg) {
|
||||
// take screenshot from entire screen using base class
|
||||
cv::Mat entireScreen;
|
||||
ScreenShot::take(entireScreen);
|
||||
|
||||
// only return part of the screenshot
|
||||
entireScreen({yoffset, yoffset + ysize}, {xoffset, xoffset + xsize}).copyTo(cvimg);
|
||||
}
|
||||
|
||||
void FakeScreen::operator() (cv::Mat& cvimg) {
|
||||
take(cvimg);
|
||||
}
|
||||
|
||||
|
||||
int FakeScreen::getXOffset() const {
|
||||
return xoffset;
|
||||
}
|
||||
|
||||
int FakeScreen::getYOffset() const {
|
||||
return yoffset;
|
||||
}
|
||||
|
||||
double FakeScreen::getXScale() const {
|
||||
return xsize / (double) DEFAULTWIDTH;
|
||||
}
|
||||
|
||||
double FakeScreen::getYScale() const {
|
||||
return ysize / (double) DEFAULTHEIGHT;
|
||||
}
|
|
@ -139,3 +139,20 @@ ScreenShot::~ScreenShot() {
|
|||
if (closeDisp)
|
||||
XCloseDisplay(display);
|
||||
}
|
||||
|
||||
|
||||
int ScreenShot::getXOffset() const {
|
||||
return wattrib.x;
|
||||
}
|
||||
|
||||
int ScreenShot::getYOffset() const {
|
||||
return wattrib.y;
|
||||
}
|
||||
|
||||
double ScreenShot::getXScale() const {
|
||||
return wattrib.width / (double) DEFAULTWIDTH;
|
||||
}
|
||||
|
||||
double ScreenShot::getYScale() const {
|
||||
return wattrib.height / (double) DEFAULTHEIGHT;
|
||||
}
|
Loading…
Reference in New Issue