New upstream version 23.2.1+dfsg1

This commit is contained in:
Simon Chopin 2019-07-27 14:47:10 +02:00
parent cdc9a9fc87
commit b14f9eae6d
1017 changed files with 37232 additions and 11111 deletions

View file

@ -30,15 +30,13 @@ OBSProjector::OBSProjector(QWidget *widget, obs_source_t *source_, int monitor,
type = type_;
if (isWindow) {
setWindowIcon(QIcon(":/res/images/obs.png"));
setWindowIcon(QIcon::fromTheme("obs",
QIcon(":/res/images/obs.png")));
UpdateProjectorTitle(projectorTitle);
windowedProjectors.push_back(this);
resize(480, 270);
SetAlwaysOnTop(this, config_get_bool(GetGlobalConfig(),
"BasicWindow", "ProjectorAlwaysOnTop"));
} else {
setWindowFlags(Qt::FramelessWindowHint |
Qt::X11BypassWindowManagerHint);
@ -51,10 +49,11 @@ OBSProjector::OBSProjector(QWidget *widget, obs_source_t *source_, int monitor,
addAction(action);
connect(action, SIGNAL(triggered()), this,
SLOT(EscapeTriggered()));
SetAlwaysOnTop(this, true);
}
SetAlwaysOnTop(this, config_get_bool(GetGlobalConfig(),
"BasicWindow", "ProjectorAlwaysOnTop"));
setAttribute(Qt::WA_DeleteOnClose, true);
//disable application quit when last window closed
@ -68,14 +67,13 @@ OBSProjector::OBSProjector(QWidget *widget, obs_source_t *source_, int monitor,
obs_display_add_draw_callback(GetDisplay(),
isMultiview ? OBSRenderMultiview : OBSRender,
this);
obs_display_set_background_color(GetDisplay(), 0x000000);
};
connect(this, &OBSQTDisplay::DisplayCreated, addDrawCallback);
bool hideCursor = config_get_bool(GetGlobalConfig(),
"BasicWindow", "HideProjectorCursor");
if (hideCursor && !isWindow) {
if (hideCursor && !isWindow && type != ProjectorType::Multiview) {
QPixmap empty(16, 16);
empty.fill(Qt::transparent);
setCursor(QCursor(empty));
@ -228,28 +226,6 @@ static OBSSource CreateLabel(const char *name, size_t h)
return txtSource;
}
static inline void renderVB(gs_effect_t *effect, gs_vertbuffer_t *vb,
int cx, int cy)
{
if (!vb)
return;
matrix4 transform;
matrix4_identity(&transform);
transform.x.x = cx;
transform.y.y = cy;
gs_load_vertexbuffer(vb);
gs_matrix_push();
gs_matrix_mul(&transform);
while (gs_effect_loop(effect, "Solid"))
gs_draw(GS_LINESTRIP, 0, 0);
gs_matrix_pop();
}
static inline uint32_t labelOffset(obs_source_t *label, uint32_t cx)
{
uint32_t w = obs_source_get_width(label);
@ -591,6 +567,9 @@ void OBSProjector::OBSRenderMultiview(void *data, uint32_t cx, uint32_t cy)
window->offset = labelOffset(programLabel, window->pvwprgCX);
calcPreviewProgram(true);
paintAreaWithColor(window->sourceX, window->sourceY, window->ppiCX,
window->ppiCY, backgroundColor);
// Scale and Draw the program
gs_matrix_push();
gs_matrix_translate3f(window->sourceX, window->sourceY, 0.0f);
@ -673,6 +652,7 @@ void OBSProjector::OBSRender(void *data, uint32_t cx, uint32_t cy)
obs_source_dec_showing(source);
obs_source_inc_showing(curSource);
source = curSource;
window->source = source;
}
}