ScrollbarLayerChromium.cpp [plain text]
#include "config.h"
#if USE(ACCELERATED_COMPOSITING)
#include "ScrollbarLayerChromium.h"
#include "Scrollbar.h"
#include "cc/CCScrollbarLayerImpl.h"
namespace WebCore {
PassOwnPtr<CCLayerImpl> ScrollbarLayerChromium::createCCLayerImpl()
{
return CCScrollbarLayerImpl::create(id());
}
PassRefPtr<ScrollbarLayerChromium> ScrollbarLayerChromium::create(Scrollbar* scrollbar, int scrollLayerId)
{
return adoptRef(new ScrollbarLayerChromium(scrollbar, scrollLayerId));
}
ScrollbarLayerChromium::ScrollbarLayerChromium(Scrollbar* scrollbar, int scrollLayerId)
: m_scrollbar(scrollbar)
, m_scrollLayerId(scrollLayerId)
, m_scrollbarOverlayStyle(scrollbar->scrollbarOverlayStyle())
, m_isScrollableAreaActive(scrollbar->isScrollableAreaActive())
, m_isScrollViewScrollbar(scrollbar->isScrollViewScrollbar())
, m_orientation(scrollbar->orientation())
, m_controlSize(scrollbar->controlSize())
{
}
void ScrollbarLayerChromium::pushPropertiesTo(CCLayerImpl* layer)
{
LayerChromium::pushPropertiesTo(layer);
CCScrollbarLayerImpl* scrollbarLayer = static_cast<CCScrollbarLayerImpl*>(layer);
scrollbarLayer->setScrollbarOverlayStyle(m_scrollbarOverlayStyle);
Vector<IntRect> tickmarks;
m_scrollbar->getTickmarks(tickmarks);
scrollbarLayer->setTickmarks(tickmarks);
scrollbarLayer->setIsScrollableAreaActive(m_isScrollableAreaActive);
scrollbarLayer->setIsScrollViewScrollbar(m_isScrollViewScrollbar);
scrollbarLayer->setOrientation(m_orientation);
scrollbarLayer->setControlSize(m_controlSize);
scrollbarLayer->setPressedPart(m_scrollbar->pressedPart());
scrollbarLayer->setHoveredPart(m_scrollbar->hoveredPart());
scrollbarLayer->setEnabled(m_scrollbar->enabled());
}
}
#endif // USE(ACCELERATED_COMPOSITING)