UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
previewWidget.cpp File Reference
#include <limits.h>
#include <stdio.h>
#include <QMessageBox>
#include <QOpenGLFunctions_3_3_Core>
#include <QOpenGLVersionFunctionsFactory>
#include "previewWidget.hpp"
#include "debug.hpp"
Include dependency graph for previewWidget.cpp:

Go to the source code of this file.

Functions

static void compileShader (GLuint shaderId, QOpenGLFunctions_3_3_Core *f)
 
static const char * get_temp_dir (void)
 
static QOpenGLFunctions_3_3_Core * getOpenGLFuncs ()
 

Variables

static const char * frag_src
 
static unsigned char pixels []
 
static const GLfloat rectangle []
 
static const char * vert_src
 

Function Documentation

◆ compileShader()

static void compileShader ( GLuint shaderId,
QOpenGLFunctions_3_3_Core * f )
static

Definition at line 50 of file previewWidget.cpp.

50 {
51 f->glCompileShader(shaderId);
52
53 GLint ret = GL_FALSE;
54 int len;
55
56 f->glGetShaderiv(shaderId, GL_COMPILE_STATUS, &ret);
57 f->glGetShaderiv(shaderId, GL_INFO_LOG_LENGTH, &len);
58 if (len > 0){
59 std::vector<char> errorMsg(len+1);
60 f->glGetShaderInfoLog(shaderId, len, NULL, &errorMsg[0]);
61 printf("%s\n", errorMsg.data());
62 }
63}
int void size_t * len

References len.

Referenced by GlProgram::GlProgram(), and PreviewWidget::initializeGL().

◆ get_temp_dir()

static const char * get_temp_dir ( void )
static

Definition at line 265 of file previewWidget.cpp.

266{
267#ifdef _WIN32
268 static __thread char temp_dir[MAX_PATH + 1];
269 if (GetTempPathA(sizeof temp_dir, temp_dir) == 0) {
270 return NULL;
271 }
272#else
273 static __thread char temp_dir[PATH_MAX];
274 if (char *req_tmp_dir = getenv("TMPDIR")) {
275 temp_dir[sizeof temp_dir - 1] = '\0';
276 strncpy(temp_dir, req_tmp_dir, sizeof temp_dir - 1);
277 } else {
278 strcpy(temp_dir, P_tmpdir);
279 }
280 strncat(temp_dir, "/", sizeof temp_dir - strlen(temp_dir) - 1);
281#endif
282
283 return temp_dir;
284}

Referenced by display_unix_sock_init(), gen_sdp(), init(), print_backtrace(), PreviewWidget::setKey(), show_help(), and show_help().

◆ getOpenGLFuncs()

static QOpenGLFunctions_3_3_Core * getOpenGLFuncs ( )
static

Definition at line 73 of file previewWidget.cpp.

73 {
74#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
75 return QOpenGLContext::currentContext()->versionFunctions<QOpenGLFunctions_3_3_Core>();
76#else
77 return QOpenGLVersionFunctionsFactory::get<QOpenGLFunctions_3_3_Core>(QOpenGLContext::currentContext());
78#endif
79}

Referenced by PreviewWidget::~PreviewWidget(), PreviewWidget::initializeGL(), PreviewWidget::loadFrame(), and PreviewWidget::render().

Variable Documentation

◆ frag_src

const char* frag_src
static
Initial value:
= R"END(
#version 330 core
in vec2 UV;
out vec4 color;
uniform sampler2D tex;
void main(){
color = vec4(texture(tex, UV).rgb, 1.0f);
}
)END"

Definition at line 40 of file previewWidget.cpp.

Referenced by GlProgram::GlProgram(), FlatVideoScene::init(), and PreviewWidget::initializeGL().

◆ pixels

unsigned char pixels[]
static
Initial value:
= {
255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255,
255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255,
255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255,
255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255
}

Definition at line 66 of file previewWidget.cpp.

66 {
67 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255,
68 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255,
69 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255,
70 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255
71};

Referenced by Texture::allocate(), PreviewWidget::initializeGL(), and vidcap_screen_osx_grab().

◆ rectangle

const GLfloat rectangle[]
static
Initial value:
= {
1.0f, 1.0f, 1.0f, 0.0f,
-1.0f, 1.0f, 0.0f, 0.0f,
-1.0f, -1.0f, 0.0f, 1.0f,
1.0f, 1.0f, 1.0f, 0.0f,
-1.0f, -1.0f, 0.0f, 1.0f,
1.0f, -1.0f, 1.0f, 1.0f
}

Definition at line 15 of file previewWidget.cpp.

15 {
16 1.0f, 1.0f, 1.0f, 0.0f,
17 -1.0f, 1.0f, 0.0f, 0.0f,
18 -1.0f, -1.0f, 0.0f, 1.0f,
19
20 1.0f, 1.0f, 1.0f, 0.0f,
21 -1.0f, -1.0f, 0.0f, 1.0f,
22 1.0f, -1.0f, 1.0f, 1.0f
23};

Referenced by Model::get_quad(), and PreviewWidget::initializeGL().

◆ vert_src

const char* vert_src
static
Initial value:
= R"END(
#version 330 core
layout(location = 0) in vec2 vert_pos;
layout(location = 1) in vec2 vert_uv;
out vec2 UV;
uniform vec2 scale_vec;
void main(){
gl_Position = vec4(vert_pos * scale_vec, 0.0f, 1.0f);
UV = vert_uv;
}
)END"

Definition at line 25 of file previewWidget.cpp.

Referenced by GlProgram::GlProgram(), FlatVideoScene::init(), and PreviewWidget::initializeGL().