Example #1
0
void ImageCache::CleanUp(int min_size_free)
{
	Fragment *f = (Fragment *)cache.Last();
	while (f && pixelcount + min_size_free > cachesize)
	{
		OpBitmap *bm = f->GetFragment();
		pixelcount -= bm->Width() * bm->Height();
		Fragment *prev = (Fragment *)f->Pred();
		f->Out();
		OP_DELETE(f);
		f = prev;
	}
}
Example #2
0
BOOL ImageCache::RemoveSharedMemoryBitmap()
{
	Fragment *f = (Fragment *)cache.Last();
	while (f)
	{
		X11OpBitmap* bm = (X11OpBitmap*)f->GetFragment();
		if( bm->HasSharedMemory() )
		{
			f->Out();
			OP_DELETE(f);
			return TRUE;
		}
		f = (Fragment *)f->Pred();
	}

	return FALSE;
}