10#include "compositor.h"
17#include <drm_fourcc.h>
28 if (!m_output->isEnabled()) {
41 return DRM_FORMAT_ARGB8888;
46 return m_output->pixelSize();
53 grabTexture(outputTexture.get(), spa,
format);
65 QMatrix4x4 projectionMatrix;
66 projectionMatrix.scale(1, -1);
67 projectionMatrix.ortho(QRect(QPoint(),
textureSize()));
78 return m_output->renderLoop()->lastPresentationTimestamp();
83 return m_output->refreshRate();
88#include "moc_outputscreencastsource.cpp"
WorkspaceScene * scene() const
static Compositor * self()
OpenGL framebuffer object.
static GLFramebuffer * popFramebuffer()
static void pushFramebuffer(GLFramebuffer *fbo)
@ ModelViewProjectionMatrix
bool setColorspaceUniformsToSRGB(const ColorDescription &src)
bool setUniform(const char *name, float value)
void render(GLFramebuffer *target) override
quint32 drmFormat() const override
uint refreshRate() const override
bool hasAlphaChannel() const override
std::chrono::nanoseconds clock() const override
OutputScreenCastSource(Output *output, QObject *parent=nullptr)
QSize textureSize() const override
virtual std::pair< std::shared_ptr< GLTexture >, ColorDescription > textureForOutput(Output *output) const