Ejemplo n.º 1
0
LayoutRect InlinePainter::outlinePaintRect(const Vector<LayoutRect>& outlineRects, const LayoutPoint& paintOffset) const
{
    int outlineOutset = m_layoutInline.styleRef().outlineOutsetExtent();
    LayoutRect outlineRect;
    for (const LayoutRect& rect : outlineRects) {
        LayoutRect inflatedRect(rect);
        // Inflate the individual rects instead of the union, to avoid losing
        // rects which have degenerate width/height (== isEmpty() true.)
        inflatedRect.inflate(outlineOutset);
        outlineRect.unite(inflatedRect);
    }
    outlineRect.moveBy(paintOffset);
    return outlineRect;
}
Ejemplo n.º 2
0
void InspectorPageAgent::didPaint(RenderObject*, const GraphicsLayer*, GraphicsContext* context, const LayoutRect& rect)
{
    if (!m_enabled || m_client->overridesShowPaintRects() || !m_state->getBoolean(PageAgentState::pageAgentShowPaintRects))
        return;

    static int colorSelector = 0;
    const Color colors[] = {
        Color(0, 0x5F, 0, 0x3F),
        Color(0, 0xAF, 0, 0x3F),
        Color(0, 0xFF, 0, 0x3F),
    };

    LayoutRect inflatedRect(rect);
    inflatedRect.inflate(-1);
    m_overlay->drawOutline(context, inflatedRect, colors[colorSelector++ % WTF_ARRAY_LENGTH(colors)]);
}