void FrameInfoVisualizer::draw(IProfileRenderer& renderer) { RETURN_IF_DISABLED(); if (mShowDirtyRegions) { mFlashToggle = !mFlashToggle; if (mFlashToggle) { SkPaint paint; paint.setColor(0x7fff0000); renderer.drawRect(mDirtyRegion.fLeft, mDirtyRegion.fTop, mDirtyRegion.fRight, mDirtyRegion.fBottom, paint); } } if (mType == ProfileType::Bars) { // Patch up the current frame to pretend we ended here. CanvasContext // will overwrite these values with the real ones after we return. // This is a bit nicer looking than the vague green bar, as we have // valid data for almost all the stages and a very good idea of what // the issue stage will look like, too FrameInfo& info = mFrameSource.back(); info.markSwapBuffers(); info.markFrameCompleted(); initializeRects(renderer.getViewportHeight(), renderer.getViewportWidth()); drawGraph(renderer); drawThreshold(renderer); } }
void DrawProfiler::unionDirty(SkRect* dirty) { RETURN_IF_DISABLED(); // Not worth worrying about minimizing the dirty region for debugging, so just // dirty the entire viewport. if (dirty) { mDirtyRegion = *dirty; dirty->setEmpty(); } }
void DrawProfiler::draw(OpenGLRenderer* canvas) { RETURN_IF_DISABLED(); if (mShowDirtyRegions) { mFlashToggle = !mFlashToggle; if (mFlashToggle) { SkPaint paint; paint.setColor(0x7fff0000); canvas->drawRect(mDirtyRegion.fLeft, mDirtyRegion.fTop, mDirtyRegion.fRight, mDirtyRegion.fBottom, &paint); } } if (mType == kBars) { prepareShapes(canvas->getViewportHeight()); drawGraph(canvas); drawCurrentFrame(canvas); drawThreshold(canvas); } }