Public Member Functions

gfxCachedTempSurface Class Reference

This class can be used to cache double-buffering back surfaces. More...

#include <gfxCachedTempSurface.h>

Collaboration diagram for gfxCachedTempSurface:

List of all members.

Public Member Functions

already_AddRefed< gfxContextGet (gfxASurface::gfxContentType aContentType, const gfxIntSize &aSize, gfxASurface *aSimilarTo)
 Returns a context for a surface that can be efficiently copied to |aSimilarTo|.
void Expire ()
nsExpirationStateGetExpirationState ()
 ~gfxCachedTempSurface ()

Detailed Description

This class can be used to cache double-buffering back surfaces.

Large resource allocations may have an overhead that can be avoided by caching. Caching also alows the system to use history in deciding whether to manage the surfaces in video or system memory.

However, because we don't want to set aside megabytes of unused resources unncessarily, these surfaces are released on a timer.


Constructor & Destructor Documentation

gfxCachedTempSurface::~gfxCachedTempSurface (  ) 

Member Function Documentation

void gfxCachedTempSurface::Expire (  )  [inline]
already_AddRefed<gfxContext> gfxCachedTempSurface::Get ( gfxASurface::gfxContentType  aContentType,
const gfxIntSize aSize,
gfxASurface aSimilarTo 
)

Returns a context for a surface that can be efficiently copied to |aSimilarTo|.

When |aContentType| has an alpha component, the surface will be cleared. For opaque surfaces, the initial surface contents are undefined. When |aContentType| differs in different invocations this is handled appropriately, creating a new surface if necessary.

|aSimilarTo| should be of the same gfxSurfaceType in each invocation. Because the cached surface may have been created during a previous invocation, this will not be efficient if the new |aSimilarTo| has a different format.

nsExpirationState* gfxCachedTempSurface::GetExpirationState (  )  [inline]

The documentation for this class was generated from the following file: