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 }