Bug 593604. Part 4: Create Layer::GetSurfaceMode to help determine what kind of alpha support the layer needs. r=vlad,a=blocking

This commit is contained in:
Robert O'Callahan 2011-01-03 14:48:09 +13:00
parent 2d7f1d77d0
commit f7ce3fced6

View File

@ -631,6 +631,20 @@ public:
// quality.
PRBool CanUseOpaqueSurface();
enum SurfaceMode {
SURFACE_OPAQUE,
SURFACE_SINGLE_CHANNEL_ALPHA,
SURFACE_COMPONENT_ALPHA
};
SurfaceMode GetSurfaceMode()
{
if (CanUseOpaqueSurface())
return SURFACE_OPAQUE;
if (mContentFlags & CONTENT_COMPONENT_ALPHA)
return SURFACE_COMPONENT_ALPHA;
return SURFACE_SINGLE_CHANNEL_ALPHA;
}
/**
* This setter can be used anytime. The user data for all keys is
* initially null. Ownership pases to the layer manager.