/* add_freelist the free block pointer to appropriate segregated free list */ void add_freelist (void *bp){ int index = getlist_index(GET_SIZE(HDRP(bp))); setNext(bp, free_listp[index]); setPrev(bp, NULL); if (free_listp[index] != NULL) setPrev(free_listp[index], bp); free_listp[index] = bp; return; }
IOBooksInfo::IOBooksInfo() { setCardNumber(""); setCode(""); setODate(""); setIDate(""); setNext(NULL); setPrev(NULL); }
/*delete_freelist Remove the allocated block pointer from its assigned segregated free list */ void delete_freelist (void *bp){ int index = getlist_index(GET_SIZE(HDRP(bp))); if (getPrev(bp) != NULL) setNext(getPrev(bp),getNext(bp)); else free_listp[index] = getNext(bp); if (getNext(bp) != NULL) setPrev(getNext(bp), getPrev(bp)); return; }
/*! Destruct container \note The Containers in vector of the container are not destructed. They are owned by the logical hierarchy (i.e., the fl_Container classes like fl_BlockLayout), not the physical hierarchy. */ fp_TOCContainer::~fp_TOCContainer() { clearCons(); deleteBrokenTOCs(false); UT_DEBUGMSG(("SEVIOR: deleting TOC %p \n",this)); // // For debugging... // setContainer(NULL); setPrev(NULL); setNext(NULL); m_pMasterTOC = NULL; }
void Book::update(){ if (bChange){ prevPage = *this; prevPage.width = this->width*0.5; nextPage = *this; nextPage.width = this->width*0.5; nextPage.x = this->x + this->width*0.5; page.set(nextPage); if (pageNumber < pages.size()) page.front = &pages[pageNumber].getTextureReference(); if (pageNumber < pages.size()-1) page.back = &pages[pageNumber+1].getTextureReference(); bChange = false; } page.update(); page.setHandAt(hand); ofPoint handVel = hand - prevHand; if ( prevPage.inside(hand) ){ cout << "Hand vel " << handVel.x << " transition val " << page.getTransition() << endl; if (handVel.x < -3 && page.getTransition() < -0.20 ){ if (setNext()){ page.setNormHandAt(ofPoint(1.0,1.0),1.0); } } else if (handVel.x > 3 && page.getTransition() > 0.90){ if (setPrev()){ page.setNormHandAt(ofPoint(0.0,1.0),1.0); cout << "back flip" << endl; } } } prevHand = hand; }
/*! * This deletes all the broken TOCs from this master TOC. * This routine assumes that a clear screen has been set already. */ void fp_TOCContainer::deleteBrokenTOCs(bool bClearFirst) { if(isThisBroken()) { return; } if(bClearFirst) { clearScreen(); // // Remove broken TOC pointers // clearBrokenContainers(); } if(getFirstBrokenTOC() == NULL) { return; } fp_TOCContainer * pBroke = NULL; fp_TOCContainer * pNext = NULL; pBroke = getFirstBrokenTOC(); bool bFirst = true; while(pBroke ) { pNext = static_cast<fp_TOCContainer *>(pBroke->getNext()); if(!bFirst) { fp_Container * pConBroke = pBroke->getContainer(); if(pConBroke) { UT_sint32 i = pBroke->getContainer()->findCon(pBroke); // // First broken TOC is not in the container. // if(i >=0) { fp_Container * pCon = pBroke->getContainer(); pBroke->setContainer(NULL); pCon->deleteNthCon(i); } } } bFirst = false; xxx_UT_DEBUGMSG(("SEVIOR: Deleting broken TOC %x \n",pBroke)); delete pBroke; if(pBroke == getLastBrokenTOC()) { pBroke = NULL; } else { pBroke = pNext; } } setFirstBrokenTOC(NULL); setLastBrokenTOC(NULL); setNext(NULL); setPrev(NULL); // if(bClearFirst) { fl_TOCLayout * pTL = static_cast<fl_TOCLayout *>(getSectionLayout()); fl_DocSectionLayout * pDSL = pTL->getDocSectionLayout(); pDSL->deleteBrokenTablesFromHere(pTL); } }