void ClientLayerManager::ClearCachedResources(Layer* aSubtree) { MOZ_ASSERT(!HasShadowManager() || !aSubtree); if (PLayerTransactionChild* manager = GetShadowManager()) { manager->SendClearCachedResources(); } if (aSubtree) { ClearLayer(aSubtree); } else if (mRoot) { ClearLayer(mRoot); } }
void ClientLayerManager::ClearCachedResources(Layer* aSubtree) { MOZ_ASSERT(!HasShadowManager() || !aSubtree); mForwarder->ClearCachedResources(); if (aSubtree) { ClearLayer(aSubtree); } else if (mRoot) { ClearLayer(mRoot); } for (size_t i = 0; i < mTexturePools.Length(); i++) { mTexturePools[i]->Clear(); } }
void ClientLayerManager::ClearCachedResources(Layer* aSubtree) { if (mDestroyed) { // ClearCachedResource was already called by ClientLayerManager::Destroy return; } MOZ_ASSERT(!HasShadowManager() || !aSubtree); mForwarder->ClearCachedResources(); if (aSubtree) { ClearLayer(aSubtree); } else if (mRoot) { ClearLayer(mRoot); } }
void ClientLayerManager::ClearLayer(Layer* aLayer) { ClientLayer::ToClientLayer(aLayer)->ClearCachedResources(); for (Layer* child = aLayer->GetFirstChild(); child; child = child->GetNextSibling()) { ClearLayer(child); } }
void ClientLayerManager::ClearCachedResources(Layer* aSubtree) { if (mDestroyed) { // ClearCachedResource was already called by ClientLayerManager::Destroy return; } MOZ_ASSERT(!HasShadowManager() || !aSubtree); mForwarder->ClearCachedResources(); if (aSubtree) { ClearLayer(aSubtree); } else if (mRoot) { ClearLayer(mRoot); } for (size_t i = 0; i < mTexturePools.Length(); i++) { mTexturePools[i]->Clear(); } }
void ClientLayerManager::ClearCachedResources(Layer* aSubtree) { if (mDestroyed) { // ClearCachedResource was already called by ClientLayerManager::Destroy return; } MOZ_ASSERT(!HasShadowManager() || !aSubtree); mForwarder->ClearCachedResources(); if (aSubtree) { ClearLayer(aSubtree); } else if (mRoot) { ClearLayer(mRoot); } if (GetCompositorBridgeChild()) { GetCompositorBridgeChild()->ClearTexturePool(); } }
bool MPDFormat::WriteMolecule(OBBase* pOb, OBConversion* pConv) { OBMol* pmol = dynamic_cast<OBMol*>(pOb); if(pmol==NULL) return false; //Define some references so we can use the old parameter names ostream &ofs = *pConv->GetOutStream(); OBMol &mol = *pmol; OBAtom *atom,*nbr,*nbr2; // define atom and neghbour atom pointers string str,src,name; // str used for output, src for handling unsigned int orig,otyp; // orig holds first index for removal from layer 2, otype for output // char buffer[BUFF_SIZE]; bool xml_true=false, pre_true=false, idx_true=false; ttab.SetFromType("INT"); ttab.SetToType("SBN"); int layer[LAYER_DEPTH][LAYER_SIZE]; // layer stores the frequencies of each atom type ClearLayer(layer); if(pConv->IsOption("n")) // appending file name to molecule names { name = pConv->GetInFilename(); // string name holds the filename for appending unsigned int dotpos=name.find("."); // removes the extension(s) from the filename if (dotpos < name.length())name.erase(dotpos); pre_true = true; } if(pConv->IsOption("c")) // outputting in XML format xml_true=true; if(pConv->IsOption("i")) // using IDX not SBN { idx_true=true; ttab.SetToType("IDX"); } str = mol.GetTitle(); if(xml_true==true) // <xml> { ofs << "<molecule id=\""; if(pre_true==true)ofs << name; if (str.empty()) { ofs << pConv->GetOutputIndex() << "\">"; } else ofs << str << pConv->GetOutputIndex() << "\">"; } // </xml> else{ if (str.empty()) { if (pre_true==true) {ofs << name << SEP_1;} ofs << "***" << pConv->GetOutputIndex()<< SEP_2; } else { if (pre_true==true){ofs << name << SEP_1;} ofs << str << SEP_2; } } vector<OBAtom*>::iterator i; // iterate over all atoms for (atom = mol.BeginAtom(i);atom;atom = mol.NextAtom(i)) { src = atom->GetType(); ttab.Translate(str,src); // if (idx_true==true){ otyp = atoi(str.c_str()); //} // else {otyp=MyType(str);} orig = atom->GetIdx(); if(xml_true==true){ ofs << "<atom type=\"" << otyp << "\">";} else ofs << otyp << SEP_0; vector<OBBond*>::iterator j; // iterate over its neighbours for (nbr = atom->BeginNbrAtom(j);nbr;nbr = atom->NextNbrAtom(j)) { src = nbr->GetType(); ttab.Translate(str,src); // if (idx_true==true){ otyp = atoi(str.c_str()); //} // else {otyp=MyType(str);} layer[0][otyp]=layer[0][otyp]+1; vector<OBBond*>::iterator k; // iterate again over neighbours for (nbr2 = nbr->BeginNbrAtom(k);nbr2;nbr2 = nbr->NextNbrAtom(k)) { if (nbr2->GetIdx()==orig) continue; src = nbr2->GetType(); ttab.Translate(str,src); // if (idx_true==true){ otyp = atoi(str.c_str()); //} // else {otyp=MyType(str);} layer[1][otyp]=layer[1][otyp]+1; } // end k } // end j if(xml_true==true)PrintXML(layer,ofs); else PrintLayer(layer,ofs); //ClearLayer(layer); } // end i if(xml_true==true)ofs << "</molecule>"; ofs << endl; return(true); } // writemolecule