Ejemplo n.º 1
0
void LibASS::setOSDStyle()
{
	if (!osd_style)
		return;
	osd_style->ScaleX = osd_style->ScaleY = 1;
	readStyle("OSD", osd_style);
}
Ejemplo n.º 2
0
void refreshStyle(void)
{
	if (false == engine_running) return;
	readStyle();
	setmetrics();
	sendToAll(MSGID_REFRESH);
}
Ejemplo n.º 3
0
/*! Zmena stylu na plain*/
void MainWindow::on_actionPlain_activated()
{
    scene->readStyles("Plain");
    createConfig("Plain");
    readConfig();
    readStyle(lastUsedStyle);   //nacteni fontu pro hlavni okno
    changeFont();
}
Ejemplo n.º 4
0
void startEngine(void)
{
	//dbg_printf("Started skinner engine");
	readSettings();
	set_log_window();

	if (engine_running)
		return;
	if (false == make_exclusion_list())
		return;

	if (false == load_dll())
	{
		free_exclusion_list();
		return;
	}

	bbSkinMsg = RegisterWindowMessage(BBLEANSKIN_WINDOWMSG);

	// save sys-colors
	setTTC(SAVE_3DC);

	// save the normal SystemParameter settings, window metrics, etc.
	ncm_save.cbSize = sizeof(NONCLIENTMETRICS);
	SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof ncm_save, &ncm_save, 0);
	ZeroMemory(&ncm_prev, sizeof(NONCLIENTMETRICS));

	// read styles for skin
	readStyle();
	// possibly set sys-colors
	setTTC(APPLY_3DC);
	// set the system wide window metrics according to style metrics
	setmetrics();
	// set the hook
	EntryFunc(ENGINE_SETHOOKS, lpvMem);
	engine_running = true;

	// now apply to open windows
	if (applyToOpen) sendToAll(MSGID_LOAD);

	//write_bin();
}
Ejemplo n.º 5
0
void LibASS::setASSStyle()
{
	if (!ass_sub_track)
		return;

	if (!hasASSData)
	{
		readStyle("Subtitles", &ass_sub_track->styles[0]);
		return;
	}

	bool colorsAndBorders, marginsAndAlignment, fontsAndSpacing;
	if (settings.get("ApplyToASS/ApplyToASS").toBool())
	{
		colorsAndBorders = settings.get("ApplyToASS/ColorsAndBorders").toBool();
		marginsAndAlignment = settings.get("ApplyToASS/MarginsAndAlignment").toBool();
		fontsAndSpacing = settings.get("ApplyToASS/FontsAndSpacing").toBool();
		overridePlayRes = settings.get("ApplyToASS/OverridePlayRes").toBool();
	}
	else
		colorsAndBorders = marginsAndAlignment = fontsAndSpacing = overridePlayRes = false;

	if (!ass_sub_styles_copy.size()) //tworzenie kopii za pierwszym razem
	{
		if (!colorsAndBorders && !marginsAndAlignment && !fontsAndSpacing) //nie ma nic do zastosowania
			return;
		for (int i = 0; i < ass_sub_track->n_styles; i++)
		{
			ASS_Style *style = new ASS_Style;
			memcpy(style, &ass_sub_track->styles[i], sizeof(ASS_Style));
			style->Name = NULL;
			if (ass_sub_track->styles[i].FontName)
				style->FontName = strdup(ass_sub_track->styles[i].FontName);
			else
				style->FontName = NULL;
			ass_sub_styles_copy += style;
		}
	}
	if (ass_sub_track->n_styles != ass_sub_styles_copy.size())
		return;

	for (int i = 0; i < ass_sub_track->n_styles; i++)
	{
		ASS_Style &style = ass_sub_track->styles[i];
		if (colorsAndBorders)
		{
			style.PrimaryColour = assColorFromQColor(settings.get("Subtitles/TextColor").value< QColor >());
			style.SecondaryColour = assColorFromQColor(settings.get("Subtitles/TextColor").value< QColor >(), true);
			style.OutlineColour = assColorFromQColor(settings.get("Subtitles/OutlineColor").value< QColor >());
			style.BackColour = assColorFromQColor(settings.get("Subtitles/ShadowColor").value< QColor >());
			style.BorderStyle = 1;
			style.Outline = settings.get("Subtitles/Outline").toDouble();
			style.Shadow = settings.get("Subtitles/Shadow").toDouble();
		}
		else
		{
			style.PrimaryColour = ass_sub_styles_copy[i]->PrimaryColour;
			style.SecondaryColour = ass_sub_styles_copy[i]->SecondaryColour;
			style.OutlineColour = ass_sub_styles_copy[i]->OutlineColour;
			style.BackColour = ass_sub_styles_copy[i]->BackColour;
			style.BorderStyle = ass_sub_styles_copy[i]->BorderStyle;
			style.Outline = ass_sub_styles_copy[i]->Outline;
			style.Shadow = ass_sub_styles_copy[i]->Shadow;
		}
		if (marginsAndAlignment)
		{
			style.MarginL = settings.get("Subtitles/LeftMargin").toInt();
			style.MarginR = settings.get("Subtitles/RightMargin").toInt();
			style.MarginV = settings.get("Subtitles/VMargin").toInt();
			style.Alignment = toASSAlignment(settings.get("Subtitles/Alignment").toInt());
			style.Angle = 0;
		}
		else
		{
			style.MarginL = ass_sub_styles_copy[i]->MarginL;
			style.MarginR = ass_sub_styles_copy[i]->MarginR;
			style.MarginV = ass_sub_styles_copy[i]->MarginV;
			style.Alignment = ass_sub_styles_copy[i]->Alignment;
			style.Angle = ass_sub_styles_copy[i]->Angle;
		}
		if (style.FontName)
			free(style.FontName);
		if (fontsAndSpacing)
		{
			style.FontName = strdup(settings.get("Subtitles/FontName").toString().toUtf8().data());
			style.FontSize = settings.get("Subtitles/FontSize").toInt();
			style.Spacing = settings.get("Subtitles/Linespace").toDouble();
			style.ScaleX = style.ScaleY = 1;
			style.Bold = style.Italic = style.Underline = style.StrikeOut = 0;
		}
		else
		{
			if (ass_sub_styles_copy[i]->FontName)
				style.FontName = strdup(ass_sub_styles_copy[i]->FontName);
			else
				style.FontName = NULL;
			style.FontSize = ass_sub_styles_copy[i]->FontSize;
			style.Spacing = ass_sub_styles_copy[i]->Spacing;
			style.ScaleX = ass_sub_styles_copy[i]->ScaleX;
			style.ScaleY = ass_sub_styles_copy[i]->ScaleY;
			style.Bold = ass_sub_styles_copy[i]->Bold;
			style.Italic = ass_sub_styles_copy[i]->Italic;
			style.Underline = ass_sub_styles_copy[i]->Underline;
			style.StrikeOut = ass_sub_styles_copy[i]->StrikeOut;
		}
	}
}
Ejemplo n.º 6
0
/*! Nastaveni stylu jako pri poslednim ukonceni */
void MainWindow::setLastStyle(){
    readConfig();               //nacteni stylu z konfiguracniho souboru
    readStyle(lastUsedStyle);   //nacteni fontu pro hlavni okno
    changeFont();
    scene->readStyles(lastUsedStyle);   //nastaveni stylu pro vykreslovaci okno
    }