コード例 #1
0
ファイル: parser.cpp プロジェクト: mmalohlava/babylon-sandbox
/*!
	@brief try to find begin/end parameter
	@return parameter of \begin or \end
*/
TokenString	Parser::_get_begroup(void)
{
	_skip_whitechars();
	_readchar();
	if (_char != lbrace )
		return TokenString();
	_skip_whitechars();
	_readnexttoken();
	TokenString pom(_tokenstring);
	_skip_whitechars();
	_readnexttoken();
	if (_token != rbrace)
	{
		//std::cerr << "Chybny parametr u end/begin" << std::endl;
		return TokenString();
	}
	return pom;
}
コード例 #2
0
ファイル: mainwindow.cpp プロジェクト: MiRiKan/imas-psp
void YumPomJob::process(){try{
	QImage replacementImage(source);
	TASSUME(!replacementImage.isNull(),"Could not load picture (Is it corrupted?)");

	Yum y(isofile,number);
	TASSUME(y.issue.isEmpty(),y.issue);

	PomFile pom(y.torw());
	TASSUME(pom.issue.isEmpty(),QString("File %1 inside yum archive - %2").arg(number).arg(pom.issue));

	QString picname=QString("%1-%2(%3)")
					.arg(number)
					.arg(subnumber)
					.arg(qrand());

#ifdef SHOW_ORIGINAL_FILE
	ResourceData *resource=new ResourceData();
	resource->data=QVariant(replacementImage);
	resource->type=QTextDocument::ImageResource;
	resource->name=QUrl(QString("imas-pictures://%1-orig.png").arg(picname));
	resources.append(resource);
#else
	QImage *originalImage=pom.get(subnumber);
	TASSUME(originalImage,pom.issue);

	ResourceData *resource=new ResourceData();
	resource->data=QVariant(*originalImage);
	resource->type=QTextDocument::ImageResource;
	resource->name=QUrl(QString("imas-pictures://%1-orig.png").arg(picname));
	resources.append(resource);
	delete originalImage;
#endif

	PomConversionResult conv=pom.set(subnumber,&replacementImage);
	TASSUME(pom.issue.isEmpty(),pom.issue);

	QByteArray res=pom.spit();
	y.spit(res.data(),res.size());
	TASSUME(y.issue.isEmpty(),y.issue);

	QImage *replacedImage=pom.get(subnumber);
	TASSUME(replacedImage,pom.issue);
	resource=new ResourceData();
	resource->data=QVariant(*replacedImage);
	resource->type=QTextDocument::ImageResource;
	resource->name=QUrl(QString("imas-pictures://%1.png").arg(picname));
	resources.append(resource);
	delete replacedImage;

	int difference=conv.avgDiff*100/(0x400-4);
	int maxdifference=conv.maxDiff*100/(0x400-4);
#ifdef SHOW_ORIGINAL_FILE
	if(difference>=2){
#else
	if(difference>=0){
#endif
		output.append(QString::fromUtf8(
			"<span style='color:#9f4a3c'>(%2% average difference in pictures due to lack of colors in palette; peak difference - %3%)</span>"
			"<p style='vertical-align:middle;'>"
				"<img src='imas-pictures://%1-orig.png' />"
				" <span style='font-size:28pt;'>→</span> "
				"<img src='imas-pictures://%1.png' />"
			"</p>")
				  .arg(picname)
				  .arg(difference)
				  .arg(maxdifference));
		state=JOB_STATE_WARNINGS;
	} else{
		output.append(QString::fromUtf8(
			"<p style='vertical-align:middle;'>"
				"<img src='imas-pictures://%1.png' />"
			"</p>")
				  .arg(picname));
		state=JOB_STATE_OK;
	}


} catch(QString ss){
	state=JOB_STATE_FAILED;
}}