bool RenderThemeChromiumDefault::paintSliderTrack(RenderObject* o, const PaintInfo& i, const IntRect& rect)
{
    if (i.context->paintingDisabled())
        return false;
    blink::WebThemeEngine::ExtraParams extraParams;
    blink::WebCanvas* canvas = i.context->canvas();
    extraParams.slider.vertical = o->style()->appearance() == SliderVerticalPart;

    paintSliderTicks(o, i, rect);

    // FIXME: Mock theme doesn't handle zoomed sliders.
    float zoomLevel = useMockTheme() ? 1 : o->style()->effectiveZoom();
    GraphicsContextStateSaver stateSaver(*i.context, false);
    IntRect unzoomedRect = rect;
    if (zoomLevel != 1) {
        stateSaver.save();
        unzoomedRect.setWidth(unzoomedRect.width() / zoomLevel);
        unzoomedRect.setHeight(unzoomedRect.height() / zoomLevel);
        i.context->translate(unzoomedRect.x(), unzoomedRect.y());
        i.context->scale(zoomLevel, zoomLevel);
        i.context->translate(-unzoomedRect.x(), -unzoomedRect.y());
    }

    blink::Platform::current()->themeEngine()->paint(canvas, blink::WebThemeEngine::PartSliderTrack, getWebThemeState(this, o), blink::WebRect(unzoomedRect), &extraParams);

    return false;
}
Example #2
0
bool ThemePainterDefault::paintSliderTrack(const LayoutObject& o,
                                           const PaintInfo& i,
                                           const IntRect& rect) {
  WebThemeEngine::ExtraParams extraParams;
  WebCanvas* canvas = i.context.canvas();
  extraParams.slider.vertical = o.styleRef().appearance() == SliderVerticalPart;

  paintSliderTicks(o, i, rect);

  // FIXME: Mock theme doesn't handle zoomed sliders.
  float zoomLevel = useMockTheme() ? 1 : o.styleRef().effectiveZoom();
  GraphicsContextStateSaver stateSaver(i.context, false);
  IntRect unzoomedRect = rect;
  if (zoomLevel != 1) {
    stateSaver.save();
    unzoomedRect.setWidth(unzoomedRect.width() / zoomLevel);
    unzoomedRect.setHeight(unzoomedRect.height() / zoomLevel);
    i.context.translate(unzoomedRect.x(), unzoomedRect.y());
    i.context.scale(zoomLevel, zoomLevel);
    i.context.translate(-unzoomedRect.x(), -unzoomedRect.y());
  }

  Platform::current()->themeEngine()->paint(
      canvas, WebThemeEngine::PartSliderTrack, getWebThemeState(o),
      WebRect(unzoomedRect), &extraParams);

  return false;
}
Example #3
0
bool RenderThemeNix::paintSliderTrack(RenderObject* object, const PaintInfo& info, const IntRect& rect)
{
    themeEngine()->paintSliderTrack(webCanvas(info), getWebThemeState(this, object), rect);
#if ENABLE(DATALIST_ELEMENT)
    paintSliderTicks(object, info, rect);
#endif
    return false;
}
bool RenderThemeChromiumWin::paintSliderTrack(RenderObject* o, const PaintInfo& i, const IntRect& r)
{
    const ThemeData& themeData = getThemeData(o);

    ThemePainter painter(i.context, r);
    WebKit::WebCanvas* canvas = painter.context()->canvas();
    WebKit::Platform::current()->themeEngine()->paintTrackbar(canvas, themeData.m_part, themeData.m_state, themeData.m_classicState, WebKit::WebRect(painter.drawRect()));

    paintSliderTicks(o, i, r);

    return false;
}
Example #5
0
bool RenderThemeChromiumWin::paintSliderTrack(RenderObject* o, const PaintInfo& i, const IntRect& r)
{
    const ThemeData& themeData = getThemeData(o);

    ThemePainter painter(i.context, r);
    PlatformSupport::paintTrackbar(painter.context(),
                                  themeData.m_part,
                                  themeData.m_state,
                                  themeData.m_classicState,
                                  painter.drawRect());

#if ENABLE(DATALIST_ELEMENT)
    paintSliderTicks(o, i, r);
#endif

    return false;
}
bool RenderThemeChromiumDefault::paintSliderTrack(RenderObject* o, const PaintInfo& i, const IntRect& rect)
{
    WebKit::WebThemeEngine::ExtraParams extraParams;
    WebKit::WebCanvas* canvas = i.context->canvas();
    extraParams.slider.vertical = o->style()->appearance() == SliderVerticalPart;

    paintSliderTicks(o, i, rect);

    float zoomLevel = o->style()->effectiveZoom();
    GraphicsContextStateSaver stateSaver(*i.context);
    IntRect unzoomedRect = rect;
    if (zoomLevel != 1) {
        unzoomedRect.setWidth(unzoomedRect.width() / zoomLevel);
        unzoomedRect.setHeight(unzoomedRect.height() / zoomLevel);
        i.context->translate(unzoomedRect.x(), unzoomedRect.y());
        i.context->scale(FloatSize(zoomLevel, zoomLevel));
        i.context->translate(-unzoomedRect.x(), -unzoomedRect.y());
    }

    WebKit::Platform::current()->themeEngine()->paint(canvas, WebKit::WebThemeEngine::PartSliderTrack, getWebThemeState(this, o), WebKit::WebRect(unzoomedRect), &extraParams);

    return false;
}