New upstream version 23.2.1+dfsg1
This commit is contained in:
parent
cdc9a9fc87
commit
b14f9eae6d
1017 changed files with 37232 additions and 11111 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue