bool RenderThemeNix::paintProgressBar(RenderObject* o, const PaintInfo& i, const IntRect& rect) { RenderProgress* renderProgress = toRenderProgress(o); WebKit::WebThemeEngine::ProgressBarExtraParams extraParams; extraParams.isDeterminate = renderProgress->isDeterminate(); extraParams.position = renderProgress->position(); extraParams.animationProgress = renderProgress->animationProgress(); extraParams.animationStartTime = renderProgress->animationStartTime(); themeEngine()->paintProgressBar(webCanvas(i), getWebThemeState(this, o), WebKit::WebRect(rect), extraParams); return false; }
bool RenderThemeChromiumWin::paintProgressBar(RenderObject* o, const PaintInfo& i, const IntRect& r) { if (!o->isProgress()) return true; RenderProgress* renderProgress = toRenderProgress(o); // For indeterminate bar, valueRect is ignored and it is computed by the theme engine // because the animation is a platform detail and WebKit doesn't need to know how. IntRect valueRect = renderProgress->isDeterminate() ? determinateProgressValueRectFor(renderProgress, r) : IntRect(0, 0, 0, 0); double animatedSeconds = renderProgress->animationStartTime() ? WTF::currentTime() - renderProgress->animationStartTime() : 0; ThemePainter painter(i.context, r); ChromiumBridge::paintProgressBar(painter.context(), r, valueRect, renderProgress->isDeterminate(), animatedSeconds); return false; }
bool RenderThemeChromiumWin::paintProgressBar(RenderObject* o, const PaintInfo& i, const IntRect& r) { if (!o->isProgress()) return true; RenderProgress* renderProgress = toRenderProgress(o); // For indeterminate bar, valueRect is ignored and it is computed by the theme engine // because the animation is a platform detail and WebKit doesn't need to know how. IntRect valueRect = renderProgress->isDeterminate() ? determinateProgressValueRectFor(renderProgress, r) : IntRect(0, 0, 0, 0); double animatedSeconds = renderProgress->animationStartTime() ? WTF::currentTime() - renderProgress->animationStartTime() : 0; ThemePainter painter(i.context, r); DirectionFlippingScope scope(o, i, r); WebKit::WebCanvas* canvas = painter.context()->platformContext()->canvas(); WebKit::Platform::current()->themeEngine()->paintProgressBar(canvas, WebKit::WebRect(r), WebKit::WebRect(valueRect), renderProgress->isDeterminate(), animatedSeconds); return false; }