static void notify_bot_for_connected_gfx(t_env *e, int fd, t_team *t) { t_iterator iter_b; t_bot *b; iter_b = NULL; while ((b = (t_bot *)ft_lst_iter_next_content(t->connected, &iter_b))) { pnw(e, fd, b); if (b->life_unit <= 0) pdi(e, fd, b); } iter_b = NULL; while ((b = (t_bot *)ft_lst_iter_next_content(t->queue, &iter_b))) { pnw(e, fd, b); if (b->life_unit <= 0) pdi(e, fd, b); } iter_b = NULL; while ((b = (t_bot *)ft_lst_iter_next_content(t->egg, &iter_b))) { enw(e, fd, b->parent, b); if (b->life_unit <= 0) edi(e, fd, b); } }
void GroupDef::writePageDocumentation(OutputList &ol) { PageDef *pd=0; PageSDict::Iterator pdi(*pageDict); for (pdi.toFirst();(pd=pdi.current());++pdi) { if (!pd->isReference()) { QCString pageName = pd->getOutputFileBase(); if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { Doxygen::tagFile << " <page>" << convertToXML(pageName) << "</page>" << endl; } SectionInfo *si=0; if (!pd->title().isEmpty() && !pd->name().isEmpty() && (si=Doxygen::sectionDict[pd->name()])!=0) { ol.startSection(si->label,si->title,SectionInfo::Subsection); ol.docify(si->title); ol.endSection(si->label,SectionInfo::Subsection); } ol.startTextBlock(); ol.parseDoc(pd->docFile(),pd->docLine(),pd,0,pd->documentation()+pd->inbodyDocumentation(),TRUE,FALSE,0,TRUE,FALSE); ol.endTextBlock(); } } }
void ShivaGenerator::generate(KisProcessingInformation dstInfo, const QSize& size, const KisFilterConfiguration* config, KoUpdater* progressUpdater) const { Q_UNUSED(progressUpdater); KisPaintDeviceSP dst = dstInfo.paintDevice(); QPoint dstTopLeft = dstInfo.topLeft(); UpdaterProgressReport* report = 0; if (progressUpdater) { progressUpdater->setRange(0, size.height()); report = new UpdaterProgressReport(progressUpdater); } Q_ASSERT(!dst.isNull()); // Q_ASSERT(config); // TODO implement the generating of pixel OpenShiva::Kernel kernel; kernel.setSource(*m_source); if (config) { QMap<QString, QVariant> map = config->getProperties(); for (QMap<QString, QVariant>::iterator it = map.begin(); it != map.end(); ++it) { const GTLCore::Metadata::Entry* entry = kernel.metadata()->parameter(it.key().toAscii().data()); if (entry && entry->asParameterEntry()) { #if OPENSHIVA_12 GTLCore::Value val = qvariantToValue(it.value(), entry->asParameterEntry()->valueType()); #else GTLCore::Value val = qvariantToValue(it.value(), entry->asParameterEntry()->type()); #endif if(val.isValid()) { kernel.setParameter(it.key().toAscii().data(), val); } } } } { QMutexLocker l(shivaMutex); kernel.compile(); } if (kernel.isCompiled()) { PaintDeviceImage pdi(dst); #if OPENSHIVA_12 std::list< GTLCore::AbstractImage* > inputs; GTLCore::Region region(dstTopLeft.x(), dstTopLeft.y() , size.width(), size.height()); kernel.evaluatePixeles(region, inputs, &pdi, report ); #else std::list< const GTLCore::AbstractImage* > inputs; GTLCore::RegionI region(dstTopLeft.x(), dstTopLeft.y() , size.width(), size.height()); kernel.evaluatePixels(region, inputs, &pdi, report ); #endif } #if OPENSHIVA_13_OR_MORE else { dbgPlugins << "Error: " << kernel.compilationMessages().toString().c_str(); } #endif }
void PageDef::writePageDocumentation(OutputList &ol) { bool markdownEnabled = Doxygen::markdownSupport; if (getLanguage()==SrcLangExt_Markdown) { Doxygen::markdownSupport = TRUE; } ol.startTextBlock(); ol.generateDoc( docFile(), // fileName docLine(), // startLine this, // context 0, // memberdef documentation()+inbodyDocumentation(), // docStr TRUE, // index words FALSE // not an example ); ol.endTextBlock(); Doxygen::markdownSupport = markdownEnabled; if (hasSubPages()) { // for printed documentation we write subpages as section's of the // parent page. ol.pushGeneratorState(); ol.disableAll(); ol.enable(OutputGenerator::Latex); ol.enable(OutputGenerator::RTF); PageSDict::Iterator pdi(*m_subPageDict); PageDef *subPage=pdi.toFirst(); for (pdi.toFirst();(subPage=pdi.current());++pdi) { SectionInfo::SectionType sectionType = SectionInfo::Paragraph; switch (m_nestingLevel) { case 0: sectionType = SectionInfo::Page; break; case 1: sectionType = SectionInfo::Section; break; case 2: sectionType = SectionInfo::Subsection; break; case 3: sectionType = SectionInfo::Subsubsection; break; default: sectionType = SectionInfo::Paragraph; break; } QCString title = subPage->title(); if (title.isEmpty()) title = subPage->name(); ol.startSection(subPage->name(),title,sectionType); ol.parseText(title); ol.endSection(subPage->name(),sectionType); Doxygen::subpageNestingLevel++; subPage->writePageDocumentation(ol); Doxygen::subpageNestingLevel--; } ol.popGeneratorState(); } }
void ShivaFilter::processImpl(KisPaintDeviceSP dev, const QRect& size, const KisFilterConfiguration* config, KoUpdater* progressUpdater ) const { Q_UNUSED(progressUpdater); QPoint dstTopLeft = size.topLeft(); UpdaterProgressReport* report = 0; if (progressUpdater) { progressUpdater->setRange(0, size.height()); report = new UpdaterProgressReport(progressUpdater); } Q_ASSERT(!dev.isNull()); // Q_ASSERT(config); // TODO support for selection OpenShiva::Kernel kernel; kernel.setSource(*m_source); if (config) { QMap<QString, QVariant> map = config->getProperties(); for (QMap<QString, QVariant>::iterator it = map.begin(); it != map.end(); ++it) { dbgPlugins << it.key() << " " << it.value(); const GTLCore::Metadata::Entry* entry = kernel.metadata()->parameter(it.key().toLatin1().constData()); if (entry && entry->asParameterEntry()) { GTLCore::Value val = qvariantToValue(it.value(), entry->asParameterEntry()->type()); if(val.isValid()) { kernel.setParameter(it.key().toLatin1().constData(), val); } } } } kernel.setParameter(OpenShiva::Kernel::IMAGE_WIDTH, float(dev->defaultBounds()->bounds().width())); kernel.setParameter(OpenShiva::Kernel::IMAGE_HEIGHT, float(dev->defaultBounds()->bounds().height())); KisGtlLocker gtlLocker; { dbgPlugins << "Compile: " << m_source->name().c_str(); QMutexLocker l(shivaMutex); kernel.compile(); } if (kernel.isCompiled()) { ConstPaintDeviceImage pdisrc(dev); PaintDeviceImage pdi(dev); std::list< const GTLCore::AbstractImage* > inputs; GTLCore::RegionI region(dstTopLeft.x(), dstTopLeft.y() , size.width(), size.height()); inputs.push_back(&pdisrc); dbgPlugins << "Run: " << m_source->name().c_str() << " " << dstTopLeft << " " << size; kernel.evaluatePixels(region, inputs, &pdi, report ); } }
void KviRegisteredUserDataBase::copyFrom(KviRegisteredUserDataBase * db) { m_pUserDict->clear(); m_pWildMaskList->clear(); m_pMaskDict->clear(); m_pGroupDict->clear(); emit(databaseCleared()); KviPointerHashTableIterator<QString, KviRegisteredUser> it(*(db->m_pUserDict)); while(KviRegisteredUser * theCur = it.current()) { KviRegisteredUser * u = getUser(theCur->name()); // copy masks KviPointerList<KviIrcMask> * l = theCur->maskList(); for(KviIrcMask * m = l->first(); m; m = l->next()) { KviIrcMask * m2 = new KviIrcMask(*m); addMask(u, m2); } // copy properties KviPointerHashTable<QString, QString> * pd = theCur->propertyDict(); if(pd) { KviPointerHashTableIterator<QString, QString> pdi(*pd); while(pdi.current()) { u->setProperty(pdi.currentKey(), *(pdi.current())); ++pdi; } } u->m_iIgnoreFlags = theCur->m_iIgnoreFlags; u->m_bIgnoreEnabled = theCur->m_bIgnoreEnabled; u->setGroup(theCur->group()); ++it; } KviPointerHashTableIterator<QString, KviRegisteredUserGroup> git(*db->m_pGroupDict); while(git.current()) { addGroup(git.currentKey()); ++git; } }
void GroupDef::writePageDocumentation(OutputList &ol) { PageDef *pd=0; PageSDict::Iterator pdi(*pageDict); for (pdi.toFirst();(pd=pdi.current());++pdi) { if (!pd->isReference()) { SectionInfo *si=0; if (!pd->title().isEmpty() && !pd->name().isEmpty() && (si=Doxygen::sectionDict->find(pd->name()))!=0) { ol.startSection(si->label,si->title,SectionInfo::Subsection); ol.docify(si->title); ol.endSection(si->label,SectionInfo::Subsection); } ol.startTextBlock(); ol.generateDoc(pd->docFile(),pd->docLine(),pd,0,pd->documentation()+pd->inbodyDocumentation(),TRUE,FALSE,0,TRUE,FALSE); ol.endTextBlock(); } } }
void remove_cli(t_env *env, int fd_client) { int x; int y; if (env->clients[fd_client]->role != GRAPHIQUE) { env->clients[fd_client]->prev->next = env->clients[fd_client]->next; env->clients[fd_client]->next->prev = env->clients[fd_client]->prev; x = env->clients[fd_client]->player.coor.x; y = env->clients[fd_client]->player.coor.y; if (env->clients[fd_client]->role == IA) env->map.map[y][x][JOUEUR] -= 1; delete_action_by_id(&env->action, env->clients[fd_client]->player.id); } else env->graph_client = NULL; close(fd_client); pdi(env, env->clients[fd_client]); free(env->clients[fd_client]); env->clients[fd_client] = FD_FREE; }
void GroupDef::writeTagFile(FTextStream &tagFile) { tagFile << " <compound kind=\"group\">" << endl; tagFile << " <name>" << convertToXML(name()) << "</name>" << endl; tagFile << " <title>" << convertToXML(title) << "</title>" << endl; tagFile << " <filename>" << convertToXML(getOutputFileBase()) << Doxygen::htmlFileExtension << "</filename>" << endl; QListIterator<LayoutDocEntry> eli( LayoutDocManager::instance().docEntries(LayoutDocManager::Group)); LayoutDocEntry *lde; for (eli.toFirst();(lde=eli.current());++eli) { switch (lde->kind()) { case LayoutDocEntry::GroupClasses: { if (classSDict) { SDict<ClassDef>::Iterator ci(*classSDict); ClassDef *cd; for (ci.toFirst();(cd=ci.current());++ci) { if (cd->isLinkableInProject()) { tagFile << " <class kind=\"" << cd->compoundTypeString() << "\">" << convertToXML(cd->name()) << "</class>" << endl; } } } } break; case LayoutDocEntry::GroupNamespaces: { if (namespaceSDict) { SDict<NamespaceDef>::Iterator ni(*namespaceSDict); NamespaceDef *nd; for (ni.toFirst();(nd=ni.current());++ni) { if (nd->isLinkableInProject()) { tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl; } } } } break; case LayoutDocEntry::GroupFiles: { if (fileList) { QListIterator<FileDef> it(*fileList); FileDef *fd; for (;(fd=it.current());++it) { if (fd->isLinkableInProject()) { tagFile << " <file>" << convertToXML(fd->name()) << "</file>" << endl; } } } } break; case LayoutDocEntry::GroupPageDocs: { if (pageDict) { PageSDict::Iterator pdi(*pageDict); PageDef *pd=0; for (pdi.toFirst();(pd=pdi.current());++pdi) { QCString pageName = pd->getOutputFileBase(); if (pd->isLinkableInProject()) { tagFile << " <page>" << convertToXML(pageName) << "</page>" << endl; } } } } break; case LayoutDocEntry::GroupDirs: { if (dirList) { QListIterator<DirDef> it(*dirList); DirDef *dd; for (;(dd=it.current());++it) { if (dd->isLinkableInProject()) { tagFile << " <dir>" << convertToXML(dd->displayName()) << "</dir>" << endl; } } } } break; case LayoutDocEntry::GroupNestedGroups: { if (groupList) { QListIterator<GroupDef> it(*groupList); GroupDef *gd; for (;(gd=it.current());++it) { if (gd->isVisible()) { tagFile << " <subgroup>" << convertToXML(gd->name()) << "</subgroup>" << endl; } } } } break; case LayoutDocEntry::MemberDecl: { LayoutDocEntryMemberDecl *lmd = (LayoutDocEntryMemberDecl*)lde; MemberList * ml = getMemberList(lmd->type); if (ml) { ml->writeTagFile(tagFile); } } break; case LayoutDocEntry::MemberGroups: { if (memberGroupSDict) { MemberGroupSDict::Iterator mgli(*memberGroupSDict); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->writeTagFile(tagFile); } } } break; default: break; } } writeDocAnchorsToTagFile(tagFile); tagFile << " </compound>" << endl; }
void generateSqlite3() { // + classes // + namespaces // + files // + groups // + related pages // + examples // + main page QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY"); QDir sqlite3Dir(outputDirectory); sqlite3 *db; sqlite3_initialize(); int rc = sqlite3_open_v2(outputDirectory+"/doxygen_sqlite3.db", &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, 0); if (rc != SQLITE_OK) { sqlite3_close(db); msg("database open failed: %s\n", "doxygen_sqlite3.db"); return; } beginTransaction(db); pragmaTuning(db); if (-1==initializeSchema(db)) return; if ( -1 == prepareStatements(db) ) { err("sqlite generator: prepareStatements failed!"); return; } // + classes ClassSDict::Iterator cli(*Doxygen::classSDict); ClassDef *cd; for (cli.toFirst();(cd=cli.current());++cli) { msg("Generating Sqlite3 output for class %s\n",cd->name().data()); generateSqlite3ForClass(db,cd); } // + namespaces NamespaceSDict::Iterator nli(*Doxygen::namespaceSDict); NamespaceDef *nd; for (nli.toFirst();(nd=nli.current());++nli) { msg("Generating Sqlite3 output for namespace %s\n",nd->name().data()); generateSqlite3ForNamespace(db,nd); } // + files FileNameListIterator fnli(*Doxygen::inputNameList); FileName *fn; for (;(fn=fnli.current());++fnli) { FileNameIterator fni(*fn); FileDef *fd; for (;(fd=fni.current());++fni) { msg("Generating Sqlite3 output for file %s\n",fd->name().data()); generateSqlite3ForFile(db,fd); } } // + groups GroupSDict::Iterator gli(*Doxygen::groupSDict); GroupDef *gd; for (;(gd=gli.current());++gli) { msg("Generating Sqlite3 output for group %s\n",gd->name().data()); generateSqlite3ForGroup(db,gd); } // + page { PageSDict::Iterator pdi(*Doxygen::pageSDict); PageDef *pd=0; for (pdi.toFirst();(pd=pdi.current());++pdi) { msg("Generating Sqlite3 output for page %s\n",pd->name().data()); generateSqlite3ForPage(db,pd,FALSE); } } // + dirs { DirDef *dir; DirSDict::Iterator sdi(*Doxygen::directories); for (sdi.toFirst();(dir=sdi.current());++sdi) { msg("Generating Sqlite3 output for dir %s\n",dir->name().data()); generateSqlite3ForDir(db,dir); } } // + examples { PageSDict::Iterator pdi(*Doxygen::exampleSDict); PageDef *pd=0; for (pdi.toFirst();(pd=pdi.current());++pdi) { msg("Generating Sqlite3 output for example %s\n",pd->name().data()); generateSqlite3ForPage(db,pd,TRUE); } } // + main page if (Doxygen::mainPage) { msg("Generating Sqlite3 output for the main page\n"); generateSqlite3ForPage(db,Doxygen::mainPage,FALSE); } endTransaction(db); }
void GroupDef::writeDocumentation(OutputList &ol) { ol.pushGeneratorState(); startFile(ol,getOutputFileBase(),name(),title); startTitle(ol,getOutputFileBase()); ol.parseText(title); addGroupListToTitle(ol,this); endTitle(ol,getOutputFileBase(),title); if (Config_getBool("SEARCHENGINE")) { Doxygen::searchIndex->setCurrentDoc(title,getOutputFileBase()); static QRegExp we("[a-zA-Z_][a-zA-Z_0-9]*"); int i=0,p=0,l=0; while ((i=we.match(title,p,&l))!=-1) // foreach word in the title { Doxygen::searchIndex->addWord(title.mid(i,l),TRUE); p=i+l; } } if (Config_getBool("HAVE_DOT") && Config_getBool("GROUP_GRAPHS") ) { DotGroupCollaboration graph(this); if (!graph.isTrivial()) { msg("Generating dependency graph for group %s\n",qualifiedName().data()); ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); ol.newParagraph(); ol.startGroupCollaboration(); ol.parseText(theTranslator->trCollaborationDiagram(title)); ol.endGroupCollaboration(graph); ol.popGeneratorState(); } } if (Config_getBool("DETAILS_AT_TOP")) { writeDetailedDocumentation(ol); ol.newParagraph(); } else if (!briefDescription().isEmpty()) { ol.parseDoc(briefFile(),briefLine(),this,0,briefDescription(),TRUE,FALSE); ol.writeString(" \n"); ol.pushGeneratorState(); ol.disable(OutputGenerator::Latex); ol.disable(OutputGenerator::RTF); ol.disable(OutputGenerator::Man); ol.startTextLink(0,"_details"); ol.parseText(theTranslator->trMore()); ol.endTextLink(); ol.enableAll(); ol.disableAllBut(OutputGenerator::Man); ol.newParagraph(); ol.popGeneratorState(); } if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { Doxygen::tagFile << " <compound kind=\"group\">" << endl; Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl; Doxygen::tagFile << " <title>" << convertToXML(title) << "</title>" << endl; Doxygen::tagFile << " <filename>" << convertToXML(getOutputFileBase()) << Doxygen::htmlFileExtension << "</filename>" << endl; } ol.startMemberSections(); // write list of files if (fileList->count()>0) { ol.startMemberHeader(); ol.parseText(theTranslator->trFile(TRUE,FALSE)); ol.endMemberHeader(); ol.startMemberList(); FileDef *fd=fileList->first(); while (fd) { ol.startMemberItem(0); ol.docify(theTranslator->trFile(FALSE,TRUE)+" "); ol.insertMemberAlign(); ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0,fd->name()); if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { Doxygen::tagFile << " <file>" << convertToXML(fd->name()) << "</file>" << endl; } ol.endMemberItem(); if (!fd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC")) { ol.startMemberDescription(); ol.parseDoc(briefFile(),briefLine(),fd,0,fd->briefDescription(),FALSE,FALSE); ol.endMemberDescription(); ol.newParagraph(); } fd=fileList->next(); } ol.endMemberList(); } // write list of namespaces namespaceSDict->writeDeclaration(ol); // write list of groups if (groupList->count()>0) { ol.startMemberHeader(); ol.parseText(theTranslator->trModules()); ol.endMemberHeader(); ol.startMemberList(); GroupDef *gd=groupList->first(); while (gd) { ol.startMemberItem(0); //ol.docify(theTranslator->trGroup(FALSE,TRUE)); //ol.docify(" "); ol.insertMemberAlign(); ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle()); if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { Doxygen::tagFile << " <subgroup>" << convertToXML(gd->name()) << "</subgroup>" << endl; } ol.endMemberItem(); if (!gd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC")) { ol.startMemberDescription(); ol.parseDoc(briefFile(),briefLine(),gd,0,gd->briefDescription(),FALSE,FALSE); ol.endMemberDescription(); ol.newParagraph(); } gd=groupList->next(); } ol.endMemberList(); } // write list of directories if (dirList->count()>0) { ol.startMemberHeader(); ol.parseText(theTranslator->trDirectories()); ol.endMemberHeader(); ol.startMemberList(); DirDef *dd=dirList->first(); while (dd) { ol.startMemberItem(0); ol.parseText(theTranslator->trDir(FALSE,TRUE)); ol.insertMemberAlign(); ol.writeObjectLink(dd->getReference(),dd->getOutputFileBase(),0,dd->shortName()); ol.endMemberItem(); if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { Doxygen::tagFile << " <dir>" << convertToXML(dd->displayName()) << "</dir>" << endl; } if (!dd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC")) { ol.startMemberDescription(); ol.parseDoc(briefFile(),briefLine(),dd,0,dd->briefDescription(),FALSE,FALSE); ol.endMemberDescription(); ol.newParagraph(); } dd=dirList->next(); } ol.endMemberList(); } // write list of classes classSDict->writeDeclaration(ol); // write list of members if (allMemberList->count()>0) { /* write user defined member groups */ MemberGroupSDict::Iterator mgli(*memberGroupSDict); MemberGroup *mg; for (; (mg=mgli.current()); ++mgli) { mg->writeDeclarations(ol,0,0,0,this); } //allMemberList->writeDeclarations(ol,0,0,0,this,0,0); decDefineMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trDefines(),0); decProtoMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trFuncProtos(),0); decTypedefMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trTypedefs(),0); decEnumMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trEnumerations(),0); decFuncMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trFunctions(),0); decVarMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trVariables(),0); } ol.endMemberSections(); if (!Config_getBool("DETAILS_AT_TOP")) { writeDetailedDocumentation(ol); } PageDef *pd=0; PageSDict::Iterator pdi(*pageDict); for (pdi.toFirst(); (pd=pdi.current()); ++pdi) { if (!pd->isReference()) { QCString pageName = pd->getOutputFileBase(); if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { Doxygen::tagFile << " <page>" << convertToXML(pageName) << "</page>" << endl; } SectionInfo *si=0; if (!pd->title().isEmpty() && !pd->name().isEmpty() && (si=Doxygen::sectionDict[pd->name()])!=0) { ol.startSection(si->label,si->title,SectionInfo::Subsection); ol.docify(si->title); ol.endSection(si->label,SectionInfo::Subsection); } ol.startTextBlock(); ol.parseDoc(pd->docFile(),pd->docLine(),pd,0,pd->documentation(),TRUE,FALSE); ol.endTextBlock(); } } writeMemberDocumentation(ol); if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { writeDocAnchorsToTagFile(); Doxygen::tagFile << " </compound>" << endl; } endFile(ol); ol.popGeneratorState(); if (Config_getBool("SEPARATE_MEMBER_PAGES")) { allMemberList->sort(); writeMemberPages(ol); } }