static gfx3DMatrix GetRootTransform(Layer *aLayer) { gfx3DMatrix layerTrans = aLayer->GetTransform(); layerTrans.ProjectTo2D(); if (aLayer->GetParent() != NULL) { return GetRootTransform(aLayer->GetParent()) * layerTrans; } return layerTrans; }
static gfx::Matrix4x4 GetRootTransform(Layer *aLayer) { gfx::Matrix4x4 layerTrans = aLayer->GetTransform(); layerTrans.ProjectTo2D(); if (aLayer->GetParent() != nullptr) { return GetRootTransform(aLayer->GetParent()) * layerTrans; } return layerTrans; }
void RenderTraceInvalidateStart(Layer *aLayer, const char *aColor, const nsIntRect aRect) { gfx3DMatrix trans = GetRootTransform(aLayer); gfxRect rect(aRect.x, aRect.y, aRect.width, aRect.height); trans.TransformBounds(rect); printf_stderr("%s RENDERTRACE %u fillrect #%s %i %i %i %i\n", aLayer->Name(), (int)PR_IntervalNow(), aColor, (int)rect.x, (int)rect.y, (int)rect.width, (int)rect.height); }