Exemplo n.º 1
0
bool LayerAndroid::canJoinSurface(Surface* surface)
{
#ifdef DISABLE_LAYER_MERGE
    return false;
#else
    // returns true if the layer can be merged onto the surface (group of layers)
    if (!surface)
        return false;

    LayerAndroid* lastLayer = surface->getFirstLayer();

    // isolate intrinsically composited layers
    if (needsIsolatedSurface() || lastLayer->needsIsolatedSurface())
        return false;

    // TODO: investigate potential for combining transformed layers
    if (!m_drawTransform.isIdentityOrTranslation()
        || !lastLayer->m_drawTransform.isIdentityOrTranslation())
        return false;

    // TODO: compare other layer properties - fixed? overscroll? transformed?
	// SAMSUNG CHANGE ++ 
	if(m_drawOpacity <= 0)	// google handwriting icon('g') display error. opacity:0 layer is not updated properly due to MergedLayers logic.
		return false;
	// SAMSUNG CHANGE --
		
    return true;
#endif
}