mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
XRender support for X11 Grabber (#649)
* Update X11Grabber.h * Update X11Grabber.cpp * Update CMakeLists.txt * Update hyperion-x11.cpp * Update X11Wrapper.cpp * Update X11Wrapper.h Former-commit-id: d2f7cb0e22248a0c2963bf53728f2e0d7bb9dee1
This commit is contained in:
committed by
brindosch
parent
84a9125542
commit
409ef383f3
@@ -52,6 +52,7 @@ target_link_libraries(${PROJECT_NAME}
|
||||
protoserver
|
||||
x11-grabber
|
||||
${X11_LIBRARIES}
|
||||
${X11_Xrender_LIB}
|
||||
pthread
|
||||
)
|
||||
|
||||
|
@@ -2,9 +2,9 @@
|
||||
// Hyperion-X11 includes
|
||||
#include "X11Wrapper.h"
|
||||
|
||||
X11Wrapper::X11Wrapper(int grabInterval, int cropLeft, int cropRight, int cropTop, int cropBottom, int horizontalPixelDecimation, int verticalPixelDecimation) :
|
||||
X11Wrapper::X11Wrapper(int grabInterval, bool useXGetImage, int cropLeft, int cropRight, int cropTop, int cropBottom, int horizontalPixelDecimation, int verticalPixelDecimation) :
|
||||
_timer(this),
|
||||
_grabber(cropLeft, cropRight, cropTop, cropBottom, horizontalPixelDecimation, verticalPixelDecimation)
|
||||
_grabber(useXGetImage, cropLeft, cropRight, cropTop, cropBottom, horizontalPixelDecimation, verticalPixelDecimation)
|
||||
{
|
||||
_timer.setSingleShot(false);
|
||||
_timer.setInterval(grabInterval);
|
||||
|
@@ -9,7 +9,7 @@ class X11Wrapper : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
X11Wrapper(int grabInterval, int cropLeft, int cropRight, int cropTop, int cropBottom, int horizontalPixelDecimation, int verticalPixelDecimation);
|
||||
X11Wrapper(int grabInterval, bool useXGetImage, int cropLeft, int cropRight, int cropTop, int cropBottom, int horizontalPixelDecimation, int verticalPixelDecimation);
|
||||
|
||||
const Image<ColorRgb> & getScreenshot();
|
||||
|
||||
|
@@ -36,6 +36,7 @@ int main(int argc, char ** argv)
|
||||
ParameterSet & parameters = optionParser.getParameters();
|
||||
|
||||
IntParameter & argFps = parameters.add<IntParameter> ('f', "framerate", "Capture frame rate [default: 10]");
|
||||
SwitchParameter<> & argXGetImage = parameters.add<SwitchParameter<>> ('x', "xgetimage", "Use XGetImage instead of XRender");
|
||||
IntParameter & argCropWidth = parameters.add<IntParameter> (0x0, "crop-width", "Number of pixels to crop from the left and right sides of the picture before decimation [default: 0]");
|
||||
IntParameter & argCropHeight = parameters.add<IntParameter> (0x0, "crop-height", "Number of pixels to crop from the top and the bottom of the picture before decimation [default: 0]");
|
||||
IntParameter & argCropLeft = parameters.add<IntParameter> (0x0, "crop-left", "Number of pixels to crop from the left of the picture before decimation (overrides --crop-width)");
|
||||
@@ -75,8 +76,10 @@ int main(int argc, char ** argv)
|
||||
|
||||
// Create the X11 grabbing stuff
|
||||
int grabInterval = 1000 / argFps.getValue();
|
||||
bool useXGetImage = argXGetImage.isSet();
|
||||
X11Wrapper x11Wrapper(
|
||||
grabInterval,
|
||||
useXGetImage,
|
||||
argCropLeft.getValue(),
|
||||
argCropRight.getValue(),
|
||||
argCropTop.getValue(),
|
||||
|
Reference in New Issue
Block a user